Adatbázis modellek Adatbázisok

Slides:



Advertisements
Hasonló előadás
Adatbázis-kezelés Készítette: Asztalos Péter január 12.
Advertisements

Lekérdezések SQL-ben Relációs algebra A SELECT utasítás
ADATBÁZISOK.
Informatika I. 6. Adattábla függvények, érzékenységi vizsgálatok.
A normalizálás az adatbázis-tervezés egyik módszere
Adatbázis rendszerek I Relációs kalkulus Általános Informatikai Tsz. Dr. Kovács László.
Adatbázis-kezelés.
Relációs adatbázisok készítése
Függőségek, normálformák
SQL Structured Query Language
Adatbázis kezelés. Hierarchikus modell Legrégebbi modell, ma már nem használatos. Az adatokat fákban tároljuk, ahol minden pont a szegmens adatokat, és.
Adatbázis (alapfogalmak).
EE/R adatmodell (Extended E/R) 1 Az objektum orientált szemlélet elterjedésével egyre nőtt az igény az olyan SDM (Semantic Data Model) modellek iránt,
Az egyed-kapcsolat modell
Microsoft Access I. Készítette: Rummel Szabolcs
Microsoft Access V. Készítette: Rummel Szabolcs Elérhetőség:
SQL – DQL (Data Query Language ) adat lekérdezések
Információ kezelés Az információ visszakeresésének lehetőségei.
Adatbázis-kezelés.
Az adatbázissal kapcsolatos tudnivalók
KOVÁCS DÁVID. ALAPFOGALMAK Adatbázis: Olyan adatgyűjtemény, amely egy adott feladathoz kapcsolódó adatokat szervezett módon tárolja, és biztosítja az.
5. TÉTEL. Helyzetfelmérés: A feladat elvégzéséhez tudnunk kell, hogy mi a kiinduló állapot, és mit szeretnénk elérni, vagyis mi a cél. A nem rég indított.
16. Tétel. Adatbázis: Olyan adatgyűjtemény, amely egy adott feladathoz kapcsolódó adatokat szervezett módon tárolja, és biztosítja az adatokhoz való hozzáférést,
2011. szeptember Az információtechnológia menedzselése Az információs rendszer fejlesztése Image of the slide: www2.raritanval.edu/departments/busadmin/.../Ch07-IntrotoBusiness.ppt.
az MSAccess programmal
az MSAccess programmal
Adatbázis-kezelés ACCESS program:
Folytassuk… (2.).
SQL, Relációs adatmodell
Access XP Kifejezés-szerkesztő Összehasonlító operátorok:
Tervezés, Normalizálás
Térkép. Mi az adat? Minden információ, amit tárolni kell. Minden információ, amit tárolni kell.  szám  szöveg  dátum  hang  kép, stb.
Többtáblás adatbázisok
Dr. Krauszné Dr. Princz Mária Adatbázis rendszerek I.
1 Informatikai Szakképzési Portál Adatbázis kezelés Alapfogalmak.
Nézzük, mit tudunk…. Mire gondoltam? Megjeleníti az adott adatbázishoz kapcsolódó összes objektumot : adatbázis ablak.
Adatbázis-kezelés JAG,
11. tétel Adatbázis táblái közti kapcsolatok optimalizálása
Adatbázis kezelés. Az adatbázis tágabb értelemben egy olyan adathalmaz, amelynek elemei – egy meghatározott tulajdonságuk alapján – összetartozónak tekinthetők.
SQL nyelv részei DDL (Data Definition Language – Adat Definiáló Nyelv)  relációs séma séma kezelő utasítások: adatbázisok, táblák létrehozása, módosítása.
Adatbázis kezelés.
Adatbázis-kezelés.
Adatbázis-kezelés Probléma: az excel kezelhetetlen túl sok adat esetén
– SQL 3: SELECT - 1. – Tarcsi Ádám, január 31. Adatbázis gyakorlat.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
Adatbázisok Fleiner Rita, Tankönyv:
Adatbázis-kezelés Készítette: Asztalos Péter január 12.
ADATMODELLEZÉS ADATBÁZIS-KEZELÉS
Adatbázis-kezelés.
Kulcsok meghatározása a táblákban
Adatbázis alapfogalmak
Normálformák Takács Gábor mérnök informatikus, okl. mérnöktanár
Adatbázis-kezelés. Alapfogalmak Adat: –észlelhető, felfogható ismeret –jelsorozat –valakinek, vagy valaminek a jellemz ő je –tény, közlés Információ:
Adatbázis-kezelés 3-4. Adatok lekérdezése utasítás általános formája SELECT [ALL/DISTINCT] {*/, …, } FROM [ ], …, [ ] [WHERE GROUP BY, …, HAVING ORDER.
Információs rendszer fejlesztése 2. előadás
– SELECT - 1. – Tarcsi Ádám január Adatbázis gyakorlat.
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
 Adatbázis:  Valamilyen szempont szerint rendszerezett adathalmaz.  Adatbázis kezelés:  Adatok tárolása  Műveletek végzése az adatbázison; (Adatok.
Adatbázisszintű adatmodellek
Gazdasági informatika II (SZIE GTK GVAM 1. évfolyam) 2009/2010. tanév 2. félév.
Az adatbázis az adatok és a köztük lévő összefüggések rendszere, amelyet egymás mellett tárolunk. Nagyon fontos, hogy az adatbázisunk szerkezetét jól megtervezzük,
Alapfogalmak Adat: rögzített ismeret
Adatbázis alapismeretek
Lekérdezések.
Kovács Gergely Péter Bevezetés
Adatbáziskezelés 12. alkalom.
Relációs adatmodell, normálformák
Adatbázis-kezelés 2. Relációs adatbázisok.
az MSAccess programmal
Adatbázis-kezelés.
Előadás másolata:

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, 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)

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.

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.

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.

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.

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

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.

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

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

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.

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

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

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.

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

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!

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

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

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

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

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.

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.

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

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.

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!!

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.

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!

Vizsgajegyzőkönyv Tkód Tanárnév Beosztás Dkód Dátum Jegy 1 Kis Éva Adjunktus 2317 2009.01.06 2 Nagy Jenő Docens 2009.01.08 2009.01.09 3 Tóth Béla Tanársegéd 3118 2009.01.15 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

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.

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)

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.

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

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)

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)

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

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