Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaEde Fekete Megváltozta több, mint 9 éve
1
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 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
2
2 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 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)
3
3 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 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 Termék ) gyártó ( PC Termék ) f) merevlemez ( C (PC X PC_1 )) C=(PC.modell<>PC_1.modell) AND (PC.merevlemez=PC_1.merevlemez)
4
4 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 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)
5
5 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 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 Termék )) U modell,gyártó ( sebesség>=133 ( Laptop Termék )) W.gyarto ( C (W X W_1 )) C=(W.modell>W_1.modell) AND (W.gyarto=W_1.gyarto)
6
6 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda i) Melyik gyártó gyártja a leggyorsabb számítógépet (PC-t vagy laptopot)? W= sebesség,gyártó ( PC Termék ) U sebesség,gyártó ( Laptop 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
7
7 A133 A120 B166 B200 A133 A120 B166 B200 A133A A A120 A133B166 A133B200 A120A133 A120A A B166 A120B200 B166A133 B166A120 B166B B B200 B A133 B200A120 B200B166 B200B A133A120 B166A133 B166A120 B200A133 B200A120 B200B166 A133 B166 B200 Q1 A133 A120 B166 Q2 Q= gyarto (Q1-Q2) B200 W
8
8 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda j) Melyik gyártó gyárt legalább három, különböző sebességű PC-t 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) gyártó ( C ( W X W_1 X W_2 )) W= gyarto,sebesseg (PCTermek)
9
9 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 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
10
10 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 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”.
11
11 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 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.
12
12 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 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ó)
13
13 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Kliensek számlaszám termék Számlák számlája sorai mennyiség SorszámÁFA Számlasorok mértékegység egységár Dátum kliensAzon (Számla) azonosító (Kliens) Számla(számlaszám, dátum, áfa, kliensAzon) Kliens(azonosító, név, bank, bszámla) azonosító név bankbszámla
14
14 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda producerAzon (Film) - azonosító (GyártásIrányító)=Ø kliensAzon (Számla azonosító (Kliens)) Ekvivalens kifejezések az előbbi feladatokhoz A Filmszínész relációban a nem (gender) megengedett értékei ‘N’ és ‘F’ ( nem≠‘N’ AND nem≠‘F’ (Filmszínész))=Ø
15
15 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 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→HalmazSelect DISTINCT
16
16 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 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.
17
17 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda SszámsorszegységárDarabTkód 12341503A35 12351305B36 123522010C37 össz=egységár*darab (Számlasor) össz 150 200 össz 150 200 multihalmazhalmaz Halmaz esetén elveszik az információ, ami pénzügyi problémát okozhat.
18
18 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Multihalmazok egyesítése, metszete, különbsége AB 12 34 34 12 56 AB 12 34 34 34 AB 12 34 34 12 56 12 34 34 34 RUS Ha egy sor m-szer van meg az R-ben és n-szer az S-ben, akkor RUS- ben (n+m )-szer van meg {1,2} 2-szer az R-ben {1,2} 1-szer az S-ben {1,2} 3-szor az RUS-ben
19
19 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Multihalmazok egyesítése, metszete, különbsége AB 12 34 34 12 56 AB 12 34 34 34 AB 12 34 34 AB 12 56 AB 34 RSRS R∩SR∩S R\S S\R
20
20 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 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
21
21 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Multihalmazon értelmezett kiválasztás ABC 025 346 127 127 ABC 346 127 127 C≥6 (R) R
22
22 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Multihalmazok szorzata AB 12 12 BC 23 45 45 AR.BS.BC 1223 1223 1245 1245 1245 1245 RS R X S
23
23 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Multihalmazok összekapcsolása AB 12 12 BC 23 45 45 ABC 123 123 RSR S
24
24 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Multihalmaz műveletek halmazokon. RUSR∩SR∩SR\S X EredményMHHH HH 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ó.
25
25 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda AB 34 56 AB 12 34 34 56 R S halmazok V=RUS multihalmaz ABC 125 346 127 128 AB 12 34 12 12 U halmaz A,B (U) multihalmaz AB 12 34
26
26 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 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óbaINSERT 2.Sorok törlése relációkbólDELETE 3.Meglévő sorok módosítása, egy vagy több komponensének megváltoztatásával. UPDATE
27
27 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Összesítések Valódi adatbázis-lekérdezőnyelvek lehetővé teszik az ú.n. összesítő műveletek használatát COUNTrelációk sorainak leszámlálása SUMoszlop-értékek összeadása AVGátlag-érték kiszámolása MINoszlop minimum kiszámítása MAXoszlop maximum kiszámítása
28
28 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 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.
29
29 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 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)
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.