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



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

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

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

Databasdesign. E-R-modellen

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

Grunderna för relationsmodellen!

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

Relationsdatabasdesign

Databaser. Vad du ska lära dig: Ordlista

Lite om databasdesign och modellering

16/11/14. Databasteknik och informationssystem DD1370. Information. Dagens föreläsning: ERmodeller Dagens föreläsning. Påminnelse: Kursens mål

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

Tentamen för DD1370 Databasteknik och informationssystem

11/11/13. Databasteknik och informationssystem DD1370. Dagens föreläsning. Dagens föreläsning: ERmodeller Jmf: Relationer i Base

Tentamen DATABASTEKNIK - 1DL116

INTRODUKTION TILL ER ENTITY-RELATIONSHIP

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

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

Databaser och Datamodellering Foreläsning IV

NORMALISERING. Mahmud Al Hakim

ER-Diagram. Databasutveckling Diagram

Konceptuella datamodeller

Logisk databasdesign

Karlstads Universitet, Datavetenskap 1

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

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

Tentamen för DD1370 Databasteknik och informationssystem

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

Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för:

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

Relationsmodellen och syntetisk databasdesign

Webbprogrammering, grundkurs 725G54

08/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Kursens (återstående) mål Dagens föreläsning

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

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

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

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

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

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

Informationssystem och Databasteknik

Tentamen plus lösningsförslag

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

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

Inga hjälpmedel är tillåtna

Tentamen Databasteknik

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

TDDD12 och TDDD46 Databasteknik. Lena Strömbäck

Annex 1 Lista över olika abonnemang som använts av barnet

Föreläsning 6 Databaser och säkerhet

Reducering till relationsscheman

Introduktion till databaskursen. Välkomna. till kursen. Databasteknik och informationssystem. DD1370 (kursomgång dbtinf12)

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem

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

Databasteknik för D1, SDU1 m fl

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem

Informationssystem och databasteknik

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

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

Objektorientering Användning

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

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

Föreläsning 6: Normalisering & funktionella beroenden


Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Ö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: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Viktigt! Glöm inte att skriva Tentamenskod på alla blad du lämnar in.

Föreläsning 18 Filer och avbildningar

Laborationer - databaser, EDAA20 Programmering och databaser

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra.

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

Databaser design och programmering. Design processen ER- modellering

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

Karlstads Universitet, Datavetenskap 1

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

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

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

Datamodellering 1 Hemsida : Hemsida släktforskning :

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)

Karlstads Universitet, Datavetenskap 1

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

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

IT i organisationer och databasteknik

TDDD52 Databas. Databas. Databas 1/3/13

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

Lösningar till tentamen i EDAF75

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget

Design och underhåll av databaser

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

Modul DB1-1 Databasmodellering

En grundkurs i hemsidor och hur de är uppbyggda

UTVECKLING AV FONDFÖRSÄKRINGSSYSTEM

Introduktion till frågespråket SQL (v0.91)

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

Inkapsling (encapsulation)

Transkript:

Databasbaserad publicering Föreläsning 3 1 Föreläsning 3 Dagens föreläsning går igenom E/R-modellen & Läs om E/R-diagram i kapitel 2-3 i boken "Databasteknik" eller motsvarande avsnitt på http://www.databasteknik.se/webbkursen/er/index.html

Databasbaserad publicering Föreläsning 3 2 Entity Relationship (E/R) modellen E/R-diagram används för att visa strukturen hos en databas. E/R-diagram är ett kraftfullt designverktyg när man skapar en databas. Ett E/R-diagram består av Entiteter (eller enheter, entities på engelska). En entitet kan vara konkret eller abstrakt men är något med unik existens Förhållanden (relationships på engelska) mellan entiteter Entiteter representeras av rektanglar, förhållanden representeras av "diamanter" och linjer mellan entiteterna. En entitet kan ha olika attribut eller egenskaper. Egenskaperna representeras av ellipser anslutna till entiteterna.

Databasbaserad publicering Föreläsning 3 3 Exempel på E/R-diagram Antag att vi vill ha en databas med telefonnummer till olika personer. Vi tänker oss att en person har endast ett nummer. Detta nummer kan inte delas av flera personer. Vi kan definerara entiteten abonnent som kan ha egenskaperna nummer och. Ett E/R-diagram kan då få följande utseende. Egenskapen nummer är understruken eftersom den unikt kan idenfiera varje entitet. abonnent nummer

Databasbaserad publicering Föreläsning 3 4 Dåligt exempel på E/R-diagram Antag att vi vill att varje person kan ha flera nummer. Vi kan då utöka vårt diagram tex så här: nummer3 abonnent nummer2 nummer1 Detta är vanligtvis en mycket dålig lösning, eftersom det sedan är svårt att bygga ut om det visar sig att man vill ha fyra, fem eller fler nummer till varje abonnent.

Databasbaserad publicering Föreläsning 3 5 Bättre exempel på E/R-diagram Det finns två naturliga entiteter som vi kan välja när vi ska modellera vår databas, person och abonnemang. Vi tänker oss till en början att en person kan ha flera telefonabonnemang (godtyckligt många), däremot kan inte ett abonnemang delas av flera personer. Ett E/R-diagram kan få följande utseende: person 1 M har abonnemang personnummer operatör nummer

Databasbaserad publicering Föreläsning 3 6 Förhållanden (relationships) Det finns några grundläggande typer av förhållanden mellan entiteter, förhållanden av olika ordning (cardinality på engelska) ett-till-ett ett-till-många många-till-ett många-till-många1 I exemplet på föregående sida såg vi ett förhållande av typen ett-till-många mellan abonnent och abonnemang. En abonnent kan ha många abonnemang. Det anges av ettan och bokstaven M i E/R-diagrammet. Om vi vill att ett abonnemang ska kunna delas mellan flera personer behöver vi bara ändra ordningsbeteckningarna i diagrammet:

Databasbaserad publicering Föreläsning 3 7 person M har N abonnemang personnummer operatör nummer Bokstäverna M och N anger nu att vi har ett många-till-många-förhållande mellan person och abonnemang. En person kan ha flera nummer och ett nummer kan delas av flera personer.

Databasbaserad publicering Föreläsning 3 8 Relational data structures Relationsdatabaser eller relational data structures är den idag vanligast förekommande typen av databaser. Det finns alternativ, tex objektorienterade databaser, men de har ännu inte fått sitt riktiga genombrott. För relationsdatabser gäller att alla data sparas i tvådimensionella tabeller Varje tabell består av: Heading: Tabell+kolumn. Varje kolumn motsvarar ett attribut (egenskap) i E/R-modellen Body: ett antal tuples (tupler, rader, poster) som innehåller tabellens egentliga data En tabell är matematiskt sett en mängd av rader (poster). Varje rad (post) är ett distinkt, oordnat element. Varje attribut är atomärt, dvs kan endast innehålla ett värde.

Databasbaserad publicering Föreläsning 3 9 Omvandling av E/R-modell till relationsdatabas Det finns en strukturerad metod för att omvandla ett E/R-diagram till en relationsdatabas. I stora drag går det ut på att låta varje entitet representeras av en tabell, där varje kolumn representerar ett attribut. Det krävs lite mer om man har många-till-många-förhållanden vilket vi kommer till på senare föreläsningar. Omvandling av första E/R-exemplet till relationsdatabas: abonnent nummer abonnent Nummer 046-123456 Bo Peterson 040-654321 Sven Svensson

Databasbaserad publicering Föreläsning 3 10 Omvandling av andra E/R-exemplet (det dåliga) nummer3 abonnent nummer2 nummer1 abonnent nummer1 nummer2 nummer3 Bo Peterson 046-123456 040-6657000 Sven Svensson 040-654321 0739-654321 070-654321

Databasbaserad publicering Föreläsning 3 11 Omvandling av tredje E/R-exemplet person 1 M har abonnemang personnummer operatör nummer Här behöver vi två tabeller, en för person och en för abonnemang. Tabellen för person är rättfram: person personnummer Bo Peterson 6502019999 Sven Svensson 7312125555

Databasbaserad publicering Föreläsning 3 12 Tabellen för abonnemang kräver en extra kolumn som innehåller främmande nyckel (foreign key). Främmande nyckel används för att koppla en post i abonnemang till en post i person. Kopplingen sker mellan främmande nyckel i abonnemang och primärnyckel i person. Vi kan (men behöver inte) döpa kolumnen med främmande nyckeln till samma som primärnyckeln. Tabellen får då följande utseende: abonnemang nummer operatör personnummer 046-123456 Tele 2 6502019999 040-654321 Telia 7312125555 040-6657000 Telia 6502019999 0739-654321 Comviq 7312125555 070-654321 Vodaphone 7312125555 Med denna struktur kan varje person ha godtyckligt antal abonnemang utan att databasen måste modelleras om.

Databasbaserad publicering Föreläsning 3 13 Observera att ett personnummer endast får förekomma en gång i tabellen person men flera gånger i tabellen abonnemang. En post i person kan på så vis kopplas till många poster i abonnemang vilket kännetecknar just ett förhållande av typen ett-till-många.