ADATMODELLEZÉS ADATBÁZIS-KEZELÉS
Adatbázis-kezelő rendszer Például: VIDEÓTÉKA Milyen adatokat kell tárolni?
Alapfogalmak: Információ: új ismeret a felhasználó számára Adat: rögzített ismeret Adatbázis: tárolt adatok és a köztük lévő kapcsolatok rendszere Adatbázis-kezelő rendszer: az adatok rögzítéséét, biztonságos tárolását, módosítását, visszakeresését végző informatikai alkalmazás
ADATMODELLEZÉS ADATBÁZIS-KEZELÉS Logikai adatmodellek: Hierarchikus adatmodell Hálós adatmodell Relációs adatmodell
Relációs adatmodell: Az adatokat kétdimenziós táblákban ábrázolja RELÁCIÓ A tábla sorai: az egyed konkrét előfordulása RECORD A tábla oszlopai: az egyed tulajdonságai MEZŐ
Relációs adatmodell kétdimenziós táblák Oszlop: MEZŐ ÁRU egyedtípus Sor: RECORD árukód árunév egységár márka 1 Monitor 35000 Ft Dell 2 Billentyű 2500 Ft Genius 3 Egér 1500 Ft 4 Winchester 25000 Ft Riva 5 Scanner 20000 Ft HP Táblázat: RELÁCIÓ Reláció foka: a tulajdonságok száma (4) A reláció számossága: a relációban előforduló sorok száma (5)
Több relációból (táblázatból) áll össze egy relációs adatmodell! Például: Videotéka Kölcsönzők () Filmek () Kölcsönzés () Melyik táblában milyen mezők kellenek???
Más adatbázisok: Osztálynapló Kórházi nyilvántartás Autókölcsönző Szállodai nyilvántartás Rendőrségi nyilvántartás Melyik adatbázisban szerepelhetnek a következő mezők? tartózkodási_hely autó_típusa betegség kórterem érdemjegy név dátum bejelentkezés _dátuma
Adatmodell elemei: Egyed (entitás): az a dolog, amiről adataikat tárolunk (kölcsönzés; filmek;…) Tulajdonság (attribútum): az egyed egy jellemző adata. (a kölcsönzés egy jellemző tulajdonsága a kölcsönzés_dátuma; a filmek jellemző tulajdonsága a film_cím) Előfordulás: az egyed egy konkrét értéke (a kölcsönzés egy előfordulása: 2007.01.02; a filmek egy előfordulása: Elemi ösztön)
Tulajdonság: Egyszerű tulajdonság: egyetlenrészből áll, tovább nem bontható (pl.: év végi_érdemjegy) Összetett tulajdonság: Több részből tevődik össze (pl.: név -> veznév; kernév;) Egyértékű tulajdonság: egy előfordulásnál csak egy értéke van (pl.:születésnap) Többértékű tulajdonság: több értéket is felvehet egy előfordulásnál (pl.. Telefonszám; névnap)
Keress még példákat mindegyik kapcsolattípusra! Az adatmodellben az egyedek között kapcsolat van!!! Kapcsolatok típusai: Kapcsolat: két egyedtípus egyedelőfordulásai közötti viszony A két egyedhalmaz egymásba kölcsönösen egyértelműen képezhető, az ilyen kapcsolatot 1:1 kapcsolatnak nevezzük. Pl.: házasság férfi-nő (Mo.on) Ha az A egyedhalmaz mindegyik eleméhez a B egyedhalmaz több egyede is tarozik A egyed és B egyed között 1:N kapcsolat van. Pl.: rendező - film Ha A egyedhalmaz minden eleméhez B egyedhalmaz több elemét és B egyedhalmaz eleméhez A egyedhalmaz több eleme tartozik N:M kapcsolatról van szó. Pl.: Szerző-könyv Keress még példákat mindegyik kapcsolattípusra!
Példák: Osztály vezeti Osztályfőnök tanít Anya Gyermek Nagymama Unoka
Adatmodell Relációs adatmodell Egyed Tábla Tulajdonság Mező (oszlop) Előfordulás Rekord (sor)
A táblákra vonatkozó előírások: Egy adatbázis táblái egyedi (egymástól különböző) névvel rendelkezzenek Egy táblában minden oszlopnak (mezőnek) egyedi neve van Egy oszlopban csak azonos típusú (egyféle) adatot tárolunk A táblának nem lehet két teljesen egyforma sora!!! A sorok illetve oszlopok sorrendje tetszőleges
A tábla kulcsai Az adatbázisok kezelésénél szükségünk van az egyes sorok egyértelmű azonosítására! Kulcs: azoknak a tulajdonságoknak (mezőknek) a legszűkebb halmaza, amelyek minden sort (rekordot) egyértelműen meghatároznak. Elsődleges tulajdonság: szerepel a kulcsban pl.: TAJ_szám; Rendszám Másodlagos tulajdonság: nem szerepel a kulcsban Egyszerű kulcs: egyetlen tulajdonságból áll Pl.: szem_ig_szám; rendszám Összetett kulcs: több tulajdonságból áll Pl.: bankszámlaszám, számlaszám és árukód
Feladat: Készítsd el egy autókölcsönző teljes relációs adatmodelljét!
Összefoglalva, az adatbázis tervezés főbb lépései a következők: Első lépés: az adatbázis céljának meghatározása. Második lépés: a szükséges táblák meghatározása. Harmadik lépés: a szükséges mezők meghatározása. Negyedik lépés: kapcsolatok meghatározása. Ötödik lépés: a terv finomítása. Elemezzük a terveket, hogy megtaláljuk az esetleges hibákat. (Tesztelés, normál formák, elsődleges kulcsok, kapcsolattípusok: egy a többhöz, több a többhöz, egy az egyhez.)
Adattípusok: a mezőben tárolt adatok tartalma határozza meg a mezőtípust. Adatbevitel szempontjából biztonságossá tehető az adatbázis tartalma és szerkezete, ha a mező adattípusát körültekintően választjuk meg. · Szöveg (Text): a leggyakrabban használt adattípus, ezért alapértelmezésben azt kínálja fel az adatbázis-kezelő. Betűt, számot, írásjelet, bármilyen nyomtatható karaktert tartalmazhat. Maximális hossza: 255 bájt. · Feljegyzés (Memo): a szöveg típusú mezőbe legfeljebb 255 karakter hosszúságú szöveget írhatunk, míg a feljegyzéstípus 255 karakternél hosszabb. Maximális hossza: 64 kilobájt /215 db karaktert tudunk tárolni/. · Szám (Number): ezeket akkor használjuk, ha a számokkal számolni is akarunk. - Bájt (byte): pozitív egész számok tárolására használjuk. A mező hossza 1 bájt. - Egész (Integer): pozitív és negatív egész számok tárolására használhatjuk. A mező hossza 2 bájt. - Hosszú egész (Long integer): szintén pozitív és negatív egész számok tárolására használjuk. A mező hossza 4 bájt. A tizedes jegyek maximális száma 7. - Dupla (Duble): nagy értékű vagy nagy pontosságú pozitív és negatív egész és törtszámok tárolására használhatjuk. A mező hossza 8 bájt. A tizedes jegyek maximális száma 15.
További adattípusok: · Pénznem (Currency): pénzértékek és egyéb számadatok tárolására használhatjuk, ahol a szám pozitív és negatív egész és törtérték lehet. A mező hossza 8 bájt. Maximum 15 egész és 4 tizedesjegy. · Számláló: (AutoNumber): a tábla rekordjainak egyedi azonosítására szolgál. Ez egy folyamatos sorszám vagy egy véletlen számgenerátorral előállított szám, amelyet az Access automatikusan hozzárendel az új rekordokhoz. A mező hossza 4 bájt. A tárolt szám hosszú egész típusú. · Dátum/idő (Date/Time): dátumokat és időpontokat ezzel a típussal tárolhatunk. A dátum formáját a Windows területi beállítása határozza meg. · Igen/nem (Yes/No): Logikai változó: logikai értékeket lehet tárolni az adattípussal. A mező csak igen/nem, igaz/hamis értéket tartalmaz. Akkor használjuk, ha az egyedről olyan tulajdonságot kell megjegyeznünk, mely azonos egy eldöntendő kérdéssel, vagyis a válasz igen v. nem. /Kizárásos alapú döntés. / · OLE objektum (OLE Object): a mező egy Windows-objektum címét v. magát az objektumot tárolja, így megjelenhet a képernyőn kép, grafikon, szövegdokumentum is. /Objektum beágyazási lehetőség./