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

Relevanta dokument
Relationsdatabasdesign

Konceptuella datamodeller

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

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

Databasdesign. E-R-modellen

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

Reducering till relationsscheman

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

NORMALISERING. Mahmud Al Hakim

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

Grunderna för relationsmodellen!

Logisk databasdesign

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

Relationsmodellen och syntetisk databasdesign

TENTAMEN. TDDD12 Databasteknik TDDD46 Databasteknik. 16 augusti 2010, kl 14-18

Karlstads Universitet, Datavetenskap 1

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

Karlstads Universitet, Datavetenskap 1

Databaser Design och programmering

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

Databaser. Vad du ska lära dig: Ordlista

Tentamen för DD1370 Databasteknik och informationssystem

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

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

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

Föreläsning 6: Normalisering & funktionella beroenden

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

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

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

Informationssystem och Databasteknik

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

Lite om databasdesign och modellering

TENTAMEN TDDB77 Databaser och Bioinformatik 17 mars 2005, kl 8-12

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

Lösningsförslag, tentamen i Databaser

TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18

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

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

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

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

Exempel-Tentamen III

Informationssystem och databasteknik

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem

Analytisk relationsdatabasdesign

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

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

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

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

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

Tentamen DATABASTEKNIK - 1DL116

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

Lösningar till tentamen i EDAF75

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

Tentamen plus lösningsförslag

Databaser design och programmering. Design processen ER- modellering

IT i organisationer och databasteknik

Relationell databasdesign

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

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

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

IT i organisationer och databasteknik

Informa5onsmodellering

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 för DD1370 Databasteknik och informationssystem

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

Föreläsning 5: Relationsmodellen

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

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

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

Databasspråket SQL - online.

Databaser - Design och programmering. Operationer i relationsalgebra. Att söka ut data. Exempel DBschema. Att plocka ut data, forts

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

Databasspråket SQL - online.

EMPS(NAME, SALARY, DEPT)

Tentamen för DD1370 Databasteknik och informationssystem

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

Final Exam DATABASE TECHNOLOGY - 1DL300

TENTAMEN TDDB77 Databaser och Bioinformatik 12 juni 2007, kl 14-18

Universitetet: ER-diagram

TDDI60 Tekniska databaser

TDDD12 och TDDD46 Databasteknik. Lena Strömbäck

Relationsalgebra. Varför behöver jag lära mig relationsalgebra?!

Modul DB1-1 Databasmodellering

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

TDDD52 Databas. Databas. Databas 1/3/13

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

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

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

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

Databasspråket SQL - online.

Tentamen. TDDB38 - Databasteknik

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!

Webbprogrammering, grundkurs 725G54

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

Informationssystem och Databasteknik

Transkript:

2008-04-07 TDDD12 Lecture 3: EER and mapping E 1 TDDD12 Database Technology Concepts learned this far Lecture 3: EER/ER and mapping to relations by Juha Takkinen 2008-04-07 1 2 2008-04-07 TDDD12 Lecture 3: EER and mapping E 2 3 2008-04-07 TDDD12 Lecture 3: EER and mapping E 3 4 2008-04-07 TDDD12 Lecture 3: EER and mapping E 4 Steg 1: För varje stark entitet E, skapa en relation som har samma enkla attribut som E. Observera: Kandidatnycklarna i E blir också kandidatnycklar i R. Vi väljer en som primärnyckel. Steg 2: För varje svag entitet W med ägarentitet E skapa en relation R som har samma enkla attribut som W. Lägg också till primärnyckelattributen från relationen som motsvarar E. 5 2008-04-07 TDDD12 Lecture 3: EER and mapping E 5 6 2008-04-07 TDDD12 Lecture 3: EER and mapping E 6

2008-04-07 Steg 3: För varje binär 1:1-relation, identifiera relationerna som motsvarar de relaterade entiteterna, S och T. Välj en av dessa och lägg till primärnyckeln från en av dem som främmande nyckel i den andra. 7 2008-04-07 TDDD12 Lecture 3: EER and mapping E 7 8 2008-04-07 TDDD12 Lecture 3: EER and mapping E 8 Steg 4: För varje binär 1:N-relation, identifiera relationerna som motsvarar de inkommande entiteterna, S och T. Välj relationen på 1-sidan och lägg till dess primärnyckel som främmande nyckel i relationen på N-sidan. Steg 5: För varje binär M:N-relation, identifiera relationerna som motsvarar inkommande entiteter. Skapa en ny relation R och använd primärnycklarna från S och T som främmande nycklar i R. Dessa två nycklar bildar också tillsammans primärnyckel i R. Om det finns attribut på relationen läggs dessa också till i R. 9 2008-04-07 TDDD12 Lecture 3: EER and mapping E 9 10 2008-04-07 TDDD12 Lecture 3: EER and mapping E 10 Steg 6: För varje n:är relation med n > 2, skapa en ny relation S som innehåller primärnycklarna från de inkommande relationerna som främmande nycklar. 11 2008-04-07 TDDD12 Lecture 3: EER and mapping E 11 12 2008-04-07 TDDD12 Lecture 3: EER and mapping E 12

2008-04-07 TDDD12 Lecture 3: EER and mapping E 13 Det resulterande schemat Steg 7: För varje flervärt attribut A i R, som inte är primärnyckel, skapa en ny relation R som innehåller ett attribut för varje attribut i A och primärnyckeln för R som främmande nyckel. SName FName Address Sex SupervisedBy Departm: Name Number Mgr Startdate Project: Name ContrBy Relative: Enr Name Address Sex WorksAt: Employ. Departm. WorksFor: Employ. Project Hours 13 14 2008-04-07 TDDD12 Lecture 3: EER and mapping E 14 Några frågor: Varför översatte vi inte det härledda attributet? Spelar det någon roll vilken sida man sätter de främmande nyckeln på vid översättning av 1:1-relationer? Varför? Kan man tänka sig att vi översätter 1:1- och 1:N-relationer på något annat sätt? När? Varför? E Steg 8: Mappa specialisering till relationer ENumber Employee Teleph o Technician Administrator 15 2008-04-07 TDDD12 Lecture 3: EER and mapping E 15 16 2008-04-07 TDDD12 Lecture 3: EER and mapping E 16 E E Fyra möjligheter för översättning Variant 1: Skapa en relation R för C med alla attribut i C. Skapa sedan en relation R i för varje subklass S i med alla attribut från S i och primärnyckeln från R 17 2008-04-07 TDDD12 Lecture 3: EER and mapping E 17 18 2008-04-07 TDDD12 Lecture 3: EER and mapping E 18

2008-04-07 TDDD12 Lecture 3: EER and mapping E 19 Exempel variant 1 E Administrator: Variant 2: Skapa en relation för varje subklass S i. Attributen för varje relation är attributen i C och attributen från S i. Fungerar bra för total eller partiell, disjunkt eller överlappande. 19 20 2008-04-07 TDDD12 Lecture 3: EER and mapping E 20 Exempel variant 2 E Administrator: Fungerar bra endast för disjunkt och total. Varför? Variant 3: För disjunkta subklasser. Skapa en relation R med alla attribut från C och alla subklasserna S i. Lägg också till ett typattribut för att skilja mellan subklasserna. 21 2008-04-07 TDDD12 Lecture 3: EER and mapping E 21 22 2008-04-07 TDDD12 Lecture 3: EER and mapping E 22 Exempel variant 3 E JobType Bra för disjunkt och partiell. Varför? Variant 4: Skapa en relation R med alla attribut från C och alla subklasser S i. Lägg också till ett flaggatribut F i till R för varje subklass S i. 23 2008-04-07 TDDD12 Lecture 3: EER and mapping E 23 24 2008-04-07 TDDD12 Lecture 3: EER and mapping E 24

2008-04-07 TDDD12 Lecture 3: EER and mapping E 25 Exempel variant 4 De fyra varianterna Teleph. Sal. TFlag AFlag Administrator: Administrator: JobType Bra för total, överlappande, disjunkt eller partiell. TFlag AFlag 25 26 2008-04-07 TDDD12 Lecture 3: EER and mapping E 26 Hur ska man välja? När man har disjunkt eller överlappande ärvning? Total eller partiell ärvning? Hur mycket data finns på de olika nivåerna? Hur viktiga är de för databasen? När det finns många eller få gemensamma attribut i superklassen? Många eller få speciella attribut i subklasserna? Finns det relationer från de olika subklasserna? EER to Relations Step 9: Mapping of nion Types a) If the defining superclasses have different primary keys, introduce a surrogate key in the union relation and use it as a foreign key in the superclasses. B CompanyID Y u Z C PersonID Y(CompanyID, B, XID) Z(PersonID, C, XID) A X X(XID, A) 27 2008-04-07 TDDD12 Lecture 3: EER and mapping E 27 28 2008-04-07 TDDD12 Lecture 3: EER and mapping E 28 EER to Relations Step 9: Mapping of nion Types Exampel: LARM-dagarna Town a) If the defining superclasses use the same primary key, no need for surrogate key. Name PID PhoneNum OrgNr Street Address PostNum B A PersonID Y u X Z C PersonID Y(PersonID, B) Z(PersonID, C) X(PersonID, A) * No FKs in Y and Z, unless total participation (error in figure 7.7 in the book). 1 1 Person is-contact-for o Teacher Student u N Responsible Organization N 1 displays M organizes Exhibition ID Description 29 2008-04-07 TDDD12 Lecture 3: EER and mapping E 29 30 2008-04-07 TDDD12 Lecture 3: EER and mapping E 30

2008-04-07 TDDD12 Lecture 3: EER and mapping E 31 Bra design? Kan man vara säker på att den databas som resulterar från en översättning har en bra design? Konfronterad med en relationsdatabas hur kan vi veta om den har en bra design? Vad är bra databasdesign? Fyra informella mått Ett formellt mått: Normalisering Informella designriktlinjer Lätt att förklara semantiken för ett relationsschema Reducera reduntant information i dina tupler Redundans förorsakar anomalier: Insättningsanomali Borttagningsanomali Modifieringsanomali EMP( EMPID, EMPNAME, DEPTNAME, DEPTMGR) 123 Smith Research 999 333 Wong Research 999 888 Borg Administration null 31 32 2008-04-07 TDDD12 Lecture 3: EER and mapping E 32 Informella designriktlinjer, forts. Reducera NLL-värden i tupler Varför tnyttja utrymmet effektivt ndvik kostsamma join Förhindra möjligheten att generera falska (spurious) tupler Kartesisk produkt genererar felaktiga tupler Endast join över primärnyckel/främmande nyckel 33 2008-04-07 TDDD12 Lecture 3: EER and mapping E 33