Adatbázisok létrehozása/kezelése Access alatt László Bunkóczi (PhD)
Egy Access-file objektumai [Minimum] 4 féle objektum: Adattáblák, melyek az adatokat tartalmazzák jobb esetben normalizált formában és összekapcsolt táblákban (szerkesztő/tervező nézetben tervezzük/módosítjuk a szerkezetet) Űrlapok: adatbevitelre, - visszakeresésre, felhasználóbarát felület táblákból vagy lekérdezésekből (varázslóval) Lekérdezések: adatok célzott (pl.: feltételek alapján) történő visszakeresésére (szerkesztő/tervező nézet) Jelentések: grafikus strukturált nyomtatható kivitele az adattábláknak vagy lekérdezéseknek [Tárolt eljárások (2010-ben nem láthatók és nem használjuk)] 2
Táblák Mind NÉV-vel kell rendelkezzen! Általában Tervező módban készülnek! A tábla struktúráját a mezők (oszlopok) határozzák meg: ◦ Név-vel kell mind rendelkezzen! ◦ Típus (szöveges, szám, dátum/idő, pénznem, logikai, BLOB, etc.) ◦ Hossz – típustól függ (szöveg esetén karakterek száma, numerikusnál: byte, egész, hosszú egész, egyszeres, dupla…) ◦ Egyéb beállítások, mint pl.: >0, maszk, stb. Az első mező általában a kulcs: jobb klikk a rekordkijelölőn és kulcs! – minden más mező teljes függésben tőle. Ezen önálló/egyedi kulcsokkal kapcsolhatók a táblák más táblákhoz, ahol az azonos adattartalmú mezőpár az idegenkulcs (pl. TAJ_szám- TAJ_szám) Ha egy tábla tartalmaz egy/több idegen kulcsot, azokon keresztül is kapcsolható a tábla másik táblá(k)hoz 3
4
Kapcsolatok A táblák közötti kapcsolatokkal egy „csontvázszerű” nézetét/szerkezetét lehet megadni az adatszerkezetnek az adatbázison belül – globális szerkezet/kapcsolat Kapcsolat csak azonos típusú mezők között létesíthető (pl. hosszú egész – hosszú egészhez), a kapcsolódó mezők nevei lényegtelenek, de standard példáknál azonos szokott lenni Kapcsolatok egyéb megkötései: ◦ Integritás figyelés: csak azonos elemek szerepelhetnek a hivatkozó és hivatkozott táblában is – ez biztosítja a logikai/fizikai integritását az adatbázisnak ◦ Kaszkádolt frissítés: - egy sajátkulcs megváltozása esetén minden kapcsolódó táblában magától frissít minden eredeti azonos értéket az újra ◦ Kaszkádolt törlés: egy rekord törlése egy referencia/hivatkozott táblából minden kapcsolódó rekordot és az/azok kapcsolódó rekordjait törli minden kapcsolódó táblából – VESZÉLYES!! 5
6
Űrlapok Grafikus és strukturált megjelenítése az adattábláknak, főképp adatbevitelre és egy rekord visszakeresésére – „felhasználó barát” felület – másképp GUI… Általában varázslóval készülnek el 4-5 lépésben, Általában táblákon alapulnak, de lekérdezésen is alapulhatnak(nem összesített – ha az, akkor nincs új rekord hozzáadás) Extra objektumok (varázslóval ezt a kettőt): ◦ Kombó/kombi-panel (hogy biztosítani lehessen a listából való biztos választást – nem kell tudni kódokat fejből) ◦ Csatolt-űrlap (egy táblázatos egy oszloposba, több is csatolható, de azok már csak táblázatosak lehetnek már – egy elég lehet) 7
Lekérdezések 1. A QBE rács használata javasolt és nem a varázsló! Bizonyos lekérdezések kizárólag csak SQL-ben (Structured Query Language) írhatók meg, de a részei készülhetnek QBE rács alatt. Pl.: egyesítő lekérdezés (Union) Egyszerű választó lekérdezések ◦ Táblák hozzáadhatók – Kapcsolatok újradefiniálhatók – általában nem szükséges ◦ Mezőket egymás mellé kell rakni – mezőnkénti rendezés állítható be (növekvő/csökkenő) ◦ Feltételek a mezők alatt: Feltételek egymás alatt „vagy” kapcsolatot jelentenek egy mező esetén (oszlop) Azonos sor esetén különböző mezők esetén több feltétel „és” kapcsolatban egymással (pl. zöld és es évjárat). Ha különböző sorba lett elhelyezve a két feltétel, akkor az jelentés/hatás nélküli, mert az üres feltétel az mindent (*) is jelent egyúttal, pl. zöld és minden + minden és 2000-es) Intervallum megadása : „>x and <y” vagy „between: x and y” ◦ Összesítés/group by, jobb klikk valamelyik mezőn majd típus (Szum, átlag, darab-count, stb.) – pl. filmek száma stúdiónként, rendezőként, időtartamuk hossza stb. ◦ Paraméter: a felhasználónak kell megadnia a kívánt paraméter(eke)t, pl.: <[p_név] – kevesebb mint a p_név, és a p_nev-et deklarálni kell a Paraméterek menüben is névvel és típussal – jobb fent) ◦ Számított mezők (jobb klikk az üres mezőn, majd Szerkeszt: táblák, mezők, függvények, műveleti jelek… elég komplex lehetőségek (max.256 karakter hossz! – azokat a mezőket kell kiválasztani és összekapcsolni amikkel számolni szeretnénk, illetve az Iif, And, Or stb. függvények miatt, szinte programkód bonyolultság érhető el – a végén Kif1-et át lehet nevezni a kívánt névre) 8
9
Lekérdezések II. Egyszerű lekérdezésekre a következő módosító, törlő stb. típusokat tudjuk beállítani: ◦ Frissítő/módosító lekérdezések: plusz egy sor a QBE rácsban, ahol: pl.: 50 azt jelenti, hogy minden érintett rekordban a mező értéke 50 lesz, vagy pl.: [ár]*1,2 azt jelenti, hogy az ár az érintett rekordokban 20%-kal nő ◦ Hozzáadó lekérdezés (létező táblához ad hozzá rekordokat) ◦ Törlő lekérdezés (inkább ne használjuk…, vagy archív, vagy törölt attribútum egy check-box bit-tel- vagy kellő körültekintéssel – adatvesztés!!) ◦ Adatdefiniáló lekérdezés ◦ Egyesítő lekérdezés (csak SQL szerkesztővel lehet, de az alapokat lehet QBE rácsban is – több forrásból/több SQL kóddal azonos struktúrát elemző lekérdezések összekapcsolása) 10
Lekérdezések III. Kereszttáblás – mint a pivot az Excel-ben, de korántsem annyira komplex: ◦ Csak egy oszlopfejléc, ◦ Több sorfejléc, és a metszéspontban lévő „Érték” tartományba csak egy érték kerülhet be, mint pl. egy órarend esetén: napok, időintervallumok (órák), tárgyak – de mivel az érték tartományban szöveget nem tudunk kiíratni, de megszámolni azt meg lehet (Count), azaz az órarendes példa működhet, csak nem pont úgy mint az eredetiben (a sorfejlécbe kell tenni a tárgyneveket is…) 11
Jelentések Grafikus és strukturált megjelenítése a lekérdezések eredményének vagy adattábláknak - nyomtatható Érdemes egy lekérdezésre alapítani (amit előtte létre kell hozni), és abban semmilyen összesítés és rendezés ne legyen Általában varázslóval készülnek el 4-5 lépésben, minden szükséges beállítás a varázsló lépéseiben történik: csoportszintek hozzáadása, rendezés, összesítés, fektetett vagy álló nézetű papír. Az összesítés beállítási lehetőség azon a lapon található, ahol a rendezést is be lehet állítani. Összesítés gomb, majd azt kell megadni, hogy melyik numerikus mezőt mivel akarjuk: min, max, átlag, stb. Ha túl sok mező van a lekérdezésben érdemes fektetett/tájkép nézetre állítani a nyomtatási képet az utolsó előtti lépésben! 12