Hasonló dokumentumok
GEIAL Kovács László. GEIAL Kovács László

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 A relációs algebra

Adatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

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

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

Adatbázisok I A relációs algebra

A RELÁCIÓS ADATMODELL MŰVELETI RÉSZE (RELÁCIÓS ALGEBRA ÉS KALKULUS)

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

Adatbázisok I. Az SQL nyelv

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

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

Relációs algebra 1.rész

Adatbázis-kezelés, információs-rendszerek

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

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

Adatbázis Rendszerek

BEVEZETÉS Az objektum fogalma

Adatbázis-kezelés. Harmadik előadás

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

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

Informatikus informatikus Térinformatikus Informatikus T 1/9

ADATBÁZISKEZELÉS ADATBÁZIS

Lineáris algebra gyakorlat

Relációs adatmodellezés

ADATBÁZISOK I. Az esetleges hibákat kérlek a csongor@csongorbokay.com címen jelezd! Utolsó módosítás: március 20.

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

Adatbázisok elmélete

Lineáris Algebra gyakorlatok

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

Adat vs. Információ. Adatok: Információ: Az adatok és információk közötti különbség nem strukturális, hanem funkcionális.

Miskolci Egyetem. Diszkrét matek I. Vizsga-jegyzet. Hegedűs Ádám Imre

GEIAL Kovács László. GEIAL Kovács László

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

A matematika alapjai 1 A MATEMATIKA ALAPJAI. Pécsi Tudományegyetem, 2006

Egyszerű programozási tételek

MATEMATIKA 9. osztály Segédanyag 4 óra/hét

Adatbázisok* tulajdonságai

Új gépjármű beérkeztetés modul

Példák átírásokra: Relációs algebrai kifejezések, a kiértékelı fák átírása SQL lekérdezésekre

Átrendezések és leszámlálások ÚTMUTATÓ Hegedüs Pál június 30.

XML adatkezelés. 11. témakör. Az XQuery nyelv alapjai. XQuery. XQuery célja egy imperatív lekérdező nyelv biztosítása. XQuery.

Óravázlat. az ECDL oktatócsomaghoz. 5. modul. Adatbáziskezelés. Krea Kft Budapest, Szőlő u 21. Tel/fax: / krea@krea.

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

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

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

PRÓBAÉRETTSÉGI MATEMATIKA május-június SZÓBELI EMELT SZINT. Tanulói példány. Vizsgafejlesztő Központ

2. Hatványozás, gyökvonás

Csima Judit szeptember 6.

Széchenyi István Egyetem, 2005

Adatbázis rendszerek Gy: DQL Lekérdezések

Absztrakt algebra I. Csoportelmélet

FELADATOK A. A feladatsorban használt jelölések: R + = {r R r>0}, R = {r R r < 0}, [a; b] = {r R a r b}, ahol a, b R és a b.

Matematikai logika 1 A MATEMATIKAI LOGIKA ALAPJAI. Pécsi Tudományegyetem, Bevezetés

Tankönyv példák kidolgozása

JANUS PANNONIUS TUDOMÁNYEGYETEM. Schipp Ferenc ANALÍZIS II. ***************

5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben?

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

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

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

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

Juhász Tibor. Lineáris algebra

(2) A R. 3. (2) bekezdése helyébe a következő rendelkezés lép: (2) A képviselő-testület az önkormányzat összes kiadását

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

Relációs modell és relációs algebra. ER konvertáása reációs modellre,példák relációs algebrára Személetes ismertetés

BEVEZETÉS A FUZZY-ELVŰ SZABÁLYOZÁSOKBA. Jancskárné Dr. Anweiler Ildikó főiskolai docens. PTE PMMIK Műszaki Informatika Tanszék

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

Lineáris algebra - jegyzet. Kupán Pál

Adatbázis Rendszerek II. 2. Ea: Gyakorló környezet

Lineáris algebra I. Vektorok és szorzataik

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

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

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

Gazdasági informatika vizsga kérdések

Adatbázisok I Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés

Halmazok-előadás vázlat

Adatbázis Rendszerek II. 2. Gyakorló környezet

KOVÁCS BÉLA, MATEMATIKA I.

Mérés és adatgyűjtés

Adatbázisok - 1. előadás

Miskolci Egyetem GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR. Analízis I. példatár. (kidolgozott megoldásokkal) elektronikus feladatgyűjtemény

BUDAPESTI KÖZGAZDASÁGTUDOMÁNYI EGYETEM. Puskás Csaba, Szabó Imre, Tallos Péter LINEÁRIS ALGEBRA JEGYZET

JANUS PANNONIUS TUDOMÁNYEGYETEM. Schipp Ferenc ANALÍZIS I. Sorozatok és sorok

Nemzeti versenyek évfolyam

XML technikák II Kovács, László

Ismerkedés az Abel-csoportokkal

KOVÁCS BÉLA, MATEMATIKA I.

A digitális számítás elmélete

Tanmenet Matematika 8. osztály HETI ÓRASZÁM: 3,5 óra ( 4-3) ÉVES ÓRASZÁM: 126 óra

1. Bevezetés. A számítógéptudomány ezt a problémát a feladat elvégzéséhez szükséges erőforrások (idő, tár, program,... ) mennyiségével méri.

Helyzet: 1853, London, Soho, kolerajárvány, 700 halott Kérdés: honnan ered a járvány? Adatok: az elhunytak neve, lakhelye Megoldás dr.

Alkalmazott modul: Programozás

Dr. Jelasity Márk. Mesterséges Intelligencia I. Előadás Jegyzet (2008. október 6) Készítette: Filkus Dominik Martin

Hossó Aranka Márta. Matematika. pontozófüzet. a speciális szakiskola osztálya számára összeállított. Felmérő feladatokhoz. Novitas Kft.

Halmazok Halmazok, részhalmaz, halmazműveletek, halmazok elemszáma

Fejezetek a lineáris algebrából PTE-PMMK, Műszaki Informatika Bsc. Dr. Kersner Róbert

Soukup Dániel, Matematikus Bsc III. év cím: Témavezető: Szentmiklóssy Zoltán, egyetemi adjunktus

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

Osztályozóvizsga követelményei

SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

Átírás:

Adatbázis rendszerek I Relációs adatmodell műveleti rész (relációs algebra) ME- GEIAL Dr. Kovács László

Relációs adatmodell strukturális rész tárolási struktúra séma R(m1,m2, ) adatmodell integritási rész érték korlátozás PK, REF, NN, C, UN műveleti rész igényelt adatelem kinyerése relációs algebra művelet orientált relációs kalkulus tulajdonság orientált

A relációs algebra alaptulajdonságai Nyersanyag kod 1253 4433 nev Dió Mogyi ar 783 lejarat 01.I.8 97.II.11 6233 Bab 79 75.X.2 Zárt a relációk halmazára Relációkat relációba képez A műveletek láncolhatók Eredmény kod nev 1253 Dió Imperatív szemléletű A relációk egyes részeit emeli ki Egy vagy kétoperandusú operátorai vannak 4433 Mogyi Az SQL nyelv alapját képezi

A relációs modell elemei A reláció formális felírása lista Reláció értelmezései halmaz Descartes szorzat függvények halmaza U: attribútumok halmaza, A U : attribútum dom(a) : az A attribútum értékeinek halmaza, domain R U : reláció séma r(r) : reláció az R sémához t r(r) : egy rekord t dom(a 1 ) dom(a 2 ) dom(a n ) : A i R r(r) dom(a 1 ) dom(a 2 ) dom(a n )

A relációs modell elemei A reláció formális felírása lista Reláció értelmezései halmaz Descartes szorzat függvények halmaza t : R dom(a i R ) : A i : t(a i ) dom(a i ) r(r) = {t : R dom(a i R ) : A i : t(a i ) dom(a i )} r(r + ) = {r r (R) b B: : b(r) = 1 } bk(r( (r(r)) = 1, ha K R t1,t2 t1,t2 r(r): t1 t2 t2 t1(k) t2(k) = 0 különben

Adatkezelő, adatdefiníciós műveletek Reláció létrehozatala r = new R + rekord felvitele s (r) => r = r s rekord törlése \ f (r) => r = r \ σ f (r)

A relációs algebrai műveletek áttekintése szelekció egy operandusú { projekció kiterjesztés aggregáció csoportképzés két operandusú { join metszet unió osztás különbség

A szelekció művelete Szelekció: a megadott feltételnek eleget tévő rekordok kerülnek át az eredmény relációba jele: σ felt (r) σ X ΘY (r) = { t r t(x) Θ t(y)} AUTÓ rsz tipus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda kék r9 Suzuki piros szelekció rsz tipus szín r2 Opel kék r4 Skoda kék r6 Mazda piros σ szin= kék OR tipus= Mazda (AUTO) feltétel: szín = 'piros' VAGY tipus = 'Mazda'

A projekció művelete Projekció: a kijelölt mezők kerülnek csak át az eredmény relációba jele: Π mlista (r) Π X (r) = {t(x) r t r} AUTÓ rsz tipus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda kék r9 Suzuki piros projekció Π kijelölt tipus, mezõk rsz (AUTO) = tipus, rsz tipus Fiat Opel Mazda Skoda Suzuki szín zöld kék piros kék piros

A műveletek kombinálása Az eredmény reláció bemenete lehet egy újabb műveletnek AUTÓ rsz tipus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda kék r9 Suzuki piros szelekció feltétel: szín='piros' VAGY szín='kék' projekció kijelölt mezõk = rsz rsz r2 r6 r4 r9 Π rsz (σ szin= kék OR szin= piros szin= kék OR szin= piros (AUTO) )

A join művelet Alap Join: két reláció rekordjainak párosai jele: r 1 >< r 2 Descartes-szorzat szorzat r 1 >< r 2 = {(t,s) t r 1, s r 2 } AUTÓ rsz tulaj r1 3 r4 1 r6 4 EMBER id név 1 Laci 2 Ágota 3 János 4 Zoltán összekapcsolás AUTO >< EMBER rsz tulaj id név r1 3 1 Laci r4 1 1 Laci r6 4 1 Laci r1 3 2 Ágota r4 1 2 Ágota r6 4 2 Ágota r1 3 3 János r4 1 3 János r6 4 3 János r1 3 4 Zoltán r4 1 4 Zoltán r6 4 4 Zoltán

A join művelet Szelekciós Join: a két reláció rekordpárosaiból a feltételnek eleget tévő párosokat adja eredményként r 1 >< >< felt jele: r 1 >< felt r 2 felt r 2 = σ felt (r 1 >< r 2 ) felt Natural Join: olyan szelekciós join, mely az azonos elnevezésű mezők értékegyezőségén alapszik jele: r 1 >< = r 2 r 1 >< = r 2 = Π (R1 U R2) R1 U R2) (σ r1.x = r2.x (r (r 1 >< r 2 ))

A join művelet Outer Join: olyan szelekciós join, melyben az illeszkedő pár nélküli rekodok is bekerülnek az eredmény halmazba (üres étékekkel kiegészítve) tipusai: - left outer join - right outer join - full outer join jele: r 1 +>< felt r 2 jele: r 1 ><+ felt r 2 jele: r 1 +><+ felt r 2 Az üres érték szimbóluma: NULL

A join művelet Righr outer join végrehajtása Könyv Könyv >< ><+ kiado=id Kiadó kod cim kiadó 32 c1 1253 46 c2 4463 kod cim kiadó ID nev Kiadó 32 c1 1253 1253 K1 ID nev 46 c2 4463 4463 K3 1253 4433 K1 K2 NULL NULL NULL 4433 K2 4463 K3

A join művelet Semi Join: olyan szelekciós join, melyben az illeszkedő párokból csak a megadott oldal mezői szerepelnek jele: r 1 >< felt r 2 r 1 >< felt r 2 = Π R2 (r 1 >< felt r 2 ) felt R2 tipusai: - left semi join - right semi join felt Az illeszkedő párral rendelkező rekordokat adja vissza

A kiterjesztés művelet Kiterjesztés: a reláció kibővítése származtatott mezőkkel jele: ε mlista (r) Az mező értékének a többi mező értékéből kell meghatározódnia AUTÓ rsz tipus ár kiterjesztés rsz tipus ár r1 Fiat 1200 r2 Opel 930 r6 Mazda 870 r4 Skoda 1500 r9 Suzuki 1400 új mezõ: ár/100 r1 Fiat 1200 r2 Opel 930 r6 Mazda 870 ε ar/100 (AUTO) r4 Skoda 1500 r9 Suzuki 1400 ár/100 12 9.3 8.7 15 14

A halmaz műveletek Unió: azonos sémájú relációk rekordhalmazának egyesítése jele: r 1 r 2 Metszet: azonos sémájú relációk rekordhalmazának metszete jele: r 1 r 2 Különbség: azonos sémájú relációk rekordhalmazának különbsége VERSENYZÕK id név 21 Erika 2 Tibor 4 Zoltán 3 Éva jele: r 1 \ r 2 FIÚK id név 1 2 3 Laci Tibor János különbség 4 Zoltán id név FIUK \ VERSENYZOK 1 Laci 3 János

Az osztás művelete Osztás: a Descartes szorzat inverze, azon legnagyobb reláció, melynek Descartes szorzata r2-vel benne van r1-ben jele: r 1 r 2 HOBBY hobby név foci Laci tenisz Tibor foci János futás Zoltán futás Laci foci Zoltán tenisz Gábor SPORTÁG hobby foci futás HOBBY SPORTAG osztás név Laci Zoltán

Az osztás művelete Osztás levezetése az alapműveletekből: r 1 r 2 = {t t Π R1 R1\R2 R2 R2(r 1 ), t >< r 2 r 1 } a minden kvantorhoz kapcsolódik a jelentése Az eredmény levezetése: Jelöltek: Π R1 r 1 r 2 = Π R1 R1\R2 R2 (r R1\R2 R2 (r (r 1 ) A jó jelöltek szorzata benne van r1-ben: Π R1 A rossz jelöltek: Π R1 R1\R2 R2( ( ( (r 1 ) \ Π R1 ( (Π R1 R1\R2 R2 ( (Π R1 R1\R2 R2( ( ( R2(r 1 ) >< r 2 )\r 1 R1\R2 R2 R1\R2 R2 R2(r 1 ) >< r 2 )\r1) R2(r 1 ) >< r 2

Az aggregáció művelete Aggregáció: a relációból összesítő rekordot állít elő jele: Γ aggregációs-lista (r) aggregációs függvények: SUM(mez.kif) COUNT(mez.kif) MIN(mez.kif) AVG(mez.kif) MAX(mez.kif) AUTÓ rsz tipus ár r1 Fiat 1200 r2 Opel 930 r6 Mazda 870 r4 Skoda 1500 r9 Suzuki 1400 r7 Opel 2570 r11 Fiat 850 r8 Opel 1000 csoportképzés kifejezés: kiírandó: COUNT() Γ count(*) (AUTO) (AUTO) Count() 8

A csoportképzéses aggregáció művelete Csoportképzés és aggregáció: a reláció rekodjait csoportokba rendezi, s minden csoportra egy összesítő rekordot állít elő jele: Γ csoport képzési kifejezés aggregációs-lista (r) Azon rekordok kerülnek egy csoportba, melyekre a csoport képzési kifejezés azonos értékű AUTÓ rsz tipus ár r1 Fiat 1200 r2 Opel 930 r6 Mazda 870 r4 Skoda 1500 r9 Suzuki 1400 r7 Opel 2570 r11 Fiat 850 r8 Opel 1000 csoportképzés kifejezés: tipus tipus Fiat AVG(ár) 1025 Opel 1500 kiírandó: tipus, AVG(ár) Mazda 870 Skoda 1500 Suzuki 1400 Γ tipus, count(*) tipos (AUTO)

Speciális szelekciós operátorok Halmaz és logikai operátorok is élnek: : tartalmaz : nem tartalmaz : minden kvantor : létezik kvantor Al-szelekciók: A szelekciós feltételben is szerepelhet relációs algebrai kifejezés Γ count(*) (σ fiz> (Γ avg(fiz) (DOLG)) (DOLG))

Kifejezés felépítésének lépései 1. Mely relációkból emelhetők ki az igényel információk? 2. Milyen az illesztési feltétel a join esetén? 3. Milyen szűkítések vannak az alaprelációkon? 4. Szükség van-e al-szelekciókra? 5. Szükség van-e csoportképzésre és ha igen, mi alapján? 6. Milyen aggregációs kifejezést kell szerepeltetni? 7. Milyen mezők szerepeljenek az eredmény relációban?

Mintapélda Séma: BOROK(kod, nev, gyarto, fajta, ar) VEVO(vkod, nev, cim) RENDELES(vevo, bor, mennyiseg,datum) 1. Az 5000-nél drágább borok nevei Π mev (σ ar>5000 (BOROK)) 2. A vevők neve és rendelésének összmennyisége Γ nev nev, sum(mennyiseg) (RENDELES >< rendeles.vevo = vevo.vkod VEVO)

Mintapélda 1. azon vevők, akik rendeltek Bikavért Π nev (σ borok.kod = rendeles.bor AND rendeles.vevo = vevo.vkod AND borok.fajta = Bikaver (BOROK >< RENDELES >< VEVO)) 2. Melyik gyártó termel 5-nél több vörös bort Π gyarto (σ count(*)>5 (Γ gyarto gyarto,count(*) (σ fajta= voros (BOROK)))) 3. Az átlagnál drágább borok darabszáma Γ count(*) (σ ar> (BOROK)) (Γ avg(ar) (BOROK))