Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Készítette: Pető László
ACCESS Készítette: Pető László
2
Az egyed A nyilvántartás szereplői pl.: az osztály tanulói
A nyilvántartás célja határozza meg, hogy az egyedekről milyen adatokat tartunk nyilván. pl.: tanárok - érdemjegy; cipész - lábméret
3
A rekord Ugyanazon egyedről nyilvántartott adatok összessége
általában sorszámmal látjuk el tanulókról például rekordot alkothat: név, születési hely, születési dátum, testvérek száma, tanulmányi átlag, bejáró-e.
4
A mező A nyilvántartás oszlopai
A rekordok adatai a mezők sorrendjének megfelelően kell, hogy kövessék egymást.
5
Az adatbázisfájl A nyilvántartás valamilyen háttértárolón, fájlban helyezkedik el. Több összetartozó adatbázisfájl és a hozzájuk tartozó kiegészítő állományok (pl. indexfájl) alkotják az adatbázist.
6
A relációs adatbázis
7
Az adatbázis-kezelők feladata
Az adatbázisfájl létrehozása Az adatbázisfájl kiegészítése újabb rekordokkal A rekordok tartalmának módosítása Rekordok törlése Válogatás a rekordok között Művelet elvégzése az adatbázisfájlban szereplő adatokkal
8
Az adatbázis-kezelők feladata
A rekordok sorrendjének megváltoztatása Több adatbázisfájl egyidejű használata Az adatok kiírása Jelentéskészítés Lekérdezések végrehajtása
9
ACCESS A Microsoft Office irodai programcsomag adatbázis-kezelő programja
10
A mező neve A mezők azonosítója max. 64 karakterből állhat.
Az azonosítókat a felhasználó adja meg. Nem tartalmazhat pontot, felkiáltójelet és szögletes zárójelet, de szóközt igen.
11
Példa mezőnevekre
12
Adattípusok szám dátum karaktersorozat (szöveg) logikai feljegyzés
pénznem számláló OLE objektum hiperhivatkozás keresésvarázsló
13
Szám Csak számjegyeket, tizedesvesszőt és előjelet tartalmazhat -18,25
1965 +34,22 1, 2, 4 vagy 8 bájt
14
Dátum 8 bájt hosszú Dátumokat és időpontokat tartalmazhat.
15
Karaktersorozat Tetszőleges karaktereket tartalmazhat Bartók Béla
Legfeljebb 255 bájt
16
Logikai adat Igen vagy nem jellegű kérdésekre tartalmazhat választ.
Az igent az Y vagy a T betű jelentheti A nemet az N vagy az F betű jelentheti 1 bit
17
Feljegyzés Alfanumerikus karakterek Legfeljebb 64 kbájt
18
Pénznem Pénzérték 15 egész és 4 tizedes érték lehet 8 bájt
19
Számláló Egész számérték
Az Access automatikusan kezeli a rekordok felvételekor 4 bájt
20
OLE objektum Kép, hang, Excel-tábla, Word dokumentum, stb., amit az Access táblához csatolhatunk. Legfeljebb 1 Gbájt
21
Hiperhivatkozás Szöveg, vagy szöveg és számok kombinációja, ami három részből áll Részenként max karakter
22
Keresésvarázsló Erre kattintva keresőmező jön létre, amellyel egy másik listából vagy táblából választhatunk értékeket. Az elsődleges kulcs mérete általában 4 bájt.
23
Mezőméret A szövegmező mérete 1 és 255 karakter között, vagy a szám mezőfajtája adható meg.
24
Számformátumok Bájt: 0 és 255 közötti egész – 1 bájt
Egész: és közötti egész – 2 bájt Hosszú egész: -3,4E38 és 3,4E38 közötti számok 7 tizedes pontossággal – 4 bájt Dupla: -1,797E308 és 1,797E308 közötti számok 15 tizedes pontossággal – 8 bájt
25
Formátum Az adatok megjelenítési és kinyomtatási módjának beállítása.
Lehet szabványos, alapértelmezett, vagy egyedi.
26
Tizedeshelyek Szám és pénznemtípusok esetén a kijelzett tizedeshelyek száma adható meg.
27
Beviteli maszk Formázó karaktereket jelenít meg a mezőben, és biztosítja, hogy a bevitt adatok megfeleljenek a beállított maszknak.
28
Cím A mező átnevezésére szolgál.
Az eredeti név helyett ez jelenik meg majd az adattáblában, a lekérdezésben, az űrlapon és a jelentésben.
29
Alapértelmezett érték
Új rekord hozzáadásakor a mezőt automatikusan feltöltő érték.
30
Érvényességi szabály A mezőbe bevihető adatok körét korlátozó kifejezés.
31
Érvényesítési szöveg Az adatmezőben érvénytelen adat beírásakor megjelenő figyelmeztető üzenet.
32
Kötelező Ezzel a beállítással előírjuk, hogy a mezőbe mindig kell adatot bevinni, nem hagyható üresen.
33
Nulla hosszúság engedélyezése
Szöveg vagy feljegyzés esetén megengedi, hogy tárolhassunk nulla hosszúságú sztringet.
34
Indexelt Az adott mező szerint rendezi logikailag a táblát, ami később gyorsítja az adatkeresést.
35
Új értékek Számláló esetén megadható, hogy az új rekord növekvő módon, vagy véletlenszerűen kapjon értéket.
36
Az adatbázisfájl tervezése
Kik lesznek az egyedek? Milyen adatokat akarunk az egyedekről tárolni? (mezők) Mi legyen a mezők neve? Milyen típusúak legyenek a mezők? Milyen hosszúak legyenek a karakteres és a numerikus mezők? A numerikus mezők hány tizedest tartalmazzanak?
37
Példa - KÖNYV Szerző Cím Kiadás éve Vannak-e benne képek? Ára
38
Példa - ISMERŐSÖK Név Születési dátum Irányítószám Város Utca Házszám
39
Bejelentkező képernyő
40
Az adatbázis ablak
41
Az adatbázisfájl létrehozása
Fájl | Új | Üres adatbázis (név: WORK) Az adatbázis ablakban: Táblák | Tábla létrehozása tervező nézetben
42
Az adattábla szerkezetének begépelése
43
Az adattábla szerkezetének begépelése
44
Az adattábla szerkezetének begépelése
45
Az adattábla szerkezetének begépelése
46
Az adattábla szerkezetének begépelése
47
Az adattábla szerkezetének begépelése
48
Az adattábla szerkezetének begépelése
49
Az adattábla szerkezetének mentése
Fájl | Mentés (Táblanév: Tanulók) Az elsődleges kulcs a számláló legyen.
50
Az adatbázis feltöltése
51
Az adatbázisfájl feltöltése
Külön mentésre nincs szükség!
52
Az aktuális rekord A nyitott adatbázisfájl kitüntetett rekordja
Célszerű azt aktuálissá tenni, amelyikre szükségünk van. A rekordmező mutatja az aktuális rekord sorszámát.
53
Struktúra módosítása Adjunk az adattáblához egy új mezőt, ami a tanuló személyi számát tartalmazza! Tervező nézet!
55
Adatbeviteli maszk Az adatbevitelt segítő mezőtulajdonság
Csak meghatározott karakterek begépelését engedélyezi.
56
Maszkkarakterek 0: számjegy, kötelező bevinni
9: számjegy, nem kötelező #: számjegy, előjel vagy szóköz; nem kötelező L: betű, kötelező ?: betű, nem kötelező A: betű vagy számjegy, kötelező
57
Maszkkarakterek a: betű vagy számjegy, nem kötelező
&: bármilyen karakter vagy szóköz, kötelező C: bármely karakter vagy szóköz, nem kötelező .,:;-/ : tizedeshelyek és ezres, dátum- és időelválasztók
58
Maszkkarakterek <: minden ezt követő karakter kisbetűssé konvertálódik >: nagybetűsre !: a beviteli mező jobbról balra töltődik ki \: az ezt követő karakter változatlanul jelenik meg.
59
Beviteli maszk Adjuk meg a személyi igazolvány számához szükséges beviteli maszkot! … Mentsük a táblát!
62
Rekord hozzáfűzése Beszúrás > Új rekord
63
Rekordok törlése Rekord törlése gomb
64
Űrlapok használata
67
Űrlap futtatása Dupla kattintás
68
Példa
69
Példa
70
Feladatok Készítse el a fenti adattáblát! Készítsen hozzá űrlapot!
71
Feladat
72
Feladat
73
Feladat Hozd létre az adattáblát Készíts űrlapot!
74
Lekérdezések Az adattáblák adatainak kiválogatása megadott feltételek szerint. Választó Forrása egy vagy több tábla, eredménye dinamikus adattábla Kereszttáblás Csoportosított adatok összegét, átlagát vagy egyéb összesítését számítja
75
Lekérdezések Táblakészítő: Törlő: Hozzáfűző: Frissítő:
Egy vagy több táblából egy újabb táblát készít Törlő: Segíti a törlésre szánt rekordok kiválasztását Hozzáfűző: Táblához hozzáfűzendő rekordok kiválasztása más táblákból. Frissítő: Sok mező adatainak a módosítását gyorsíthatja.
76
Lekérdezések Paraméteres:
A lekérdezés feltételei futás közben adhatók meg.
77
Feladat A dolgozókat tartalmazó adatbázisból listázzuk az összes dolgozó nevét és havi alapbérét! Listázzuk az egyetemet végzett vezető beosztású dolgozók nevét és éves járandóságát!
78
Feladat Listázzuk a Ft-nál kevesebb havi alapbérű dolgozók nevét és alapbérét! Listázzuk az összes nem vezető beosztású Ft-nál magasabb havi alapbérű dolgozó nevét Listázzuk az összes olyan dolgozó nevét és havi alapbérét, aki 23 éves kora után került a céghez!
79
Jelentéskészítés Az adatbázisban nyilvántartott adatok nyomtatásban való megjelenítésére szolgál A jelentés szakaszai: Jelentésfej: A jelentés címét tartalmazza Oldalfej: Minden oldal tetején megjelenő szöveges információ Csoportfejléc: A csoportosítás alapját képező mezőt jeleníti meg.
80
Jelentéskészítés Törzs: Csoportlábléc: Oldalláb: Jelentésláb:
Az adatok Csoportlábléc: a csoportra vonatkozó számításokat tartalmazza Oldalláb: Minden oldal alján megjelenik Jelentésláb: A legutolsó oldal legutolsó információi
83
Feladatok A tanulói adatbázisból tudjuk meg, hogy a tanulóknak hány testvérük van? Mennyi a tanulók tanulmányi átlaga? Hány tanulónak jobb a tanulmányi átlaga 3,75-nél? Mennyi a bejáró tanulók átlaga? Hány tanuló születet 1988 előtt?
84
Indexelés A rekordok kezelési sorrendjét anélkül változtatjuk, hogy azok fizikai sorrendje változna. A kezelési sorrend módosítását egy általunk megadott kifejezéssel, a kulcskifejezéssel valósítjuk meg. A kulcskifejezés értéke minden rekordnál kiszámítódik, a rekordok ezen érték szerint növekvően alakítják ki a kezelési sorrendet.
85
Indexelés A kialakuló sorrend egy indexfájlban tárolódik.
Az indexfájl ugyanannyi rekordból áll, mint az adatbázisfájl. Két mezőből áll: a kulcskifejezés értéke a rekordok eredeti sorszáma Az adatbázisfájlt ilyenkor indexelt adatbázisfájlnak nevezzük
86
Példa Kulcskifejezés: TESTVER*10+ATLAG
87
Példa Az indexfájl: Kezelési sorrend: Első a 6. Rekord
második a 3. Rekord harmadik a 2. Rekord negyedik az 5. Rekord ötödik az 1. Rekord hatodik a 4. Rekord
88
Feladatok A dolgozói adatbázist indexelje névsor szerint!
A dolgozói adatbázist indexelje alapbér szerint!
89
Adatbázisfájlok kapcsolata (Feladaton keresztül)
ISMEROS
90
Adatbázisfájlok kapcsolata (Feladaton keresztül)
POSTA
91
Kapcsoló-kifejezés Amely alkalmas két adatbázisfájl közötti kapcsolat kialakítására. Az előző feladatban az IRSZ illetve a SZAM mezők voltak a kapcsoló-kifejezések.
92
Két adatbázisfájl összekapcsolása
A kapcsoló-kifejezések segítségével tartós kapcsolatot alakítunk ki az adatbázisfájlok között. Az összekapcsolt adatbázisok nem egyenrangúak; vezér szolga A tartósság azt jelenti, hogy a vezér bármely rekordját aktuálissá téve a szolga azon rekordja válik aktuálissá, amely biztosítja, hogy a kapcsoló-kifejezések értéke ugyanaz legyen.
93
Az összekapcsolás menete
A vezért és a szolgát is meg kell nyitni A szolgával kapcsolatban létre kell hozni egy indexfájlt, amely a kapcsoló-kifejezés szerinti növekvő sorrendet biztosítja.
94
Az összekapcsolás menete
Eszközök > Kapcsolatok…
95
A Szam mezőt húzd át az IRSZ-hez!
98
Lekérdezés két táblából
Listázzuk az ismerőseink nevét, és lakhelyét!
100
Jelentés létrehozása lekérdezésből
Készítsük el az előbbi lekérdezés nyomtatható változatát!
102
Adatbázisfájlok együttes tervezése
Ha tervezéskor kiderül, hogy egy mezőben az értékek gyakran ismétlődnek, akkor azokat érdemes külön adatbázisfájlban elhelyezni, mert ott csak egyszer kell őket szerepeltetni. Valamilyen kóddal érdemes helyettesíteni, ami mindkét adatbázisban kapcsoló-kifejezés lesz.
103
Több adatbázisfájl összekapcsolása
Egy vezérhez egyidejűleg több szolga kapcsolható A szolga is vezére lehet egy másik adatbázisfájlnak. Kétszer nem szerepelhet a láncban ugyanaz az adatbázisfájl
104
Példa FORGALOM egy áruház napi forgalmi adatait tartalmazza
105
Példa ARU tartalmazza, hogy melyik cikkszám melyik árut jelenti, az áru egységárát, mennyiségi egységét.
106
Példa MERTEK innen lehet megtudni, hogy melyik mértékegységkód melyik mértékegységet jelöli
107
Példa A FORGALOM és az ARU a cikkszám segítségével kapcsolhatók össze
Az ARU és a MERTEK a mértékegységkód segítségével kapcsolhatók össze.
108
Az SQL SQL : Structured Query Language
Az Accessben történő lekérdezések mindig SQL-ben készülnek. Nagyobb lélegzetű lekérdezések esetén elengedhetetlen a nyelv ismerete.
109
Új tábla létrehozása CREATE TABLE táblanév( Mező1 típus (méret)
……… )
110
Kapcsolat más táblákkal
CONSTRAINT név PRIMARY KEY vagy UNIQUE vagy REFERENCES külsőtábla
111
Új index létrehozása CREATE INDEX index ON tábla
112
Törlés Tábláé: DROP TABLE tábla Indexé: DROP INDEX index ON tábla
113
SELECT SELECT mezőnevek FROM táblanevek WHERE feltétel
GROUP BY csoportosítás HAVING feltétel ORDER BY rendezési szempont
115
1. Feladat Hozz létre egy Tanulo nevű táblát (Tankod Integer, TanNev Text(20)) típusú mezőkkel! Az SQL parancs beírása után nyissuk meg és töltsük fel 8-10 adattal!
117
Like Kérdezd le a „K” betűvel kezdődő tanulók összes adatát!
SELECT * FROM Tanulo WHERE TanNev LIKE "K*";
118
2. Feladat Kérdezd le a Tanulo tábla összes adatát!
SELECT * FROM Tanulo;
119
3. Feladat Kérdezd le a tábla összes sorát, de csak a tanulók neve jelenjen meg! SELECT TanNev FROM Tanulo;
120
4. feladat Jelenítsd meg a K és L betűvel kezdődő tanulók nevét!
SELECT TanNev FROM Tanulo WHERE TanNev LIKE "[K-L]*";
121
5. Feladat Listázd ki azon hallgatók kódját, akiknek a neve nem kezdődik A,B,C betűvel! SELECT Tankod FROM Tanulo WHERE TanNev LIKE "[!A-C]*"
122
6. Feladat Egészítsük ki a táblát egy osztondij integer típusú mezővel! ALTER TABLE Tanulo ADD osztondij integer; Egészítsd ki a tábla rekordjait az ösztöndíjak értékével!
123
7. Feladat Listázd ki a 10 és 20 ezer forint közötti ösztöndíjjal rendelkező hallgatók összes adatát! SELECT * FROM Tanulo WHERE (osztondij <=20000) AND (osztondij>=10000); illetve SELECT * FROM Tanulo WHERE osztondij BETWEEN AND 20000
124
8. Feladat Listázd ki azon hallgatók nevét, akiknek az ösztöndíja kevesebb, mint Ft! SELECT tannev FROM tanulo WHERE osztondij<15000;
125
9. Feladat Listázd ki azon hallgatók nevét és kódját, akiknek a neve K betűvel kezdődik, és ösztöndíjuk kevesebb, mint Ft! SELECT TanNev,TanKod FROM Tanulo WHERE TanNev LIKE "K*" AND osztondij<20000;
126
10. Feladat Listázd ki a nem ABCDEFG betűvel kezdődő nevű hallgatók ösztöndíjának 10%-át! SELECT (osztondij*0.1) FROM Tanulo WHERE tannev LIKE "[!A-G]*";
127
11. feladat Listázzuk ki az összes tanuló nevét és ösztöndíjának 10%-kal emelt összegét! Az emelt összeg mező neve legyen: emelt! SELECT TanNev, (osztondij*1.1) AS emelt FROM tanulo;
128
12. feladat Hajtsunk végre 10%-os ösztöndíjemelést minden tanulóra!
UPDATE tanulo SET osztondij=osztondij*1.1; Hajtsunk végre további 8%-os emelést minden 10-nél kisebb kódú tanulónál! UPDATE tanulo SET osztondij=osztondij*1.08 WHERE tankod<10;
129
13. feladat Írassa ki az összes hallgató összes adatát névsorban!
SELECT * FROM tanulo ORDER BY tannev;
130
14. feladat Írassa ki az összes hallgató összes adatát ösztöndíj és azon belül név szerint rendezve! SELECT * FROM tanulo ORDER BY osztondij, tannev;
131
15. feladat Írassa ki, hogy havonta mennyi ösztöndíjat kell kifizetni a hallgatóknak! A számolt mező neve legyen osszes! SELECT SUM(osztondij) AS osszes FROM tanulo;
132
16. feladat Egészítsük ki a tábla szerkezetét egy neme nevű 1 karakteres típusú mezővel! (Az „N” érték jelentse, hogy a tanuló nő, az „F” érték jelentse, hogy a tanuló férfi!) ALTER TABLE Tanulo ADD neme varchar(1); Aktualizáljuk a táblát!
133
17. feladat Listázza ki a nő és a férfi hallgatók átlag ösztöndíját! Az átlagot jelző mező neve legyen atlag! SELECT Avg(osztondij) AS atlag FROM tanulo GROUP BY neme;
134
18. feladat Egészítse ki az előző lekérdezést úgy, hogy láthassuk, hogy melyek a férfiak, melyek a nők átlagai! SELECT Avg(osztondij) AS atlag, IIF(neme=„F”,”FÉRFI”,”NŐ”) AS [Tanuló neme] FROM tanulo GROUP BY neme;
135
19. feladat Hozzunk létre egy újabb táblát, mely a tanulók jegyeit tartalmazza. A tábla neve: JEGYEK, szerkezete: Tankod integer Tantargy varchar(20) Jegy Byte CREATE TABLE jegyek(tankod integer, tantargy varchar(20), jegy byte);
136
20. feladat Töltse fel úgy a táblát, hogy legyen olyan tanuló, akinek egy tárgyból több jegye van, legyen olyan tanuló, akinek nincs jegye (olyan kódú hallgatót nem kell felvenni a jegyek táblába!), de legyen olyan hallgató is, akinek csak 1 jegye van 1 tárgyból!
137
21. feladat Jelenítse meg a tanuló nevét, mellé a tantárgy megnevezését, és a megszerzett jegyet! SELECT tannev, tantargy, jegy FROM tanulo, jegyek WHERE tanulo.tankod=jegyek.tankod;
138
22. feladat Listázza ki azon hallgatók nevét, akik valamilyen tantárgyból jelest szereztek! SELECT DISTINCT(tannev) FROM tanulo, jegyek WHERE tanulo.tankod=jegyek.tankod AND jegy=5; (DISTINCT : ismétlődés elnyomás! Miért?)
139
23. feladat Listázza ki a tanulók nevét és átlageredményét!
SELECT tannev, avg(jegy) as atlageredmeny FROM tanulo, jegyek WHERE tanulo.tankod=jegyek.tankod GROUP BY tannev;
140
24. feladat Írassa ki a tantárgy megnevezését és átlageredményét!
SELECT tantargy, avg(jegy) as tantargyatlag FROM tanulo, jegyek WHERE tanulo.tankod=jegyek.tankod GROUP BY tantargy;
141
25. feladat Írassa ki a 3.0 átlagnál jobb eredményt elért tanulók nevét! SELECT tanulo.tannev FROM tanulo, jegyek WHERE tanulo.tankod=jegyek.tankod GROUP BY tanulo.tannev HAVING Avg(jegy)>3; Ha a lekérdezés feltételében függvény van, akkor azt a HAVING után kell írni!
142
26. feladat Írassuk ki azon tanulók nevét, akiknek a kódja 1,2,5,6
SELECT tannev FROM tanulo WHERE tankod IN (1,2,5,6);
143
27. feladat Írassuk ki azon tanulók nevét, akiknek a kódja nem 1,2,5,6! SELECT tannev FROM tanulo WHERE NOT (tankod IN (1,2,5,6));
144
28. feladat Kik azok a tanulók akik nem kaptak jegyet?
SELECT tannev FROM tanulo WHERE NOT (tankod IN (SELECT tankod FROM jegyek));
145
29. feladat Listázza ki minden tanuló nevét és elért legjobb osztályzatát! SELECT tannev, max(jegy) FROM tanulo, jegyek WHERE jegyek.tankod=tanulo.tankod GROUP BY tannev;
146
30. feladat Keresse ki azon tanulók nevét, akik a legjobb osztályzatot érték el! (Nem biztos, hogy 5-ös!!!) SELECT DISTINCT (Tannev) FROM Tanulo, Jegyek WHERE Tanulo.Tankod=jegyek.tankod AND (jegyek.jegy=(SELECT max(jegy) FROM JEGYEK));
147
VÉGE
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.