20. Adatbázisok tervezése és lekérdezése Flashcards
Relációs adatmodell
Adatok gyűjteményét kezelő modell
E / K modell átalakítása relációs adatmodellbe
- egyedhalmaz séma → relációséma
- tulajdonságok → attribútumok
- (szuper)kulcs → (szuper)kulcs
- egyedhalmaz előfordulása → reláció
- egyed → e(A1)…e(An) sor
- R(E1, …Ep, A1, …Aq) kapcsolati séma (Ei egyedhalmaz, Aj tulajdonság) → R(K1, …Kp, A1, …Aq) relációséma
(Ki az Ei (szuper)kulcsa)
Relációséma
- R: relációnév
- Ai: attribútumok
- Dom(Ai): attribútumok lehetséges értékei, típusa (milyen domain tartozik hozzá)
Előfordulás
- lehetséges értékekből veszünk sorok halmazát
- egy sor a reláció-előfordulás
- egy sor egyszer szerepel (kivéve multihalmaznál)
- sorok sorrendje relációs adatmodell szinten lényegtelen – optimalizálásnál számíthat
- oszlop sorrendje is lényegtelen
Hivatkozási épség
(E / K) megszorítás, kerek végződéssel jelölik. Pontosan egy egyed
tartozik egy kiválasztott egyedhez (pl.: 1 gyártónak pontosan 1 legjobb söre van)
E / K modell
- Egyedhalmaz: hasonló egyedek összessége
- Attribútumok: megfigyelhető tulajdonságok, megfigyelt értékek, egyedek tulajdonságai
- Kapcsolatok: más egyedhalmazzal való kapcsolatok
- Séma: E(Ai, …, An) egyedhalmaz séma. E név, Ai tulajdonság, DOM(Ai) a lehetséges értékek halmaza.
- Előfordulás: konkrét egyedek (entitások). Minden attribútumban nem egyezhetnek meg
- K(E1, E2) bináris kapcsolat (…)
E / K kapcsolat típusok
- egy-egy
- sok-egy
- sok-sok
Szuperkulcs
Az egyedhalmaz szuperkulcsa egy azonosító, vagyis olyan tulajdonság-halmaz, amelyről feltehető,
hogy az egyedhalmaz előfordulásaiban nem szerepel két különböző egyed, amelyek ezeken a tulajdonságokon megegyeznek. Az összes tulajdonság mindig szuperkulcs.
E / K tervezési alapelvek
- valósághű modellezés: megfelelő tulajdonságok tartozzanak az egyedosztályokhoz, például a tanár neve ne a diák tulajdonságai közé tartozzon
- redundancia elkerülése: az index(etr-kód,lakcím,tárgy,dátum,jegy) rossz séma, mert a lakcím annyiszor ismétlődik,
ahány vizsgajegye van a diáknak, helyette 2 sémát érdemes felvenni: hallgató(etr-kód,lakcím), vizsga(etrkód,tárgy,dátum,jegy). - egyszerűség: fölöslegesen ne vegyünk fel egyedosztályokat, például a naptár(év,hónap,nap) helyett a megfelelő helyen inkább dátum tulajdonságot használjunk
- tulajdonság vagy egyedosztály: például a vizsgajegy osztály helyett jegy tulajdonságot használjunk.
Relációs algebrai műveletek
- Unió
- Különbség
- Vetítés (projekció)
- Kiválasztás
- Direktszorzat
- Átnevezés
SQL
Structured Query Language
Főbb részei:
- DDL (Data Definition Language)
- DML (Data Manipulation Language)
- DCL (Data Control Language)
- Tranzakciókezelés
- Procedurális kifejezések
DML
Adatkezelő nyelv - Data Manipulation Language (INSERT, UPDATE, DELETE, SELECT)
DDL
Adatleíró nyelv - Data Definition Language (CREATE, ALTER, DROP)
DCL
Adatvezérlő nyelv - Data Control Language (GRANT, REVOKE)
SQL - Tranzakció-kezelés
COMMIT, ROLLBACK, SAVEPOINT