Normalisering, del 2

Relaterede dokumenter
Design ved normalisering

Funktionel afhængighed

ER-modellen. Databaser, efterår Troels Andreasen. Efterår 2002

Side 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5

Information Integration

Begrænsninger i SQL. Databaser, efterår Troels Andreasen

Databasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002

Skriftlig eksamen i Databaser, Vinter 2001/2002. Pa opfordring har jeg udarbejdet mulige lsninger pa eksamensopgaverne, men

Skriftlig eksamen i. Databaser. Vinter 2002/2003. Vejledende løsninger

DATABASE DESIGN. En note om database design, normalisering og database generalisering

Databaser. 3. Normalform. Mette Frost Nielsen

Databaser Obligatorisk opgave 1

Skriftlig eksamen i. Databaser. Vinter 2002/2003

Henrik Bulskov Styltsvig

Hvad er en relationsdatabase? Odense, den 19. januar Version 1.0

Henrik Bulskov Styltsvig

Introduktion til prædikatlogik

Introduktion til programmering

Spørgsmål 2 Givet at R indeholder 3 tupler (d,f,a,b,c), (d,f,b,d,e), (e,g,a,b,c). Hvilke tupler må R da også indeholde?

Relationel Algebra og SQL

Skriftlig eksamen i kurset. Informationssystemer

PRÆSENTATION AF ER-DIAGRAMMER OG NORMALISERING

Anden undervisningsgang. Database

Modul 2 Database projekt Multimediedesign 3. semester Gruppe 3 IRF/TUJE

Manglende konsistens i datamodellen og upræcise SQLsætninger er årsagen til, at mange IT-systemer fejler.

Data Warehouse Knowledge is Power - Sir Francis Bacon -

Database design for begyndere

SYSTEM DESIGN. 18. december 2012 [Mink Farm Rapport] Dette projekt bruger UP model, som er et krav for dette semesters projekt.

Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 4: Mere om E-R modellering. 24. februar Forelæser: Rasmus Pagh

Databaser. Område / Specialefag nr Database, design og programmering Datatekniker Infra & Prog IT-Supporter AMU Kursister

Regulære udtryk og endelige automater

Intro Design of Experiments

Databasesystemer fra forskellige synsvinkler

Jørgen Koch. och. Access. Normalisering m.v.

Datalagring og formater

Opgaver. Henrik Bulskov Styltsvig. Efterår 2003

Informations- og datamodellering

Data lagring. 2. iteration (implement backend)

TALTEORI Ligninger og det der ligner.

Datamodeller. 1. Elementerne. Vi betragter E/R-diagrammet, som et diagram over entiteter og relationer Tegneregler: Entitet

Cecilie Trine Rikke

Tema Titel Materiale 1 IS i sundheds-sektoren Patientdatas anvendelighed Lynge et al.

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125

ROSKILDE UNIVERSITET Hovedsarbejdsmiljøudvalget

Eksamen Uden hjælpemidler - normeret til 60 minutter

Skriftlig eksamen i Datalogi

Nogle grundlæggende begreber

Oversigt [S] 2.7, 2.9, 11.4

Trekants- beregning for hf

En opsamling af artefakter for Hotel Databasen som REST-service Bygger på Hotel opgaven i 8 trin

Besvarelse af Eksamensopgaver Juni 2005 i Matematik H1

UML til kravspecificering

Databaseteori. 19. Databaser. 20. Kartotek eller database. 21. Database

Database. lv/

Databasesystemer. IT Universitetet i København 8. juni 2006

Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM515)

Undervisning i tegn til tale på Center for Døvblindhed og Høretab

Noter til DM517 Beregnelighed

Affine rum. a 1 u 1 + a 2 u 2 + a 3 u 3 = a 1 u 1 + (1 a 1 )( u 2 + a 3. + a 3. u 3 ) 1 a 1. Da a 2

Eksempel på en database: studenter, kurser, eksamener

DATABASE - MIN MUSIKSAMLING

Oversættere. Vejledende løsninger til Skriftlig eksamen onsdag d. 20. april 2005

Mere om differentiabilitet

Svar på opgave 322 (September 2015)

BackEnd Programmering PHP

IT og Kommunikation Kursusevaluering efteråret 2014

Transkript:

Databaser, efterår 2002 Normalisering, del 2 Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk

Normalformer NF Supplement FCDB definition 1. attribut-domæner i R skal være simple (ingen multiværdi-attributter) 2. R på 1. normalform nøgle XZ, X -> Y må ikke gælde (ingen attributter må være funktionelt afhængig af en kun del af nøglen) 3. R på 2. normalform X og Y ikke i nøgle, X -> Y må ikke gælde (ingen ikke-nøgle attributter må være funktionelt afhængige af attributter der ikke indgår i nøglen) BCNF hvis X -> B er ikke triviel så er X en supernøgle i R eller B en del af en nøgle hvis X -> Y er ikke triviel så er X en supernøgle i R 4. hvis X ->> Y er ikke triviel så er X en supernøgle i R 5. R kan ikke gendannes fra projektioner på R R er en relation, Triviel FD X -> Y: Y delmængde af X B er en attribut i R Triviel MVD X ->> Y: X,Y og Z er delmængder af R s attributter Y delmængde af X eller XY = R 2

3. normalform spiller en rolle I visse situationer kan dekomponering til BCNF give et problem, der har at gøre med bevarelse af afhængigheder Eksempel skema R(ABC) FDs AB -> C C -> B BCNF-normalisering fører til nyt skema pga C -> B T(BC) S(AC) her er FD AB -> C ej bevaret Bogens eksempel title,city -> theatre theatre -> city Andet eksempel gade,by -> postnr postnr -> by 3

3. normalform speciel egenskab 3. NF hvis X -> B er ikke triviel så er X en supernøgle i R eller B en del af en nøgle f.eks. R(ABC) ovenfor er på 3NF Teorem (3NF og bevarelse af afhængigheder) For enhver relation R med FD s F kan vi finde en dekomposition i 3NF relationer, sådan at når de dekomponerede relationer tilfredsstiller de projekterede afhængigheder så vil deres join tilfredsstille F m.a.o. 3NF-normalisering er afhængighedsbevarende 4

Flerværdi afhængighed Eksempel skema sælger(navn, adresse,telefon, kunde), med FD navn -> adresse. forekomst navn adresse telefon kunde holm a t1 k1 holm a t1 k2 holm a t1 k3 holm a t2 k1 holm a t2 k2 holm a t2 k3 BCNF-problem? navn -> adresse Løsning D1(navn, adresse), D2(navn, telefon, kunde) Flere problemer? D2: navn telefon kunde holm t1 k1 holm t1 k2 holm t1 k3 holm t2 k1 holm t2 k2 holm t2 k3 telefoner og kunder gentaget 5

Flerværdi afhængighed Flerværdi afhængighed egentlig blevet aktuelt fordi vi insisterer på 1 ste normalform Eksempel Nomalisering til 1 ste normalform af {(a,{b,c},d) } bliver {(a,b,d), (a,c,d)} mens {(a,{b,c},{d,e}) } bliver {(a,b,d), (a,c,e), (a,b,e), (a,c,d)} denne sidste bryder 4. normalform 6

Flerværdi afhængighed Y Flerværdi afhængig af X (noteret X ->> Y) hvis der for to tupler t1 og t2 i relation R gælder t1[x]=t2[x] så skal der findes to tupler t3 og t4, så t1[x]=t2[x]= t3[x]=t4[x] t3[y]=t1[y] og t4[y]=t2[y] t3[r-xy]=t2[r-xy] og t4[r-xy]=t1[r-xy] (X ->> Y) => (X ->> (R-XY)) p.g.a symmetrien Y Flerværdi afhængig af X X bestemmer Y s værdier 7

Flerværdi afhængighed Eksempel, ikke-triviel flerværdi afhængighed R(kursus, lærer, tekst) kursus ->> lærer kursus ->> tekst et kursus har nogle tekster og nogle lærere, men der er ikke sammenhæng imellem tekster og lærere altså: en lærer har ikke indflydelse på hvilke tekster der vælges på et kursus svarende til at et kursus kan beskrives ved en ikke normaliseret tupel f.eks. (K1, {L1, L2}, {T1, T2}) 8

4. Normalform Triviel flerværdi afhængighed X ->> Y Y delmængde af X eller XY = R Definition, 4. normalform (4NF) hvis X ->> Y er ikke triviel så er X en supernøgle i R 4NF-normalisering samme princip som ved BCNF-normalisering idet MVD s håndteres som FD s 9

4. Normalform Eksempel klt(kursus,lærer,tekst) Kurset 'K1' har lærere 'L1', 'L2' og 'L3' Kurset 'K1' har tekster 'T1', 'T2' og 'T3' kursus lærer tekst ------ ----- ----- K1 L1 T1 K1 L1 T2 K1 L1 T3 K1 L2 T1 K1 L2 T2 K1 L2 T3 K1 L3 T1 K1 L3 T2 K1 L3 T3 svarende til kursus lærer tekst ------ ---------- ---------- K1 {L1,L2,L3} {T1,T2,T3} dvs. (f.eks.) kursus ->> lærer 10

4. Normalform Eksempel kursus lærer tekst ------ ----- ----- K1 L1 T1 K1 L1 T2 K1 L1 T3 K1 L2 T1 K1 L2 T2 K1 L2 T3 K1 L3 T1 K1 L3 T2 K1 L3 T3 bringes på 4. normalform ved at dekomponere klt i: kl(kursus,lærer) kt(kursus,tekst) der får indholdet: kursus lærer kursus tekst ------ ----- ------ ----- K1 L1 K1 T1 K1 L2 K1 T2 K1 L3 K1 T3 11

4. Normalform sælger(navn, adresse,telefon, kunde), FD: navn -> adresse ikke trivielle MVD's: navn ->> telefon navn ->> kunde eneste nøgle: navn, telefon, kunde Alle tre afhængigheder bryder 4NF Dekomponering fører til 4NF relationer: D1(navn, adresse) D21(navn, telefon) D22(navn, kunde) D2: navn telefon kunde holm t1 k1 holm t1 k2 holm t1 k3 holm t2 k1 holm t2 k2 holm t2 k3 telefoner og kunder gentaget 12