Adatbázis rendszerek I Kovács László Relációs adatmodell Strukturális és integritási rész
Relációs modell kialakulása hardver technológia robbanásszerű fejlődése Moore-megfigyelése: évente duplázódik a teljesítmény képek: wikipedia ma már két év a periódus még kb. 15 évig érvényes
Relációs modell kialakulása Kialakulást támogató tényezők: - PC, minigépek elterjedése - egyszerűbb kezelésre igény - rugalmasabb megvalósításra igény - kis erőforrás melletti megoldások igénye számítógépek elterjedése 1970: pár tízezer 1978: pár százezer 1981: ötmillió 1985: harmincötmillió 1989: százmillió 1996: háromszázmillió 2004: egy milliárd 2007: kétmilliárd E.F. Codd (1932-2003) 1970: A Relational Model of Data for Large Shared Data Banks
Relációs modell kialakulása Codd javaslata(IBM) 1970 System-R Sequel 1980 Oracle Ingres Informix dBase DB2 RDB SQL86 Clipper Sybase Postgres 1990 SQL89 mySQL ,, E-SQL ODBC SQL92 SQLServer VFP SQL1999 SQL2003 2000
Relációs adatmodell Előnyei: - rugalmasság - egyszerű szerkezet, kezelés - funkcionalitás - szabványosság Hátrányai: - terjedelmesség - laza kapcsolat az alkalmazással - hatékonyság Specifikumai: - nincs rögzített kapcsolat - rekordtípusok egyenrangúak - rugalmas műveleti kapcsolat - belső optimalizáló - halmazorientált műveletek - gazdag integritási rész Almaden Research Center
Relációs adatmodell Az adatmodell elemei - MEZŐ - REKORD - REKORDHALMAZ (RELÁCIÓ) - ADATBÁZIS Dolgozó REKORD Név MEZŐ Képesítés Feladat 1 Zoli főnök Dolgozó 1 Anna titkár kód név beosztás 1 Feri portás reláció előfordulás reláció séma
Relációs adatmodell Adatbázis tartalom ellenőrzésére integritási feltételek hozhatók létre Statikus : a felvehető adatértékek körét korlátozza Dinamikus : az elvégezhető műveletek körét korlátozza A DBMS ellenőrzi centralizált végrehajtás a nem megfelelő műveletek visszautasításra kerülnek
kép Szinyei Merse Pál (1845-1920): Majális (1873)
A relációs modell elemei MEZŐ : leíró tulajdonság tárolására szolgál a legkisebb tárolási egység - csak elemi lehet - elnevezés, típus jellemzi REKORD : egységként tárolt elemi adatok együttese : hasonlóság az egyeddel könyv szerző dátum D ár N C(50)
A relációs modell elemei RELÁCIÓ : az azonos típusú rekord-előfordulások halmaza - elnevezés, típus jellemzi - nincs sorrendiség a rekordok között - nincs rekordpozíció - nem lehet ismétlődés a rekordok között - rendszerint táblázattal ábrázoljuk (de ez már több mint halmaz) Nyersanyag 1233 Alma 23 98.V.3 01.I.8 1253 Dió 783 4433 Mogyi 97.II.11 6233 Bab 79 75.X.2
A relációs modell elemei Kapcsolat jellemzője: - nincs struktúrába épített kapcsolat - asszociatív, értékalapú kapcsolatteremtés - az kapcsolat két mező értékegyezőségén alapszik: - kulcs mező - idegen kulcs Nyersanyag 1233 Alma A rekord 1253 Dió 4433 Mogyi Rendelés B rekord 1233 23 01.04.3 01.I.8 1233 783 4433 81 01.03.11
A relációs modell elemei Integritási elemek - domain szintű - mező szintű - rekord szintű - reláció szintű - adatbázis szintű CHECK feltétel értékellenőrzés NOT NULL nem maradhat üres CHECK feltétel értékellenőrzés PRIMARY KEY kulcs UNIQUE egyediség FOREIGN KEY idegen kulcs ASSERTION feltétel összetett érték ellenőrzés
A relációs modell elemei A modell grafikus elemei kulcs idegen kulcs mezőnév mezőnév mezőnév ... típus típus típus adattípus integritási elemek (C, NN, UN)
A relációs modell elemei A modell szöveges elemei relációnév (mezőnév adattípus integritási felt.,..) C(n) : szöveges N(n,m) : numerikus D : dátum … PK: kulcs REF reláció : idegen kulcs NN : nem üres UN : egyedi C feltétel : értékellenőrzés
A relációs modell elemei Az ER modell konverziója relációs modellre Elemi tulajdonság Mező Kulcs tulajdonság Kulcs mező Egyed Rekord Összetett tulajdonság több tagmező Többértékű tulajdonság reláció kapcsoló mezővel 1:1 kapcsolat kapcsoló mező 1:N kapcsolat kapcsoló mező N:M kapcsolat reláció kapcsoló mezőkkel Az idegen kulcs csak arra az oldalra kerülhet, melyhez maximum egy előfordulás kapcsolódik a másik oldalon
A relációs modell elemei könyv kiadó könyv kiadó kód cím C kiadó N adószám név C C(12) C(12) szinész színdarab szinész színdarab szerepel
A relációs modell elemei szinész színdarab SZINÉSZ (kód C(20) PK, név C(30) NN, ..) SZINDARAB (sorszám N(3) PK, cím C(30), ..) SZEREPEL (darab REF SZINDARAB, szereplő REF szinész) színdarab szerző SZINDARAB (sorszám N(3) PK, cím C(30), ..) SZERZŐK (név C(30) NN, darab REF SZINDARAB)
kép Szinyei Merse Pál: Léghajó (1882)
A relációs adatmodell Egyedi elemek - reláció értelmezései: - lista - Descartes szorzat - függvények halmaza - r(R) = { t : R V | A R : t(A) dom(A)} - r(R) = {r | r (R) bB: b(r) = 1 } - bK(r(R)) = 1, ha K R t1,t2r(R): t1t2 t1(K) t2(K) =0 különben - b’X,Y(r1(R1),r2(R2)) = 1, ha X R1, Y R2 bY(r(R2)) {t(X)|tr(R1)} {t(Y)|tr(R2)} - Codd induló modellje (mezők, FNF-relációk)
A hálós adatmodell egyedi elemek: - gyenge egyed konverziója - kötelező kapcsolat konverziója - kapcsolatok tulajdonságainak konverziója - N-es kapcsolat konverziója - domain - szuperkulcs, jelölt kulcs, részkulcs - függetlenségi szintek, ANSI modell - halmazorientáltság problémái - fizikai megvalósítás - művelet optimalizálás, indexek - ISA konverzió
Szinyei Merse Pál: A művész feleségének portréja (1880)