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

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

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

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

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

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

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

Relációs algebra 1.rész

Adatbázisok elmélete

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)

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

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

Tankönyv példák kidolgozása

Adatbázis rendszerek 7. Matematikai rendszer amely foglal magában:

Csima Judit szeptember 6.

Relációs algebra lekérdezések optimalizációja. Adatbázisok használata

Magas szintű adatmodellek Egyed/kapcsolat modell I.

Adatbázisok I A relációs algebra

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

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

Adatbázisrendszerek Tervezése Közgazdászoknak Munkapéldány

Adatbázis Rendszerek

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

Databases 1. Relációs algebra és nemrekurzív Datalog

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

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

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

SQL bevezetés. Select-From-Where záradékok Több relációt tartalmazó lekérdezések Alkérdések

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

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

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

Adatbázisok gyakorlat

Bevezetés: Relációs adatmodell

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

Mveletek a relációs modellben. A felhasználónak szinte állandó jelleggel szüksége van az adatbázisban eltárolt adatok egy részére.

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

4. előadás. Relációalgebra és relációkalkulusok. Adatbázisrendszerek előadás október 10.

2.4. Egy algebrai lekérdező nyelv

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

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

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

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

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

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

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

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

Adatbázis-kezelés. alapfogalmak

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

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

A relációs adatmodell

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

T Adatbázisok-adatmodellezés

7. Gyakorlat A relációs adatmodell műveleti része

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

A relációs algebra egy speciális algebra, amely néhány egyszerű, de hathatós. operandusok. Egy reláció megadható a nevével vagy közvetlenül, sorainak

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

ADATBÁZISOK. 4. gyakorlat: Redundanciák, funkcionális függőségek

8. előadás. normálformák. Többértékű függés, kapcsolásfüggés, 4NF, 5NF. Adatbázisrendszerek előadás november 10.

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

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

Sor és oszlopkalkulus

ADATBÁZIS RENDSZEREK. Attributum típusok, normalizálsá, relációs algebra. Krausz Nikol, Medve András, Molnár Bence

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ázisok elmélete 6. előadás

Adatbázis rendszerek Ea: Viszonyított betűszámtan. Relációs algebra alapok

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1

Bevezetés: Relációs adatmodell

Adatbázis-kezelés. 3. Ea: Viszonyított betűszámtan (2013) Relációs algebra alapok (átgondolt verzió) v: Szűcs Miklós - ME, ÁIT. 1.

ADATBÁZISOK I. ELŐADÁS ÉS GYAKORLAT JEGYZET

Adatbázisok. 1. gyakorlat. Adatmodellezés október október 1. Adatbázisok 1 / 42

RELÁCIÓS LEKÉRDEZÉSEK OPTIMALIZÁLÁSA. Marton József november BME TMIT

Bevezetés: az SQL-be

HALMAZOK. A racionális számok halmazát olyan számok alkotják, amelyek felírhatók b. jele:. A racionális számok halmazának végtelen sok eleme van.

ADATBÁZIS RENDSZEREK. Attributum típusok, relációs algebra. Krausz Nikol, Medve András, Molnár Bence

Bevezetés: Relációs adatmodell

5.3. Logika a relációkhoz

Marton József BME-TMIT. Adatbázisok VITMAB november 11.

Redukciós műveletek. Projekció (vetítés): oszlopok kiválasztása. Jelölés: attribútumlista (tábla) Példa: Könyv

Az egyed-kapcsolat modell (E/K)

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

7. előadás. Karbantartási anomáliák, 1NF, 2NF, 3NF, BCNF, 4NF, 5NF. Adatbázisrendszerek előadás november 7.

Adatbázis, adatbázis-kezelő

RELÁCIÓS LEKÉRDEZÉSEK OPTIMALIZÁLÁSA. Dr. Gajdos Sándor november BME TMIT

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

Fogalmak: Adatbázis Tábla Adatbázis sorai: Adatbázis oszlopai azonosító mező, egyedi kulcs Lekérdezések Jelentés Adattípusok: Szöveg Feljegyzés Szám

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

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

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

2.4. Egy algebrai lekérdezo nyelv

1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata.

Adatbázis-kezelés az Excel 2013-ban

Nagy Gábor compalg.inf.elte.hu/ nagy

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

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

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

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


Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

Adatbázisrendszerek. Karbantartási anomáliák, 1NF, 2NF, 3NF, BCNF, 4NF, 5NF március 13.

Relációs adatbázisok tervezése 2.rész (dekompozíció)

Átírás:

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

Mi is az adatmodell? Az adatmodell információ vagy adatok leírására szolgáló jelölés. A leírás részei: az adatok struktúrája. Az adatokon végezhető műveletek. Az ABKR esetében általában kevesebb műveletet hajthatunk végre, mint egy általános célú programnyelv esetében. Itt azonban a kevesebb, több. A műveletek egyedi hatékony megvalósításán túl, több művelet - egy lekérdezés - együttes optimalizációja is lehetővé válik. Az adatra vonatkozó megszorítások. Pl. egy személyigazolvány-számhoz nem tartozhat két különböző személy. Legfontosabb adatmodellek: relációs és féligstrukturált (XML).

Példa féligstrukturált adatra (XML) <?xml version="1.0" encoding="utf-8"?> <bár típus="étterem"> <név>makk 7-es</név> <város>budapest</város> <tulaj>géza</tulaj> <telefon>+36-70-123-2345</telefon> <telefon>+36-70-123-2346</telefon> </bár> <bár típus="kocsma"> <név>lórúgás</név> <város>eger</város> <telefon>+36-30-451-1894</telefon> </bár> </xml>

Egy reláció sémája: Sör (név, ország). Relációs adatmodell Az adatbázis sémája: Sör (név, ország), Bár (név, város, tulaj), Felszolgál (sör, bár, ár). attribútumok Sör név Soproni Kozel Dreher ország Magyar Cseh Német Bár név város tulaj Makk 7-es Budapest Géza Lórúgás Győr Ica sorok Felszolgál sör bár ár Kozel Makk 7-es 320 Dreher Makk 7-es 400 Soproni Lórúgás 280 előfordulás

Relációs adatmodell I. (Ismétlés: adott X 1,, X n alaphalmazok esetén a ρ X 1 X n részhalmazt relációnak nevezzük.) A relációs adatmodellben az adatokat kétdimenziós táblákban (relációkban) tároljuk. A reláció fejrészében találhatók az attribútumok. Minden attribútumhoz hozzátartozik egy értékkészlet. A reláció neve és a reláció-attribútumok halmaza együtt alkotják a relációsémát. A séma egy adatmodellben általánosságban azt adja meg, hogy egy-egy adatelem milyen formájú adatokat tárol. Egy-egy reláció soroknak egy halmaza. Halmaz: tehát nem számít a sorrend, valamint egy elem csak egyszer szerepelhet.

Relációs adatmodell II. A reláció sorainak halmazát előfordulásnak nevezzük. ρ X 1 X n esetén az attribútumok értékkészlete adja az X i alaphalmazokat (1 i n), egy-egy előfordulás pedig egy-egy relációnak feleltethető meg. Az attribútumok sorrendje tehát nem rögzített a relációsémában. Egy-egy előfordulás ábrázolása esetén viszont rögzítésre kerül.

Relációs adatmodell II. Az adatbázis tulajdonképpen relációk halmaza. A megfelelő relációsémák halmaza adja az adatbázissémát, a hozzá tartozó előfordulások pedig az adatbázis-előfordulást. Egy sor elemeit mezőnek (komponens) nevezzük. Minden mező csak atomi értéket vehet fel. Léteznek bonyolultabb adatmodellek is, ahol egy mező értéke lehet halmaz, lista, tömb, rekord, referencia stb. Megjegyzés: a gyakorlatban sokszor megengedik a sorok ismétlődését, hiszen az ismétlődések megszüntetése nagyon időigényes.

Mire kell odafigyelni? Példa 1 Példa 2 Mivel attribútumok halmazáról van szó, a Példa 1 és Példa 2 relációk nevüktől eltekintve azonosak. A B C a b c d a a c b d B C A b c a a a d b d c Példa 3 Példa 4 Mivel sorok halmazáról van szó, a Példa 1 és Példa 3 relációk nevüktől eltekintve azonosak. A B C c b d d a a a b c A B C c b d c b d a b c Ebben a modellben Példa 4 nem reláció.

Példa megszorításra Az attribútumok egy halmaza egy kulcsot alkot 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. Ilyen egy attribútumú kulcs például a személyiigazolvány-szám vagy a TAJ szám. Megjegyzés: egy kulcs nem feltétlenül egy attribútumból áll. Például a bár táblában valószínűleg az a jó, ha a név és a város együtt alkotják a kulcsot. A kulcsot aláhúzás jelöli: Bár (név, város, tulaj).

Vigyázat! Ennél a konkrét előfordulásnál választhatnánk a nevet kulcsnak, sok esetben viszont ez nem megfelelő, hiszen több különböző ember is él ugyanazzal a névvel. név telefon Grasshaus Ignác 20-234-4567 Menyhért Lipót 20-564-2345 Bereg Anna 20-345-1231

Feladat Hány különböző módon reprezentálható egy relációelőfordulás (az attribútumok és sorok sorrendjét figyelembe véve), ha az előfordulásnak 4 attribútuma és 5 sora van?

Mit nevezünk algebrának? Egy algebra általában műveleteket és atomi operandusokat tartalmaz. Az algebra lehetővé teszi kifejezések megfogalmazását az atomi operandusokon és az algebrai kifejezéseken végzett műveletek alkalmazásával kapott relációkon. Fontos tehát, hogy minden művelet végeredménye reláció, amelyen további műveletek adhatók meg. A relációs algebra atomi operandusai a következők: a relációkhoz reprezentáló változók konstansok, amelyek véges relációt fejeznek ki

Relációs algebra (műveletek) I. Projekció (vetítés). Adott relációt vetít le az alsó indexben szereplő attribútumokra. Példa: Π A, B (R) A B C a b c c d e g a d A a c g B b d a

Relációs algebra (műveletek) II. Szelekció (kiválasztás). Kiválasztja az argumentumban szereplő reláció azon sorait, amelyek eleget tesznek az alsó indexben szereplő feltételnek. R(A 1,, A n ) reláció esetén a σ F kiválasztás F feltétele a következőképpen épül fel: atomi feltétel: A i θ A j, A i θ c, ahol c konstans, θ Є {=, <, >}, ha B 1, B 2 feltételek, akkor B 1, B 1 B 2, B 1 B 2 is feltételek. Példa: σ A=a C=d (R) (a,, műveleteket ezentúl értelemszerűen használjuk) A B C a b c c d e A B C a b c g a d g a d

Relációs adatmodell (műveletek) III. Mivel sorok halmazáról van szó, így értelmezhetők a szokásos halmazműveletek: az unió, a metszet és a különbség. A műveletek alkalmazásának feltétele, hogy az operandusok attribútumai megegyezzenek és azonos sorrendben szerepeljenek. Példa: R S: R A B C a b c c d e g a d S A B C a b c c d e g d f A B C g a d

Relációs algebra (műveletek) IV. A Descartes-szorzat is értelmezhető. Itt természetesen nem fontos az attribútumok egyenlősége. A két vagy több reláció azonos nevű attribútumait azonban meg kell különböztetni egymástól. Példa: R S. R S A B C B D A R.B C S.B D a b c b r a b c b r c d e q s a b c q s g a d c d e b r c d e q s g a d b r g a d q s

Relációs algebra (műveletek) V. Egyes esetekben szükség lehet egy adott reláció attribútumainak átnevezésére. A ρ S(C, D, E) (R) az R(A, B, C) reláció helyett veszi az S relációt, melynek sorai megegyeznek R soraival, az attribútumai pedig rendre C, D, E. Ha az attribútumokat nem szeretnénk átnevezni, csak a relációt, ezt ρ S (R)-rel jelöljük.

Feladatok I. A feladatokat a Szeret (név, gyümölcs) relációssémájú tábla fölött értelmezzük. 1. Melyek azok a gyümölcsök, amiket Micimackó szeret? 2. Melyek azok a gyümölcsök, amiket Micimackó nem szeret? 3. Kik azok, akik szeretik az almát, de nem szeretik a körtét? 4. Kik azok, akik vagy az almát, vagy a körtét szeretik? 5. Kik szeretnek legalább két gyümölcsöt? 6. Kik szeretnek legfeljebb két gyümölcsöt? 7. Kik szeretnek pontosan két gyümölcsöt? 8. Kik szeretnek minden gyümölcsöt?

Feladatok II. 9. Kik szeretik legalább azokat a gyümölcsöket, mint Anna? 10. Kik szeretik legfeljebb azokat a gyümölcsöket, mint Anna? 11. Kik azok a személy-személy párok, akik pontosan ugyanazokat a gyümölcsöket szeretik? Másik séma: Borivók (név, mennyiség) 12. Kik fogyasztják a legtöbb bort?

Théta-összekapcsolás I. A gyakorlatban szinte kizárólag valamilyen összekapcsolásra visszavezethető műveletet használnak abban az esetben, amikor a lekérdezés megválaszolásához több táblából kell kigyűjteni az adatokat. Théta-összekapcsolás: R(A 1,,A n ), S(B 1,,B m ) sémájú táblák esetén: R X F S = σ F ( R S) teljesül, itt F elemi feltétel Ai Θ Bj, Ai Θ c, ahol Θ { =,<, >} és c konstans, vagy összetett feltétel, azaz: ha B 1, B 2 feltétel, akkor B 1, B 1 B 2, B 1 B 2 is feltétel.

Théta-összekapcsolás II. A B C D E a b c b e d d g X A = D d r e f r A B C D E d d g d r Egyen-összekapcsolás (equi join): ha a théta-összekapcsolásban a Θ helyén = szerepel.

Természetes összekapcsolás Természetes összekapcsolás: R(A 1,,A n ), S(B 1,,B m ) sémájú táblák esetén R X S azon sorpárokat tartalmazza R-ből illetve S-ből, amelyek R és S azonos attribútumain megegyeznek. A természetes összekapcsolás asszociatív, azaz: (R 1 X R 2 ) X R 3 = R 1 X (R 2 X R 3 ), és kommutatív, azaz : R 1 X R 2 = R 2 X R 1. A théta-összekapcsolás nem mindig asszociatív. Miért? A B C B D A B C D a b c d d g X b d e r a b c e d d g r e f r

Miért olyan gyakori? Felszolgál Látogat kocsma sör név kocsma Makk 7-es Dreher X Péter Makk 7-es Lórúgás Kozel Feri Lórúgás Lórúgás Gösser kocsma sör név Makk 7-es Dreher Péter Lórúgás Kozel Feri Lórúgás Gösser Feri A természetes összekapcsolás kifejezhető a többi alapművelettel: R X S π L (σ C (R S)), itt: C a közös attribútumok egyenlőségét írja elő, L pedig csak egyszer veszi a közös attribútumokat.

Feladatok I. A feladatokat a következő táblák fölött kell végrehajtani: Látogat(név, kocsma) Felszolgál(kocsma, sör) Szeret(név, sör) Fogyasztás(kocsma, dátum, sör, liter). 1. Kik azok, akik szeretik a Drehert és járnak olyan kocsmába, ahol Borsodit is felszolgálnak? 2. Kik járnak legalább egy olyan kocsmába, ahol van legalább egy kedvenc sörüket felszolgálják?

Feladatok II. 3. Kik járnak olyan kocsmába, ahol nem szolgálnak fel Borsodit? 4. Milyen kocsmákba járnak azok, akik legalább kétféle sört szeretnek? 5. Kik járnak olyan kocsmába, ahol egyetlen kedvenc sörüket sem szolgálják fel? 6. Kik járnak olyan kocsmába, ahol az összes kedvenc italát felszolgálják? 7. Kik azok, akik járnak abba a kocsmába, ahol eddig a legkevesebb Borsodi fogyott egy adott napon?

További feladatok Termék (gyártó, modell, típus) PC (modell, sebesség, memória, merevlemez, cd, ár) Laptop (modell, sebesség, memória, merevlemez, képernyő, ár) Nyomtató (modell, színes, típus, ár) 1. Melyek azok a PC modellek, amelyek sebessége legalább 150? 2. Mely gyártók készítenek legalább egy gigabájt méretű merevlemezzel rendelkező laptopot? 3. Adjuk meg a B gyártó által gyártott összes termék modellszámát és árát típustól függetlenül!

További feladatok II. 4. Melyek azok a gyártók, amelyek gyártanak legalább két egymástól különböző, legalább 1,2 gigaherzen működő számítógépet (PC-t vagy laptopot)? 5. Melyik gyártó gyárt legalább három különböző sebességű laptopot? 6. Melyik gyártó gyártja a leggyorsabb számítógépet (PC-t vagy laptopot)?

Relációkra vonatkozó megszorítások A megszorításokat kétféleképpen fejezhetjük ki (legyenek R és S relációs algebrai kifejezések): R = Ø, azaz R-nek üresnek kell lennie, R S, azaz R eredményének minden sorának benne kell lennie S eredményében. A két megszorítás kifejezőerő szempontjából azonos: R S így is kifejezhető: R S Ø, míg R = Ø, R Ø alakban is írható.

Hivatkozási épség megszorítás Hivatkozási épség megszorítás: ha egy érték megjelenik valahol egy környezetben, akkor ugyanez az érték egy másik, az előzővel összefüggő környezetben is meg kell, hogy jelenjen. Példa: a Sör(név, ország), Felszolgál(sör, bár, ár) táblák esetén megköveteljük, hogy csak olyan sörök szerepeljenek a Felszolgál táblában, amelyek a Sör táblában is szerepelnek. A megszorítás: sör (Felszolgál) név (Sör). Általában: A (R) B (S).

Kulcs és egyéb megszorítások Példa: a Bár(név, város, tulaj) relációban a (név, város) attribútumhalmaz kulcs. σ B1.név=B2.név B1.város=B2.város B1.tulaj B2.tulaj (B 1 B 2 ) = Ø Tegyük fel, hogy csak a budapesti vagy madridi bárokkal szeretnénk foglalkozni. Ennek kifejezése: σ (város 'Budapest') (város 'Madrid' (B) = Ø.

Feladatok Termék (gyártó, modell, típus) PC (modell, sebesség, memória, merevlemez, cd, ár) Laptop (modell, sebesség, memória, merevlemez,képernyő, ár) Nyomtató (modell, színes, típus, ár) 1. Az olyan PC-ket, amelyek processzorának sebessége kisebb, mint 2.00, nem árulhatjuk drágábban, mint 12000 Ft. 2. A PC-gyártók nem gyárthatnak laptopokat. 3. Ha egy gyártó készít PC-t, akkor készítenie kell olyan laptopot is, amelynek a sebessége legalább akkora, mint a PC sebessége.