02-09-2007NOEA/IT - FEN - Databaser/TabelDesign 1 Tabeldesign Design af relationsdatabaser Normalisering.

Slides:



Advertisements
Lignende præsentationer
Relationer En relation mellem to mængder er en generaliseret funktion
Advertisements

Overskrift her Navn på oplægsholder Navn på KU- enhed For at ændre ”Enhedens navn” og ”Sted og dato”: Klik i menulinjen, vælg ”Indsæt” > ”Sidehoved / Sidefod”.
Mapning af klasser til relationer
2009NOEA/IT - Databaser/arkitektur1 Databaser Introduktion - Arkitektur Introduktion DBMS-arkitektur Datamodeller.
Databaser Teori.
3. Funktionelle afhængigheder og normalisering
SQL 1 DDL og DML.
Felter og nøgle-felter (databaser, del 6)
Program – : Panel. Oplæg og debat – 11
ER-diagrammer (databaser, del 4)
Informationsteknologi B-A, HHX, 2005,
Økonometri 1: Specifikation og dataproblemer1 Økonometri 1 Specifikation, og dataproblemer 4. november 2005.
Mapning af 1 til mange forbindelser
Introduktion til Access (Access, del 1)
Validering af data (Access, del 7)
Opslagsfelter (Access, del 6). RHS – Informationsteknologi 2 Udgangspunkt Vi er ofte i den situation, at valg af en type for et felt ikke begrænser vores.
Oprettelse af tabeller (Access, del 2)
Beskrivelses- og analyse-teknikker understøttet af Oracle Designer
NOEA/IT FEN - Databaser/Sikkerhed 1 Lektion 10 Sikkerhed og integritet Områder Autorisationsmatrix Realisering i SQL.
2:Relations modellering og design regler.
Relationsdatabaser og SQL
Operationer på relationer
Økonometri 1: Specifikation og dataproblemer1 Økonometri 1 Specifikation, og dataproblemer 7. april 2003.
Dagens gang Sidste uges opgaver Databaser Opgaver til næste gang
NOEA/IT FEN - Databaser/modellering 1 Tabeldesign Omformning af E/R-modellen til relationelle skemaer.
SQL – Oracle Relationsdatabase
Data Dictionary (databaser, del 7)
1 SQL2. 2 Funktioner der laver aggregerede beregninger Returnerer count() Antal rækker der opfylder bestemt betingelse min() Laveste værdi (eller null)
Normalisering (databaser, del 8)
FEN NOEA/IT Programmeringsteknologi 1 Arv og polymorfi Substitutionsprincippet Abstrakte klasser Design Patterns (Composite)
Informationssystemer kursusgang: Modellering med henblik på dataudtræk
Den relationelle model
2009NOEA/IT - Databasedesign1 Agenda Datamodellering Databasedesign Normalisering.
SQL – Oracle Relationsdatabase
Relationelle databaser og XML
17.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Implementering Principper, teknikker og vurdering Kapitel 17.
SQL Jesper Tørresø DAB1 E oktober Punkter for i dag. SQL baggrund. Relationel algebra. Brug af VS2005.
2009NOEA/IT - Databaser/arkitektur1 Den relationelle model En teoretisk model for databaser Hviler på et sundt teoretisk grundlag Omfatter: Datastruktur.
1 SQL2. 2 Funktioner der laver aggregerede beregninger Returnerer count() Antal rækker der opfylder bestemt betingelse min() Laveste værdi (eller null)
Virksomhedens informationsbehandling lektion Ved. Jens Godik Højen.
2009NOEA/IT - Databaser/arkitektur1 Tabeldesign Design af relationsdatabaser Normalisering.
IT i Byggeriet Semester 6, kursusgang Databaser (2) Kjeld Svidt Kjeld Svidt  Institut for Bygningsteknik  Aalborg Universitet.
IT i Byggeriet Semester kursusgang Databaser (2) Kjeld Svidt Kjeld Svidt  Institut for Bygningsteknik  Aalborg Universitet.
Normalisering Sund Fornuft!. Normalformer 1. Normalform Ingen repeterende felter Der eksisterer en primær nøgle 2. Normalform Tabellen skal være i 1NF.
Data Warehouse 8. semester forår 2010
Aalborg Universitet Master i Informationsteknologi, IT i Byggeriet – 2. Års projekt TYPEHUSKATALOG.
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
ER-modellering1 Analyse af data og sammenhæng mellem data.
FENNOEA IT - Databaser/SQL-Eval1 SQL: Opsamling Om SELECT Vurdering af SQL.
Methods and models Anne Randorff Højen.
Intro Databaserne? Gik det som det skulle?. Databasestøttet webpublicering Forelæsning nr 8 Hvorfor data i en RDB (relationel database)? Databasemodellering.
3. Objekt Orientering og Relations Databaser
Kjeld Svidt  Institut for Byggeri og Anlæg  Aalborg Universitet IT i Byggeriet Semester 6, kursusgang Databaser (2) Kjeld Svidt
I4DAB1 F08 guideline for normalisering og design Take 2 Jesper Tørresø DAB1 F April 2008.
NOEA/IT FEN - Databaser/modellering 1 Datamodellering Den udvidede (enhanced) E/R-model (EE/R- modellen) Begreber Diagrammering Omformning til.
Økonometri 1: Specifikation og dataproblemer1 Økonometri 1 Specifikation og dataproblemer 2. november 2004.
Kvantitative metoder 2: Den multiple regressionsmodel1 Kvantitative metoder 2 Den multiple regressionsmodel 26. februar 2007.
OOD  Relationel database: Klasser Hver klasse afbildes over i en tabel. Klassens navn bruges som navn på tabellen. Hver af klassens attributter afbildes.
2009Softwarekonstruktion / DB-design 11 Databasedesign 1 Fra begrebsmæssig model til relationel model.
Database.
Database Some walk through. Database Design – Begreber 1 Database: En fælles samling af logiske relaterede data (informationer) DBMS (database management.
E/R-diagrammering 7. Semester.
Den relationelle model
KM2: F41 Kvantitative metoder 2 Den simple regressionsmodel 14. februar 2007.
Intro Databaserne? Gik det som det skulle?. Databasestøttet webpublicering Forelæsning nr 7 Hvorfor data i en RDB? Databasemodellering Begrebet nøgle.
Database Some walk through lv/ Figures & some text from: © Pearson Education Limited 1995,
Normal former i en database Jan Christiansen Nyborg Gymnasium.
1.10 System design - Database
MySQL dat2sem2018Fall Modul 2 – uge 2.
Dat2sem2019 Bornholm Modul 2 – uge 2
Præsentationens transcript:

NOEA/IT - FEN - Databaser/TabelDesign 1 Tabeldesign Design af relationsdatabaser Normalisering

NOEA/IT - FEN - Databaser/TabelDesign 2 Uformelle designmål for tabeller Meningen med en tabel skal være let at forstå, oplysninger om forskellige ting må ikke anbringes i den samme tabel. Redundant information undgås: –pladsforbrug –opdaterings anomalier, dvs. problemer ved indsætning, modificering og sletning af data Antallet af null- værdier minimeres: –pladsforbrug –flere fortolkninger Undgå uægte tupler ved JOIN

NOEA/IT - FEN - Databaser/TabelDesign 3 Tabel-mening Alternativt design for Nørhalne Bibliotek: Udlånstabel: [bogtitel, matNr, lånernr, lånernavn, låneradresse, dato, rykkerstatus] Oplysninger om forskellige ting blandet i den samme tabel

NOEA/IT - FEN - Databaser/TabelDesign 4 Minimér NULL-værdier Hver 10. ansat har en firmabil, hver 10. bil er (ikke) en firmabil? Hvor skal fremmednøglen placeres? Hvis NULL bliver den normale værdi, så hører attributten nok ikke til i denne tabel. Bil Ansat 1 1

NOEA/IT - FEN - Databaser/TabelDesign 5 Uægte tupler Betragt følgende udsnit af et ”alternativt” tabeldesign for Nørhalne Bibliotek: Låner:[lNr, fnavn, enavn,…….] Eksemplar:[matNr,…, enavn, …] Relationen Udlån mellem Låner og Eksemplar er designet ved, at låners efternavn er taget med i Eksemplar. Når Låner og Eksemplar efterfølgende joines vil der optræde uægte tupler, idet Låner.enavn næppe er entydig. Dvs. låner ’117 Ib Hansen’ vil optræde som låner af alle eksemplarer, hvor enavn = ’Hansen’ - altså alle eksemplarer lånt af alle mulige andre hansener (som også vil optræde som lånere af Ibs eksemplarer).

NOEA/IT - FEN - Databaser/TabelDesign 6 Normalisering Normalformerne er en formel formulering af designmål for tabeller. Normalisering er processen. Der findes 6 normalformer: –1., 2., 3., og BCNF. –4. og 5. NF BCNF er mest interessant i praksis

NOEA/IT - FEN - Databaser/TabelDesign 7 Første Normal Form (1NF) En tabel er på 1NF hvis: –der kun er simple attributter. - dvs. ingen sammensatte eller flerværdi attributter 1NF er efterhånden blevet en del af den formelle definition af en tabel i den relationelle model.

NOEA/IT - FEN - Databaser/TabelDesign 8 Funktionelle afhængigheder, fundamentet for 2., 3. og BCNF. Y er funktionelt afhængig af X, hvis der for samme værdi af X altid er den samme værdi af Y (X og Y er sæt af attributter). Funktionel afhængighed (FA eller FD) skrives: X -> Y Y er funktionelt afhængig af X, værdien af Y er altid entydigt bestemt af X, X bestemmer (determinerer) Y. Hvis X er en kandidat nøgle, så gælder X -> Y for alle sæt af attributter Y. At X -> Y siger intet om hvorvidt Y -> X er opfyldt. Klassisk eksempel: i adresse er bynavn funktionelt afhængig af postnummer (eller postnummer determinerer by). Lyder flot, men: FA er forretningsregler

NOEA/IT - FEN - Databaser/TabelDesign 9 BCNF Hvis en tabel er på BCNF, er den også på 1., 2. og 3. NF. En tabel er på BCNF, hvis alle determinanter er kandidatnøgler. Det må kun være kandidatnøgler som bestemmer indholdet af andre attributter.

NOEA/IT - FEN - Databaser/TabelDesign 10 Tredje Normal Form (3NF) Forholder sig til transitive afhængigheder En funktionel afhængighed (X->Y) er transitiv, hvis der eksisterer et sæt af attributter Z, hvorom det gælder at X -> Z og Z -> Y. En tabel er på 3NF hvis: –den er på 2NF –ingen ikke-nøgle attribut er transitivt afhængig af en kandidat nøgle. ”Postnummer-by”-problemet!

NOEA/IT - FEN - Databaser/TabelDesign 11 Anden Normal Form (2NF) Forholder sig til partielle afhængigheder En funktionel afhængighed X->Y er fuldt funktionel afhængig (FFA), hvis man ikke kan fjerne nogle attributter fra X uden at X->Y ophæves. Hvis en funktionel afhængighed ikke er fuld er den partiel. En tabel er på 2NF hvis: –den er på 1NF –alle ikke-nøgle attributter er fuldt funktionelt afhængige af kandidat-nøglerne. Udlånstabel: [bogtitel, matNr, lånernr, lånernavn, låneradresse, dato, rykkerstatus]

NOEA/IT - FEN - Databaser/TabelDesign 12 3NF og BCNF Der er kun forskel på 3NF og BCNF, hvis den betragtede relation –har flere kandidatnøgler, som er sammensatte, og er overlappende (dvs. har fælles attributter) dvs.: A: [a, b, c, d] Kandidatnøgler, fx: (a, b) og (a, d)

NOEA/IT - FEN - Databaser/TabelDesign 13 BCNF vs. 3NF - Ex SSP [S#, Sname, P#, Qty] Kandidatnøgler (S#, P#) og (Sname, P#) FA:S# -> Sname Sname -> S# På 3NF, idet Sname er en nøgleattribut, men tabellen indeholder uhensigtsmæssig redundans.

NOEA/IT - FEN - Databaser/TabelDesign 14 Normalisering Alle attributter skal afhænge af nøglen, af hele nøglen og af intet andet end nøglen. - So help me Codd.

NOEA/IT - FEN - Databaser/TabelDesign 15 Opgave Revider tabeldesignet for Nørhalne Bibliotek, så det er i overensstemmelse med både de uformelle og formelle designregler. Brug dette design.design Lav tabeldesign for Nørhalne Ferieby. Brug evt. denne ER-model.ER-model

NOEA/IT - FEN - Databaser/TabelDesign 16 Eksempel Tabeller ej normaliseret: Projekt:[prjId, navn, afdId, afdNavn, afdChefCpr] Ansat:[cpr, navn,….., afdId, afdNavn, afdChefCpr] Leverandør:[levId, navn, tel,…, vareId, navn,…] Leverance:[vId, lId, prjId, kvantum] ArbejderPå:[cpr, prjId, timer]

NOEA/IT - FEN - Databaser/TabelDesign 17 Opgaver Revider tabeldesign for Nørhalne Bibliotek og Nørhalne Ferieby