Adatbázis rendszerek I

Slides:



Advertisements
Hasonló előadás
Deduktív adatbázisok.
Advertisements

10. gyakorlat SQL SELECT.
Természetes számok 0, 1, 2, 3, ..., 24, 25, ..., 1231, 1232, ..., n, ...  = {0, 1, 2, 3, ..., n,...} a természetes számok halmaza Műveletek: összeadás.
Adatbázisrendszerek elméleti alapjai 2. előadás
Lekérdezések SQL-ben Relációs algebra A SELECT utasítás
Adatbázis rendszerek I Relációs kalkulus Általános Informatikai Tsz. Dr. Kovács László.
Adatbázis rendszerek I
Anyagadatbank c. tárgy gyakorlat
Adatbázisok SQL. TARTALOM Szijártó M.2 Témakörök  Az SQL tulajdonságai  A műveletek fajtái  Objektum-műveletek  Lekérdezések Tulajdonságok és műveletek.
Microsoft Access Lekérdezések.
Adatbázis kezelés. Hierarchikus modell Legrégebbi modell, ma már nem használatos. Az adatokat fákban tároljuk, ahol minden pont a szegmens adatokat, és.
EE/R adatmodell (Extended E/R) 1 Az objektum orientált szemlélet elterjedésével egyre nőtt az igény az olyan SDM (Semantic Data Model) modellek iránt,
Halmazok, műveletek halmazokkal
Többtáblás lekérdezések, allekérdezések Rózsa Győző
Microsoft Access V. Készítette: Rummel Szabolcs Elérhetőség:
Csoportosítás megadása: Δx – csoport szélesség
Adatbázis rendszerek II.
Adatbázis-kezelés ACCESS program:
SQL 1 SEQUEL, Structured English Query Language: SQL ANSI, ISO: SQL86, SQL89, SQL92. Alap (entry), közbenső (intermediate), teljes (full) szint. A DDL.
Adatbázis rendszerek I
1.3 Relációk Def. (rendezett pár) (a1 , a2 ) := {{a1} , {a1 , a2 }} .
Összesítés és csoportosítás lekérdezésekben. Halmazműveletek.
WEB Technológiák ISAPI ME Általános Informatikai Tsz. dr. Kovács László.
SQL – OLAP 3. óra.
Microsoft Excel Függvények VIII.
SQL, Relációs adatmodell
Relációs algebra. A relációs adatbáziskezelő nyelvek lekérdező utasításai a relációs algebra műveleteit valósítják meg. A relációs algebra a relációkon.
SQL. SQL = Structured Query Language (= struktúrált lekérdező nyelv). A relációs adatbázis-kezelés szabványos nyelve. Nem algoritmikus nyelv, de algoritmikus.
SQL.
Az SQL nyelv alapjai.
*** HALMAZOK *** A HALMAZ ÉS MEGADÁSA A HALMAZ FOGALMA
Access XP Kifejezés-szerkesztő Összehasonlító operátorok:
Adatbázis-kezelés SQL-lel
Operátorok Értékadások
Anyagadatbank c. tárgy gyakorlat
Készítette: Tóth Ervin
Az SQL nyelv. SQL Az SQL utasításait két fő csoportba szokták sorolni: DDL (= Data Definition Language): adatstuktúra definiáló utasítások. DML (= Data.
Adatbázis kezelés.
Adatbázis rendszerek I Relációs adatmodell strukturális része Általános Informatikai Tsz. Dr. Kovács László.
– SQL 3: SELECT - 1. – Tarcsi Ádám, január 31. Adatbázis gyakorlat.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
1. MATEMATIKA ELŐADÁS Halmazok, Függvények.
Adatbázisok gyakorlat
Relációs algebra Relációs sémák tervezése
Az informatika logikai alapjai
Adatbázis rendszerek I
Adatbázis-kezelés. Alapfogalmak Adat: –észlelhető, felfogható ismeret –jelsorozat –valakinek, vagy valaminek a jellemz ő je –tény, közlés Információ:
Adatbázis-kezelés 3-4. Adatok lekérdezése utasítás általános formája SELECT [ALL/DISTINCT] {*/, …, } FROM [ ], …, [ ] [WHERE GROUP BY, …, HAVING ORDER.
Adatbázis rendszerek I
– SELECT - 1. – Tarcsi Ádám január Adatbázis gyakorlat.
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
1 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben 2.2 Műveletek a.
Adatbázisok használata
Adatbázis rendszerek I
1 Relációs kalkulusok Tartománykalkulus (DRC) Sorkalkulus (TRC) - deklaratív lekérdezőnyelvek - elsőrendű logikát használnak - relációs algebra kifejezhető.
Adatbázisszintű adatmodellek
Adatbázisok használata
SQL aggregálás, csoportosítás és összekapcsolás Adatbázisok 1.
Szemantikai adatmodellek
Adatbázis rendszerek II.
Alapfogalmak Adat: rögzített ismeret
Kifejezések C#-ban.
Adatbázisok SQL.
Kovács Gergely Péter Bevezetés
Relációs algebra lekérdezések optimalizációja
Relációs adatmodell, normálformák
1.3 Relációk Def. (rendezett pár) (a1 , a2) := {{a1} , {a1 , a2 }} .
Adatbázis-kezelés 2. Relációs adatbázisok.
Adatbázisok használata
Relációs algebra lekérdezések optimalizációja
Előadás másolata:

Adatbázis rendszerek I A relációs adatmodell műveleti része (relációs algebra és kalkulus) Általános Informatikai Tsz. Dr. Kovács László

Relációs algebra A struktúra felépítése után következhet az adatok felvitele, módosítása, lekérdezése. Az adatmodell műveleti része definiálja a rendelkezésre álló operátorokat. Műveletek típusai: - adatdefiniáló (DDL) - adatkezelő (DML) - lekérdező (DQL) - vezérlő (DCL) Cél: legyen rugalmasabb, egyszerűbb, hatékonyabb mint a hálós modell műveleti része. Típusai: - relációs algebra - relációs kalkulus

Relációs algebra Relációs algebra operandusai a relációk operátorai zártak a reláció halmazra A műveletek operandusai és eredményük is relációk, azaz azonos típusú rekordok halmaza. Fő erőssége és különlegessége a lekérdezési rész. Egy és két operandusú operátorok léteznek, a lekérdezési műveletek láncolhatók. Descriptív, az eredmény relációhoz vezető műveletsor lépéseit kell megadni a lekérdezés megfogalmazásánál.

} } Relációs algebra A relációs algebra műveletei: szelekció projekció kiterjesztés aggregáció csoportképzés join metszet különbség unió osztás } egy operandusú } két operandusú

A szelekció eredmény halmazába csak azok a rekord előfordulások Relációs algebra Szelekció A szelekció eredmény halmazába csak azok a rekord előfordulások kerülnek bele, melyek kielégítik a megadott feltételt. AUTÓ rsz típus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda r9 Lada rsz típus szín r2 Opel kék r6 Mazda piros r4 Skoda szelekciós feltétel: szín = ‘kék’ VAGY típus = ‘Mazda’

A projekció eredmény halmazába csak a megadott mezők értékei Relációs algebra Projekció A projekció eredmény halmazába csak a megadott mezők értékei kerülnek át az alapreláció minden egyes rekord előfordulásából. AUTÓ rsz típus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda r9 Lada típus szín Fiat zöld Opel kék Mazda piros Skoda Lada projekciós mezőlista: típus, szín

A szelekció és a projekció együttes alkalmazása: Relációs algebra A szelekció és a projekció együttes alkalmazása: szelekciós feltétel: szín = ‘kék’ VAGY szín = ‘piros’ AUTÓ rsz típus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda r9 Lada rsz r2 r6 r4 r9 projekciós mezőlista: rsz

Alap join (összekapcsolás, Descartes-szorzat) Relációs algebra Alap join (összekapcsolás, Descartes-szorzat) Rekord előfordulások összes lehetséges párosítása adja meg az eredményrelációt. AUTÓ rsz típus szín r1 Fiat zöld r2 Opel kék r5 rsz típus szín név kor r1 Fiat zöld Pali 36 r2 Opel kék r5 Anna 29 EMBER név kor Pali 36 Anna 29

A szelekciós join és a projekció összekapcsolása: Relációs algebra A szelekciós join és a projekció összekapcsolása: AUTÓ rsz típus tulaj r1 Fiat 1 r2 Opel 2 r5 rsz típus tulaj név kód r1 Fiat 1 Pali r2 Opel 2 Anna r5 EMBER feltétel: tulaj = kód projekció: rsz, név név kód Pali 1 Anna 2 Gabi 4 Tomi 3 rsz név r1 Pali r2 Anna r5

Natural join (természetes összekapcsolás) Relációs algebra Natural join (természetes összekapcsolás) Az illeszkedési feltétel az azonos elnevezésű mezők értékegyezősége. AUTÓ rsz típus ekod r1 Fiat 1 r2 Opel 3 r5 rsz típus ekód név r1 Fiat 1 Pali r2 Opel 3 Gabi r5 EMBER név ekod Pali 1 Anna 2 Gabi 3

Rekord előfordulás halmazok egyesítése. Relációs algebra Unió Rekord előfordulás halmazok egyesítése. LÁNYOK Név kod Anna 1 Ilona 3 Mária 5 Név kod Anna 1 Ilona 3 Mária 5 Pali 11 Zsolt 22 Gabi 31 FIÚK név kod Pali 11 Zsolt 22 Gabi 31

Közös rekord előfordulások meghatározása. Relációs algebra Metszet Közös rekord előfordulások meghatározása. LÁNYOK Név kod Anna 1 Ilona 3 Mária 5 Név kod Anna 1 Mária 5 VERSENYZŐK név kod Pali 11 Anna 1 Mária 5

A Descartes-szorzat inverz művelete. Relációs algebra Osztás A Descartes-szorzat inverz művelete. HOBBY név hobby Laci foci Tibor tenisz János Zoltán futás Gábor Név Laci Zoltán SPORTÁG hobby foci futás

Új mező hozzáadása a relációs sémához. Relációs algebra Kiterjesztés Új mező hozzáadása a relációs sémához. AUTÓ rsz típus ár r1 Fiat 250 r2 Opel 500 r5 375 rsz típus ár Euro r1 Fiat 250 1 r2 Opel 500 2 r5 375 1.5 új mező: Euro = ár / 250

Összesítő értékek képzése a teljes relációhoz. Relációs algebra Aggregáció Összesítő értékek képzése a teljes relációhoz. AUTÓ rsz típus ár r1 Fiat 1200 r2 Opel 930 r6 Mazda 870 r4 Skoda 1500 r9 Suzuki 1400 r7 2570 r5 850 r8 1000 COUNT(*) 8 aggregáció: COUNT(*)

Szelekció: a megadott feltételnek eleget tévő rekordok kerülnek Relációs algebra 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 típus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda r9 Lada rsz típus szín r2 Opel kék r6 Mazda piros r4 Skoda szín=‘kék’ OR típus=‘Mazda’ (AUTO)

 típus, szín (AUTO) Relációs algebra Projekció: csak a kijelölt mezők kerülnek át az eredmény relációba. jele: mlista(r)  X (r) = {t(X)  r | t  r} AUTÓ rsz típus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda r9 Lada típus szín Fiat zöld Opel kék Mazda piros Skoda Lada  típus, szín (AUTO) KL

Műveletek kombinálása: Relációs algebra Műveletek kombinálása: AUTÓ rsz típus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda r9 Lada rsz r2 r6 r4 r9  rsz (szín=‘kék’ OR típus=‘Mazda’ (AUTO) )

Join: a két reláció rekordjainak párosait adja eredményként. Relációs algebra Join: a két reláció rekordjainak párosait adja eredményként. jele: r1  r2 alap join (Descartes-szorzat): r1  r2 = {(t,s) | t  r1 , s  r2} AUTÓ rsz típus szín r1 Fiat zöld r2 Opel kék r5 rsz típus szín név kor r1 Fiat zöld Pali 36 r2 Opel kék r5 Anna 29 EMBER név kor Pali 36 Anna 29 AUTÓ  EMBER

Relációs algebra Szelekciós join: a két reláció rekordpárosaiból a feltételnek eleget tévő párosokat adja eredményként. jele: r1 felt r2 r1  felt r2 = felt(r1  r2 ) Natural join: olyan szelekciós join, mely az azonos elnevezésű mezők értékegyezőségén alapszik. jele: r1 = r2 r1  = r2 =  (R1 U R2) \ X(r1.X = r2.X (r1  r2 )) ritkán implementált

Relációs algebra Outer join: olyan szelekciós join, melyben az illeszkedő pár nélküli rekordok is bekerülnek az eredmény halmazba (üres étékekkel kiegészítve). jele: r1 +felt r2 típusai: - left outer join - right outer join - full outer join T1 +T1.A = T2.A T2 T1 T2 A B A C A B A C 1 C 3 L 1 C 1 T 2 G 1 T 2 G 3 U 5 P 3 U 3 L

Relációs algebra Semi join: olyan szelekciós join, melyben az illeszkedő párokból csak a megadott oldal mezői szerepelnek. jele: r1 felt r2 r1 felt r2 =  R2(r1 felt r2) típusai: - left semi join - right semi join T1 <T1.A = T2.A T2 T1 T2 A B A C A B 1 C 3 L 1 C 2 G 1 T 3 U 3 U 5 P

ar/100(AUTO) Relációs algebra Kiterjesztés: a reláció kibővítése származtatott mezőkkel. jele: mlista(r) Az új mező értékének a többi mező értékéből kell meghatározódnia. ar/100(AUTO)

Relációs algebra Unió: azonos sémájú relációk rekordhalmazának egyesítése. jele: r1  r2 Metszet: azonos sémájú relációk rekordhalmazának metszete. jele: r1  r2 Különbség: azonos sémájú relációk rekordhalmazának különbsége. jele: r1 \ r2

Relációs algebra Osztás: a Descartes szorzat inverze, azon legnagyobb reláció, melynek Descartes szorzata r2-vel benne van r1-ben. jele: r1  r2 HOBBY  SPORTAG

Relációs algebra Osztás levezetése az alapműveletekből: r1 / r2 = {t | t  R1\R2(r1) , t  r2  r1} r1 / r2 = R1\R2 (r1) \ R1\R2((R1\R2(r1)  r2) \r1) Megjegyzés: - jelentése a ‘minden’ kvantorhoz kapcsolódik; - ritkán implementált.

count(*) (AUTO) Relációs algebra 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) AVG(mez.kif) COUNT(mez.kif) MAX(mez.kif) MIN(mez.kif) count(*) (AUTO)

típustípus, avg(*) (AUTO) Relációs algebra Csoportképzés és aggregáció: a reláció rekordjait csoportokba rendezi, s minden csoportra egy összesítő rekordot állít elő. jele: csoportképzési kifejezésaggregációs-lista (r) Azon rekordok kerülnek egy csoportba, melyekre a csoport képzési kifejezése azonos értékű. típustípus, avg(*) (AUTO)

gyarto(count(*)>5 (gyartogyarto,count(*)( fajta=3 (BOROK)))) Relációs algebra Mintapélda: BOROK(kod, nev, gyarto, fajta, ar) VEVO(vkod, nev, cim) RENDELES(vevo, bor, mennyiseg,datum) 1. Azon vevők, akik rendeltek Bikavért: nev(borok.kod = rendeles.bor AND rendeles.vevo = vevo.vkod AND borok.nev = ‘Bikaver’ (BOROK  RENDELES  VEVO)) 2. Melyik gyártó termel 5-nél több 3-as típusú bort: gyarto(count(*)>5 (gyartogyarto,count(*)( fajta=3 (BOROK))))

Relációs algebra Speciális szelekciós operátorok:  : tartalmaz  : nem tartalmaz  : minden kvantor  : létezik kvantor A szelekciós feltételben is szerepelhet relációs algebrai kifejezés. 3. Az átlagnál drágább borok darabszáma: count(*)( ar> (BOROK)) (avg(ar)(BOROK))