Datamodellering med E/R-diagram
Datamodellering
ER (Entity Relationship) - diagram Konceptuell datamodellering ER modellen beskriver data utifrån entiteter attribut relationer
Entiteter ”Sak” i verkliga världen existerar fysiskt, ex bil, student existerar konceptuellt, ex univ.kurs, jobb
Entiteter och attribut Varje entitet har attribut, dvs. egenskaper som beskriver entiteten Student: namn, ålder, adress...
Attributens värde En existerande entitet har värden på sina attribut student s1: ”Kalle”, 47, ”Karlstad” Denna typ av data utgör majoriteten av information sparad i en databas!
Sammansatta attribut Kan delas ned i mindre delar som har oberoende betydelse
Mångvärdes attribut Vanligtvis har ett attribut bara ett värde, men... Vad händer om ex. en bil har tre olika färger?
Härledda attribut Exempelvis kan man härleda en persons ålder från personnummer och nuvarande år
Entitetstyper Definierar en mängd av entiteter som har samma attribut (varje entitet i mängden har dock egna värden på attributen) En entitetstyp beskrivs därmed med hjälp av entitetens namn och dess attribut STUDENT: Namn, ålder, adress
Entitetsmängder Samlingen/mängden av alla entiteter av en viss entitetstyp i databasen vid någon given tid
Nyckelattribut 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 Som i: samband mellan entiteter
Relationer och attribut En relation kan också ha attribut Exempelvis: en student på en kurs har ett betyg...
Kardinalitet på relationer 1:1 förhållande
Kardinalitet på relationer 1:N förhållande
Kardinalitet på relationer N:M förhållande
Mappning mellan ER-diagram och relationsmodellen (kap 7) DAV B04 - Databasteknik Mappning mellan ER-diagram och relationsmodellen (kap 7)
Mappning ER-diagram / relationsmodellen Används för att skapa den logiska databasdesignen som baseras på den konceptuella designen
Algoritm Finns en algoritm för att stegvis utföra mappningen denna finns mer detaljerat beskriven i kapitel 7.1
Starka entiteter Steg 1 ~ varje stark entitetet blir en basrelation där primärnyckeln i relationen motsvarar nyckelattributet(en) i entiteten
Svaga entiteter Steg 2 ~ bildar sin primärnyckel genom att ta 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 DELETE CASCADES UPDATE CASCADES Visar på beroendeförhållandet mellan entiteterna
1:1 förhållanden 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 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 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 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 Skapas för alla attributens värdemängder