Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Adatbázis modellek Adatbázisok. Adatmodellek Az adatbázisok szerkezetének leírására, megadására szolgál. Az adatmodellek kialakulása: –Formalista: gráfokkal,

Hasonló előadás


Az előadások a következő témára: "Adatbázis modellek Adatbázisok. Adatmodellek Az adatbázisok szerkezetének leírására, megadására szolgál. Az adatmodellek kialakulása: –Formalista: gráfokkal,"— Előadás másolata:

1 Adatbázis modellek Adatbázisok

2 Adatmodellek Az adatbázisok szerkezetének leírására, megadására szolgál. Az adatmodellek kialakulása: –Formalista: gráfokkal, diagramokkal ábrázolták az adatok közötti kapcsolatokat. (hálós,- hierarchikus adatmodell) –Szemantikai: a modellt szavak segítségével lehet leírni. (zsákutca) –Matematikai: az adatok közötti kapcsolatokat matematikai struktúrák felhasználásával írják le. (relációs adatmodell)

3

4

5 Adatmodell alapelemei Egyed (egyedtípus): Minden olyan objektum, ami minden más objektumtól megkülönböztethető és amiről adatokat tárolunk. Tulajdonság (attribútum): Az egyed egy jellemzője – meghatározza az egyed egy részletét. Kapcsolat: Az egyedek közötti viszony. Mindig valóságos objektumok közötti viszonyt fejez ki.

6 Kapcsolatok fajtái 1:1 kapcsolat: az egyik egyedhalmaz minden egyes eleméhez a másik egyedhalmaz pontosan 1 eleme kapcsolódik 1:N kapcsolat: az egyik egyedhalmaz minden eleméhez a másik egyedhalmaz több eleme is kapcsolódhat N:M kapcsolat: az egyik egyedhalmaz minden eleméhez a másik egyedhalmaz több eleme kapcsolódhat és ez fordítva is igaz. Kardinalitás: az egyed maximális (minimális) kardinalitási száma a kapcsolatban azt adja meg, hogy az egyed egy előfordulásához a másik egyedből maximálisan (minimálisan) hány előfordulás kapcsolódhat.

7 Adatmodell fogalma Egyedek, tulajdonságok és kapcsolatok halmaza, amely absztrakt módon tükrözi a valós objektumoknak, azok jellemzőinek (tulajdonságainak) és viszonyainak elvont kategóriáit.

8 Adatmodellek típusai Hálós adatmodell: szerkezetét gráffal adjuk meg. Ebben a gráfban a csomópontok az egyedek, az élek a kapcsolatok. Az egyedeket tulajdonságaikkal írjuk le.

9 Hierarchikus adatmodell: szerkezetét szintén gráffal adjuk meg, speciális gráf---FA. Adatmodellek típusai

10 Relációs adatmodell: az egyedet táblázattal adjuk meg, a táblázat oszlopai a tulajdonságok, sorai pedig az egyed előfordulási (értékei). A táblázat egy-egy sorát a tulajdonságok konkrét értékei adják. A táblázat maga az egyedhalmaz. Adatmodellek típusai

11 Relációs adatmodell Egy táblázat, melynek oszlopai tulajdonságtípusok, attribútum halmazok direkt szorzatának részhalmaza. Az attribútumok (oszlopok) számát az R reláció fokának, a sorok számát pedig a reláció számosságának nevezzük. Az A attribútum halmaz egy részhalmazát KULCS-nak nevezzük. K értékei az R reláció mindegyik sorát egyértelműen meghatározzák, de ha egyetlen attribútumot is elhagyunk K-ból, akkor ez már nem teljesül. –Elsődleges kulcs –Külső kulcs

12 Első lépések Problémafelvetés Körülmények figyelembevétele Adatbázisban tárolandó adatok és megnevezésük Egyedhalmazok kiválasztása (önállóan létező dolgok) Kapcsolatok meghatározása Táblázatok készítése + kulcsok meghatározása

13

14 Relációs adatbázis –relációs modell RELÁCIÓ: az adatok kétdimenziós táblázatban való elhelyezése Az egy oszlopbeli értékek ugyanannak az elemi típusú adatokból álló értékhalmaznak az elemei. –Elemi típusú adat: tovább nem bontható az információtartalom torzulása nélkül A relációnak NINCS!! két azonos sora! Biztosan van olyan oszlopkombináció, melyen felvett értékek a reláció minden sorában különbözőek.

15 Kulcsok Szuperkulcs: az oszlopoknak olyan halmaza, melyre igaz, hogy a táblázatnak nincs két olyan sora, amelyben ezeknek az oszlopoknak az értékei rendre megegyeznének. Kulcs: oszlopoknak olyan halmaza, amely minimális elemszámú szuperkulcs. Elsődleges kulcs: A reláció azon kulcsa, melyet kiválasztunk a reláció sorainak azonosítására. –Összetett: ha legalább két oszlop alkotja –Elemi: ha egy oszlop az elsődleges kulcs

16 Táblázatok készítése Egyedhalmaz neve a táblázat neve Táblázat oszlopai az egyedhalmaz tulajdonságai Egyedhalmaz egyedei a táblázat sorai Ekkor a táblázat még nem biztos, hogy reláció!! (egy tulajdonság több értékű is lehet- pl: iskolai végzettség) – új sorok nyitása Egyedhalmaz kulcstulajdonságá(ai)nak megkeresése ---ELSŐDLEGES KULCS

17 Elsődleges, másodlagos tulajdonságok Elsődleges tulajdonság: melyek részét képezik valamelyik kulcsnak Másodlagos tulajdonság: azok a tulajdonságok, amik nem képezik részét egyetlen kulcsnak sem.

18 Példa kulcsok meghatározására Adjuk meg az alábbi táblázat kulcsait, szuperkulcsait, elsődleges és másodlagos tulajdonságait! Személyi szám NévAnyja neveSzületési helySzem.ig. szám Kulcsok: Személyi szám, Személyi igazolvány szám Szuperkulcsok: 1. személyi szám 2. személyi igazolvány szám 3. személyi szám és személyi igazolvány szám Elsődleges tulajdonságok: 1. személyi szám 2. személyi igazolvány szám Másodlagos tulajdonságok: név, anyja neve, születési hely

19 Kapcsolatok és ábrázolásuk A kapcsolat definiálásához a kapcsolatban résztvevők ismerete szükséges Ha az egyedhalmazok között több különböző célú kapcsolat is fennáll, akkor ezeket meg kell különböztetni. Az egyedhalmazokat leíró táblázatok mindegyikében megtalálható az egyik résztvevő. – A relációt annyi új oszloppal bővítsük, amennyi lehetővé teszi a másik résztvevőt egyértelműen meghatározó elsődleges kulcs megadását. Nézzük meg járható-e ez az út!

20 PL. 1. NévOsztály Varga Pál11.A. Kis Éva9.B. Nagy Béla10.C. OsztályNév 11.A.Varga Pál 9.B.Kis Éva 10.C.Nagy Béla OsztályfőnökökOsztályok 1:1 típusú kapcsolatnál az egyedhalmazokat leíró táblázatok mindegyikébe elhelyezhető a másik táblázat elsődleges kulcsa

21 PL.2. A kirándulásokon az osztályokat a saját osztályfőnökükön kívül egy másik osztályfőnök is elkíséri. Körülmény: egy osztályfőnök, csak 1 osztálynál lehet kísérő NévOsztályKísért osztály Varga Pál11.A.10.A. Kis Éva9.B.11.B. Nagy Béla10.C.11.A. 1:N típusú kapcsolat esetén már csak az egyik táblázatba lehetséges a másik táblázat elsődleges kulcsának elhelyezése. Abba a táblázatba helyezhető, amelyik felől a kapcsolat egyértelmű Pl: 2/b: anyák-gyerekek

22 PL 3. N:M kapcsolat TANÁROK – DIÁKOK Ki kit tanít? Tanárnév Kis Pál Nagy Edit Tóth Béla Diáknév Kovács Tamás Kovács Péter Nagy Éva Kis Klára Sipos Edit TanárnévDiáknév Kis PálKovács Tamás Nagy EditKovács Tamás Nagy EditKovács Péter Kis PálNagy Éva Tóth BélaNagy Éva Tóth BélaKis Klára Nagy EditKis Klára Kis PálSipos Edit Tóth BélaSipos Edit TANÁROK DIÁKOK Ki kit tanít? Egyik táblázatba sem emelhető be az elsődleges kulcs!!! Új táblázatot hozunk létre: tartalmazza az elsődleges kulcsokat+ a kapcsolatokat jellemző tulajdonságokat! A táblázatokban megjelennek a kapcsolatleíró tulajdonságok is. Ezek az IDEGEN vagy külső kulcsok!! Egy táblázat azon oszlopait, amelyek egy másik táblázatban első kulcsok IDEGEN KULCSNAK nevezzük!!!

23 Integritási kényszerek A táblázat egy adott sorát az elsődleges kulcs azonosítja. Azt, hogy egy adott sorhoz a hivatkozott táblázat melyik sora tartozik, az idegen kulcs adja meg. Elsődleges kulcsra vonatkozó megszorítások: –Egyedi értékkel kell rendelkeznie (nem lehet két sorban egyforma) –Elsődleges kulcsban nem lehet NULL érték (a tulajdonságnak nincs értéke) –A kulcsok egyediségét egy egyedi értékeket megkövetelő index definiálásával lehet biztosítani Idegen kulcs lehet: a hivatkozott táblázat elsődleges kulcsának értéke, vagy NULL érték – hivatkozási feltétel

24 Egyedhalmaz hierarchia Az alá- és fölérendelt egyedhalmazok egy-egy táblázatként jelennek meg. Az alárendelt egyedhalmazokat leíró táblázatok a kulcstulajdonságok kivételével nem tartalmazzák a fölérendelt egyedhalmazok tulajdonságait. A fölérendelt egyedhalmaz kulcstulajdonságait minden táblázatban el kell helyezni – elsődleges kulcsok. Tulajdonság öröklés a táblázatok összekapcsolásával valósul meg.

25 PL.- közös átgondolásra Iskolai személyek nyilvántartására adatbázist készítünk. A személyekről Személykód, Név, Születési hely és születési dátum adatokat tartunk nyilván. A személyeket 3 csoportba osztjuk: Tanárok, Egyéb alkalmazottak, Diákok Az alkalmazottak bérének megállapításához szükséges tudni a besorolásukat és munkaviszonyuk kezdetét, a tanároknál fontos kitétel, hogy nyelvvizsgával rendelkeznek-e és milyen szakot tanítanak A rendszerben látni kell az alkalmazottak szerződéseinek időtartamát is.

26 Egyedhalamaz hierarchia (Normalizálás előtti állapot) Szemlyek (Szkód, Név, Szül_hely, Szül_dátum) Elsődleges kulcs: Szkód Alkalmazottak (Szkód, Besorolás, Mv_kezdet) Elsődleges kulcs: Szkód Idegen kulcs: Szkód – hivatkozik: Személyek.Szkód Szakok (Szkód, Szak) Elsődleges kulcs: Szkód+Szak Idegen kulcs: Szkód - hivatkozik: Személyek.Szkód Nyelvvizsgák: (Szkód, Nyelvvizsga) Elsődleges kulcs: Szkód+Nyelvvizsga Idegen kulcs: Szkód - hivatkozik: Személyek.Szkód Szerződések: (Szkód, Időtartam) Elsődleges kulcs: Szkód Idegen kulcs: Szkód – hivatkozik: Személyek.Szkód

27 Normalizálás 1.Egy vagy néhány nagyobb táblázat kialakítása, amelyben minden tulajdonságot elhelyezünk. 2.Meghatározzuk az oszlopok függőségi viszonyait 3.Vizsgálat: a függőségek eleget tesznek-e a normálformáknak. 4.A normálformákat megsértő függőségek megszüntetése úgy, hogy a táblázatot további táblázatokra bontjuk.

28 Függőségek Funkcionális függőség: T táblázatban A 1, A 2,..A n és B 1, B 2,..B n tulajdonságok. B 1, B 2,..B n tulajdonságok funkcionálisan függenek A 1, A 2,..A n tulajdonságoktól, ha abból, hogy a táblázat két sorában A 1, A 2,..A n tulajdonságok értékei megegyeznek következik, hogy a két sorban B 1, B 2,..B n tulajdonságok értékeinek is meg kell egyezniük. Pl: személyi szám Személyi szám, Név, szül.hely, Szül.idő, anyja neve A kulcstulajdonságok funkcionálisan meghatározzák a táblázat kulcshoz nem tartozó tulajdonságait!!

29 Funkcionális függőség típusai Triviális funkcionális függőség: A funkcionálisan függő tulajdonságok a funkcionálisan meghatározó tulajdonságok részhalmazát alkotják. Nem triviális funkcionális függőség: A funkcionálisan függő tulajdonságok közül legalább 1 nem szerepel a funkcionálisan meghatározó tulajdonságok között. Részleges funkcionális függőség: A funkcionálisan függő tulajdonságok a funkcionálisan meghatározó tulajdonságok egy valódi részhalmazától is funkcionálisan függnek. Teljes funkcionális függőség: A funkcionálisan függő tulajdonságok a funkcionálisan meghatározó tulajdonságok egyetlen valódi részhalmazától sem függnek funkcionálisan.

30 PL. funkcionális függőségek megállapítására Vizsga-jegyzőköyv táblázatban adott tantárgy, adott félévi eredményei. Körülmények: Az oktató tanszék bármely oktatója vizsgáztathat. Tanárokat Tkód, diákokat Dkód azonosítja egyértelműen. Egy diák egy nap csak egyszer vizsgázhat. Vizsgáljuk meg a funkcionális függőségi kapcsolatokat!

31 Vizsgajegyzőkönyv TkódTanárnévBeosztásDkódDátumJegy 1Kis ÉvaAdjunktus Nagy Jenő Docens Kis ÉvaAdjunktus Tóth Béla Tanársegéd Elsődleges kulcs: Diákkód, Dátum ---- Tanárkód, Tanárnév, Beosztás, Diákkód, Dátum, Jegy Funkcionális függőségek: tanárkód ----Beosztás Tanárkód ----tanárnév Tanárkód-----Tanárnév, Beosztás Triviális funkcionális függőség: Diákkód, Diáknév------Diákkód Nem triviális funkc. függőség: Diákkód, Dátum ---- Tanárkód, Tanárnév, Beosztás, Diákkód, Dátum, Jegy Teljes funkcionális függőség: Diákkód, Dátum ---- Jegy

32 Szabályok funkcionális függőségek levezetésére Szétvághatóság: A 1, A 2, …A n -----B 1, B 2, …B m funkcionális függőség helyettesíthető A 1, A 2, …A n -----B i (i=1…m) funkc. függőséggel Összevonhatóság A 1, A 2, …A n -----B i (i=1…m) funkc. függőségek helyettesíthetők A 1, A 2, …A n -----B 1, B 2, …B m funkcionális függőségel. Reflexivitás: Ha B i (i=1…m) tulajdonságok A i (i=1..n) tulajdonságok részhalmazát képezik, akkor fennáll A 1, A 2, …A n -----B 1, B 2, …B m funkcionális függőség. Bővítés: Ha A 1, A 2, …A n -----B 1, B 2, …B m funkcionális függőség fennáll, akkor C 1, C 2,..C k tulajdonságokra az A 1, A 2, …A n C 1, C 2,..C k ---B 1, B 2, …B m C 1, C 2,..C k funkcionális függőség is fennáll. Tranzitivitás: A 1, A 2, …A n -----B 1, B 2, …B m és B 1, B 2, …B m ---- C 1, C 2,..C k funkcionális függőségek fennállásából következik az A 1, A 2, …A n -----C 1,C 2,..C k funkcionális függőség teljesülése.

33 Kulcsok és függőségek kapcsolata A kulcsok, így az elsődleges kulcs is funkcionálisan meghatározzák a kulcshoz nem tartozó tulajdonságokat. A szuperkulcsok között kölcsönös funkcionális függőség áll fenn. (szemsz—szemigsz.) Kulcson belül NEM LEHET funkcionális függőség!! (Kulcs= a táblázat sorait egyértelműen azonosító minimális elemszámú tulajdonságkombináció) Normalizálás során megszüntetjük a redundanciát!!! (beírási, módosítási, törlési probléma)

34 Kapcsolatok szerkesztése Eszközök/kapcsolatok Hivatkozási integritás megőrzése: –A kapcsolódó adtok nem törölhetők véletlenül Kapcsolt mezők kaszkádolt frissítése –Elsődleges táblában egy rekord elsődleges kulcsának módosításakor az Access automatikusan frissíti a módosítást az új értékre az összekapcsolódó táblában is. Kapcsolt mezők kaszkádolt törlése –Az elsődleges táblában való rekordok törlésével automatikusan törlődnek a kapcsolódó rekordok is.

35 Mire alkalmasak a lekérdezések? Táblákat kapcsolhatunk össze Bizonyos feltételeknek eleget tevő rekordok kikeresése Adatok sorba-rendezése Megadott szempontok szerinti válogatás

36 Lekérdezések típusai Választó lekérdezések – leggyakoribb –Elvégzi: a táblák kapcsolatával létrejövő adatok együttes kezelését Adatok sorbarendezését Feltételek alapján való kiválogatását Összesítését Csoportok képzését (Kifejezés szerkesztő!!!- matematikai, karakteres, dátum, logikai és összehasonlító művelet, konstansok, függvények)

37 Kulcsszavak Group By – csoportosítás egyes oszlopok szerint Where – feltételmegadás Expression – kifejezésmrgadás First- Csoport első sora Last – csoport utolsó sora Avg – átlag Count- darbszám Max, min, Sum StDev –szórás Var – variancia (szórásnégyzet)

38 Lekérdezések típusai Kereszttáblás lekérdezés – kimutatás táblázatot hoz létre Táblakészítő lekérdezés –Előre megadott művelet elvégzésével új táblát hoz létre (Az adatok nem módosíthatók) Frissítő lekérdezés –Rekordok módosítására, ha a módosítást csak a rekordok egy csoportjával szeretnénk elvégezni. Hozzáfűző lekérdezés –Meglévő táblához fűz rekordokat Törlő lekérdezés Egyesítő lekérdezés Átadó lekérdezés Adatdefiniáló lekérdezés

39 Lekérdezések - Operátorok Összehasonlító operátorok: =,, = Logikai operátorok: and, or, not Aritmetikai operátorok: +, -, *, / Egyéb operátorok: –szűrőként használatos: LIKE pl:Like „B?dapest”, „Like B*” –Értékek közé eső érték: Between… and –IN operátorral több Or operátor helyettesíthető –IsNull: üres mezőadatokat atrtalmazó rekordok kiválogatása

40


Letölteni ppt "Adatbázis modellek Adatbázisok. Adatmodellek Az adatbázisok szerkezetének leírására, megadására szolgál. Az adatmodellek kialakulása: –Formalista: gráfokkal,"

Hasonló előadás


Google Hirdetések