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

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

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

Tankönyv példák kidolgozása

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

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

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

Adatbázisok elmélete

4. Előadás Az SQL adatbázisnyelv

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

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

Csima Judit szeptember 6.

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

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

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

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

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Marosvásárhely. ABR ( Adatbázisrendszerek) 12. Előadás:

2.4. Egy algebrai lekérdező nyelv

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

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

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

Adatbázis Rendszerek

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

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

Adatbázisok elmélete 6. előadá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ázisok tavaszi félév Vizsgatételsor

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

SQL DDL-2 (aktív elemek) triggerek

Relációs algebrai lekérdezések átírása SQL SELECT-re (példák)

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

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

Az SQL adatbázisnyelv: DML

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

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

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

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

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

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

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

Magas szintű adatmodellek Egyed/kapcsolat modell I.

2.4. Egy algebrai lekérdezo nyelv

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, adatbázis-kezelő

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

Nézetek és indexek. 8. fejezet Nézettáblák

WHERE záradék (további lehetıségek) SQL specialitások, nem írhatók át relációs algebrába: LIKE. NULL értékek. Az ismeretlen (unknown) igazságérték

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

SQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák

Fájlszervezés. Adatbázisok tervezése, megvalósítása és menedzselése

Adatbázis I. 11. előadás. Kulcsok az SQL ben. Hivatkozásépségi megszorítások és idegen kulcsok.

Bevezetés: az SQL-be

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

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

Lekérdezések az SQL SELECT utasítással

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

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

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

LEKÉRDEZÉSEK SQL-BEN. A relációs algebra A SELECT utasítás Összesítés és csoportosítás Speciális feltételek

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

5.3. Logika a relációkhoz

SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok

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

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

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

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

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. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

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

ADATBÁZISKEZELÉS ADATBÁZIS

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

Adatbázis-kezelés. alapfogalmak

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

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

7. fejezet Kulcsok és idegen kulcsok

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

Adatbázisok gyakorlat

Algebrai és logikai lekérdezo nyelvek

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

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán

Adatbázis kezelés Delphiben. SQL lekérdezések

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

Relációs algebra 1.rész

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

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

~i 6.2. Több relációra vonatkozó lekérdezések

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

Komplex számok. Wettl Ferenc előadása alapján Wettl Ferenc előadása alapján Komplex számok / 18

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

A relációs adatmodell

8. Előadás tartalma. Funkcionális függőségek

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

Bevezetés: Relációs adatmodell

AZ ADATBÁZISOK HATÁSA A RELÁCIÓS ALGEBRÁRA

Adatbázismodellek. 1. ábra Hierarchikus modell

BEVEZETÉS Az objektum fogalma

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

Relációs algebra 2.rész

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

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

Átírás:

ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben 2.2 Műveletek a relációs modellben 2.2.1 Relációra vonatkozó megszorítások 2.2.2 Multihalmazon értelmezett műveletek 2.2.3 A relációs modell további kiterjesztései 1

Adott az adatbázis sémája, amelyik négy relációból áll: Termék(gyártó, modell, típus) PC(modell, sebesség, memória, merevlemez, ár) Laptop(modell, sebesség, memória, merevlemez, képernyő, ár) Nyomtató(modell, színes, típus, ár) 2

e) Melyek azok a gyártók, akik laptopot árulnak, PC-t viszont nem f) Melyek azok a merevlemezméretek, amelyek legalább 2 különboző tipusú PC-ben megtalálhatók? gyártó(laptop gyártó(pc Termék) Termék) f) merevlemez( C(PC X PC_1)) C=(PC.modell<>PC_1.modell) AND (PC.merevlemez=PC_1.merevlemez) 3

g) Adjuk meg azokat a PC párokat, amelyek ugyanolyan gyorsak és a memóriájuk is ugyanakkora. Egy pár csak egyszer jelenjen meg, azaz, ha már szerepel az (i,j), akkor a (j,i) ne jelenjen meg PC.modell,PC_1.modell( C(PC X PC_1)) C=(PC.sebesseg=PC_1.sebesseg) AND (PC.memoria=PC_1.memoria) AND (PC.modell>PC_1.modell) 4

h) Melyek azok a gyártók, amelyek gyártanak legalább két, egymástól különböző, legalább 133 megahertzen működő számítógépet (PC-t vagy Laptopot)? W= modell,gyártó( sebesség>=133(pc modell,gyártó( sebesség>=133(laptop Termék)) U Termék)) W.gyarto( C(W X W_1)) C=(W.modell>W_1.modell) AND (W.gyarto=W_1.gyarto) 5

i) Melyik gyártó gyártja a leggyorsabb számítógépet (PC-t vagy laptopot)? W= sebesség,gyártó(pc sebesség,gyártó(laptop Termék) U Termék) Q1= W.gyarto,W.sebesseg( c1(w X W_1)) Q2= W_1.gyarto,W_1.sebesseg( c2(w X W_1)) Q= gyarto (Q1-Q2) C1=C2=W.sebesseg>W_1.sebesseg 6

W A 133 A 133 A 120 A 120 B 166 B 166 B 200 B 200 A 133 A 120 B 166 A 133 B 166 A 120 B 200 A 133 B 200 A 120 B 200 B 166 A 133 A 133 A 133 A 120 A 133 B 166 A 133 B 200 A 120 A 133 A 120 A 120 A 120 B 166 A 120 B 200 B 166 A 133 B 166 A 120 B 166 B 166 B 166 B 200 B 200 A 133 B 200 A 120 B 200 B 166 B 200 B 200 Q1 Q2 A 133 A 133 B 166 A 120 B 200 B 166 Q= gyarto (Q1-Q2) B 200 7

j) Melyik gyártó gyárt legalább három, különböző sebességű PC-t W= gyarto,sebesseg (PC Termek) gyártó( C(W X W_1 X W_2)) C=(W.gyarto=W_1.gyarto) AND (W_2.gyarto=W_1.gyarto) AND (W.sebesseg<>W_1.sebesseg) AND (W.sebesseg<>W_2.sebesseg) AND (W_1.sebesseg<>W_2.sebesseg) 8

Ekivalens kifejezések és a lekérdezések optimizálása: Definíció: Ekivalens kifejezések amelyek ugyanazt az eredményt adják. Példa: cim,ev ( hossz<100 (film) studio= FOX (film)) cim,ev ( hossz<100 AND studio= FOX (film)) 4. Átnevezés Átnevezés: S(A1,A2,..An) (R) és S (R) Ha csak a reláció nevét akarjuk megváltoztatni 9

2.2.1 Relációkra vonatkozó megszorítások Megszorítások Nagyon fontosak az adatbázisok világában. Megszorítások megadása relációs algebra segítségével 1. Ha R egy relációs kifejezés, akkor az R=Ø egy olyan megszorítás, amelynek jelentése az R-nek üresnek kell lennie vagy másképp az R eredményében egyetlen sor sincs. 10

2. Ha R és S relációs algebrai kifejezések, akkor R S egy olyan megszorítás, melynek jelentése: az R eredményének minden sora benne kell legyen az S eredményében. Természetesen az S eredménye tartalmazhat az R sorain kívül más sorokat is. A két módon megfogalmazott kifejezés ekvivalens. Az R S felírható az R-S=Ø alakban is. 11

Hivatkozási épség: 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 megjelenik. Ha egy A objektum (egyed, sor) kapcsolatban áll a B objektummal (egyeddel, sorral, akkor B-nek valóban léteznie kell) Film(cím, év, hossz, színes, stúdiónév, producerazon) Gyártásirányító(név, cím, azonosító, nettóbevétel) producerazon(film) azonosító(gyártásirányító) 12

számlaszám ÁFA Sorszám mértékegység Számlák sorai Számlasorok termék Dátum számlája egységár mennyiség azonosító Kliensek Számla(számlaszám, dátum, áfa, kliensazon) Kliens(azonosító, név, bank, bszámla) név bank bszámla kliensazon(számla) azonosító(kliens) 13

Ekvivalens kifejezések az előbbi feladatokhoz producerazon(film)- azonosító(gyártásirányító)=ø kliensazon(számla azonosító(kliens)) A Filmszínész relációban a nem (gender) megengedett értékei N és F ( nem N AND nem F (Filmszínész))=Ø 14

2.2.2. Multihalmazokon értelmezett műveletek Def.: Az olyan relációt, ahol megengedett az azonos sorok jelenléte multihalmaznak nevezzük. A kereskedelmi adatbázisok ritkán alapulnak halmazokon, bizonyos esetekben megengedett az azonos sorok jelenléte is. Általános szabály: a relációk (táblák) HALMAZOK a lekérdezések eredményei MULTIHALMAZOK Multihalmaz Halmaz Select DISTINCT 15

Mire jók a multihalmazok? Több módon is gyorsíthatja a relációs műveleteket. Vetítés esetén az eredmény multihalmaz, függetlenül lehet dolgozni minden egyes sorral. Ha az eredményt halmazként kezeljük, minden egyes sornál összehasonlítást kell végeznünk az összes többi sorral. Ez sok időt vesz fel, esetenként az információ torzulásához is vezethet. Például, ha értékekre vetítünk. 16

Sszám sorsz egységár Darab Tkód 1234 1 50 3 A35 1235 1 30 5 B36 1235 2 20 10 C37 össz=egységár*darab(számlasor) össz multihalmaz halmaz össz 150 150 Halmaz esetén elveszik az információ, ami pénzügyi problémát okozhat. 150 200 200 17

Multihalmazok egyesítése, metszete, különbsége A B A B A B Ha egy sor m-szer van meg az R-ben és n-szer az S-ben, akkor RUSben (n+m )-szer van meg {1,2} 2-szer az R-ben 5 6 {1,2} 1-szer az S-ben 5 6 {1,2} 3-szor az RUS-ben RUS 18

Multihalmazok egyesítése, metszete, különbsége A B A B A B R S A B 5 6 R\S A B S\R 5 6 R S 19

R multihalmazban t sor n-szer szerepel S multihalmazban t sor m-szer szerepel RUS-ben a t sor (n+m) -szer szerepel R S-ben a t sor min(n,m) -szer szerepel R\S-ben a t sor max(0,n-m)-szer szerepel S\R-ben a t sor max(0,m-n)-szer szerepel 20

Multihalmazon értelmezett kiválasztás A B C 0 2 5 6 7 7 R A B C 6 7 7 C 6(R) 21

Multihalmazok szorzata A B R B C 2 3 4 5 4 5 S A R.B S.B C 2 3 2 3 4 5 4 5 4 5 4 5 R X S 22

Multihalmazok összekapcsolása A B B C 2 3 4 5 4 5 A B C 3 3 R S R S 23

Multihalmaz műveletek halmazokon. RUS R S R\S X Eredmény MH H H MH H H R és S halmazok MH-multihalmaz H halmaz Definíció: Halmazokon végzett műveletek eredménye multihalmaz az egyesítés és a vetítés műveleteivel kapható. 24

A B A B 5 6 V=RUS multihalmaz A B R S halmazok 5 6 U halmaz A B C 5 6 7 8 A,B(U) multihalmaz A B 25

2.2.3. A relációs modell további kiterjesztései Műveletek, amelyek nem részei a relációs adatmodell formális leírásának, a gyakorlatban viszont előfordulnak. Módosítások 1. Sorok beszúrása relációba INSERT 2. Sorok törlése relációkból DELETE 3. Meglévő sorok módosítása, egy vagy több komponensének megváltoztatásával. UPDATE 26

Összesítések Valódi adatbázis-lekérdezőnyelvek lehetővé teszik az ú.n. összesítő műveletek használatát COUNT relációk sorainak leszámlálása SUM oszlop-értékek összeadása AVG átlag-érték kiszámolása MIN oszlop minimum kiszámítása MAX oszlop maximum kiszámítása 27

Nézetek Relációs algebrai kifejezés 1. Program, amelyik kiszámolja az R relációt és ki is nyomtatja 2. Képletek, amelyeknek addig nincs eredményük amíg igazi relációkra nem alkalmazzuk őket A nézeteknek gyakran neveket adunk, ezeket ugyanúgy hasznájuk más algebrai kifejezések argumentumaként, mint a valódi relációkat. 28

Nullértékek NULL érték bizonyos szempontból ugyanolyan érték, mint a többi.más szempontból nem is érték 2 reláció összekapcsolásakor 2 NULL komponens nem egyenlő 1. Ismeretlen érték: tudom, hogy valamilyen értéknek kell ott lennie, de nem tudom, hogy melyik az 2. Alkalmazhatatlan érték: Nincs olyan érték, aminek értelme lenne: hitves attribútum azok esetében, akik egyedülállók 3. Visszatartott érték: Nem vagyunk feljogosítva, hogy ismerjük: titkosított telefonszám, személyi szám (bizonyos esetekben) 29