Relációs algebra Relációs sémák tervezése

Slides:



Advertisements
Hasonló előadás
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 5. gyakorlat Adatmodellezés III/IV – Funkcionális függés,
Advertisements

Adatbázis-kezelés Készítette: Asztalos Péter január 12.
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.
Az adatbázis kezelés alapjai
Lekérdezések SQL-ben Relációs algebra A SELECT utasítás
Normalizáció A normalizáció egy táblázatszétbontó eljárás, mely ebből adódóan a relációs adatmodell kialakításában van segítségünkre. Hogy miért van erre.
A normalizálás az adatbázis-tervezés egyik módszere
Adatbázis rendszerek I.
Adatbázis rendszerek I Relációs kalkulus Általános Informatikai Tsz. Dr. Kovács László.
Adatbázis-kezelés.
Relációs adatbázisok készítése
2. GYAKORLAT E-K modellből relációs adatbázisséma.
Függőségek, normálformák
SQL Structured Query Language
Funkcionális függés Redundancia 1NF, 2NF, 3NF
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.
Számvitelszervezés Az adatmodelltől az adatbányászatig SZIE-KVA, október 15.
Adatbázis (alapfogalmak).
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 6. gyakorlat Gyakorlás, kötelezőprogram.
Halmazok, műveletek halmazokkal
Microsoft Access I. Készítette: Rummel Szabolcs
Microsoft Access V. Készítette: Rummel Szabolcs Elérhetőség:
Relációs adatbázisok tervezése
Információ kezelés Az információ visszakeresésének lehetőségei.
Adatbázis-kezelés.
Az adatbázissal kapcsolatos tudnivalók
Adatbázis rendszerek II.
Halmazok, relációk, függvények
az MSAccess programmal
Adatbázis-kezelés ACCESS program:
Adatbázis rendszerek I
Halmazok Összefoglalás.
MSACCESS Bevezetés. Üzemeltetés Hozzáférés Jogosultságok Karbantartás Mentés Stb. Felhasználói felület Űrlapok Jelentések Menük Stb. Adatnézetek, funkcionalitás.
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.
*** HALMAZOK *** A HALMAZ ÉS MEGADÁSA A HALMAZ FOGALMA
Access XP Kifejezés-szerkesztő Összehasonlító operátorok:
Tervezés, Normalizálás
Statisztika, kutatásmódszertan I.
Adatbázisok Adatbázis: adatok gyűjteménye, amelyeket az adatbázis-kezelő rendszer (DBMS –Database Management System) kezel. Kezelt adatrendszer → adatbázis.
Dr. Krauszné Dr. Princz Mária Adatbázis rendszerek I.
Halmazok Tanítás.
Nézzük, mit tudunk…. Mire gondoltam? Megjeleníti az adott adatbázishoz kapcsolódó összes objektumot : adatbázis ablak.
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. Az adatbázis tágabb értelemben egy olyan adathalmaz, amelynek elemei – egy meghatározott tulajdonságuk alapján – összetartozónak tekinthetők.
SQL nyelv részei DDL (Data Definition Language – Adat Definiáló Nyelv)  relációs séma séma kezelő utasítások: adatbázisok, táblák létrehozása, módosítása.
Adatbázis kezelés.
Adatbázis-kezelés.
– SQL 3: SELECT - 1. – Tarcsi Ádám, január 31. Adatbázis gyakorlat.
1. MATEMATIKA ELŐADÁS Halmazok, Függvények.
Adatbázisok Fleiner Rita, Tankönyv:
Adatbázis-kezelés Készítette: Asztalos Péter január 12.
Adatbázisok gyakorlat
Adatbázis alapfogalmak
Többtáblás lekérdezések, hierarchikus lekérdezések, allekérdezések
Normálformák Takács Gábor mérnök informatikus, okl. mérnöktanár
Adatbázis-kezelés. Alapfogalmak Adat: –észlelhető, felfogható ismeret –jelsorozat –valakinek, vagy valaminek a jellemz ő je –tény, közlés Információ:
Információs rendszer fejlesztése 2. előadás
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
Adatbázisok használata
Adatbáziskezelés. Adatbáziskezelés az ACCESS programmal 2 A relációs adatbázis fogalmai A relációs adatbázis: egymással összefüggésben lévő adatokat tartalmazó.
Adatbázisszintű adatmodellek
Alapfogalmak Adat: rögzített ismeret
ABR ( Adatbázisrendszerek)
Adatbáziskezelés.
Logisztikai projekt - gyakorlat Adatbázis-elmélet
Relációs adatmodell, normálformák
Adatbázis-kezelés 2. Relációs adatbázisok.
Adatbázisok használata
Többértékű függőségek
Előadás másolata:

Relációs algebra Relációs sémák tervezése Takács Gábor mérnök informatikus, okl. mérnöktanár takacsg@sze.hu http://rs1.sze.hu/~takacsg/

RELÁCIÓS ALGEBRA (RELÁCIÓS ADATMODELL) Ismétlés: Az adatok relációkban, táblázatokban jelennek meg Táblázat oszlopai = egyed attribútumai, tulajdonságai Táblázat sorai = egy konkrét egyed-előfordulás értékei Pl.: Gépjármű relációra

RELÁCIÓS ADATMODELL Alapfogalom: RELÁCIÓSÉMA Reláció nevének, és attribútum halmazának megadását jelenti. Reláció név: GÉPJÁRMŰ Reláció attribútumok: Rendszám, Alvázszám, gjFajta, gyártmány, gjSzín Reláció séma Reláció név (Reláció attributum1, Ra2 , Ra3, Ra4, …. , RaN) Pl: GÉPJÁRMŰ (Rendszám, Alvázszám, gjFajta, gyártmány, gjSzín) Megjelenítése: A relációséma attribútumai halmazt alkotnak, nem listát. Reláció foka: attribútumok száma | Példánkban: 5-öd fokú reláció.

RELÁCIÓS ADATMODELL Alapfogalom: SOROK A reláció azon sorait, amelyek különböznek az attribútumokból álló fejléc sorától, soroknak nevezzük. A sorban egy adott attribútumhoz kapcsolódó érték, a komponens. Példa reláció séma: GÉPJÁRMŰ (Rendszám, Alvázszám, gjFajta, gyártmány, gjSzín) Komponens példa: BBB-222, SZKAWFF2GKTKK34452958, személygépkocsi, Toyota, zöld Komponenseket mindig ugyan olyan sorrendben írjuk le, mint ahogyan az attribútumokat felsoroltuk a relációsémában

RELÁCIÓS ADATMODELL Alapfogalom: ÉRTÉKTARTOMÁNY Attribútumok típusa csak atomi, azaz elemi lehet. Pl.: valamilyen adattípus, Pl.: egész, vagy karaktersor (Attribútum érték nem lehet, ami kisebb egységekre még felbontható) A komponensek csak az attribútumnak megfelelő értéktartományból vehetnek fel értéket. Alapfogalom: RELÁCIÓ ELŐFORDULÁS Adott reláció sorainak halmaza a reláció előfordulás De, Időben a sorok változnak (törlés, módosítás, stb.) Éppen létező állapot: aktuális előfordulás

RELÁCIÓS ADATMODELL Alapfogalom: RELÁCIÓS ALGEBRA A relációs algebrai kifejezések alapjait a relációk képezik, mint operandusok. Egy reláció megadható a nevével (pl. R vagy S) vagy közvetlenül, sorainak egy listájával. A reláció sémája az attribútumok felsorolását tartalmazza pl.: R(A, B, C, D, E). (HALMAZ)MŰVELEZEK: unió, metszet, különbség, vetítés, kiválasztás, szorzat, természetes összekapcsolás, bal/jobb fél illesztés, théta összekapcsolás

HALMAZMŰVELETEK UNIO (egyesítés)  Jelölés: . Relációink: R, S  R  S eredményül olyan reláció ad, amely tartalmazza az R és S sorait. Az ismétlődő sorokat elhagyjuk. A művelet elvégzéséhez a két relációnak azonos fokúnak kell lenni. Legyen az R és S relációk sémája: (A, B, C)!

HALMAZMŰVELETEK UNIO (egyesítés)  Jelölés: .

HALMAZMŰVELETEK METSZET  Jelölés: . Az R és S relációk metszete eredményül olyan relációt ad, amely azokat a sorokat tartalmazza, amelyek az R relációban és az S relációban is előfordulnak.

HALMAZMŰVELETEK S\R ? KÜLÖNBSÉG  Jelölés: \. Az R és S relációk különbsége eredményül olyan relációt ad, amely tartalmazza az R azon sorait, amelyek az S relációban nem fordulnak elő. S\R ?

RELÁCIÓS MŰVELETEK VETÍTÉS  Jelölés: L(R), ahol L attribútum listát jelent Az R reláció vetítésével olyan relációt hozunk létre, amely az R bizonyos oszlopait tartalmazza valamilyen sorrendben.

RELÁCIÓS MŰVELETEK KIVÁLASZTÁS (szelekció) Jelölés (kis szigma): F(R), ahol F jelenti a feltételt. Az R relációra alkalmazott kiválasztás művelet olyan relációt eredményez, amely az R sorainak részhalmazát adja. A sorok kiválasztásához feltételt (logikai kifejezést) kell megfogalmaznunk. A feltételben:konstansok, attribútum nevek, operátorok (pl.: +, -, AND), théta- relációk (<, >, =, , , ) fordulhatnak elő. Például F lehet: A > 1 AND B < 4, ahol A és B attribútumokat jelent. A  művelet az R reláció minden sorára megvizsgálja, hogy az F feltétel teljesül-e (behelyettesíti a kifejezésbe az attribútumok soron levő értékeit). Ha az adott soron teljesül a feltétel, akkor az bekerül az eredmény relációba, egyébként nem. Megoldás 

RELÁCIÓS MŰVELETEK Descartes-szorzat (egyszerű szorzat) Jelölés: R  S. Az R és S reláció Descartes-szorzata (egyszerűen szorzata) eredményül olyan relációt ad, amely az összes lehetséges módon párosított R-beli és S-beli sorokat tartalmazza. Az eredmény reláció sémája: az R és S sémájának egyesítése. Az R attribútumai megelőzik az S attribútumait. Azonos attribútum nevek esetén vagy átnevezünk, vagy ún. minősített nevet használunk. pl. R.A jelöli az R-beli A attribútumot, S.A az S-belit.

RELÁCIÓS MŰVELETEK Descartes-szorzat (egyszerű szorzat) Jelölés: R  S.

SZÁRMAZTATOTT MŰVELETEK Természetes összekapcsolás  Jelölés: Gyakorlatiasabb a logikailag összetartozó sorok kezelése A természetes összekapcsolás műveletében az R és S relációk azon sorait illesszük egy sorba, amelyek megegyeznek az R és S sémájának összes közös attribútumán Legyenek R és S közös attribútumai: A és B. A művelet elvégzéséhez az alábbi lépéseket kell végrehajtani: Elkészítjük R és S Descartes-szorzatát. Végrehajtjuk a (kis szigma)  R.A=S.A (R  S) műveletet (kiválasztás adott feltétellel: csak a logikailag összetartozó R-beli és S-beli sorok maradnak). Végrehajtjuk a  A, B, ..,H, K, .. (  R.A=S.A (R  S)) vetítés műveletet (az R sémája (A, B, C, …), az S sémája (A, B, H, K, …)). Az azonos attribútumú oszlopok közül elhagyjuk az S-belieket.

SZÁRMAZTATOTT MŰVELETEK Természetes összekapcsolás  Jelölés: 1. Elkészítjük R és S Descartes-szorzatát. (minősítjük az A oszlopokat: R.A, S.A)

SZÁRMAZTATOTT MŰVELETEK Természetes összekapcsolás  Jelölés: 1. Elkészítjük R és S Descartes-szorzatát. (minősítjük az A oszlopokat: R.A, S.A) 2. Végrehajtjuk a (kis szigma)  R.A=S.A (R  S) műveletet. (Kiválasztjuk a logikailag összetartozó sorokat.)

SZÁRMAZTATOTT MŰVELETEK Természetes összekapcsolás  Jelölés: 1. Elkészítjük R és S Descartes-szorzatát. (minősítjük az A oszlopokat: R.A, S.A) 2. Végrehajtjuk a  R.A=S.A (R  S) műveletet. (Kiválasztjuk a logikailag összetartozó sorokat.) 3. Végrehajtjuk az alábbi műveletet  A, B, ..,H, K, .. (  R.A=S.A (R  S)) Vetítéssel elhagyjuk az S.A oszlopot A feladat képletesen: R S =  A,B,C,D,E (  R.A=S.A (R  S))

SZÁRMAZTATOTT MŰVELETEK A feladat képletesen: R S =  A,B,C,D,E (  R.A=S.A (R  S)) D-szorzat + kiválasztás + vetítés

SZÁRMAZTATOTT MŰVELETEK Théta-összekapcsolás  Jelölés: A természetes összekapcsolás képletesen: R S =  A,B,C,D,E (  R.A=S.A (R  S))

Házi feladat: Adottak az R és S relációk alábbi előfordulásai. Feladat: Határozzuk meg az R és S feladat Théta- összekapcsolását ( ), ahol F = R.A < S.A OR B=E

MULTIHALMAZOK - halmazműveletek SQL-ben a relációk multihalmazok, azaz egy sor többször is megjelenhet egy SQL-relációban (lekérdezés eredménytáblában), ezért kiegészíthetjük a lekérdezést új műveletekkel: csoportosítás: GROUP BY összesítések: SUM, AVG, MIN, MAX Példa: A megadott R reláción végezzük el az alábbi műveletet: (gamma)

KULCSOK Az attribútumok egy halmaza egy kulcsot alkot egy relációra nézve, ha a reláció előfordulásaiban nincs két olyan sor, amelyek a kulcs összes attribútumának értékein (komponensein) megegyeznének. Kulcsok: elsődleges kulcs (PK), idegen kulcs (FK) a kulcs a relációnak egy és csakis egy sorát határozza meg. a kulcsnak nincs olyan részhalmaza, amely szintén kulcs lenne. a kulcs tulajdonságok nem lehetnek nulla-értékűek. minden relációnak van kulcsa. egy relációnak több kulcsa is lehet. GÉPJÁRMŰ (Rendszám, Alvázszám, gjMárkaID, gyártmány, gjSzín) Vagy GJMÁRKA (gjMárkaID, gjMárkaNév) vagy FILMEK (Filmcím, Év, Hossz, Műfaj, Szereplők, Rendező) Kulcsok esetében NULL érték nem megengedhető!

Megszorítások Megszorításokat két módon fejezhetünk ki relációs algebrai kifejezésekkel: 1. Ha R egy relációs algebrai kifejezés, akkor R = 0 egy olyan megszorítás, amelynek jelentése: "R-nek üresnek kell lennie" vagy másképpen fogalmazva "R eredményében egyetlen sor sincs". 2. Ha R és S relációs algebrai kifejezések, akkor egy olyan megszorítás, melynek jelentése: "R eredményének minden sora benne kell legyen S eredményében". Természetesen S eredménye tartalmazhat R sorain kívül más sorokat is.

PROBLÉMÁK HIBÁS RELÁCIÓSÉMÁK ESETÉN Ha túl sok információt (attribútumot) helyezünk el egy relációban, akkor problémák, anomáliák fordulhatnak elő. Alapvető anomáliák (szabálytalanságok): Tárolási anomália: Mivel egy adat több sorban is szerepelhet, feleslegesen pazaroljuk rá a tárat (háttértár). Módosítási problémák: Ugyan azt az adatot több helyen kell módosítani. Ha valamelyik kimarad az veszélyes Törlési problémák: Törlések után egy értékhalmaz üressé válhat (csak egész sorokat törölhetünk), vele együtt egyéb információ is eltűnhet a relációból. Pl.: Töröljük a tanszékvezetőt, és vele együtt törlődik a tanszék.

FUNKCIONÁLIS FÜGGŐSÉGEK Jelölés: Adott R(A1, … , An) reláció. X, Y attribútum halmazok => X, Y  R X = (Ai1, Ai2, … , Aik) helyett X = Ai1Ai2 … Aik Y = (Aj1, Aj2, … , Ajl) helyett Y = Aj1Aj2 … Ajl Definíció: Y  R funkcionálisan függ X  R-től, (jelölés: X → Y), ha R bármely két sorára igaz, hogy ha megegyeznek X-en, akkor Y-on is megegyeznek (t1[X]=t2[X] => t1[Y]=t2[Y]). Más szavakkal a funkcionális függőség azt jelenti, hogy a tulajdonságok által meghatározott rendszerben egy tulajdonság egyértelműen meghatároz egy vagy több másik tulajdonságot. Példa: Legyen az R reláció: R (Név, Irányítószám, Település, Utca, Telefon) Adjunk meg funkcionális függéseket! Település → Irányítószám Irányítószám → Település (vonalas)Telefon → Név, Cím Számlaszám → vevői és eladói adatok

FUNKCIONÁLIS FÜGGŐSÉGEK Armstrong három axiómája a funkcionális függőségről: Reflexivitás: Ha ugyanazon R reláción X Y , akkor Y  X. Szokás triviális függõségnek nevezni.   Tranzitivitás: Ha ugyanazon R reláción X  Y és YZ , akkor X  Z . Bővíthetőség: Ha ugyanazon R reláción X  Y , akkor XZ  YZ

Normálformák: 1NF (első normálforma) Cél: Teljes funkcionális függőségek legyenek. Kialakítása Egyedeinket -> egyedtípusokba rendezzük Tulajdonságaikat  tulajdonságtípusokba rendezzük. Feltételek: Minden rekord különbözik Rekordonként megegyezik a mezők száma, és sorrendje Nincsenek többértékű mezők.

Normálformák: 1NF (első normálforma) A jó megoldást a következő változat nyújtja. Ebben a táblában a több telefonnal rendelkező személyeket többször is eltároltuk, annak megfelelően, hogy hány telefonnal rendelkeznek. Így elértük, hogy ne legyenek többértékű mezők.

Normálformák: 2NF (második normálforma) A 2NF előfeltétele, hogy adatbázisunk minden táblája legalább 1NF-ben legyen! a reláció minden nem elsődleges attribútuma teljes funkcionális függőségben van az összes reláció kulccsal. Tehát a táblákban megszűntetjük az esetleges részleges funkcionális függéseket. A reláció minden nem elsődleges attribútuma teljes funkcionális függőségben van az összes reláció kulccsal.

Normálformák: 2NF (második normálforma)

Normálformák: 3NF (harmadik normálforma) A 3NF előfeltétele, hogy : adatbázisunk minden táblája legalább 2NF-ben legyen! A reláció nem tartalmaz funkcionális függőséget a nem elsődleges attribútumok között. Tehát : a táblákban megszűntetjük a tranzitív függéseket.

BCNF- Boyce-Codd normál forma A normál formák definíciója természetesen alkalmazható a több kulccsal rendelkező relációkra is. A Boyce/Codd normál formás reláció: A reláció harmadik normál formában van Minden elsődleges attribútum teljes funkcionális függőségben van azokkal a kulcsokkal, melyeknek nem része A normál formák definíciója természetesen alkalmazható a több kulccsal rendelkező relációkra is. A normál formák tárgyalása végén megjegyezzük: A harmadik normál formáig mindenféleképpen érdemes normalizálni a relációkat. Ez a redundanciák nagy részét kiszűri.

Köszönöm a figyelmet!