Relationsdatabasdesign

Relevanta dokument
(Data)Modellering. nikos dimitrakas rum 2423

Relationsmodellen och syntetisk databasdesign

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

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

Logisk databasdesign

Lite om databasdesign och modellering

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

Konceptuella datamodeller

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

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

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

Informationssystem och Databasteknik

NORMALISERING. Mahmud Al Hakim

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

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

Exempel-tentamen 1. + Lösningsförslag. Inga hjälpmedel är tillåtna.

Karlstads Universitet, Datavetenskap 1

Exempel-Tentamen III

IT i organisationer och databasteknik

Del 2: ER-modellering och överföring till Databasstruktur v0.9

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

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen. Databasmetodik Lördag 27 september 2014 kl

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

25/11/14. Databasteknik och informationssystem DD1370. Påminnelse inför Lab 1 redovisningen. Repetition: ER modellering (gammalt + nytt)

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

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

Design och underhåll av databaser

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

Databaser. Vad du ska lära dig: Ordlista

Tentamen för DD1370 Databasteknik och informationssystem

Grunderna för relationsmodellen!

Databasdesign. E-R-modellen

Lösningsförslag Tentamen, 25 april 03

Modul DB1-1 Databasmodellering

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

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.

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

Informationssystem och Databasteknik

Tentamen för DD1370 Databasteknik och informationssystem

Informationssystem och databasteknik

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

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

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

Tentamen plus lösningsförslag

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

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

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

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

Analytisk relationsdatabasdesign

Datamodellering 1 Hemsida : Hemsida släktforskning :

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

IT i organisationer och databasteknik

Tentamen för DD1370 Databasteknik och informationssystem

02/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Dagens föreläsning. Om Lab 1. De 11 Stegen (Kokbok)

Tentamen för DD1370 Databasteknik och informationssystem

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

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

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

Databaser och Datamodellering Foreläsning IV

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

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Entity-Relationship-modellen

E-R-modellen, E-R-diagram E-R-diagram. representerar entitetsmängder

Webbprogrammering, grundkurs 725G54

Karlstads Universitet, Datavetenskap 1

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

Tentamen DATABASTEKNIK - 1DL116

Idag. 1. Från modell till databasstruktur. 2. Prata med databaser (frågepsråket SQL)

Från verklighet via modell till databas. Idag. Testa reglerna på varuhusmodellen. Från verklighet via modell till databas

Lösningsförslag till Tentamen,

Disposition. 1. Kopplingen mellan Processanalys (DFDdiagram) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer

Tentamen i Databasteknik

INTRODUKTION TILL ER ENTITY-RELATIONSHIP

Karlstads Universitet, Datavetenskap 1

ER-Diagram. Databasutveckling Diagram

EXAMENSARBETE. Utveckling av datamodell för kompetenskartläggning. David Gunnarsson Filosofie kandidatexamen Systemvetenskap

Relationsmodellen. Relations modellen är idag den mest änvända datamodellen för kommersiella

Föreläsning 6: Normalisering & funktionella beroenden

Databaser design och programmering. Design processen ER- modellering

Lösningsförslag till fiktiv tentamen för DD1370 Databasteknik och informationssystem

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

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Mitthögskolan ITM Telefon Access. Laborationskompendium för grunderna i databasen Microsoft Access. Detta exemplar tillhör:

DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index

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

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

Tentamen etjänster och webbprogrammering Institutionen för informatik och media, informationssystem Datum 19/8 Tid

Konceptuell modellering

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

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

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen

Laborationer - databaser, EDAA20 Programmering och databaser

Databaser Design och programmering

Relationsdatabasdesign, 2I-4067

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Inga hjälpmedel är tillåtna

Transkript:

Vad är Relationsdatabasdesign? Relationsdatabasdesign nikosd@kth.se 08-7904460 rum 8522 Connolly/Begg (3rd edition) Kapitel 4., 4.2 och 5 (4th edition) Kapitel 5., 5.2 och 6 (5th edition) Kapitel 6., 6.2 och 7 Logisk relationsdatabasdesign Omvandla en konceptuell modell till en logisk relationsdatabasmodell (i 3NF) Kallas ofta för översättning av konceptuell modell till relationsdatabasmodell eller till logisk modell Fysisk relationsdatabasdesign Omvandla en logisk relationsdatabasmodell till en fysisk relationsdatabasmodell 2 Metod Begrepp Utgå från den konceptuella modellen Översätt klasser, attribut och associationer till tabeller, kolumner och nycklar Validera den framtagna modellen med normalisering Validera att modellerna stämmer överens (tänk på multipliciteter och andra regler) Modifiera vid behov (gå tillbaka till den konceptuella modellen vid behov) Tabeller (relationer) Kolumner, attribut Nycklar Primärnycklar Främmande nycklar Surrogatnycklar Kandidatnycklar Alternativa nycklar Sammansatta nycklar Datatyper (domäner) Andra regler UNIQUE, NOT NULL Regler för främmande nycklar 3 4

Notation Notation (mer komplett) Tabellnamn Kolumnnamn Primärnyckel Datatyp Andra regler för kolumner *Främmande nyckel Relationens multiplicitet: minimum maximum 0 många 5 6 Översättning Exempel Klasser Attribut Envärda (max en) Flervärda (max många) Partiella (min noll) Sammansatta (ett attribut - flera kolumner) Associationer (Relationstyper) Ett-till-ett (:) Ett-till-många (:M) Många-till-många (M:M) Arv bästa vän läser födelseår.. Number telefon String An stä lld lön.. Number äger jobbar för Tidning Unique 0.. webbplats 0.. String 7 8

Klasser Envärda attribut Klass Tabell Klassens namn blir tabellens namn Från klassen till motsvarande tabell Attributets namn i tabellen kan/bör vara samma som i klassen Tidning Unique 9 0 Flervärda attribut Flervärda attribut Egen tabell för varje flervärt attribut Attributets namn kan bli den nya tabellens namn Man kan också omvandla den konceptuella modellen för att få bort det flervärda attributet födelseår.. Number telefon String Men det är inte klart. Vi behöver koppla tabellerna med en främmande nyckel. Men då måste man ha en primärnyckel i tabellen : födelseår.. Number telefon String födelseår.. Number har telefon Telefon Telefon.. String Sedan kan man hantera denna ett-till-många-association. 2

Sammansatta attribut Partiella attribut En kolumn för varje del av det sammansatta attributet Hantera som vanliga attribut men låt kolumnerna acceptera NULL, eller Skapa en ny tabell (en subklass) för att lägga det partiella attributet. Det här borde eventuellt göras redan i den konceptuella modellen. Företa g webbplats 0.. String MedWP webbplats.. String 3 4 Associationer/Relationer Ett-till-ett relationer För att översätta associationer behöver man främmande nycklar. För att skapa främmande nycklar måste man först ha primärnycklar. Då vissa primärnycklar är beroende av andra främmande nycklar, gör man dessa parallellt. Dock är det lämpligt att börja med de oberoende tabellerna/klasserna (strong entities). En främmande nyckel på den ena sidan Välj den sidan som är bäst för att undvika NULL, dvs främmande nyckeln på noll-sidan äger 0.. 5 6

Ett-till-många relationer Ett-till-många relationer En främmande nyckel på många-sidan jobbar för Anställd lön.. Number Även om relationen är rekursiv gäller samma regel: En främmande nyckel på många-sidan bästa vän 7 8 Många-till-många relationer Arv En ny tabell med två främmande nycklar: en till varje sida Den nya tabellens primärnyckel blir oftast en sammansatt nyckel som består av de två främmande nycklarna Tidning Unique Subklassens tabell får samma primärnyckel som superklassens tabell. Primärnyckeln i subklassens tabell är en främmande nyckel till primärnyckeln i superklassens tabell. Anställd lön.. Number 9 20

Arv Resultat Alla andra arvsregler (mandatory OR, optional OR, etc) blir verksamhetsregler. Relationen mellan superklassens tabell och subklassens tabell blir en vanlig ett-till-ett-relation. En relationsdatabas förstår inte att det finns arv. 2 22 Validera resultatet Tips Kontrollera att modellen stämmer överens med den konceptuella modellen. Om något inte kunde översättas, kan det t ex bli en verksamhetsregel. Kontrollera att modellen är i 3NF. Ofta blir modellen direkt i 3NF om man har en bra konceptuell modell. Om en refererad primärnyckel är sammansatt, måste främmande nyckeln också vara sammansatt. Om en association är 0..-till-0.. kan man placera främmande nyckeln på vilken sida som helst, (eller kan man ändra den konceptuella modellen). Om flera FN-relationer går mellan samma tabeller, skall man namnge främmande nycklarna (kolumnerna) så att man kan skilja på relationerna. Välj namn för tabeller och kolumner som visar vad ett värde i kolumnen / en rad i tabellen är. Undvik pluralform. För tabeller som refereras av flera andra, kan det vara lämpligt att skapa surrogatnycklar om de naturliga nycklarna är för stora. 23 24

Konceptuell modell vs. Relationsmodell Konceptuell modell Inga relationsdatabasspecifika grejer Inga surrogatnycklar Inga primärnycklar (dock OK med identifierare) Inga främmande nycklar Endast attribut från den modellerade verksamheten (Helst inga flervärda attribut) Relationsdatabasmodell Inga flervärda attribut Inga många-till-många-relationer Inget arv Nycklar (primärnycklar & främmande nycklar) 25