Logisk databasdesign

Relevanta dokument
Konceptuella datamodeller

NORMALISERING. Mahmud Al Hakim

2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY!, där RIDKURS.KursId = KURS.KursId 3NF Hästnamn, Art, NY! NY! NY! NY!

Karlstads Universitet, Datavetenskap 1

Tentamen ISGB01, ISGB24. Databasdesign 7,5 Poäng

Databaser Design och programmering

Databaser och databasdesign. Den relationella modellen, normalisering och modellering (2)

Idag. Databaskvalitet(??) Databaskvalitet... Databaskvalitet...

Programdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion.

Normalisering. Varför? För att åstadkomma en så bra struktur i databasen som möjligt med minimalt med dubbellagrad info.

ÖVNING 10 2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY! 3NF Hästnamn, Art, NY! NY! NY! NY! KursId, StartDatum, SlutDatum KursId NY!

TENTAMEN För kursen. Databasteknik. Ansvarig för tentamen: Anna Palmquist. Förfrågningar: Anslås inom 3 veckor

Pga att (Nummer och Typ) tillsammans bestämmer övriga attribut funktionellt väljer vi (Nummer, Typ) till primärnyckel:

Föreläsning 6: Normalisering & funktionella beroenden

Tentamen ISGB01 (delkurs i ISGB24) Databasdesign 7,5 Poäng

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Informationssystem och databasteknik

Universitetet: ER-diagram

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Karlstads Universitet, Datavetenskap 1

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Lösningsförslag till Tentamen,

ÖVNING 10 2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY! 3NF Hästnamn, Art, NY! NY! NY! NY! KursId, StartDatum, SlutDatum KursId NY!

Analytisk relationsdatabasdesign

Tentamen plus lösningsförslag

Databaser - Design och programmering. Relationsmodellen. Relationer - som tabeller. Relationer som tabeller. Alternativa notationer: Relationsschema

IT i organisationer och databasteknik

Tentamen 2I1033, IT i Organisationer och Databasteknik lördag 17/4 2004, kl LÖSNINGSFÖRSLAG

GIS, databasteknik och kartografi. Kursmaterial för databasdelen

Relationsdatabasdesign

Lite om databasdesign och modellering

Relationell databasdesign

Databasteori. Övningar

Databaser och Datamodellering Foreläsning IV

Grunderna för relationsmodellen!

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Föreläsning 4 Dagens föreläsning går igenom

Exempel-Tentamen III

Databasteori Övningar

Tentamenskod: Tentamensdatum: Tid: 14:00-19:00. Inga hjälpmedel är tillåtna

Databasdesign. E-R-modellen

TER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7)

Exempel tentamen. Skriv bara på en sida av pappret Skriv namn på varje papper Skriv läsligt, annars rättas inte tentamen Alla hjälpmedel är tillåtna

Modul DB1-1 Databasmodellering

Webbprogrammering, grundkurs 725G54

Tentamen NDA01G Öppen för alla. Tentamenskod: Inga hjälpmedel är tillåtna

Karlstads Universitet, Datavetenskap 1

2. Redundans 3. Normalformer

Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem?

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

TENTAMEN TDDB77 Databaser och Bioinformatik 24 april 2004, kl 14-18

Modul DB1-2 Datamodellering

Databasdesignspecifikation för Mätvärdeshanteringssystem

Ett arbetsexempel Faktureringsrutin

Tentamen EIT:DB Databastmetodik 11/ kl Lösningsförslag

Concepts learned this far. ER till relationer. ER till relationer. ER till relationer. TDDD12 Database Technology

Kvalitetstänkande. Utgångsläge Samtliga ER-diagram har överförts till scheman

Design och underhåll av databaser

Idag. Hur vet vi att vår databas är tillräckligt bra?

Tentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen Lördag 8 juni kl

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Tentamen DATABASTEKNIK - 1DL116

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Inst. för Data- och Systemvetenskap SU Maria Bergholtz. Tentamen. 21/ kl Inga hjälpmedel är tillåtna (annat än ordbok).

TDDI 60 Tekniska databaser

Tentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 2013 kl. 9-13

Frågor att lösa med SQL mot databasen kursdb_sql Sida 1 av 5

Uppdelning. Relationell databasdesign, FB Teori Låt R vara ett relationsschema. R 1, R 2,..., R n är en uppdelning av

Funktionella beroenden - teori

Föreläsning 3 Dagens föreläsning går igenom

Uppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner

Tabeller och kolumner SQL. Lägga till en ny post. Lägga till en ny post

Lösningsförslag Tentamen, 25 april 03

Databaser. Vad du ska lära dig: Ordlista

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Föreläsning 4 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Normalisering (Analytisk databasdesign)

Starta MySQL Query Browser

ER-Diagram. Databasutveckling Diagram

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Laboration 1, Datamodellering. Observera. Tips. Förberedelse. Genomförande

1.Lär känna MS SQL Observera. Tips. Förberedelse

Databaser design och programmering. Fö 2: Design processen, ER-modellering

SQL. Structured Query Language. Frågespråk för att används för. Kommandon. data åtkomst data manipulation

Lösningsförslag till Exempel tentamen

Innehåll MySQL Intro. Ex på ett index Index typer ISAM Balanserat träd Pk och Fk i MySQL Eget index För o nackdelar med index

Tentamen i Databasteknik

Databaser design och programmering. Design processen ER- modellering

Tentamen. i Databasteknik. lördagen den 13 mars Tillåtna hjälpmedel: Allt upptänkligt material

Abstract. Webbsida för lagring av alumner i en databas. Website containing a database for the storage of alumni contact information.

Logisk modell. Fysisk modell. Datamodeller Konceptuell modell

Tentamen i. Databasteknik

Avvikelserapport. Avvikelserapport. Fantastic Four Page 1

Databasteori. Övningar

Relationsmodellen och syntetisk databasdesign

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

Transkript:

NORMALISERING Peter Bellström Logisk databasdesign 2 Arbetssteget vars syfte är att konstruera en modell (diagram, schema), baserad på en specifik datamodell, över verksamhetens begrepp och samband. Modellen skall vara helt oberoende av DBHS och andra fysiska överväganden. 1

Fokus för dagens föreläsning är 3 Konceptuell databasdesign Vad Logisk databasdesign Fysisk databasdesign Hur Normalisering 4 Vad? Dela upp de stora tabellerna vi erhöll efter översättningen från den konceptuella modellen till mindre tabeller. Varför? Undvika redundans Upprätthålla integritet Undvika andra fallgropar Tumregler för att ta fram en korrekt databas Reversibel process Nycklar 2

Funktionella beroenden 5 Integritetsregel som i praktiken tillämpas som primärnyckeln = önskvärda. Om värdet i attribut A, i tabellen T, bestämmer värdet på attribut B, i tabellen T, så är attribut B funktionellt beroende av attribut A. A B Personnummer Efternamn Determinant Dependent Transitiva beroenden 6 Uppstår när det finns funktionella beroenden inne i en tabell = icke önskvärda. Om A B och B C så A C Om Personnummer Postnummer och Postnummer Ort så Personnummer Ort 3

Relation vs. Tabell 7 En relation är alltid i 1 NF vilket en tabell inte alltid är. En relation har inga dubbletter. En relation har en unik identifierare! I en relation har ordningen ingen betydelse varken vad det gäller tupler (rader) eller attribut (kolumner). I en relation är alla attributvärden odelbara. Första normalformen (1NF) 8 Definition En relationsvariabel (tabell) är i första normalformen om och endast om varje attribut innehållet ett värde. Tillämpning Ett värde i varje attribut Fungerande primärnyckel Minnesregel Nyckeln! 4

Första normalformen (1NF) Relationsvariabel (tabell) som inte uppfyller första normalformen. Konsekvenser? Knr Telnr Namn Adress K1 1234, 1010 Anna Ek Stigen 3 117 65 Stockholm K2 2425 Bertil Bo Byg. 18 653 51 Karlstad 9 Första normalformen (1NF) Relationsvariabel (tabell) som uppfyller första normalformen. Lösningen? Knr Telnr ENamn FNAmn Gadr Postnr Padr K1 1234 Ek Anna Stigen 3 117 65 Stockholm K1 1010 Ek Anna Stigen 3 117 65 Stockholm K2 2425 Bo Bertil Byg. 18 653 51 Karlstad 10 5

Andra normalformen (2NF) 11 Definition En relationsvariabel (tabell) är i andra normalformen om och endast om den är i första normalformen och varje ickenyckelattribut är beroende av primärnyckeln. Tillämpning Endast vid sammansatta primärnycklar. Minnesregel Hela Nyckeln! Andra normalformen (2NF) Relationsvariabel (tabell) som inte uppfyller andra normalformen. Konsekvenser? Knr Telnr ENamn FNAmn Gadr Postnr Padr K1 1234 Ek Anna Stigen 3 117 65 Stockholm K1 1010 Ek Anna Stigen 3 117 65 Stockholm K2 2425 Bo Bertil Byg. 18 653 51 Karlstad 12 6

Andra normalformen (2NF) 13 Relationsvariabel (tabell) som uppfyller andra normalformen. Lösningen? Knr ENamn FNamn Gadr Postnr Padr K1 Ek Anna Stigen 3 117 65 Stockholm K2 Bo Bertil Byg. 18 653 51 Karlstad Knr* Telnr K1 1234 K1 1010 K2 2425 Tredje normalformen (3NF) 14 Definition En relationsvariabel (tabell) är i tredje normalformen om och endast om den är i andra normalformen och varje ickenyckelattribut inte är transitivt beroende av primärnyckeln. Tillämpning Eliminera inre beroenden Minnesregel Ingenting annat än nyckeln! 7

Tredje normalformen (3NF) Relationsvariabel (tabell) som inte uppfyller tredje normalformen. Konsekvenser? Knr ENamn FNamn Gadr Postnr Padr K1 Ek Anna Stigen 3 117 65 Stockholm K2 Bo Bertil Byg. 18 653 51 Karlstad K3 Al Sven Gösv. 3 653 51 Karlstad 15 Tredje normalformen (3NF) Relationsvariabel (tabell) som uppfyller tredje normalformen. Lösningen? Knr ENamn FNamn Gadr Postnr* K1 Ek Anna Stigen 3 117 65 K2 Bo Bertil Byg. 18 653 51 K3 Al Sven Gösv. 3 653 51 Postnr Padr 117 65 Stockholm 653 51 Karlstad 16 8

Minnesregel 1NF 3NF 17 Nyckeln (1NF), hela nyckeln (2NF) och ingenting annat än nyckeln (3NF). Boyce/Codd normalform (BCNF) Definition En relationsvariabel (tabell) är i BCNF om och endast om varje determinant är en kandidatnyckel. Tillämpning Vid två eller flera kandidatnycklar. Sammansatta kandidatnycklar. Överlappande kandidatnycklar. 9

Boyce/Codd normalform (BCNF) 19 Relationsvariabel som inte uppfyller Boyce/Codd normalform. Tabell som lagrar längden på svenska gator. Gatunamn är unika i varje stad, men inte i hela Sverige. Varje gata ligger inom ett och samma postnummerområde. Det kan dock finnas flera postnummerområden i en och samma ort. Ursprungstabellen består av: Gatunamn, Postnummer, Ortsnamn, Längd Kandidatnycklar: Postnummer & Gatunamn, Gatunamn & Ortsnamn Men vad händer med Postnummer som bestämmer Ortsnamn? Postnummer är med andra ord en determinant men inte en kandidatnyckel (jmf. definitionen av BCNF) Boyce/Codd normalform (BCNF) Relationsvariabel som inte uppfyller Boyce/Codd normalform. Konsekvenser? Gatunamn Postnummer Ortsnamn Längd Päronvägen 65463 Karlstad 20 km Päronvägen 12345 Kil 5 km Tomatvägen 65468 Karlstad 25 km Bananvägen 65463 Karlstad 20 km 10

Boyce/Codd normalform (BCNF) Relationsvariabel som uppfyller Boyce/Codd normalform. Lösningen? Gatunamn Postnummer Längd Päronvägen 65463 20 km Päronvägen 12345 5 km Tomatvägen 65468 25 km Bananvägen 65463 20 km Postnummer Ortsnamn 65463 Karlstad 12345 Kil 65468 Karlstad Fysisk databasdesign 22 När tabellerna är normaliserade är vi klara med logisk databasdesign. Nästa uppgift i databasdesignsprocessen är att översätta (mappa) de normaliserade tabellerna till SQL. K o n c e p t u e l l d a t a b a s d e s i g n V a d L o g i s k d a t a b a s d e s i g n F y s i s k d a t a b a s d e s i g n H u r 11