Relationsdatabaser og SQL

Slides:



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

Mapning af 1 til mange forbindelser
Mapning af klasser til relationer
Databaser Teori.
Relationsdatabaser og SQL
3. Funktionelle afhængigheder og normalisering
Databasedesign • Hvad skal man tage højde for: – Hvad skal kunne trækkes UD af databasen – Hvilke data skal IND – Hvilke tabeller og felter skal vi have.
SQL 1 DDL og DML.
Felter og nøgle-felter (databaser, del 6)
Eksamensspørgsmål: 4: Brugen af nøgler i en "Relationel DB" herunder: Primary Key og Foreign Key samt Super Key og Candidate Key.
Informationsteknologi B-A, HHX, 2005,
Regnskab & økonomistyring - Lektion 15 HD 5. semester forår 2010 v/ Jens Godik Højen, April 2010.
Regnskab & økonomistyring - Lektion 4 HD 5. semester forår 2010 v/ Jens Godik Højen, April 2010.
NOEA/IT - FEN - Databaser/TabelDesign 1 Tabeldesign Design af relationsdatabaser Normalisering.
Mapning af 1 til mange forbindelser
Validering af data (Access, del 7)
Oprettelse af tabeller (Access, del 2)
Relationsdatabaser og SQL
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.
SQL Introduktion Jesper Tørresø DAB1 F08 6. Februar 2008.
Operationer på relationer
Relationsdatabaser og SQL
7. SQL constraints og triggers1 Aktive elementer i SQL.
Data Warehousing Del 2 af 3: Opbygning af et Data Warehouse
Dagens gang Sidste uges opgaver Databaser Opgaver til næste gang
2009NOEA/IT - Databaser/SQL1 Realisering af den relationelle model i SQL-baserede DBMS’er SQL er mere end forespørgsler - det omfatter bl.a. –DDL Data.
NOEA/IT FEN - Databaser/modellering 1 Tabeldesign Omformning af E/R-modellen til relationelle skemaer.
SQL – Oracle Relationsdatabase
Normalisering (databaser, del 8)
Årsmøde Organisationen Danske Arkiver
Den relationelle model
SQL – Oracle Relationsdatabase
Relationelle databaser og XML
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.
Virksomhedens informationsbehandling lektion Ved. Jens Godik Højen.
8.7 Security: Grant and revoke1 Sikkerhed 8.7 Security and User Authorization in SQL.
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.
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.
SQL Jesper Tørresø DAB1 E September Punkter for i dag. SQL baggrund. Relationel algebra. SQL koncept –Vises ved brug af VS2008.
I4DAB1 F08 guideline for normalisering og design Jesper Tørresø DAB1 F April 2008.
SQL – Oracle Vigtige SQL sætninger Lektion 6 7. Semester.
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.
Opgaver Design tabeller Kvalitetscheck af (3NF) tabeldesignet Skriv CREATE TABLE-sætninger.
Den relationelle model
Virksomhedens informationsbehandling Opgave inden for databehandling Opgave 1 Ved. Jens Godik Højen.
Objekt-relationel DBMS1 4.5 The Object-Relational Model 9.4 User-Defined Types in SQL 9.5 Operations on Object-Relational Data Ullman: Object-Relational.
Intro Databaserne? Gik det som det skulle?. Databasestøttet webpublicering Forelæsning nr 7 Hvorfor data i en RDB? Databasemodellering Begrebet nøgle.
Omsætning af en model til en RDB Jesper Tørresø DAB1 F Marts 2008.
Database Some walk through lv/ Figures & some text from: © Pearson Education Limited 1995,
Normal former i en database Jan Christiansen Nyborg Gymnasium.
Modellering og data Nyt forløb.
MySQL dat2sem2018Fall Modul 2 – uge 2.
Dat2sem2019 Bornholm Modul 2 – uge 2
Præsentationens transcript:

Relationsdatabaser og SQL Del 4 af 4: Normalisering og dataintegritet Aalborg Universitet, d. 6. september 2006 B e n t M ø l l e r M a d s e n

Normalisering Optimering af et databasedesign Undgå redundans Medfører opdeling til flere tabeller Disse skal kunne samles (joines) igen uden datatab 6 normalformer 1., 2., 3., Boyce-Codd, 4. og 5. normalform Mest almindelige er 1. til 3. normalform + evt. Boyce Codd normalformen (BCNF)

Første Normalform (1NF) Mindstekrav til en relationel database Krav til tabeller på 1NF: For hver række gælder det, at kun én værdi må indtastes i hver kolonne. Der må ikke forekomme repeterende grupper Der skal eksistere en primærnøgle

1. normalform - et eksempel Vare_id Navn Kategori Pris_1 Pris_2 Pris_3 210 Sofabord Stue, Glas 699,50 749,50 779,00 212 Stol Stue, Klassisk 499,00 529,50 Vare_id Navn 210 Sofabord 212 Stol Vare_id Pris 210 699,50 749,50 779,00 212 499,00 529,50 Vare_id Kategori_id 210 11 12 212 13 Kategori_id Navn 11 Stue 12 Glas 13 Klassisk

Anden normalform (2NF) Krav til en tabel på 2NF: Tabellen skal være på 1NF Alle ikke-nøgle attributter skal være fuldt funktionelt afhængige af primærnøglen Dvs. at ikke-nøgle attributter ikke må være afhængige af en delmængde af primærnøglen. Kun relevant, hvis primærnøglen består af 2 eller flere kolonner

2. normalform - et eksempel Ordre_id Linie_id Kunde_id Ordre_dato Vare_id Antal 101 1 1013 13-08-2005 423 40 2 251 10 3 122 5 Ordre_id Kunde_id Ordre_dato 101 1013 13-08-2005 Ordre_id Linie_id Vare_id Antal 101 1 423 40 2 251 10 3 122 5

Tredje normalform (3NF) Krav til en tabel på 3NF: Tabellen skal være på 2NF Ingen ikke-nøgle attributter er transitivt afhængige af primærnøglen Dvs. at attributterne kun må være afhængig af primærnøglen og ikke andre, heller ikke en kombination af andre attributter Transitiv afhængighed A  B og B  C  A  C

3. normalform - et eksempel Medarbejdere Id Navn Adresse Postnr Bynavn 101 Hans Jensen Sildevej 45 9000 Aalborg 102 Inga Petersen Østre Alle 30 103 Peter Andersen Æblestien 4 8000 Århus C Medarbejdere Id Navn Adresse Postnr 101 Hans Jensen Sildevej 45 9000 102 Inga Petersen Østre Alle 30 103 Peter Andersen Æblestien 4 8000 Postnumre Postnr Bynavn 9000 Aalborg 8000 Århus C

Boyce-Codd normalform (BCNF) Krav til en tabel på BCNF: Alle determinanter skal være kandidatnøgler En determinant er en eller flere attributter, der bestemmer (determinerer) andre attributters værdi En kandidatnøgle er en potentiel primærnøgle Eller på dansk: En tabel er på BCNF, når alle felter eller sammensatte felter, der kan bruges som nøgle for en del af tabellen, også kan bruges som primærnøgle for hele tabellen. BCNF er et alternativ til 1.-3. normalform + at den opfanger et specialtilfælde der ikke dækkes af 1.-3. normalform

Normalisering - opsamling Normaliser til 3. normalform eller BCNF Brug sund fornuft Overvejelser i forbindelse med undtagelser for normalisering og denormalisering Konsekvenser for performance Konsekvenser for integritet

Integritet Fjerne fejl i databasen Sikre at der er sammenhæng i databasen, og at denne opretholdes og fungerer Sikre at data bliver indtastet det rigtige sted Sikre overensstemmelse mellem virkeligheden og informationer i databasen

Typer af integritet Entitetsintegritet: Referentiel integritet Alle rækker i en tabel skal være identificerbare Referentiel integritet Integriteten mellem tabeller Semantisk integritet: Betydning af data

Sikring af integritet Entitetsintegritet: Referentiel integritet: Primærnøgle Referentiel integritet: Fremmednøgler Semantisk integritet: Datatyper Not Null Unikke nøgler Check betingelser

Sikring af integritet - eksempel CREATE TABLE medarbejdere (id NUMBER(4) PRIMARY KEY , navn VARCHAR2(50) NOT NULL, loen NUMBER(7,2) NOT NULL, koen CHAR(1), afd_id NUMBER(3), CONSTRAINT med_afd_fk FOREIGN KEY (afd_id) REFERENCES afdelinger (id) ON DELETE CASCADE, CONSTRAINT min_loen CHECK (loen >= 15000), CONSTRAINT koen_cc CHECK (koen IN (’m’,’k’));

?