Funktionel afhængighed

Relaterede dokumenter
Normalisering, del 2

Design ved normalisering

Database-sproget SQL. SELECT A1,, Ar FROM R1,, Rk WHERE B med. SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form

Database-sproget SQL. SELECT A1,, Ar FROM R1,, Rk WHERE B med. SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form

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

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

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

Efterår 2002 Note 10. Temaopgave

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

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

Henrik Bulskov Styltsvig

Database-sproget SQL. SELECT A1,, Ar FROM R1,, Rk WHERE B med. SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form

Information Integration

Skriftlig eksamen i. Databaser. Vinter 2002/2003

TALTEORI Ligninger og det der ligner.

Henrik Bulskov Styltsvig

Fra ER til RM. Databaser, efterår Troels Andreasen. Efterår 2002

Objektorientering og databaser

Punktmængdetopologi. Mikkel Stouby Petersen. 1. marts 2013

Retningslinjer for bedømmelsen. Georg Mohr-Konkurrencen runde

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

er et helt tal. n 2 AB CD AC BD (b) Vis, at tangenterne fra C til de omskrevne cirkler for trekanterne ACD og BCD står vinkelret på hinanden.

01017 Diskret Matematik E12 Alle bokse fra logikdelens slides

Henrik Bulskov Styltsvig

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

Projekt 1.4 De reelle tal og 2. hovedsætning om kontinuitet

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

Svar på opgave 322 (September 2015)

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

Landmålingens fejlteori - Sandsynlighedsregning - Lektion 1

Jeg foretager her en kort indføring af polynomier over såvel de reelle som

Databaser Obligatorisk opgave 1

Regulære udtryk og endelige automater

Note om endelige legemer

Mat C HF basisforløb-intro side 1. Kapitel 5. Parenteser


Trekants- beregning for hf

Rettevejledning til Georg Mohr-Konkurrencen runde

Skriftlig eksamen i. Datalogi. Databaser. Sommer 2001

Mat H /05 Note 2 10/11-04 Gerd Grubb

Gult Foredrag Om Net

Introduktion til prædikatlogik

Relationel Algebra og SQL

1. Opret følgende flade database, find selv passende datatyper. 2. Opret begrænsningerne på datatyperne, du ser fx fornavn maks 25 tegn

Elementær Matematik. Mængder og udsagn

Egenskaber ved Krydsproduktet

Intro Design of Experiments

Grundlæggende Matematik

Paradokser og Opgaver

Ligningssystemer - nogle konklusioner efter miniprojektet

Grundlæggende Matematik

Hvad er matematik? C, i-bog ISBN

16. marts P NP. Essentielle spørgsmål: NP P? Et problem Q kaldes NP -fuldstændigt 1 Q NP 2 R NP : R pol Q. Resume sidste gang

Lineær algebra: Matrixmultiplikation. Regulære og singulære

Hvad forstås ved et samlet driftsudbud Maj 2012 revideret

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

De rigtige reelle tal

Matematik og Form: Matrixmultiplikation. Regulære og singu

Skriftlig eksamen i kurset. Informationssystemer

Nogle grundlæggende begreber

Komplekse tal og algebraens fundamentalsætning.

Kursusgang 3 Matrixalgebra Repetition

16. december. Resume sidste gang

Oversigt [LA] 1, 2, 3, [S] 9.1-3

Matematikkens mysterier - på et obligatorisk niveau. 1. Basis

Hvad forstås ved et samlet udbud September 2013

Sprog L : mængden af instanser for et afgørlighedsproblem

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

1 Trekantens linjer. Definition af median En median er en linje i en trekant der forbinder en vinkelspids med midtpunktet af modstående side.

Transformationsgeometri: Inversion. Kirsten Rosenkilde, august Inversion

t a l e n t c a m p d k Talteori Anne Ryelund Anders Friis 16. juli 2014 Slide 1/36

Vintertjeneste Hvad forstås ved et samlet tilbud

Egenskaber ved Krydsproduktet

Regulære udtryk og endelige automater. Ugens emner

Databaser. 3. Normalform. Mette Frost Nielsen

Svar på opgave 336 (Januar 2017)

Matricer og lineære ligningssystemer

Talteori. Teori og problemløsning. Indhold. Talteori - Teori og problemløsning, august 2013, Kirsten Rosenkilde.

Kvadratiske matricer. enote Kvadratiske matricer

Netopgaver. Kapitel 4 At tilpasse kurver til punkter

K 7 - og K 4,4 -minors i grafer

En karakteristik af de regulære sprog. Ugens emner. FA minimering [ ] MyHill-Nerode-sætningen en algoritme til minimering af FA er

Løsning af simple Ligninger

Matematik: Stuktur og Form Lineære ligningssystemer

Algebra med Bea. Bea Kaae Smit. nøgleord andengradsligning, komplekse tal, ligningsløsning, ligningssystemer, nulreglen, reducering

Hvordan virker en rejseplanner?

Sfærisk Geometri. Ikast Ib Michelsen

Matematik og FormLineære ligningssystemer

Henrik Bulskov Styltsvig

Konstruktion af de reelle tal

Affine transformationer/afbildninger

Algebra. Dennis Pipenbring, 10. februar matx.dk

Algebra INTRO. I kapitlet arbejdes med følgende centrale matematiske begreber:

Løsninger til matematik C december 2015 Februar 2017

Sætning (Kædereglen) For f(u), u = g(x) differentiable er den sammensatte funktion F = f g differentiabel med

Omskrivningsregler. Frank Nasser. 10. december 2011

Stabilitet af rammer - Deformationsmetoden

Kompendium i faget. Matematik. Tømrerafdelingen. 2. Hovedforløb. Y = ax 2 + bx + c. (x,y) Svendborg Erhvervsskole Tømrerafdelingen Niels Mark Aagaard

BEVISER TIL KAPITEL 3

Transkript:

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

Funktionel afhængighed Funktionel afhængighed på relation R: A 1 A 2 A n -> B Antagelse om at (begrænsning) hvis to tupler har samme værdier for alle attributter A 1 A 2 A n så har de samme værdi for attributten B (kan formuleres som A 1 A 2 A n bestemmer B eller B beskriver A 1 A 2 A n ) Eksempel person(pnr, navn, gade, gadenr, postnr, by) herom kan måske antages nogle af: pnr -> navn postnr -> by postnr -> pnr {gade, gadenr} -> pnr {postnr, gade, gadenr} -> pnr Troels Andreasen 2

LK-DB eksempel p(pid, navn, virksomhed, gid, land, kkode) skema forekomst PID NAVN VIRKSOMHED GID LAND KKODE ---- ---------------------------- ------------------------ ------- -------- ----- 668 Kodein "Dak" Nycomed Danmark 227070 Danmark 7 671 Pinex Alpharma 229060 1 679 Treo Lundbeck 229084 Danmark 7 682 Kodimagnyl "Dak" Nycomed Danmark 229086 Danmark 7 1004 Japansk encephalitisvaccine Statens Serum Institut 315323 Danmark 7 1243 Cipramil Lundbeck 243058 Danmark 7 1454 Treosulfan "Medac" Medac 291010 Sverige 2183 Pinex Comp. Alpharma 229086 1 pid -> navn, pid -> virksomhed, pid -> gid, navn -> virksomhed virksomhed -> navn {virksomhed,gid} -> navn virksomhed -> land virksomhed -> gid Hvilke er overholdt? Hvilke er rimelige antagelser? Hvilke andre? Troels Andreasen 3

Funktionel afhængighed Funktionel afhængighed (FD) = egenskab ved relation vedrører intensionen (skema-niveau) eller ekstensionen (forekomst-niveau)?... Tjaaa I praksis kun relevant som begrænsning (intension) noget som designeren formulerer sammen med (som en del af) skemaet afspejler normal virkelige fænomener MEN, vi kan ved at se på forekomst (ekstension) konstatere at en FD IKKE HOLDER se på antydninger af at FD s HOLDER (Data Mining/Knowledge Discovery) Troels Andreasen 4

Funktionel afhængighed, eksempel Eksempel kursus lærer tekst ------ ----- ----- K1 L1 T1 K2 L2 T2 K2 L2 T3 K2 L2 T4 K3 L3 T5 K3 L3 T6 K3 L3 T7 hvilke af følgende er ikke overholdt: kursus -> lærer kursus -> tekst kursus -> kursus kursus -> lærer tekst {kursus, lærer} -> tekst tekst -> kursus tekst -> lærer tekst -> tekst tekst -> {kursus,lærer,tekst} Troels Andreasen 5

Notation, funktionel afhængighed Flere attributter på højresiden, som forenkling af: kursus -> lærer kursus -> tekst til kursus -> {lærer, tekst} Drop evt. parenteser: I stedet for kursus -> {lærer, tekst} {kursus, lærer} -> tekst kan blot skrives kursus -> lærer tekst kursus lærer -> tekst Troels Andreasen 6

Nøgle, definition (ved funktionelle afhængigheder) {A 1, A 2,, A n } er nøgle i relation R, hvis entydig A 1 A 2 A n -> B, GÆLDER for hver attribut B i relationen R minimal A 1 A k-1 A k+1 A n -> B, GÆLDER IKKE for noget k (dvs. ingen ægte delmængde af {A 1, A 2,, A n } er entydig) Supernøgle {A 1, A 2,, A n } i relation R {A 1, A 2,, A n } indeholder en nøgle dvs en supernøgle er entydig, men ej nødvendigvis minimal Primær nøgle udvalgt nøgle (markeres normalt ved understregning) Troels Andreasen 7

nøgle Entydig Minimal Udvalgt Supernøgle X Nøgle X X Primærnøgle X X X Kandidatnøgle Synonym for nøgle, dvs. kandidat til valg som primærnøgle Troels Andreasen 8

Nøgle, eksempel Eksempel flyafgang(destination, tid, antalpladser, flytype) hvis (destination, tid) er en nøgle hvad gælder så? den er entydig, dvs. at? destination tid -> antalpladser gælder destination tid -> flytype den er minimal, dvs. at? destination -> tid antalpladser flytype tid -> destination antalpladser flytype gælder gælder ikke gælder ikke Troels Andreasen 9

Eksempel Studerende ( Fornavn, Efternavn, Personnr, Fag ) Nøgle (2 attributter) Nøgler {Fornavn, Efternavn} og {Personnr} Supernøgle {Personnr,fag} Nøgle Supernøgle Troels Andreasen 10

Eksempler fra side 3: p(pid, navn, virksomhed, gid, land, kkode) fra side 5: kursusplan(kursus, lærer, tekst) Nøgler i disse? Troels Andreasen 11

Hvordan bestemmes Nøgle og FD s? Vi kan antage en nøgle K for vores relation R Hermed er OGSÅ antaget FD s at K A for hver attribut A i R. Og hermed er K den eneste nøgle. Eller, vi kan antage nogle FD s og herfra slutte en eller flere nøgler (jvf. definition af nøgle) F.eks. Hvis vi antager for R(A,B,C) at A -> B og B -> C Så er A en nøgle Troels Andreasen 12

Ræsonnering med FD s Udfra A -> B og B -> C kan vi slutte A -> C Vi kan sige at mængderne {A -> B, B -> C, A -> C} og {A -> B, B -> C} er ækvivalente Gælder dette også?: {A -> B, B -> C} ækvivalent med? {A -> B, A -> C} Troels Andreasen 13

Ræsonnering med FD s Om at slutte nye FD s udfra givne FD s F og E mængder af FD s på relation R herom kan det være interessant at konstatere E følger af F tilladte forekomster af R for F er også tilladte forekomster af R for E F ækvivalent med E F og E bestemmer samme mængde af tilladte forekomster af R To måder at ræsonnere på algoritme logik for FD s vi fokuserer på denne Troels Andreasen 14

Ræsonnering med FD s (funktionelle afhængigheder) Vi skal primært fokusere på Afslutningen X+ af en mængde af attributter X (fordi det er vejen til afledte FD's) Afledte FD s af F I analysen kan det også være brugbart at fokusere på Afslutningen F+ af en mængde af FD s F om F og E er ækvivalente om F overdækker E om F er minimal om F er minimal overdækning af E Troels Andreasen 15

Afslutning af mængde af attributter Afslutning X+ af mængde af attributter X under mængde af FD s F svarer til mængden af attributter der kan bestemmes ud fra X altså X -> X+ er en FD Algoritme til beregning af X+ sæt X+ = X hvis Y -> A er med i F og Y delmængde af X+ tilføj A til X+ gentag trin 2 indtil intet mere kan tilføjes til X+ Eksempel X = {A, B}, F = {A -> E, B -> C, C -> D} Troels Andreasen 16

Eksempel, Afslutning X+ A B, BC D. A + = AB. C + =C. (AC) + = ABCD. A C B D Troels Andreasen 17

Eksempel, Afslutning X+ Eksempel X = {A, B}, F = {A -> E, B -> C, C -> D} sæt X+ = X = {A,B} pga. A -> E tilføj E: X+ = {A,B,E} pga. B -> C tilføj C: X+ = {A,B,E,C} pga. C -> D tilføj D: X+ = {A,B,E,C,D} slut - intet mere kan tilføjes Troels Andreasen 18

Afledte FD s af F Problem givet mængde af funktionelle afhængigheder F for relation R Hvilke nye afledte FD s kan sluttes fra F Princip for bestemmelse af nye FD s: Hvis vi har FD s X1 A1, X2 A2,, Xn An, holder så også FD Y B? Start med at antage at to tupler har samme Y. Brug givne FD s til at aflede Y+ og dermed hvilke øvrige attributter de må have samme værdi for. Hvis B er blandt disse så JA ellers NEJ Troels Andreasen 19

Afledte FD s af F Algoritme (bestemmelse af afledte FD s) givet mængde af FD s F for relation R for hver delmængde X af attributter i R beregn X+ omskriv X -> X+ til FD s med enkelt-attribut højreside eliminer FD s som følger af andre, dvs: trivielle FD's (højre side er en delmængde af venstre) samt XY -> Z hvis X -> Z gælder Eksempler, udvid med afledte FD s F = {A -> B, B -> C} F = {AB -> C, C -> D, D -> A} Troels Andreasen 20

Eksempel, Afledte FD s af F Udvid F = {A -> B, B -> C} med afledte FD s A+ = ABC (tilføj A -> C) B+ = BC C+ = C (BC)+ = BC alle andre mængder indeholder A F udvidet til: {A -> B, B -> C, A -> C} Troels Andreasen 21

Eksempel, Afledte FD s af F Udvid F = {AB -> C, C -> D, D -> A} med afledte FD s A+ = A B+ = B C+ = ACD (tilføj C -> A) D+ = AD (AB)+ = ABCD (tilføj AB -> D) (AC)+ = ACD (AD)+ = AD (BC)+ = ABCD (BD)+ = ABCD (tilføj BD -> C) (CD)+ = ACD (ACD)+ = ACD alle andre mængder indeholder AB, BC eller BD F udvidet til: {AB -> C, C -> D, D -> A, C -> A, AB -> D, BD -> C} Troels Andreasen 22

Ræsonnering med funktionelle afhængigheder Afslutningen F+ af en mængde af FD s F = mængden F, samt mængden af de funktionelle afhængigheder der kan sluttes udfra F F overdækker E (E er dækket af F) hvis: F+ E+ F og E er ækvivalente hvis: F+ = E+ Troels Andreasen 23

Ræsonnering med funktionelle afhængigheder F er minimal hver FD i F har enkelt-attribut højreside der findes ingen FD: X -> A så {F (X -> A)} er ækvivalent med F (altså vi kan ikke fjerne noget fra F uden at ændre på F+) der findes ingen X Y og FD: X -> A så {F (Y -> A) (X -> A)} er ækvivalent med F (altså vi kan ikke erstatte X -> A med Y -> A i F uden at ændre på F+) Minimal overdækning af F en minimal mængde Fmin som overdækker F bemærk: ikke entydig Troels Andreasen 24

Logisk ræsonnering med FD s Logik for funktionel afhængighed logisk konsekvens X -> Y kan sluttes fra F hvis enhver ekstension, der overholder F, også overholder X -> Y beviselighed om anvendelse af slutnings-regler for udledning af funktionelle afhængigheder Notation F mængde af funktionelle afhængigheder specificeret på relation R F = X -> Y X -> Y kan sluttes fra F Troels Andreasen 25

Logisk ræsonnering med FD s Tre vigtige slutnings-regler for funktionelle afhængigheder fra X Y slut X -> Y (refleksivitet) {X -> Y} ı= XZ -> YZ (udvidelse) {X -> Y, Y -> Z} ı= X -> Z (transitivitet) Et system, der omfatter disse er Sundt FD s som vi kan slutte ved brug af reglerne holder Fuldstændigt FD s som holder kan vi slutte ved brug af reglerne Tre supplerende slutnings-regler for funktionelle afhængigheder {X -> YZ} ı= X -> Y (dekomposition) {X -> Y, X -> Z} ı= X -> YZ (additivitet) {X -> Y, WY -> Z} ı= WX -> Z (pseudotransitivitet) Troels Andreasen 26