Adatbzis rendszerek I Relcis adatmodell strukturlis rsze ltalnos
Adatbázis rendszerek I Relációs adatmodell strukturális része Általános Informatikai Tsz. Dr. Kovács László
Relációs adatmodell Hálós adatmodell korlátai: - merev struktúra - bonyolult, algoritmussal leírandó lekérdezés, adatkezelés 1970: új elképzelés születik Codd: A Relational Model of Data for Large Shared Data Banks A relációs modell fő erősségei: - rugalmas kapcsolati rendszer - egyszerű struktúra - hatékony lekérdező, kezelő műveleti rész KL
Relációs adatmodell Relációs adatbáziskezelők (RDBMS) története 1970 Codd javaslata System-R 1980 1990 Oracle Ingres Informix DB 2 RDB Sybase Sequel d. Base Postgres my. SQL , , SQLServer 2000 Clipper SQL 86 E-SQL 89 VFP ODBC SQL 92 SQL 3 KL
Relációs adatmodell A relációs modell főbb jellemzői: - a modell tiszta elméleti háttéren alapul - egyszerű struktúrális rész, mely könnyen implementálható - deklaratív lekérdezési felület, mely könnyen kezelhető - hatékony, egyszerű integritási rész - nagyfokú logikai függetlenség - egységesség a struktúra és műveleti rész között - halmazorientált műveletek - egyszerű, elméletileg megalapozott tervezési metodika - a belső optimalizálási modul fontos szereppel bír - bővíthető (objektum relációs, multimédia, …) KL
Relációs adatmodell Strukturális rész elemei (informális) - DOMAIN - MEZŐ - REKORD - RELÁCIÓ - ADATBÁZIS dolgozó név KL
Relációs adatmodell DOMAIN fogalma: egy fogalomhoz rendelhető értékek rendszere - értékhalmaz - műveletek, operátorok köre - konverziós szabályok - integritási elvek pl. életkor értékből nem vonható ki testmagasság érték szabvány domain-ek: - NUMBER(n, m) - CHAR(n) - DATE egyedi domainek: Életkor - (0, 1, …, 200) - >, <, =, ++, ritkán támogatott - to_int() - értéke nem csökkenhet KL
Relációs adatmodell MEZŐ jellemzője: - egyértékű - lehet normál vagy kulcs - elnevezés, domain jellemzi - integritási elemek köthetők hozzá REKORD - rögzített mezősorrend - szerkezet jellemzi (séma) - integritási elemek köthetők hozzá mezőnév típus kulcs típus . . . ISBN C(11) ár cím C(50) N(6) kiadás D KL
Relációs adatmodell RELÁCIÓ fogalma: Azonos típusú rekorok halmaza - nincs sorrendiség - nincs rekord pozíció - nincs két azonos rekord megadása: - azonosító név - rekord típus (reláció sémája) könyv Alma 23 1253 Dió 783 4433 6233 Mogyi Bab 79 1233 98. V. 3 01. I. 8 97. II. 11 75. X. 2 ISBN C(11) relációnév mezőnév típus kulcs típus . . . sémaleírás könyv ár cím C(50) N(6) relációelőfordulás A reláció előfordulása egy táblázattal szemléltetett kiadás D reláció KL
Relációs adatmodell Kapcsolatok ábrázolása - minden reláció egyenértékű - a kapcsolat két tetszőleges reláció között felépíthető - a kapcsolat a kijelölt mezők értékeinek viszonyán alapul Kapcsoló mező: - a hivatkozó rekordban szerepel, célja hogy azonosítsa a hivatkozott rekordelőfordulást - a hivatkozás egyértelműsége végett a hivatkozott rekord előfordulás kulcsértékét tartalmazza (idegen kulcs, kapcsoló kulcs, foreign key) relációA kulcs idegen kulcs típus relációB. . . kulcs típus . . . KL
Relációs adatmodell A kapcsolat a kulcs és az idegen kulcs értékazonosságán alapul KL
Relációs adatmodell Az 1: 1 és 1: N kapcsolatok ábrázolása - az idegen kulcs is normál mező, ezért csak egyértékű lehet - egy idegen kulcs csak egy kapcsolódó rekordot jelölhet ki Az idegen kulcs csak arra az oldalra kerülhet, melyhez maximum egy előfordulás kapcsolódik a másik oldalon A rekord B rekord ide jön kiadó Név cím C(35) C(50) ISBN C(11) könyv ár cím C(50) N(6) kiadó KL
Relációs adatmodell Az N: M kapcsolatok ábrázolása - az idegen kulcs egyik oldalra sem tehető (egyértékűség) - itt is külön kapcsoló relációra van szükség, mely tartalmaz idegen kulcsokat mindkét oldalon A rekord vevő Név cím C(35) C(50) B rekord rendelés vevő könyv C(11) C(50) könyv ISBN cím C(11) C(50) KL
Relációs adatmodell Integritási elemek - domain szintű - mező szintű CHECK feltétel NOT NULL értékellenőrzés nem maradhat üres - rekord szintű CHECK feltétel értékellenőrzés - reláció szintű PRIMARY KEY UNIQUE kulcs egyediség - adatbázis szintű FOREIGN KEY idegen kulcs ASSERTION feltétel összetett érték ellenőrzés KL
Relációs adatmodell ER modell konverziója relációs modellre - egyed - egyértékű tulajdonság - összetett tulajdonság - többértékű tulajdonság - 1: 1 kapcsolat - 1: N kapcsolat - N: M kapcsolat reláció mező több mező a tagokhoz új leíró reláció idegen kulcs új kapcsoló reláció KL
Relációs adatmodell A modell formális felírása U A A U V U D 2 V univerzum attribútumok értékek halmaza domain dom : A 2 V attribútumok hozzárendelése domainekhez R A reláció séma r(R) reláció R felett t egy tuple, ahol r(R) = { t : R V | A R : t(A) dom(A)} R = {R} reláció sémák halmaza KL
Relációs adatmodell A modell formális felírása REL(R) = {r | r(R)} R feletti relációk B = {b} lokális integritási feltételek, ahol b : REL(R) (0, 1) R = (R, B) kiterjesztett relációs séma és reláció r(R) = {r | r (R) b B: b(r) = 1 } D {R} adatbázis séma d(D) = {r(R) | R D}adatbázis DAT(D) = {d | d(D)} D feletti adatbázisok B’ = {b’} globális integritási feltételek, ahol b’ : DAT(D) (0, 1) KL
Relációs adatmodell Egyed integritási szabály: minden relációs sémában létezzen kulcs ( a kulcs nem üres, egyedi és azonosító) b. K(r(R)) = 1, ha K R t 1, t 2 r(R): t 1 t 2 t 1(K) t 2(K) 0, különben Hivatkozási integritási szabály: az idegen kulcs vagy üres vagy létezö kulcs értékre mutat b’X, Y(r 1(R 1), r 2(R 2)) = 1, ha X R 1, Y R 2 b. Y(r(R 2)) {t(X)|t r(R 1)} {t(Y)|t r(R 2)} 0, különben KL
Relációs adatmodell Reláció elnevezése: r(R) dom(A 1) dom(A 2) … dom(An) ahol R = {A 1, A 2, …, An} a mezők értéke lehet kitöltetlen, ennek jele: NULL dom(Ai) KL
Relációs adatmodell Az ER modell konverziója relációs modellre gyenge egyed megvalósítása KL
Relációs adatmodell Az ER modell konverziója relációs modellre többértékű tulajdonság megvalósítása KL
Relációs adatmodell Az ER modell konverziója relációs modellre n-es kapcsolat megvalósítása KL
Relációs adatmodell Az ER modell konverziója relációs modellre specializáció megvalósítása KL
Relációs adatmodell A reláció elnevezés jelentése KL
- Slides: 23