Relációs algebra 1.rész



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

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

Adatbázisok I A relációs algebra

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

Relációs algebra 2.rész

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

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

Tankönyv példák kidolgozása

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

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

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

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

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

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

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


Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

Adatbázisok elmélete

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

Lineáris Algebra gyakorlatok

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

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

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

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

Csima Judit szeptember 6.

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

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

Széchenyi István Egyetem, 2005

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

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

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

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

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

Bevezetés: Relációs adatmodell

I. Gondolkodási módszerek: (6 óra) 1. Gondolkodási módszerek, a halmazelmélet elemei, a logika elemei. 1. Számfogalom, műveletek (4 óra)

Mátrixok. 3. fejezet Bevezetés: műveletek táblázatokkal

7. Szisztolikus rendszerek (Eberhard Zehendner)

II. Halmazok. Relációk. II.1. Rövid halmazelmélet. A halmaz megadása. { } { } { } { }

Miskolci Egyetem. Részbenrendezés maximális kompatibilis kiterjesztéseir l ütemezéselméleti vonatkozásokkal. PhD értekezés

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

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

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

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

2.4. Egy algebrai lekérdező nyelv

Analízis előadás és gyakorlat vázlat

Adatbázis Rendszerek

Matematikai alapismeretek. Huszti Andrea

Lineáris algebra I. Vektorok és szorzataik

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

Bevezetés: Relációs adatmodell

Az adatbázisrendszerek világa

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Geometria I.

- Levelek: operandusok - Csomópontok: operátorok. Fenti kifejezés: (x+ (y 10)) * (6 / z) Bináris Keresőfa (BST) Példa bináris keresőfára.

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

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

Analízisfeladat-gyűjtemény IV.

Gáspár Csaba. Analízis

Lineáris algebra I. Kovács Zoltán. Előadásvázlat (2006. február 22.)

NT Matematika 9. (Heuréka) Tanmenetjavaslat

MATEMATIKA évfolyam. Célok és feladatok. Fejlesztési követelmények

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

Bevezetés a számításelméletbe I. feladatgyűjtemény. Szeszlér Dávid, Wiener Gábor

Matematika emelt szint a évfolyam számára

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

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

MATEMATIKA TAGOZAT 5-8. BEVEZETŐ. 5. évfolyam

Helyi tanterv. Batthyány Kázmér Gimnázium Matematika emelt ( óra/hét) 9-12 évfolyam Készült: 2013 február

Áttekintés a felhasznált lineáris algebrai ismeretekről.

Bevezetés: az SQL-be

Analízis lépésről - lépésre

Laborjegyzıkönyv javítási tájékoztató. Kiegészítések a leggyakoribb hibák értelmezéséhez

5.3. Logika a relációkhoz

reális tájékozódást. Mindehhez elengedhetetlen egyszerű matematikai szövegek értelmezése, elemzése. A tanulóktól megkívánjuk a szaknyelv életkornak

Adatbázisok I A relációs algebra

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

Adatbázisok-1 előadás

Karbantartás. Az ESZR Karbantartás menüjébentudjuk elvégezni az alábbiakat:

Juhász Tibor. Lineáris algebra

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

Analízis I. jegyzet. László István november 3.

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.

SQL DDL-2 (aktív elemek) triggerek

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

Regionális gazdaságtan gyakorlat

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

Időt kezelő modellek és temporális logikák

Munkaformák Módszerek Eszközök készségek, célok Szervezési feladatok Rendezés, a füzet vezetése EM Magyarázat Tankönyv, füzetek

Ismerkedés az Abel-csoportokkal

- hányadost és az osztót összeszorozzuk, majd a maradékot hozzáadjuk a kapott értékhez

9. ÉVFOLYAM. Tájékozottság a racionális számkörben. Az azonosságok ismerete és alkalmazásuk. Számok abszolútértéke, normál alakja.

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

Beadható feladatok december Add meg az alábbi probléma állapottér-reprezentációját!

10.3. A MÁSODFOKÚ EGYENLET

Kosztolányi József Kovács István Pintér Klára Urbán János Vincze István. tankönyv. Mozaik Kiadó Szeged, 2013

MATEMATIKA Kiss Árpád Országos Közoktatási Szolgáltató Intézmény Vizsgafejlesztő Központ

NEPTUN_FDL, META. (Szűrések, dokumentáció) Budapest, 2001

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.

DIGITÁLIS TECHNIKA I Dr. Lovassy Rita Dr. Pődör Bálint

Adatbázisok I. Az SQL nyelv

Mesterséges intelligencia, 7. előadás október 13. Készítette: Masa Tibor (KPM V.)

Átírás:

Relációs algebra 1.rész Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 Lekérdezések a relációs modellben 2.4. Egy algebrai lekérdező nyelv -- 01B_RelAlg1alap: alapműveletek folyt.köv.: -- 02A_RelAlg2peldak: lekérdező nyelv itt: Tk. 2.4.1.Termék-feladatai a)-k) 01B_RelAlg1alap // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

Milyen típusú feladatokat fogalmazhatunk meg? Például(lásd az 1.előadáson kiadott lapon a konkrét táblákat) Legyen adott az alábbi relációs sémákfeletti relációk: 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) Feladatok Tk.2.4.1.feladat(ezeket a)-k) kérdéseket konkrét táblák alapján természetes módon meg lehet válaszolni, majd felírjuk relációs algebrában) a) Melyek azok a PC modellek, amelyek sebessége legalább 3.00? b) Mely gyártók készítenek legalább egy gigabájt méretű merevlemezzel rendelkező laptopot? c) Adjuk meg a B gyártó által gyártott összes termék modellszámát és árát típustól függetlenül!!! i) Melyik gyártó gyártja a leggyorsabb számítógépet (laptopot vagy PC-t)?!! k) Melyek azok a gyártók, akik pontosan három típusú PC-t forgalmaznak? 01B_RelAlg1alap // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 2

Mit nevezünk algebrának? Nyelv: a kérdés szintaktikai alakja és a kérdés kiértékelése (algoritmus) kiértékelési szemantika Algebra műveleteket és atomi operandusokat tartalmaz. Relációs algebra: az atomi operandusokon és az algebrai kifejezéseken végzett műveletek alkalmazásával kapott relációkon műveleteket adunk meg, kifejezéseket építünk (a kifejezés felel meg a kérdés szintaktikai alakjának). 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 tartozó változók, konstansok, amelyek véges relációt fejeznek ki. 01B_RelAlg1alap // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 3

Halmazmőveletek (jelölése a szokásos) Reláció előfordulás véges sok sorból álló halmaz. Így értelmezhetők a szokásos halmazműveletek: az unió (az eredmény halmaz, csak egyszer szerepel egy sor) értelmezhető a metszetés a különbség. Milyen művelet van még halmazokon? Értelmezhető-e relációkon? R, S és azonos típusú, R S és R S típusa ugyanez R S:= {t t R t S}, R S:= { t t R t S} Az alapműveletekhez az unióés különbségtartozik, metszetműveletet származtatjukr S = R (R S) A B C a b c c d e g a d A B C a b c c d e g d f Példa: különbségre R S A B C g a d 01B_RelAlg1alap // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 4

Vetítés (project, jelölése pí) Vetítés(projekció). Adott relációt vetít le az alsó indexben szereplő attribútumokra (attribútumok számát csökkentik) lista (R) ahol lista: {A,, A i } R-sémájában levő 1 ik attribútumok egy részhalmazának felsorolása eredmény típusa <A i 1 : értéktípus i1,, A ik :értéktípus il > lista (R):= { t.a i 1, t.a i2,, t.a ik ] t R} = { t[lista] t R} Reláció soraiból kiválasztja az attribútumoknak megfelelő A,, A i -n előforduló értékeket, ha többször előfordul 1 ik akkor a duplikátumokat kiszűrjük (hogy halmazt kapjunk) Példa: A B C a b c c d e c d d Π A, B (R) A B a b c d 01B_RelAlg1alap // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 5

Kiválasztás (select, jelölése: kis-szigma) Kiválasztás(szűrés). Kiválasztja az argumentumban szereplő reláció azon sorait, amelyek eleget tesznek az alsó indexben szereplő feltételnek. σ Feltétel (R) és R sémája megegyezik σ Feltétel (R):= { t t R és t kielégíti az F feltételt} R(A 1,, A n ) séma feletti reláció esetén a σ F kiválasztás F feltétele a következőképpen épül fel: elemi feltétel: A i θa j, A i θc, ahol c konstans, θpedig =,,<, >,, összetett feltétel: ha B 1, B 2 feltételek, akkor B 1, B 1 B 2, B 1 B 2 és zárójelezésekkel is feltételek Példa: A B C a b c σ A=a C=d (R) A B C a b c c d e g a d g a d 01B_RelAlg1alap // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 6

Természetes összekapcsolás ---1 Szorzás jellegű műveletek (attribútumok számát növeli) többféle lehetőség, amelyekből csak egyik alapművelet: Angolul: Natural Join (jelölése: csokornyakkendő ) Természetes összekapcsolás: közös attribútum-nevekre épül.r S azon sorpárokat tartalmazza R-ből illetve S-ből, amelyek R és S azonos attribútumain megegyeznek. A B a a c b b c B C a a a c b d e d A B C a a a a a c c b d 01B_RelAlg1alap // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 7

Természetes összekapcsolás ---2 Természetes összekapcsolás: Legyen R(A 1,,A k,b 1,,B n ), illetve S(B 1,,B n,c 1,,C m ) R S típusa (A 1,,A k,b 1,,B n,c 1,,C m ) vagyis a két attribútum-halmaz uniója R S = { <A 1 : t(a 1 ),, A k : t(a k ), B 1 : t(b 1 ),, B n : t(b n ), R S elemei v R S C 1 : s(c 1 ),, C m : s(c m )> t R, s S, t(b i ) = s(b i ) i=1,, n } R S = { v t R, s S: t[b 1,,B n ] = s[b 1,,B n ] v[a 1,,A k ] = t[a 1,,A k ] v[b 1,,B n ] = t[b 1,,B n ] v[c 1,,C m ] = s[c 1,,C m ] } 01B_RelAlg1alap // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 8

Természetes összekapcsolás ---3 Példákban:két azonos nevű attribútumot úgy tekintünk, hogy ugyanazt jelenti és a közös érték alapján fűzzük össze a sorokat. Milyen problémák lehetnek? Filmek adatbázisban ugyanarra a tulajdonságra más névvel hivatkozunk: Filmek.év és SzerepelBenne.filmÉv, illetve FilmSzínész.név és SzerepelBenne.színészNév Termékek adatbázisban pedig ugyanaz az azonosító mást jelent: Termék.típus más, mint Nyomtató.típus Emiatt a Filmek és a Termékek adatbázisokban ahhoz, hogy jól működjön az összekapcsolás szükségünk van egy technikai műveletre, és ez: az átnevezés (rename) 01B_RelAlg1alap // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 9

Átnevezés (rename, jelölése: ró) Miért van erre szükség? Nem tudjuk a reláció saját magával való szorzatát kifejezni, R R = R lesz. Láttuk, hogy egyes esetekben szükség lehet relációnak vagy a reláció attribútumainak átnevezésére: ρ T(B 1,, Bk) (R(A 1, A k )) Ha az attribútumokat nem szeretnénk átnevezni, csak a relációt, ezt ρ T (R)-rel jelöljük. Ha ugyanazt a táblát használjuk többször, akkor a táblának adunk másik hivatkozási (alias) nevet. Az attribútumok átnevezése helyett alternatíva: R.A (vagyis relációnév.attribútumnév hivatkozás) amivel meg tudjuk különböztetni a különböző táblákból származó azonos nevű attribútumokat. 01B_RelAlg1alap // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 10

A relációs algebra hat alapmővelete R U S unió R S különbség Π lista ( R ) vetítés σ Feltétel ( R ) kiválasztás R S természetes összekapcsolás ρ T(B 1,, Bk) (R(A 1, A k )) átnevezés Minimális készlet, vagyis bármelyiket elhagyva az a többivel nem fejezhető ki. A halmazműveletekből miért nem az unió és metszetet, ehelyett az unió és különbséget választottuk ki? A különbség nem monoton, ha új sorokat veszünk be valamelyik táblába, ettől az eredmény nem biztos, hogy növekedni fog. Az összes többi alapművelet monoton (plusz még a metszet is). 01B_RelAlg1alap // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 11

Szorzás jellegő mőveletek ---1 Szorzás jellegű műveletek többféle lehetőség, az egyik: Természetes összekapcsolás: közös attribútumnevekre épül.r S azon sorpárokat tartalmazza R-ből illetve S-ből, amelyek R és S azonos attribútumain megegyeznek. Egy másik lehetőség: direkt-szorzat(descartes-szorzat) Ezt is tekintjük alapműveletnek (és bizonyos esetekben egyszerűbb ezt venni alapműveletnek) az ennél sokkal gyakrabban használt természetes összekapcsolás helyett. R S: az R és S minden sora párban összefűződik, az első tábla minden sorához hozzáfűzzük a második tábla minden sorát R S:= { t t[r] R és t[s] S } 01B_RelAlg1alap // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 12

Szorzás jellegő mőveletek ---2 A direkt-szorzat(vagy szorzat, Descartes-szorzat) esetén 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. Hivatkozás séma: oszlopok átnevezése illetve azonos nevű oszlop esetén: R.A 1,, R.A k, S.A 1,, S.A k Példa: A B C a b c c d e g a d B D b r q s R S A R.B C S.B D a b c b r a b c q s c d e b r c d e q s g a d b r g a d q s 01B_RelAlg1alap // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 13

Szorzás jellegő mőveletek ---3 Ha R, S sémái megegyeznek, akkor R S= R S. Ha R, S sémáiban nincs közös attribútum, akkor R S= R S. Később nézünk még további szorzás jellegű műveletet: Théta összekapcsolás, θ félig összekapcsolás, és a rel.algebrakiterjesztésénél külső összekapcsolásokat. Hogyan fejezhető ki az R x S direkt szorzat relációs algebrában? (ha a természetes összekapcsolást tekintjük alapműveletnek, ebből és az átnevezés segítségével felírható a direkt szorzat). Hogyan fejezhető ki a természetes összekapcsolás, ha a direkt szorzatot soroljuk az alapműveletek közé? Lásd köv.lapon(kiválasztás és a vetítés segítségével) 01B_RelAlg1alap // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 14

Mőveletek közötti kapcsolatok Felszolgál kocsma sör Makk 7-es Dreher Lórúgás Kozel Lórúgás Gösser Látogat név kocsma Péter Makk 7-es Feri Lórúgás A természetes összekapcsolás kifejezhető a direkt szorzat, kiválasztás, vetítés műveletekkel: R S π L (σ C (R S)), kocsma sör név Makk 7-es Dreher Péter Lórúgás Kozel Feri Lórúgás Gösser Feri itt: Ca közös attribútumok egyenlőségét írja elő, Lpedig csak egyszer veszi fel a közös attribútumokat. 01B_RelAlg1alap // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 15

Monotonitás ---1 Monoton nem csökkenő(röviden monoton) kifejezés: bővebb relációra alkalmazva az eredmény is bővebb: Ha R i S i, i=1,,n, akkor E(R 1,,R n ) E(S 1,,S n ). A kivonás kivétel az alapműveletek monoton műveletek (ha az alapműveletet közül elhagyjuk a különbséget az monoton relációs algebra, lásd később a Datalognál is). A B 0 1 0 0 A B A B - 0 1 0 1-0 0 A B 0 1 0 0 01B_RelAlg1alap // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 16

Monotonitás ---2 DE: Monoton kifejezésben is szerepelhet kivonás: R S= R (R S)monoton, uis a metszet monoton. Ha E, E 1, E k monoton kifejezések, és E(E 1 ( ),,E k ( )) helyes kifejezés, akkor monoton is. Következmény: A kivonás nem fejezhető ki a többi alapművelettel (független a többi művelettől). A relációs algebra hat alapművelete minimális készlet, vagyis bármelyiket elhagyva az a többivel nem fejezhető ki. Hogyan tudná ezt a többi műveletre is belátni? Vagyis milyen sajátos tulajdonsága van az egyes műveleteknek, ami miatt azt elhagyva a többivel nem állítható elő? 01B_RelAlg1alap // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 17

Relációs algebra hátrányai Az így bevezetett természetes összekapcsolásnak vannak azért hátrányai Például: Személyek (Szülő, Gyermek) adatbázis felhasználásával szeretnénk elkészíteni (Nagyszülő, Unoka) párok listáját. Hogyan végezzük el? (átnevezés után vesszük a reláció önmagával vett direkt szorzatát, majd kiválasztjuk a megfelelő sorokat és vetítjük a megfelelő oszlopokra) (lásd a következő héten nézzünk ilyen jellegű példákat) Mi van ha az összes (Ős, Utód) párokat kellene megkapni? Ezt már nem tudjuk relációs algebrában kifejezni (később lesz Datalog és PL/SQL programmal) 01B_RelAlg1alap // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 18