7. előadás. Karbantartási anomáliák, 1NF, 2NF, 3NF, BCNF. Adatbázisrendszerek előadás november 3.

Hasonló dokumentumok
7. előadás. Karbantartási anomáliák, 1NF, 2NF, 3NF, BCNF, 4NF, 5NF. Adatbázisrendszerek előadás november 7.

Adatbázisrendszerek. Karbantartási anomáliák, 1NF, 2NF, 3NF, BCNF, 4NF, 5NF március 13.

A relációs adatbázis-tervezés alapjai

8. előadás. normálformák. Többértékű függés, kapcsolásfüggés, 4NF, 5NF. Adatbázisrendszerek előadás november 10.

6. Gyakorlat. Relációs adatbázis normalizálása

ADATBÁZIS-KEZELÉS. Relációs modell

8. előadás. Az ER modell. Jelölések, az ER séma leképezése relációs sémára. Adatbázisrendszerek előadás november 14.

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

Adatbázisok gyakorlat

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

Adatbázisrendszerek 7. előadás: Az ER modell március 20.

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

ADATBÁZISOK. 4. gyakorlat: Redundanciák, funkcionális függőségek

Adatbázis-kezelés. alapfogalmak

Adatbáziskezelés. Indexek, normalizálás NZS 1

NORMALIZÁLÁS. Funkcionális függés Redundancia 1NF, 2NF, 3NF

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

Példa Többértékű függőségek, 4NF, 5NF

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

RELÁCIÓS ADATBÁZISSÉMÁK. Egyed-kapcsolat modellről átírás

Csima Judit október 24.

Két vagy több egyedtípus közötti jól meghatározott viszony. K onc epc ioná lis a datmodell (s éma )

T Adatbázisok-adatmodellezés

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

Csima Judit BME, VIK, november 9. és 16.

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

Normalizálási feladatok megoldása

Több felhasználó párhuzamosan olvashatja, bővítheti, módosíthatja és törölheti az adatokat Az adatok konzisztenciájának és biztonságának biztosítása

ADATBÁZISOK. Normalizálás

Mezők viszonya a relációs adatbázis tábláiban

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

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

Magas szintű adatmodellek Egyed/kapcsolat modell I.

Adatbázisok gyakorlat

Relációs adatbázisok tervezése 2.rész (dekompozíció)

Csima Judit november 15.

Adatbázis rendszerek. 4. előadás Redundancia, normalizálás

Adatbázis rendszerek 1. 7.Gy: Rakjunk rendet. Normalizálás

Adatmodellezés. 1. Fogalmi modell

Adatmodellek. 2. rész

Adatbázis rendszerek Definíciók:

Relációs adatbázisok tervezése 2.rész (dekompozíció)

Adatmodellezés, alapfogalmak. Vassányi István

Adatbázisok. 1. gyakorlat. Adatmodellezés október október 1. Adatbázisok 1 / 42

ADATBÁZIS-KEZELÉS Demetrovics Katalin

A relációs adatmodell

Adatbázis tervezés normál formák segítségével

Tervezés: Funkcionális függıségek

9. RELÁCIÓS ADATBÁZISOK LOGIKAI TERVEZÉSE TERVEZÉS E-R DIAGRAMBÓL TERVEZÉS SÉMADEKOMPOZÍCIÓVAL Anomáliák...

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

Relációs adatbázisok tervezése 2.rész (dekompozíció)

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

Az adatbázis-kezelés alapjai

8. Előadás tartalma. Funkcionális függőségek


ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

Adatbázisok. 4. gyakorlat. Adatmodellezés: E-K modellb l relációs adatbázisséma. Kötelez programok kiválasztása szeptember 24.

Adatbázis alapú rendszerek

modell, amiben csak bináris sok-egy kapcsolatok (link, memberowner,

ADATBÁZIS-KEZELÉS. 1. Alapfogalmak

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

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

Adatbázisok. 3. gyakorlat. Adatmodellezés: E-K modell szeptember szeptember 17. Adatbázisok 1 / 11

Informatika szigorlat 9-es tétel: Az adatbázis-kezelő rendszerek fogalmai

Adatbázis, adatbázis-kezelő

Fogalmak. egyed egyedtípus egyed-előfordulás tulajdonságtípus tulajdonság-előfordulás kapcsolat kapcsolatípus kapcsolat-előfordulás

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

Adatbáziskezelés 1 / 12

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

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

Adatbázis rendszerek. dr. Siki Zoltán

Adatbázisrendszerek 8. előadás: Az Enhanced Entity-Relationship modell március 27.

Adatbázis rendszerek Definíciók: 5.3. Az adatbázis létrehozásának fő fázisai:

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

Adatbázisok. 3. gyakorlat. Adatmodellezés: E-K modellb l relációs adatbázisséma. Kötelez programok kiválasztása szeptember 21.

SSADM Dokumentáció Adatbázis Alapú Rendszerek

Adatbázis-kezelés az Excel 2013-ban

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

Adatbázis-kezelés - Relációs adatbázisok adatszerkezetének tervezése, megvalósítása

Az adatok a vállalat kulcsfontosságú erőforrásai. Az információs rendszer adatai kezelésének két alapvető változata:

Adatbázis I. 11. előadás. Kulcsok az SQL ben. Hivatkozásépségi megszorítások és idegen kulcsok.

Adatmodell elemei. Adatmodellezés. Adatobjektum. Kutya adatobjektum, mint tábla

Adatbázisok - 1. előadás

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

0. Ha valahol még nem szerepelt a relációs algebrai osztás, akkor azt kell először venni:

ADATBÁZISOK E-K MODELLBŐL RELÁCIÓS MODELL. Debrenti Attila

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

SQL DDL-2 (aktív elemek) triggerek

Adatbázis rendszerek I

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

Relációsémák létrehozása SQL nyelvben

Adatbázisok tavaszi félév Vizsgatételsor

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

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

Adatba zis é s szoftvérféjlészté s (wéb-programoza s)

ADATMODELLEZÉS. Az egyed-kapcsolat modell

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

Fejezetek az adatbázisrendszerek elméletéből

Átírás:

7. előadás,,,, Adatbázisrendszerek előadás 2008. november 3. és Debreceni Egyetem Informatikai Kar 7.1

relációs adatbázisokhoz Mit jelent a relációs adatbázis-tervezés? Az csoportosítását, hogy jó relációsémákat alkossanak A relációsémák két szintje: A logikai felhasználói nézet szint A tárolási (fizikai) alap reláció szint A tervezés elsősorban az alap relációkkal foglalkozik Mik a jó alap relációk követelményei? Először a jó relációs tervezés nem hivatalos irányelveit tárgyaljuk Ezután a funkcionális függések és a normálformák formális definícióit tekintjük át: (első normálforma) (második normálforma) (harmadik normálforma) (Boyce Codd-féle normálforma) A függések egyéb típusaival, további normálformákkal a későbbi előadásokban foglalkozunk 7.2

A reláció attribútumainak szemantikája 1. (nem hivatalos) irányelv Egy reláció minden egyes rekordja egy egyedet vagy kapcsolat-előforulást reprezentáljon. (Az egyes relációkra és azok attribútumaira külön-külön vonatkozik.) Különböző egyedek (DOLGOZÓ-k, OSZTÁLY-ok, PROJEKT-ek) attribútumai nem keverendők egyazon relációban. Más egyedekre való hivatkozás csak külső kulcsok használatával történjen. Az egyedekre és a kapcsolatokra vonatkozó at a lehető legjobban el kell különíteni egymástól. Tömören Olyan sémát kell tervezni, ami könnyen magyarázható relációról relációra. Az szemantikájának könnyen értelmezhetőnek kell lennie. 7.3

Redundáns információk a és a karbantartási Amikor az információt redundánsan tároljuk, az tárhelyet pazarol, karbantartási at okoz, amelyek lehetnek beszúrási, törlési és módosítási. 2. (nem hivatalos) irányelv Olyan sémát tervezzünk, amelyben nem jelennek meg beszúrási, törlési és módosítási. Ha mégis előfordulnak, akkor jegyezzük fel azokat, hogy az alkalmazások számításba vehessék őket. 7.4

Példa módosítási anomáliára Tekintsük az alábbi relációt: DOLG_PROJ(Dszsz, Pszám, Dnév, Pnév, Órák) Példa módosítási anomáliára Ha megváltoztatjuk a P1 számú projekt nevét Számlázás -ról például Ügyfél-számlakezelés -re, akkor ezt a módosítást mind a 100 olyan dolgozó esetén végre kell hajtanunk, aki a P1 projekten dolgozik. 7.5

Példa beszúrási anomáliára Tekintsük az alábbi relációt: DOLG_PROJ(Dszsz, Pszám, Dnév, Pnév, Órák) Példa beszúrási anomáliára Nem tudunk új projektet beszúrni, ha nincs hozzárendelve egyetlen dolgozó sem. Példa beszúrási anomáliára megfordítva Nem tudunk új dolgozót beszúrni, ha nincs hozzárendelve egyetlen projekthez sem. 7.6

Példa törlési anomáliára Tekintsük az alábbi relációt: DOLG_PROJ(Dszsz, Pszám, Dnév, Pnév, Órák) Példa törlési anomáliára Ha törlünk egy projektet, akkor az összes olyan dolgozó is törlődik, aki az adott projekten dolgozik. Példa törlési anomáliára a másik oldalról Ha egy dolgozó egyedüliként dolgozik egy projekten, akkor a dolgozó törlése a szóban forgó projekt törlését is maga után vonja. 7.7

3. (nem hivatalos) irányelv A relációkat úgy kell megtervezni, hogy a rekordjaik a lehető legkevesebb NULL értéket tartalmazzák. Azok az, amelyek gyakran vesznek fel NULL értéket, külön relációkba tehetők (az elsődleges kulccsal). A NULL értékek okai: Az attribútum nem értelmezhető vagy érvénytelen. Az attribútumérték ismeretlen (de létezhet). Az érték biztosan létezik, de nem elérhető. 7.8

A relációs adatbázisok rossz tervezése bizonyos összekapcsolási műveletek esetén hibás eredményhez vezethet. A veszteségmentes összekapcsolás tulajdonsággal garantáljuk, hogy az összekapcsolási műveletek értelmes eredményt adnak. 4. (nem hivatalos) irányelv A relációkat úgy kell megtervezni, hogy kielégítsék a veszteségmentes összekapcsolás feltételét. Egy tetszőleges relációkon végrehajtott természetes összekapcsolás nem állíthat elő álrekordokat. 7.9

A dekompozíciók két fontos tulajdonsággal rendelkeznek: (a) A megfelelő összekapcsolás nemadditív vagy veszteségmentes. (b) Megőrzik a funkcionális függéseket. Jegyezzük meg, hogy az (a) tulajdonság különösen fontos, és nem áldozható fel, a (b) tulajdonság kevésbé szigorú és feláldozható. 7.10

Relációsémák normalizációja A normalizáció az a folyamat, amelynek során szétbontjuk a nem kielégítő, rossz relációsémákat úgy, hogy az attribútumaikat több kisebb relációsémába helyezzük át. A normálforma a relációsémák kulcsai és a bennük fennálló funkcionális függések segítségével megfogalmazott feltétel, amellyel megállapítható, hogy a relációséma egy adott normálformában van-e. 7.11

Relációsémák normálformái,, a relációsémák kulcsai és a bennük fennálló funkcionális függések alapján 4NF kulcsok és többértékű függések alapján 5NF kulcsok és join függések alapján További tulajdonságok lehetnek szükségesek a jó relációs tervezés biztosításához (veszteségmentes összekapcsolás, függésmegőrzés) 7.12

A normálformák használata a gyakorlatban A normalizációt úgy hajtják végre a gyakorlatban, hogy a kapott tervek magas színvonalúak legyenek, és rendelkezzenek az elvárt tulajdonságokkal. A normálformák gyakorlati alkalmazhatósága megkérdőjelezhetővé válik, ha az alapjukat képező megszorítások nehezen értelmezhetők vagy nehezen ismerhetők fel. Az adatbázis-tervezőknek nem szükséges a lehető legmagasabb normálformáig normalizálniuk (általában csak -ig, -ig vagy 4NF-ig). A denormalizáció az a folyamat, amelynek során magasabb normálformájú relációk összekapcsolását letároljuk alap relációként alacsonyabb normálformában. 7.13

Egy R = {A 1, A 2,..., A n } relációséma szuperkulcsa minden olyan S R attribútumhalmaz, amelyre igaz, hogy bármely R feletti legális r relációban nincs két olyan t 1 és t 2 rekord, amelyekre t 1 [S] = t 2 [S] teljesül. A K kulcs egy olyan szuperkulcs, amelyből bármely attribútum eltávolítása azt eredményezi, hogy K már nem lesz szuperkulcs többé. 7.14

Ha egy relációsémának egynél több kulcsa van, akkor ezeket kulcsjelölteknek nevezzük. A kulcsjelöltek közül egy tetszőlegesen kiválasztott lesz az elsődleges kulcs, a többit másodlagos kulcsoknak nevezzük. Minden relációsémának kell, hogy legyen elsődleges kulcsa. Az R relációséma egy attribútumát R egy elsődleges attribútumának nevezzük, ha eleme R valamely kulcsjelöltjének. Egy attribútumot másodlagos (leíró) attribútumnak hívunk, ha nem elsődleges attribútum, azaz nem eleme egyetlen kulcsjelöltnek sem. 7.15

Első normálforma Tiltja az összetett at, a többértékű at, a beágyazott relációkat: az olyan at, amelyek értékei a különálló nem atomiak. A reláció definíciójának részét képezi. 7.16

(a) OSZTÁLY Onév Oszám Ovez_szsz Ohelyszínek (b) OSZTÁLY Onév Kutatás Oszám 5 Ovez_szsz 2 551208 2219 Ohelyszínek { Vác, Tiszafüred, Budapest } Humán erőforrás Központ 4 1 2 690329 1099 1 371110 4518 { Kecskemét } { Budapest } (c) OSZTÁLY Onév Oszám Ovez_szsz Ohelyszín Kutatás 5 2 551208 2219 Vác Kutatás 5 2 551208 2219 Tiszafüred Kutatás 5 2 551208 2219 Budapest Humán erőforrás 4 2 690329 1099 Kecskemét Központ 1 1 371110 4518 Budapest 7.17

Második normálforma Egy X Y funkcionális függés teljes funkcionális függés, ha X-ből bármely A attribútumot eltávolítva a függés a továbbiakban már nem áll fenn, azaz bármely A X attribútum esetén (X {A}) már nem határozza meg funkcionálisan Y -t. Egy X Y funkcionális függés részleges függés, ha valamely A X attribútum eltávolítható X-ből úgy, hogy a függés továbbra is fennáll, azaz valamely A X esetén (X {A}) Y. Egy R relációséma második normálformában (-ben) van, ha R minden másodlagos (leíró) attribútuma teljesen funkcionálisan függ R elsődleges kulcsától. 7.18

Harmadik normálforma A harmadik normálfoma a tranzitív függés fogalmán alapul. Egy R relációséma X Y funkcionális függése tranzitív függés, ha létezik egy olyan Z attribútumhalmaz, amely nem kulcsjelölt és nem része R egyetlen kulcsának sem, és fennáll X Z, illetve Z Y. Egy R relációséma harmadik normálformában (-ben) van, ha -ben van és nincs R-nek olyan másodlagos (leíró) attribútuma, amely tranzitívan függne az elsődleges kulcstól. 7.19

A és általános definíciója Egy R relációséma második normálformában (-ben) van, ha R-nek nincs olyan másodlagos (leíró) attribútuma, amely részlegesen függne R bármely kulcsától. Egy R relációséma harmadik normálformában (-ben) van, ha valahányszor egy X A nemtriviális funkcionális függés fennáll R-en, akkor vagy (a) X egy szuperkulcsa R-nek, vagy (b) A egy elsődleges attribútuma R-nek. 7.20

Boyce Codd-féle normálforma Egy R relációséma Boyce Codd-féle normálformában (-ben) van, ha valahányszor egy X A nemtriviális funkcionális függés fennáll R-en, akkor X egy szuperkulcsa R-nek. 7.21