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

Hasonló előadás


Az előadások a következő témára: "Adatbázis modellek Adatbázisok"— 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 Adatmodellek típusai Hierarchikus adatmodell: szerkezetét szintén gráffal adjuk meg, speciális gráf---FA.

10 Adatmodellek típusai 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.

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év Anyja neve Születési hely Szem.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 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év Osztály Varga Pál 11.A. Kis Éva 9.B. Nagy Béla 10.C.
Osztályfőnökök Osztályok Név Osztály Varga Pál 11.A. Kis Éva 9.B. Nagy Béla 10.C. Osztály Név 11.A. Varga Pál 9.B. Kis Éva 10.C. Nagy Béla 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. Név Osztály Kísért osztály Varga Pál 11.A. 10.A. Kis Éva 9.B.
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év Osztály Kísért osztály Varga Pál 11.A. 10.A. Kis Éva 9.B. 11.B. Nagy Béla 10.C. 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 Egyik táblázatba sem emelhető be az elsődleges kulcs!!!
PL 3. N:M kapcsolat 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!!! TANÁROK – DIÁKOK Ki kit tanít? Ki kit tanít? Tanárnév Diáknév Kis Pál Kovács Tamás Nagy Edit Kovács Péter Nagy Éva Tóth Béla Kis Klára Sipos Edit DIÁKOK TANÁROK 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

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 Egy vagy néhány nagyobb táblázat kialakítása, amelyben minden tulajdonságot elhelyezünk. Meghatározzuk az oszlopok függőségi viszonyait Vizsgálat: a függőségek eleget tesznek-e a normálformáknak. 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 A1, A2,..An és B1, B2, ..Bn tulajdonságok. B1, B2, ..Bn tulajdonságok funkcionálisan függenek A1, A2,..An tulajdonságoktól, ha abból, hogy a táblázat két sorában A1, A2,..An tulajdonságok értékei megegyeznek következik, hogy a két sorban B1, B2, ..Bn 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ód Tanárnév Beosztás Dkód Dátum Jegy 1 Kis Éva
Adjunktus 2317 2 Nagy Jenő Docens 3 Tóth Béla Tanársegéd 3118 4 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: 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: A1, A2, …An -----B1, B2, …Bm funkcionális függőség helyettesíthető A1, A2, …An -----Bi (i=1…m) funkc. függőséggel Összevonhatóság A1, A2, …An -----Bi (i=1…m) funkc. függőségek helyettesíthetők A1, A2, …An -----B1, B2, …Bm funkcionális függőségel. Reflexivitás: Ha Bi (i=1…m) tulajdonságok Ai (i=1..n) tulajdonságok részhalmazát képezik, akkor fennáll A1, A2, …An -----B1, B2, …Bm funkcionális függőség. Bővítés: Ha A1, A2, …An -----B1, B2, …Bm funkcionális függőség fennáll, akkor C1, C2, ..Ck tulajdonságokra az A1, A2, …An C1, C2, ..Ck ---B1, B2, …Bm C1, C2, ..Ck funkcionális függőség is fennáll. Tranzitivitás: A1, A2, …An -----B1, B2, …Bm és B1, B2, …Bm---- C1, C2, ..Ck funkcionális függőségek fennállásából következik az A1, A2, …An-----C1,C2,..Ck 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"

Hasonló előadás


Google Hirdetések