Bevezetés: Relációs adatmodell



Hasonló dokumentumok
Bevezetés: Relációs adatmodell

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

Bevezetés: az SQL-be

Az adatbázisrendszerek világa

Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK)

Bevezetés: Relációs adatmodell

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009

Relációs algebra 1.rész alapok

SQL DDL-1: táblák és megszorítások

Információs rendszerek Adatbázis-kezelés

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

Lekérdezések az SQL-ben 1.rész

SQL DDL-2 (aktív elemek) triggerek

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

Magas szintű adatmodellek Egyed/kapcsolat modell I.

ABR ( Adatbázisrendszerek) 1. Előadás : Műveletek a relációs medellben

Lekérdezések az SQL-ben 1.rész

Relációs algebra 2.rész példák

Relációs adatmodell. Adatbázisok használata

Több táblára vonatkozó lekérdezések Relációs algebra és SQL SELECT

A relációs adatmodell

Adatbázisok I. Jánosi-Rancz Katalin Tünde 327A 1-1

Adatbázisok gyakorlat

SQL DDL: Táblák, megszorítások (constraints), triggerek, nézettáblák

Lekérdezések az SQL-ben 2.rész

Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK)

modell, amiben csak bináris sok-egy kapcsolatok (link, memberowner,

RELÁCIÓS ADATBÁZISSÉMÁK. Egyed-kapcsolat modellről átírás

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

Tankönyv példák kidolgozása

Adatbázisok 1. Kósa Balázs gyakorlata alapján Készítette: Nagy Krisztián. 1. gyakorlat

ADATBÁZIS-KEZELÉS. Relációs modell

7. Előadás tartalma A relációs adatmodell

Relációs adatbázisok tervezése ---2

Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK)

Relációs algebra 1.rész

Megszorítások. AB1_06A_Megszorítások - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján

Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK)

Adatbázis tartalmának módosítása

Adatbázis-kezelés. alapfogalmak

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

Relációs adatbázisok tervezése ---1

Adatbázisok tavaszi félév Vizsgatételsor

Adatbázisok-1 előadás

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

INFORMATIKA ÁGAZATI ALKALMAZÁSAI. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP /1/A

Adatmodellezés. 1. Fogalmi modell

Adatbázis, adatbázis-kezelő

9.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

Adatbázismodellek. 1. ábra Hierarchikus modell

Adatbázisok elmélete 4. előadás

Informatikai alapismeretek Földtudományi BSC számára

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

6.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

Adatbázisrendszerek BEVEZETÉS. A valós világban vannak dolgok, amelyek viselkednek, hatnak egymásra, kapcsolatban vannak. Ezek rendszert alkotnak.

XML alapú adatbázis-kezelés. (Katona Endre diái alapján)

Adatbázisok elmélete 4. előadás

Az SQL adatbázisnyelv: DML

Adatbázis rendszerek. dr. Siki Zoltán

AB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis

Feladatok A mai előadáson: Tankönyv -- Termékek feladatai:

Adatbázisok - 1. előadás

ADATBÁZIS-KEZELÉS Demetrovics Katalin

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

ADATBÁZIS-KEZELÉS. 1. Alapfogalmak

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

5.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben

2.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

T Adatbázisok-adatmodellezés

ADATBÁZISOK ELMÉLETE 5. ELŐADÁS 3/22. Az F formula: ahol A, B attribútumok, c érték (konstans), θ {<, >, =,,, } Példa:

Adatbázis-kezelés alapok Adatbázisok című tárgyhoz, ismétlés kapcsán

Adatbázis rendszerek 2. előadás. Relációs algebra

Adatbázisok. 4. gyakorlat. Adatmodellezés: E-K modellb l relációs adatbázisséma. Kötelez programok kiválasztása szeptember 24.

A szürke háttérrel jelölt fejezet/alfejezet szövege a CD-mellékleten található. A CD-melléklet használata. 1. Elméleti áttekintés 1

ADATBÁZIS-KEZELÉS. Relációalgebra, 5NF

Adatbázis tartalmának módosítása (DML), az adatbázis-kezelı rendszerek felépítése,

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai

Több felhasználó párhuzamosan olvashatja, bővítheti, módosíthatja és törölheti az adatokat Az adatok konzisztenciájának és biztonságának biztosítása

ADATBÁZIS-KEZELÉS. Adatbázis-kezelő rendszerek

B I T M A N B I v: T M A N

Adatbázis tartalmának módosítása. SQL DML utasítások

Adatigények. Koncepcionális séma (magas szintű modell) Logikai séma (alacsony szintű modell) Belső séma (fizikai szerkezet, hozzáférési módok)

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

Nézetek és indexek. AB1_06C_Nézetek_Indexek - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján

Adatbáziskezelés 1 / 12

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

5. Gyakorlat. 5.1 Hálós adatbázis modell műveleti része. NDQL, hálós lekérdező nyelv:

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Az adatok a vállalat kulcsfontosságú erőforrásai. Az információs rendszer adatai kezelésének két alapvető változata:

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

Adatbázis rendszerek 2. előadás. Relációs algebra

E/K diagram átalakítása relációs adatbázistervre

Relációsémák létrehozása SQL nyelvben

NORMALIZÁLÁS. Funkcionális függés Redundancia 1NF, 2NF, 3NF

Tervezés: Egyed-kapcsolat modell és az SQL DDL: táblák, nézetek

4.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

Adatbázisok 1. Az egyed-kapcsolat modell (E/K)

ADATBÁZISOK: TAN7.EA témaköre SQL DDL, DML, DCL, Tranz.kez.

Átírás:

Bevezetés: Relációs adatmodell Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.1. Adatmodellek áttekintése 2.2. A relációs modell alapjai --Megjegyzés: A gyakorlat felépítése --miatt az SQL lekérdezésekkel és az --ahhoz szükséges alapokkal kezdünk. -- Később lesz az 1.fejezet Az adatbázisrendszerek világáról. 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

Bevezetı példa Ki látott már relációs adatbázist vagy relációt? 1.példa:A jelentkezési adatok egyeztetésére táblázat (lásd papíron a jelenléti ív /csak az első előadáson van) Melyik keresés könnyebb a két listában: jelentkezési dátum szerint rendezve vagy ha névsorban vannak az adatsorok? Melyik jobb, ha természetes azonosító (név) szerint vagy mesterséges azonosító (neptunkód) szerint keresünk? Implementáció kérdései:nagy tömegben hatékony és sok felhasználó számára biztonságos legyen a megvalósítás. 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 2

Ki ismeri az SQL-t? Ki ismeri az SQL-t? Itt mi a különbség? R (1) SELECT B FROM R WHERE A<10 OR A>=10; (2) SELECT B FROM R; A B 5 20 10 30 20 40 Itt mi a helyzet ezzel? (3) SELECT A FROM R, S WHERE R.B = S.B; (4) SELECT A FROM R WHERE B IN (SELECT B FROM S); 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 3

Mi az adatmodell? (Később lesz bővebben az E/K-modellnél) Az adatmodell a valóság fogalmainak, kapcsolatainak, tevékenységeinek magasabb szintű ábrázolása Kettős feladat:az adatmodell megadja, hogy a számítógép számára és a felhasználó számára hogy néznek ki adatok. Az adatmodell: adatok leírására szolgáló jelölés. Ez a leírás általában az alábbi három részből áll: 1. Az adat struktúrája (később: fizikai és fogalmi adatmodell) 2. Az adaton végezhető műveletek (lekérdezések, módosítások, feldolgozások legyenek megfogalmazhatók) 3. Az adatokra tett megszorítások(milyen adatokat engedélyezünk? később: megszorítások, triggerek) 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 4

A fontosabb adatmodellek Hálós, hierarchikus adatmodell (gráf-orientált, fizikai szintű, ill. apa-fiú kapcsolatok gráfja, hatékony keresés) Relációs adatmodell (táblák rendszere, könnyen megfogalmazható műveletek), magában foglalja az objektumrelációs kiterjesztést is (strukturált típusok, metódusok), SQL/Object, SQL/CLI, SQL/PSM (PL/SQL) Objektum-orientált adatmodell (az adatbázis-kezelés funkcionalitásainak biztosítása érdekében gyakran relációs adatmodellre épül), ODMG: ODL és OQL Logikai adatmodell (szakértői rendszerek, tények és következtetési szabályok rendszere) Dokumentum típusú adatok, félig-strukturált adatmodell (XML-dokumentum) 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 5

A relációs modell vázlatosan Itt az adatokat természetes, táblázatos formában kezeljük. Az adatbázis sémája: Sörök (név, gyártó), Bárok (név, város, tulaj), Sörök Felszolgál (sör, bár, ár). attribútumok sorok név gyártó Soproni Magyar Kozel Cseh Dreher Német Felszolgál sör bár ár Kozel Makk 7-es 320 Dreher Makk 7-es 400 Soproni Lórúgás 280 Bárok név város tulaj Makk 7-es Budapest Géza Lórúgás Győr Ica előfordulás 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 6

A félig-struktúrált modell vázlatosan <ab> <személy id="01"> <név>karcsi</név> <fizu>80000</fizu> </személy> <étterem> <tulaj személy_id="01"/> <cím> <város>vác</város> <utca>örmény</utca> <házszám>6</házszám> </cím> <tel>213-234</tel> <tel>213-233</tel> </étterem> </ab> 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 7

A félig-struktúrált modell vázlatosan ab személy étterem id név fizu tulaj cím tel tel 01 Karcsi 80000 személy_id 213-234 213-233 01 város utca házszám Vác Örmény 6 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 8

Relációs adatmodell története E.F. Codd 1970-ban publikált egy cikket A Relational Model of Data for Large Shared Data Banks Link: http://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf amelyben azt javasolta, hogy az adatokat táblázatokban, relációkbantárolják. Az elméletére alapozva jött létre a relációs adatmodell, és erre épülve jöttek létre a relációs adatmodellen alapuló relációs adatbázis-kezelők. Relációs(objektum-relációs) adatbázis-kezelők például: ORACLE, INFORMIX, SYSBASE, INGRES, DB2, stb Adatbázisok-1 gyakorlaton ORACLEadatbázis-kezelő rendszert használunk. 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 9

Relációs adatmodell elınyei Miért ez a legelterjedtebb és legkifinomultabb? Az adatmodell egy egyszerű és könnyen megérthető strukturális részt tartalmaz. A természetes táblázatos formát nem kell magyarázni, és jobban alkalmazható. A relációs modellben a fogalmi-logikai-fizikai szint teljesen szétválik, nagyfokú logikai és fizikai adatfüggetlenség. A felhasználó magas szinten, hozzá közel álló fogalmakkal dolgozik (implementáció rejtve). Elméleti megalapozottság, több absztrakt kezelő nyelv létezik, például relációs algebra (ezen alapul az SQL automatikus és hatékony lekérdezés optimalizálása). Műveleti része egyszerű kezelői felület, szabvány SQL. 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 10

Relációs lekérdezı nyelvek Három nyelv szerepel (Adatbázisok-1 gyakorlaton is lesz) Relációs algebra:algebrai megközelítés (az 1.előadáson elkezdjük) itt megadjuk a kiértékelési eljárásokat, többféle lehetőség összevetése, hatékonysági vizsgálatok. SQL szabvány relációs lekérdező nyelv:folyt.2.előadáson elkezdjük az SQL-t [AB1_02B_BevSQL] lesz a története, szabványok, az SQL felépítése. Később a lekérdezések SELECT-utasítás, SQL DDL, DML, DCL, és SQL/PSM is. (Adatbázisok-1 gyakorlatokon Oracle SQL és PL/SQL). Datalog: logika alapú megközelítés (korábban elsőrendű logikának megfelelő kalkulus típusú lekérdezések voltak, erről az MSc-n lesz majd bővebben). Itt az Adatbázisok-1 keretében a Datalog az összetett lekérdéseknél segítség. 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 11

Relációs adatmodell relációs séma Adatok gyűjteményét kezeli (gyűjtemény azonosítása: név) A gyűjtemény - R reláció (tábla, táblázat) megadása A gyűjtemény milyen típusú adatokat gyűjt? adattípus: sor-típus. A sor-típus (egy n-es) megadása: <Attribútumnév 1 : értéktípus 1,, Attrnév n : étípus n > röviden <A 1,, A n > Relációséma:Relációnév (sortípus) (itt: kerek zárójelben!) vagyis R(Anév 1 : értéktípus 1,, Anév n : értéktípus n ) röviden R(A 1,, A n ) ill. U = {A 1,, A n } jelöléssel R(U) PÉLDA:lásd jelenléti ív fejléce relációséma. 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 12

Relációs adatmodell elıfordulás Mit jelent egy konkrét sor? sor <A 1 : érték 1,, A n : érték n > Reláció előfordulás (példány, instance) A sor-típusnak megfelelő véges sok sor(sorok halmaza). {t 1,...,t m } ahol t i (tuple, sor, rekord) i= 1,, m (véges sok) t i = <v i1,...,v in > (vagyis egy sor n db értékből áll) m - számosság (sorok száma) n - dimenzió (attribútumok száma) Értéktartományok: A reláció minden attribútumához tartozik egy értéktartomány (atomi típusú, 1NF, lásd folyt. 2.előadáson 2.3. Relációsémák definiálása) PÉLDA:Jelenléti ív táblázat (1.előadás példában:160 sor) 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 13

Szemléltetés táblázatos forma Szemléltetése: a táblázatos forma (reláció, tábla) R A 1 A j A n A j -attribútumnév t 1 v 11 v 1n t i -itt csak szimbolikusan vezetem be, hogy tudjak t i v ij a sorokra hivatkozni (Oracle-ben: rowid) t m v m1 v mn 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 14

Szemléltetés függvény szemléltetéssel A táblázatos szemléltetésből áttérhetünk a sorok egy másik szemléltetésére: t R sor felfogható függvénykéntis t i : U értékek, ahol U = {A 1,, A n } Ezzel a jelöléssel t i (A j ) = v ij ekvivalens jelöléssel t i [A j ] vagy t i.a j (objektum-orientált/metódus típusú jelöléssel) Előfordulás: sor-függvények véges halmaza Korlátozom a függvényt: X U = {A 1,, A n } Ha X = {A,, A j } attr.halmaz, akkor t[x] típusa: 1 jk t[x] = <A : t(a j 1 j1 ),, A jk : t(a jk )> Függvény szemléltetéssel könnyen tudom képezni a sorok egy részét és így állítom elő a megfelelő sort. 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 15

Relációs adatbázis felépítése Az adatbázis tulajdonképpen relációk halmaza. a megfelelő relációsémák halmaza adja az adatbázissémát (jelölése dupla szárú R) R= {R 1,, R k } a hozzá tartozó előfordulások az adatbázis-előfordulás Előfordulás tartalma: egyes relációk előfordulásai Ez a koncepcionális szint, vagyis a fogalmi modell. Fizikai modell: a táblát valamilyen állományszerkezetben jeleníti meg (például szeriálisállományban). A relációs adatbázis-kezelők indexelnek, indexelési mód: pl. B+ fa. (Ez az Adatbázis-2 kurzuson lesz a fizikai megvalósítás) 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 16

(Logikai szinten) táblázatos szemléltetés A relációk táblákban jelennek meg. A tábláknak egyedi nevű van. A relációk oszlopait az attribútumok címzik. A tábla sorait tetszőlegesen megcserélhetjük, sorok sorrendje lényegtelen (a halmazszemlélet miatt) Mivel attribútumok halmazáról van szó, a Példa 1 és Példa 2 relációk nevüktől eltekintve azonosak. Mivel sorok halmazáról van szó, a Példa 1 és Példa 3 relációk nevüktől eltekintve azonosak. Példa 1 Példa 2 A B C a b c d a a c b d Példa 3 A B C c b d d a a a b c B C A b c a a a d b d c Példa 4 A B C c b d c b d a b c Ebben a modellben Példa 4 nem reláció, de a valóságban megengedünk mutihalmazokat lásd később SQL 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 17

Példa: Filmek séma Mit jelentenek az aláhúzások? Filmek( cím:string, év:integer, hossz:integer, műfaj:string, stúdiónév:string, producerazon:integer) FilmSzínész( név:string, cím:string, nem:char, születésidátum:date) Tervezéssel később foglalkozunk, a fenti példa hibás, az elnevezések Tankönyv példája, hibás fordítás: title=(film)cím és address=(lak)cím SzerepelBenne( filmcím:string, filmév:integer, szinésznév:string) GyártásIrányító( név:string, cím:string, azonosító:integer, nettóbevétel:integer) Stúdió( név:string, cím:string, elnökazon:integer) 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 18

Példa megszorításokra - Kulcs Előző példában: attribútumok aláhúzása mit jelent? Filmek: elvárjuk, hogy ne legyen a megengedett előfordulásokban két különböző sor, amelyek megegyeznek cím, évattribútumokon. Egyszerű kulcs egy attribútumból áll, de egy kulcs nem feltétlenül áll egy attribútumból, ez az összetett kulcs. Például a Filmektáblában a címés évegyütt alkotják a kulcsot, nem elég a cím, ugyanis van például (King Kong, 1933), (King Kong, 1976) és (King Kong, 2005). A kulcsot aláhúzás jelöli: Filmek (cím, év, hossz, ) 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 19

Kulcsra vonatkozó megszorítások Az attribútumok egy halmaza egy kulcsotalkot egy relációra nézve, ha a reláció bármely előfordulásában nincs két olyan sor, amelyek a kulcs összes attribútumának értékein megegyeznének. Formális megadása: R(U), X U, U= {A 1,, A n }, X = {A j 1,, A jk } t R, t[x] < A j 1 : t(a j1 ),, A jk : t(a jk )> ezzel a jelöléssel mit jelent, hogy X kulcs elvárás? ha t 1 R, t 2 R és t 1 [X] = t 2 [X] akkor t 1 = t 2 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 20

Idegen kulcs és hivatkozási épség SzerepelBennetáblában ha van egy sor filmcím=c, filmév=é értékkel, akkor Filmek táblában is legyen c,é kulccsal rendelkező sor Idegen kulcs, FOREIGN KEY R(A 1,, A m ) séma, X = {A i 1,, A ik } kulcs, S(B 1,, B n ) séma, Y = {B,, B j } idegen kulcs, 1 jk ami az X-re hivatkozik a megadott attribútum sorrendben: B az A j 1 i1 -re,, B jk az A ik -re Hivatkozási épség, REFERENCES megszorítás a két tábla együttes előfordulására: Ha s Ssora, akkor létezik t R sor, hogy s[b j 1,, B jk ] = t[a i1,, A ik ] Ekkor az S-en Y idegen kulcs, ami hivatkozikaz R kulcsára 01A_BevRelMod // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 21