Datamodellering med ERdiagram Datamodellering ER Entity Relationship diagram

  • Slides: 27
Download presentation
Datamodellering med E/R-diagram

Datamodellering med E/R-diagram

Datamodellering

Datamodellering

ER (Entity Relationship) diagram n Konceptuell datamodellering n ER modellen beskriver data utifrån ¨

ER (Entity Relationship) diagram n Konceptuell datamodellering n ER modellen beskriver data utifrån ¨ entiteter ¨ attribut ¨ relationer

Entiteter n ”Sak” i verkliga världen ¨ existerar fysiskt, ex bil, student ¨ existerar

Entiteter n ”Sak” i verkliga världen ¨ existerar fysiskt, ex bil, student ¨ existerar konceptuellt, ex univ. kurs, jobb

Entiteter och attribut n Varje entitet har attribut, dvs. egenskaper som beskriver entiteten ¨

Entiteter och attribut n Varje entitet har attribut, dvs. egenskaper som beskriver entiteten ¨ Student: namn, ålder, adress. . .

Attributens värde n En existerande entitet har värden på sina attribut ¨ student n

Attributens värde n En existerande entitet har värden på sina attribut ¨ student n s 1: ”Kalle”, 47, ”Karlstad” Denna typ av data utgör majoriteten av information sparad i en databas!

Sammansatta attribut n Kan delas ned i mindre delar som har oberoende betydelse

Sammansatta attribut n Kan delas ned i mindre delar som har oberoende betydelse

Mångvärdes attribut n Vanligtvis har ett attribut bara ett värde, men. . . ¨

Mångvärdes attribut n Vanligtvis har ett attribut bara ett värde, men. . . ¨ Vad händer om ex. en bil har tre olika färger?

Härledda attribut n Exempelvis kan man härleda en persons ålder från personnummer och nuvarande

Härledda attribut n Exempelvis kan man härleda en persons ålder från personnummer och nuvarande år

Entitetstyper n Definierar en mängd av entiteter som har samma attribut (varje entitet i

Entitetstyper n Definierar en mängd av entiteter som har samma attribut (varje entitet i mängden har dock egna värden på attributen) n En entitetstyp beskrivs därmed hjälp av entitetens namn och dess attribut ¨ STUDENT: Namn, ålder, adress

Entitetsmängder n Samlingen/mängden av alla entiteter av en viss entitetstyp i databasen vid någon

Entitetsmängder n Samlingen/mängden av alla entiteter av en viss entitetstyp i databasen vid någon given tid

Nyckelattribut n Varje entitetstyp skall ha ett attribut vars värde skall vara unikt för

Nyckelattribut n Varje entitetstyp skall ha ett attribut vars värde skall vara unikt för varje enskild entitet i entitetsmängden ¨ Student: Personnummer, namn, ålder

Relationer mellan entiteter n Som i: samband mellan entiteter

Relationer mellan entiteter n Som i: samband mellan entiteter

Relationer och attribut n En relation kan också ha attribut ¨ Exempelvis: betyg. .

Relationer och attribut n En relation kan också ha attribut ¨ Exempelvis: betyg. . . en student på en kurs har ett

Kardinalitet på relationer 1: 1 förhållande

Kardinalitet på relationer 1: 1 förhållande

Kardinalitet på relationer 1: N förhållande

Kardinalitet på relationer 1: N förhållande

Kardinalitet på relationer N: M förhållande

Kardinalitet på relationer N: M förhållande

DAV B 04 Databasteknik Mappning mellan ER-diagram och relationsmodellen (kap 7)

DAV B 04 Databasteknik Mappning mellan ER-diagram och relationsmodellen (kap 7)

Mappning ER-diagram / relationsmodellen n Används för att skapa den logiska databasdesignen som baseras

Mappning ER-diagram / relationsmodellen n Används för att skapa den logiska databasdesignen som baseras på den konceptuella designen

Algoritm n Finns en algoritm för att stegvis utföra mappningen ¨ denna 7. 1

Algoritm n Finns en algoritm för att stegvis utföra mappningen ¨ denna 7. 1 finns mer detaljerat beskriven i kapitel

Starka entiteter n Steg 1 ~ ¨ varje stark entitetet blir en basrelation där

Starka entiteter n Steg 1 ~ ¨ varje stark entitetet blir en basrelation där primärnyckeln i relationen motsvarar nyckelattributet(en) i entiteten

Svaga entiteter n Steg 2 ~ ¨ bildar sin primärnyckel genom att ta n

Svaga entiteter n Steg 2 ~ ¨ bildar sin primärnyckel genom att ta n primärnyckeln från ”ägande” relationen (som främmandenyckel) och egen partiell nyckel tillsammans ¨ Reglerna för främmandenycklar i en relation mellan en svag och en stark entitet måste vara n DELETE CASCADES n UPDATE CASCADES ¨ Visar på beroendeförhållandet mellan entiteterna

1: 1 förhållanden n Steg 3 ~ ¨ välj en av entiterna och lägg

1: 1 förhållanden n Steg 3 ~ ¨ välj en av entiterna och lägg in primärnyckeln i den ena som främmandenyckel i den andra ¨ eventuella attribut till relationen mellan dessa bör hamna på samma sida

1: N förhållanden n Steg 4 ~ ¨ introducera primärnyckeln från ”en” relationen som

1: N förhållanden n Steg 4 ~ ¨ introducera primärnyckeln från ”en” relationen som främmandenyckel i relationen på ”många” sidan ¨ eventuella attribut till relationen (sambandet) mellan dessa två entiteter migreras till ”många” sidan

N: M förhållanden n Steg 5 ~ ¨ varje många-till-många relation (samband) blir en

N: M förhållanden n Steg 5 ~ ¨ varje många-till-många relation (samband) blir en basrelation ¨ varje sådan basrelation måste innehålla minst en främmandenyckel från varje deltagare i relationen ¨ primärnyckeln kan skapas genom kombinationen av främmandenycklarna eller genom att introducera ett nytt attribut

Attribut n Steg 6 ~ ¨ Varje egenskap i för en entitet blir ett

Attribut n Steg 6 ~ ¨ Varje egenskap i för en entitet blir ett attribut i den relation den tillhör. ¨ Undantaget är om attributet för entiteten är ett ”mångvärdes” attribut, i så fall skapas en ny relation

Värdedomäner n Skapas för alla attributens värdemängder

Värdedomäner n Skapas för alla attributens värdemängder