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

Hasonló dokumentumok
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ázis rendszerek Ea: Viszonyított betűszámtan. Relációs algebra alapok

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

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


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

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

Adatbázis rendszerek SQL nyomkövetés

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

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

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

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

Adatbázis Rendszerek

Adatbázisok I A relációs algebra

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

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 alapok

1. Gyakorlat. Metaadat: az elsődleges adatokra vonatkozó információ (adat a normál adatról).

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

Adatbázis Rendszerek II. 3. SQL alapok

Adatbázis rendszerek 1. 5.Gy: ER relációs konverzió

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

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

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

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

Adatbázisok elmélete

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

Adatbázis rendszerek 1. 4.Gy: ER modell

Dolgozó Kód Név Város Beosztás Belépés Fizetés Osztály. Adatbázis-kezelés alapjai SQL 2: DQL. v: B IT MAN 169/1

Adatbázis rendszerek Ea: Esqúel. Structured Query Language

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

Adatbázis-kezelés. alapfogalmak

Adatbázisok I. Az SQL nyelv

Csima Judit szeptember 6.

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

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

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

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

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

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

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.

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

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

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

5. Gyakorlat. 5.1 Hálós adatbázis modell műveleti része. NDQL, hálós lekérdező nyelv:

KÖVETELMÉNYEK 2017/ félév. Informatika II.

Adatbázisok I A relációs algebra

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

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

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

Sor és oszlopkalkulus

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

Adatbázis-kezelés jegyzet II. Relációs adatmodell. Összeállította: Faludi Anita 2013.

Adatbázis rendszerek Ea: Eskúel. Structured Query Language

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 RENDSZEREK. Attributum típusok, normalizálsá, relációs algebra. Krausz Nikol, Medve András, Molnár Bence

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

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

Adatbázis rendszerek Ea: A rendes állapot. Normalizálás

Relációs algebra 1.rész

A szürke háttérrel jelölt fejezet/alfejezet szövege a CD-mellékleten található. A CD-melléklet használata. 1. Elméleti áttekintés 1

Tankönyv példák kidolgozása

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.

SEGÉDLET ADATBÁZISKEZELÉS I. című tantárgy gyakorlataihoz. Összeállította: Baksáné Varga Erika. egyetemi tanársegéd.

Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány)

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

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

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

Gábor Dénes Számítástechnikai Emlékverseny 2005/2006 Alkalmazói kategória, III. korcsoport Második forduló

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

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

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

Adatbázis-kezelés Feladatok és megoldások

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

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

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

Gazdasági informatika II (SZIE GTK GVAM 1. évfolyam) 2009/2010. tanév 2. félév

Lekérdezések feldolgozása és optimalizálása

Adatbázis, adatbázis-kezelő

Adatbázis rendszerek Ea: A rendes állapot. Normalizálás

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

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

Adatbázis-kezelés Feladatok és megoldások

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.

11. Gyakorlat Adatbázis-tervezés, normalizálás. Redundancia: egyes adatelemek feleslegesen többször is le vannak tárolva

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Microsoft Access alapok

Normálformák Normalizálás ADATBÁZISKEZELÉS ÉS KÖNYVTÁRI RENDSZERSZERVEZÉS 1 / 2

Adatbázis-kezelés alapjai 1. Ea: Infó Mátrix. Lehet, nem lehet

Matematika B/1. Tartalomjegyzék. 1. Célkit zések. 2. Általános követelmények. 3. Rövid leírás. 4. Oktatási módszer. Biró Zsolt. 1.

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

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

Készítsen egytáblás adatbázist könyveinek nyilvántartására! Az adattábla a következő adatok rögzítésére legyen alkalmas: (mező hossza: 30, kötelező)

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

Hogyan fogalmazzuk meg egyszerűen, egyértelműen a programozóknak, hogy milyen lekérdezésre, kimutatásra, jelentésre van szükségünk?

Fuzzy halmazok jellemzői

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

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

BME MOGI Gépészeti informatika 8.

Átírás:

Adatbázis rendszerek 1. 2. Ea: Viszonyított betűszámtan Relációs algebra alapok 52/1 B ITv: MAN 2015.09.08

Témakörök Relációs algebra Ellenőrző kérdések 52/2

Relációs algebra Műveletek Gyakorlás 52/3

Relációs algebra Algebrai módszerek arra, hogy miként építhetünk új relációkat a régi relációkból. A kifejezések alapja (operandusai) a relációk. Kevés, egyszerű művelet A halmazműveletek csak azonos szerkezetű relációkon hajthatók végre! A relációk megadása: 1. 2. 3. rsz típus szín r1 Fiat zöld r2 Opel kék r5 Fiat kék 52/4 AUTÓ [ rsz, típus, szín ] AUTÓ rsz típus szín

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 }Halmazműveletek } Egy operandusú } Két operandusú 52/5

Szelekció (kiválasztás) Szelekció: a megadott feltételnek eleget tévő rekordok kerülnek át az eredmény relációba. Jele: felt (r) Feladat: Megoldás: Formálisan: X Y (r) = { t r t(x) t(y)} A kék színű, vagy a Mazda típusú autó adatai szín= kék OR típus= Mazda (AUTÓ) AUTÓ 52/6 rsz típus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda kék r9 Lada piros rsz típus szín r2 Opel kék r6 Mazda piros r4 Skoda kék

Projekció (vetítés) Projekció: csak a kijelölt mezők jelennek meg az eredmény relációban. Jele: mlista (r) Formálisan: X (r) = {t(x) r t r} Feladat: Megoldás: A típus és a szín mezők megjelenítése típus, szín (AUTÓ) rsz típus szín típus szín AUTÓ r1 Fiat zöld r2 Opel kék Fiat Opel zöld kék r6 Mazda piros Mazda piros r4 Skoda kék Skoda kék 52/7 r9 Lada piros Lada piros

A szelekció és a projekció kombinálása Feladat: Megoldás: A kék színű, vagy a Mazda típusú autó rendszámai rsz ( szín= kék OR típus= Mazda (AUTÓ) ) AUTÓ rsz típus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda kék r9 Lada piros rsz r2 r6 r4 52/8 szelekció projekció

Kiterjesztés Kiterjesztés: új, származtatott adatok kiírása Jele: mezőlista (r) Az új mezőérték a többi mező értékéből számítható. AUTÓ Feladat: Megoldás: rsz típus lóerő r1 Opel 110 r2 Merci 320 r5 Trabi 29 Autók teljesítményadója adó: lóerő/0.005 (AUTO) lóerő 110 320 29 52/9

Kiterjesztés Kiterjesztés: meglévő és származtatott adatok kiírása Jele: mezőlista (r) A mezőlistában megadható az új mező neve, képlete. AUTÓ Feladat: Megoldás: rsz típus lóerő r1 Opel 110 r2 Merci 320 r5 Trabi 29 Autók adatai és teljesítményadója rsz, típus, lóerő, adó: lóerő/0.005 (AUTO) rsz típus lóerő adó r1 Opel 110 22000 r2 Merci 320 64000 r5 Trabi 29 5800 52/10

Aggregáció 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) Összeg AVG(mez.kif) Átlag COUNT(mez.kif) Darabszám MAX(mez.kif) Legnagyobb érték MIN(mez.kif) Legkisebb érték 52/11

Aggregáció Feladat: Az autók összára Feladat: Az autók száma Megoldás: sum(ár) (AUTÓ) Megoldás: count(*) (AUTÓ) AUTÓ AUTÓ rsz típus ár rsz típus ár r1 Opel 4000 sum(ár) r1 Opel 4000 count(*) r2 Merci 12000 16035 r2 Merci 12000 3 r5 Trabi 35 r5 Trabi 35 52/12

Csoportképzés Csoportképzés és aggregáció: a reláció rekordjait csoportokba rendezi, és minden csoportra egy összesítő rekordot állít elő. Jele: aggregációs-lista (r) AUTÓ csoport képző Feladat: Megoldás: Az autók átlagára típusonként típus, avg(ár) típus (AUTÓ) rsz típus ár r1 Opel 3200 r2 Fiat 3800 r3 Opel 2400 r4 Opel 4000 r5 Merci 8000 r6 Fiat 2200 52/13 típus avg(ár) Opel 3200 Fiat 3000 Merci 8000

Join (szorzat, illesztés) Join: a két reláció rekordjainak párosait adja eredményként. Alap join: (Descartes-szorzat): r 1 r 2 = {(t,s) t r 1, s r 2 } Jele: r 1 r 2 vagy r 1 x r 2 Feladat: Megoldás: Az autók és a tulajdonosok teljes variációja AUTÓ EMBER AUTÓ EMBER rsz típus szín r1 Fiat zöld r2 Opel kék r5 Fiat kék név kor Pali 36 Anna 29 52/14 rsz típus szín név kor r1 Fiat zöld Pali 36 r2 Opel kék Pali 36 r5 Fiat kék Pali 36 r1 Fiat zöld Anna 29 r2 Opel zöld Anna 29 r5 Fiat kék Anna 29

Szelekciós join (feltételes illesztés) Szelekciós join: a két reláció rekordpárosaiból a feltételnek eleget tévő párosokat adja eredményként. Jele: r 1 felt r 2 Formálisan: r 1 felt r 2 = felt (r 1 r 2 ) Feladat: Megoldás: Az autó tulajdonosok listája AUTÓ tulaj=id EMBER AUTÓ rsz tulaj r1 3 r2 1 r5 4 52/15 EMBER név id Béla 1 Jenő 2 Pali 3 Anna 4 rsz tulaj név id r1 3 Pali 3 r2 1 Béla 1 r5 4 Anna 4

Natural join (természetes illesztés) Natural join: olyan szelekciós join, mely az azonos elnevezésű mezők értékegyezőségén alapszik. Jele: r 1 = r 2 Feladat: Megoldás: Az autó tulajdonosok listája AUTÓ = EMBER AUTÓ rsz id r1 3 r2 1 r5 4 52/16 EMBER név id Béla 1 Jenő 2 Pali 3 Anna 4 rsz id név r1 3 Pali r2 1 Béla r5 4 Anna

Outer join (külső illesztés) 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: r 1 + feltétel r 2 Típusai: Left Right Full 52/17 Feladat: Lista az emberekről, ha van autójuk, arról is. Megoldás: EMBER + ember.id=autó.tulaj AUTÓ EMBER AUTÓ név id rsz tulaj Béla 1 r1 3 Jenő 2 r2 1 Pali 3 r5 4 Anna 4 név id rsz tulaj Béla 1 r2 1 Jenő 2 Pali 3 r1 3 Anna 4 r5 4

Semi join (félillesztés) Semi join: olyan szelekciós join, melyben az illeszkedő párokból csak a megadott oldal mezői szerepelnek. Jele: r 1 feltétel r 2 Típusai: Left Right Feladat: Lista azon emberekről, akiknek van autójuk. Megoldás: EMBER EMBER AUTÓ ember.id=autó.tulaj AUTÓ név id rsz tulaj név id Béla 1 Jenő 2 Pali 3 r1 3 r2 1 r5 4 Béla 1 Pali 3 Anna 4 52/18 Anna 4

Unió (egyesítés) Unió: azonos sémájú relációk rekordhalmazának egyesítése. A B Jele: r 1 r 2 Feladat: Megoldás: Az összes ember adata EMBER1 EMBER2 A B 52/19 EMBER1 név id Béla 1 Jenő 2 Anna 3 EMBER2 név id név id Béla 1 Géza 4 Jenő 2 Ödön 5 Anna 3 Zoli 6 Géza 4 Ödön 5 Zoli 6

Metszet (közös rész) Metszet: azonos sémájú relációk rekordhalmazának metszete. A B Jele: r 1 r 2 Feladat: Megoldás: Azok a futók, akik síelnek is Futók Síelők A B Futók név id Béla 1 Jenő 2 Anna 3 Síelők név id Géza 4 Jenő 2 Béla 1 név id Béla 1 Jenő 2 52/20

Különbség Különbség: azonos sémájú relációk rekordhalmazának különbsége. A Jele: r 1 \ r 2 B Feladat: Megoldás: Azok a futók, akik nem síelnek Futók \ Síelők A \ B Futók név id Béla 1 Jenő 2 Anna 3 Síelők név id Géza 4 Jenő 2 Béla 1 név id Anna 3 52/21

Osztás Osztás: a Descartes szorzat inverze, azon legnagyobb reláció, melynek Descartes szorzata r2-vel benne van r1-ben. Jele: r 1 r 2 Feladat: Megoldás: Azok, akik miden sportágat űznek Emberek Sportág Ember sport foci bringa bringa foci futás név Béla Béla Géza Jenő Zoli Sportág sport foci bringa név Béla Jenő foci Zoli 52/22 bringa Jenő

Relációs algebra Műveletek Gyakorlás 52/23

Gyakorló feladat: Termék-Vásárló Az adatbázis ER modellje: Tkód Név Azonosító Név Vásárlás Termék Vásárló Ár Leírás Dátum Darab Lakcím FizMód Irsz. Város Cím 52/24

Gyakorló feladat: Termék-Vásárló 2. Az adatbázis relációs modellje: Termék Vásárlás Tkód C5 Név C25 Ár N6 Leírás C30 Kód C5 Dátum D Darab N6 Azon C5 Vásárló Azonosító C5 Név C25 Irsz C4 Város C40 Cím C30 FizMód C15 52/25 Séma: Termék [ Tkód, Név, Ár, Leírás ] Vásárlás [ Kód, Dátum, Darab, Azon ] Vásárló [ Azonosító, Név, Irsz, Város, Cím, FizMód ]

Gyakorló feladat: Termék-Vásárló 3. Séma: Termék [ Tkód, Név, Ár, Leírás ] Vásárlás [ Kód, Dátum, Darab, Azon ] Vásárló [ Azonosító, Név, Irsz, Város, Cím, FizMód ] 1. Termékek neve: П név (termék) 2. A 2000 Ft-nál olcsóbb termékek neve: П név (σ ár<2000 (termék)) 3. A Kis Rozi által vásárolt termékek neve: П termék.név (σ vásárló.név= Kis Rozi (vásárló azonosító=azon vásárlás kód=tkód termék)) 52/26

Gyakorló feladat: Termék-Vásárló 4. Séma: Termék [ Tkód, Név, Ár, Leírás ] Vásárlás [ Kód, Dátum, Darab, Azon ] Vásárló [ Azonosító, Név, Irsz, Város, Cím, FizMód ] 4. Azon termékek neve, amelyeket már vásároltak: П név (termék tkód=kód vásárlás) 5. Azon termékek neve, amelyeket még nem vásároltak: П név (termék) \ П név (termék tkód=kód vásárlás) 6. Hány féle termék van? Γ count(*) (termék) 7. A legdrágább termék(ek) neve, ára: 52/27 П név,ár (σ ár= Γ max(ár) (termék) termék)

Gyakorló feladat: Termék-Vásárló 5. Séma: Termék [ Tkód, Név, Ár, Leírás ] Vásárlás [ Kód, Dátum, Darab, Azon ] Vásárló [ Azonosító, Név, Irsz, Város, Cím, FizMód ] 8. Hányszor vásároltak a t605-ös kódú termékből? Γ count(*) (σ kód= t605 (vásárlás)) 9. Összesen hány darabot vásároltak a t605-ös kódú termékből? Γ sum(darab) (σ kód= t605 (vásárlás)) 10. Összesen hány darabot vásároltak az egyes termékből? Γ kód, sum(darab) (vásárlás) 52/28 kód

Gyakorló feladat: Termék-Vásárló 6. Séma: Termék [ Tkód, Név, Ár, Leírás ] Vásárlás [ Kód, Dátum, Darab, Azon ] Vásárló [ Azonosító, Név, Irsz, Város, Cím, FizMód ] 11. Az egyes városokban hány vásárló van? Γ város, count(*) (vásárló) város 12. Összesen mennyit fizetett Kis Rozi? Γ sum(ár*darab) (σvásárló.név= Kis Rozi (vásárló azonosító=azon vásárlás kód=tkód termék)) 13. 2010 májusában mennyi volt a bevétel? Γ sum(ár*darab) (σdátum= 2010.05.* (vásárlás kód=tkód termék)) 52/29

Gyakorló feladat: Oktató-Tantárgy-Hallgató neptunkód név kód kredit Oktató oktat Tárgy megnevezés tanszék félév vizsgajegy hallgat neptunkód név cím Hallgató tankör 52/30 irszám város utca hsz életkor szül.d.

Gyakorló feladat: Oktató-Tantárgy-Hallgató 2. neptunkód név kód kredit Oktató oktat Tárgy megnevezés tanszék Relációs sémák: OKTATÓ [ neptunkód, név, tanszék ] TÁRGY [ kód, megnevezés, kredit, oktató ] 52/31

Gyakorló feladat: Oktató-Tantárgy-Hallgató 3. Tárgy félév vizsgajegy hallgat neptunkód név cím Hallgató tankör irszám város utca hsz életkor szül.d. 52/32 Relációs sémák: HALLGATÓ [neptunkód, név, szül.d, tankör, irsz, város, utca, hsz] HALLGAT [ hallgató, tárgy, félév, vizsgajegy ]

Gyakorló feladat: Oktató-Tantárgy-Hallgató 4. Relációs sémák: OKTATÓ [ neptunkód, név, tanszék ] TÁRGY [ kód, megnevezés, kredit, oktató ] HALLGATÓ [neptunkód, név, szül.d, tankör, irsz, város, utca, hsz] HALLGAT [ hallgató, tárgy, félév, vizsgajegy ] 1. Oktatók neve: П név (oktató) 2. Oktatók és tantárgyaik neve: oktató.neptunkód=tárgy.oktató П név, megnevezés ( oktató o.neptunkód=t.oktató tárgy ) 3. Oktatók és tantárgyaik neve (azok az oktatók is, akiknek nincs tárgya): П név, megnevezés ( oktató + o.neptunkód=t.oktató tárgy ) 52/33 oktató.neptunkód=tárgy.oktató

Gyakorló feladat: Oktató-Tantárgy-Hallgató 5. Relációs sémák: OKTATÓ [ neptunkód, név, tanszék ] TÁRGY [ kód, megnevezés, kredit, oktató ] HALLGATÓ [neptunkód, név, szül.d, tankör, irsz, város, utca, hsz] HALLGAT [ hallgató, tárgy, félév, vizsgajegy ] 4. A VIR Tsz-en dolgozó oktatók neve és tárgyaik címe: П név, megnevezés (σ tanszék= VIR (oktató) o.neptunkód=t.oktató tárgy) 5. Az átlagos kreditpontszám: Γ avg(kredit) (tárgy) 6. A VIR Tsz.-en oktatók létszáma: Γ count(*) (σ tanszék= VIR ( oktató ) ) 52/34 oktató.neptunkód=tárgy.oktató

Gyakorló feladat: Oktató-Tantárgy-Hallgató 6. Relációs sémák: OKTATÓ [ neptunkód, név, tanszék ] TÁRGY [ kód, megnevezés, kredit, oktató ] HALLGATÓ [neptunkód, név, szül.d, tankör, irsz, város, utca, hsz] HALLGAT [ hallgató, tárgy, félév, vizsgajegy ] 7. A legnagyobb kreditpontszámú tárgy(ak) címe: Π megnevezés ( σ kredit=γ max(kredit) (tárgy) (tárgy) ) 8. Azok az oktatók, akiknek nincs tárgya: Π név (oktató) \ Π név ( oktató o.neptunkód=t.oktató tárgy ) oktató.neptunkód=tárgy.oktató 52/35

Gyakorló feladat: Oktató-Tantárgy-Hallgató 7. Relációs sémák: OKTATÓ [ neptunkód, név, tanszék ] TÁRGY [ kód, megnevezés, kredit, oktató ] HALLGATÓ [neptunkód, név, szül.d, tankör, irsz, város, utca, hsz] HALLGAT [ hallgató, tárgy, félév, vizsgajegy ] 9. Azok a hallgatók, akik a 2003/2004 tanév II. félévében nem vettek fel tárgyat: Π név (hallgató) \ Π név ( (σ félév= 2003/2004 2. (hallgató) ) h.neptunkód=h.hallgató hallgat hallgat.tárgy=tárgy.kód tárgy ) 10. Határozzuk hallgató.neptunkód=hallgat.hallgató meg az életkort: ε kor=rendszer_dátum-szül_dátum (hallgató) 52/36

Gyakorló feladat: Oktató-Tantárgy-Hallgató 8. Relációs sémák: OKTATÓ [ neptunkód, név, tanszék ] TÁRGY [ kód, megnevezés, kredit, oktató ] HALLGATÓ [neptunkód, név, szül.d, tankör, irsz, város, utca, hsz] HALLGAT [ hallgató, tárgy, félév, vizsgajegy ] 11. Tanszékenként az oktatók létszáma: Γ tanszék, count(*) (oktató) tanszék 12. Melyik tárgyat hányan hallgatják: Γ megnevezés, count(*) (tárgy megnevezés tárgy.kód=hallgat.tárgy hallgat hallgat.hallgató=hallgató.neptunkód hallgató) 52/37

Gyakorló feladat: Oktató-Tantárgy-Hallgató 9. Relációs sémák: OKTATÓ [ neptunkód, név, tanszék ] TÁRGY [ kód, megnevezés, kredit, oktató ] HALLGATÓ [neptunkód, név, szül.d, tankör, irsz, város, utca, hsz] HALLGAT [ hallgató, tárgy, félév, vizsgajegy ] 13. Azok az oktatók, akiknek 2-nél több tárgyuk van: Π név ( σ db>2 (Γ név név,count(*) db (oktató o.neptunkód=t.oktató tárgy) oktató.neptunkód=tárgy.oktató 14. Az átlagnál alacsonyabb kreditpontú tárgyak oktatóinak neve: Π név ( σ avg(kredit) kredit < Γ (tárgy) (tárgy) o.nepunkód=t.oktató oktató) 52/38 oktató.neptunkód=tárgy.oktató

Gyakorló feladat: Oktató-Tantárgy-Hallgató 10. Relációs sémák: OKTATÓ [ neptunkód, név, tanszék ] TÁRGY [ kód, megnevezés, kredit, oktató ] HALLGATÓ [neptunkód, név, szül.d, tankör, irsz, város, utca, hsz] HALLGAT [ hallgató, tárgy, félév, vizsgajegy ] 15. A legtöbb tárgyat tanító oktató neve: X = Γ név, count(*) db (oktató o.nepunkód=t.oktató tárgy) név Π név (σ db=γ max(db) (X) (X)) 16. Kik azok a hallgatók, akik minden tárgyat felvettek? Π név (( Π hallgató,tárgy (hallgat) / Π kód (tárgy)) hallgat.hallgató=hallgató.neptunkód hallgató ) oktató.neptunkód=tárgy.oktató 52/39

Adatbázis rendszerek 1. Ellenőrző kérdések 52/40

Ellenőrző kérdések 1. 1. Milyen algebrai műveleteket kell alkalmazni az alábbi feladat megoldásakor: A piros autók rendszáma Tulajdonos Autó Projekció Szelekció Aggregáció Kiterjesztés Join 52/41

Ellenőrző kérdések 2. 2. Milyen algebrai műveleteket kell alkalmazni az alábbi feladat megoldásakor: A miskolci tulajdonosok összes adatának kiírása Tulajdonos Autó Projekció Szelekció Aggregáció Kiterjesztés Join 52/42

Ellenőrző kérdések 3. 3. Milyen algebrai műveleteket kell alkalmazni az alábbi feladat megoldásakor: A miskolci tulajdonosok neve és autóik rendszáma Tulajdonos Autó Projekció Szelekció Aggregáció Kiterjesztés Join 52/43

Ellenőrző kérdések 4. 4. Milyen algebrai műveleteket kell alkalmazni az alábbi feladat megoldásakor: Az Opel típusú autók rendszáma Tulajdonos Autó Projekció Szelekció Aggregáció Kiterjesztés Join 52/44

Ellenőrző kérdések 5. 5. Milyen algebrai műveleteket kell alkalmazni az alábbi feladat megoldásakor: Az Opel típusú autók átlagára Tulajdonos Autó Projekció Szelekció Aggregáció Kiterjesztés Join 52/45

Ellenőrző kérdések 6. 6. Milyen algebrai műveleteket kell alkalmazni az alábbi feladat megoldásakor: Városonként az autók darabszáma Tulajdonos Autó Projekció Szelekció Aggregáció Kiterjesztés Join 52/46

Ellenőrző kérdések 7. 7. Milyen algebrai műveleteket kell alkalmazni az alábbi feladat megoldásakor: Rendszám és adó (mely a teljesítmény 150-szerese) Tulajdonos Autó Projekció Szelekció Aggregáció Kiterjesztés Join 52/47

Ellenőrző kérdések 8. 8. Milyen algebrai műveleteket kell alkalmazni az alábbi feladat megoldásakor: Adó (mely a teljesítmény 150-szerese) összege városonként Tulajdonos Autó Projekció Szelekció Aggregáció Kiterjesztés Join 52/48

Ellenőrző kérdések 9. 9. Adja meg a megoldást relációs algebrával! A: Mely termékek leírásában szerepel a női szó? B: Mely raktárhelyeken van 100-nál több termék? C: Mely raktárhelyeken van bikini nevű termék? D: Mennyi a termékek átlagára? E: Összesen hány darab bikini van a raktárban? F: Összesen mennyi értékű bikini van a raktárban? G: Hány féle 1000 Ft-nál drágább termék van? H: Hány darab 1000 Ft-nál drágább termék van? I: Mely raktárhelyeken van 100000 Ft-nál nagyobb érték? 52/49 Termék [ Tkód, Név, Ár, Leírás ] Raktár [ RaktHely, Tkkód, Darab ]

52/50 Gratulálok! Ön átvette a tananyagot, és letesztelte a tudását!

Felhasznált irodalom Kovács László elektronikus jegyzetei Szelezsán János: Adatbázisok, LSI Oktatóközpont, 1999 Baksáné Varga Erika elektronikus jegyzetei IHM: Adatbázis-kezelés, elektronikus jegyzet 52/51

VÉGE VÉGE 52/52