Karlstads Universitet, Datavetenskap 1

Relevanta dokument
Karlstads Universitet, Datavetenskap 1

Karlstads Universitet, Datavetenskap 1

Logisk databasdesign

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

Föreläsning 6: Normalisering & funktionella beroenden

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

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

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

Informationssystem och databasteknik

NORMALISERING. Mahmud Al Hakim

Lösningsförslag till Tentamen,

IT i organisationer och databasteknik

Databaser Design och programmering

Relationell databasdesign

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

Konceptuella datamodeller

Databaser och Datamodellering Foreläsning IV

Uppdelning. Relationell databasdesign, FB Teori Låt R vara ett relationsschema. R 1, R 2,..., R n är en uppdelning av

Tentamen DATABASTEKNIK - 1DL116

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

Webbprogrammering, grundkurs 725G54

Idag. Hur vet vi att vår databas är tillräckligt bra?

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

Karlstads Universitet, Datavetenskap 1

Tentamen plus lösningsförslag

Funktionella beroenden - teori

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

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. Relationsmodellen. Relationer - som tabeller. Relationer som tabeller. Alternativa notationer: Relationsschema

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

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

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

Ö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

Tentamen i. Databasteknik

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

Universitetet: ER-diagram

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

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

Databasdesign. E-R-modellen

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

Tentamen Databasteknik

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

Tentamenskod: Tentamensdatum: Tid: 14:00-19:00. Inga hjälpmedel är tillåtna

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

GIS, databasteknik och kartografi. Kursmaterial för databasdelen

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

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Databasteori. Övningar

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

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

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

Analytisk relationsdatabasdesign

Tentamen för DD1370 Databasteknik och informationssystem

Design och underhåll av databaser

Tentamen för DD1370 Databasteknik och informationssystem

Rättningsmall tenta den 25e oktober Uppgift 1. Uppgift 2. se slides

Databasteori. Övningar

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

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

Tentamen för DD1370 Databasteknik och informationssystem

Databasteknik. Vad är. Vad är databaser bra till? data? föreläsare: Kjell Lindqvist. och NADA. databaser? och. vad är de bra för?

Tentamen i Databasteknik

TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18

Tentamen DATABASTEKNIK - 1DL116, 1MB025

Föreläsning 5: Relationsmodellen

Databaser. Vad du ska lära dig: Ordlista

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

Karlstads Universitet, Datavetenskap 1

Relationsdatabasdesign

Grunderna för relationsmodellen!

Lösningsförslag till Exempel tentamen

Tentamen för DD1370 Databasteknik och informationssystem

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

Databasteori Övningar

TDDI 60 Tekniska databaser

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

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

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

Tentamen för DD1370 Databasteknik och informationssystem

Karlstads Universitet, Datavetenskap 1

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

TENTAMEN TDDB77 Databaser och Bioinformatik 15 mars 2002, kl 14-18

Lösningar till tentamen i EDAF75

Databasteori Övningar

TENTAMEN TDDB77 Databaser och Bioinformatik 19 april 2002, kl 14-18

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

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

Informationssystem och Databasteknik

Informationssystem och Databasteknik

Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet

Tentamen. i Databasteknik. lördagen den 13 mars Tillåtna hjälpmedel: Allt upptänkligt material

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

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

Transkript:

* * * * DAV B04 - Databasteknik! "# $ %'&( ) KaU - Datavetenskap - DAV B04 - MGö 132 Riktlinjer när man vill skapa en databas 1) Designa så att det är lätt att förstå innebörden. Kombinera inte attribut från olika entitetstyper i samma tabell 2) Designa så att inte problem uppstår vid insättning, borttagning eller modifiering 3) Undvik värden i basrelationer som ofta blir NULL. Skapa istället en ny relation KaU - Datavetenskap - DAV B04 - MGö 133 Normalisering Uppdelning i flera relationer Innebär att redundansen i databasen är minskad (eliminerad?) Ingen information försvinner vid normaliseringen Inga falska samband skapas om man gör NATURAL JOIN på tabellerna KaU - Datavetenskap - DAV B04 - MGö 134 Karlstads Universitet, Datavetenskap 1

* Funktionellt beroende (FD) Functional Dependency Är en många-till-en relation från en mängd attribut till en annan i en given relation KaU - Datavetenskap - DAV B04 - MGö 135 Definition av FD Givet en relation R, så är attributet Y i R funktionellt beroende av attributet X i R omm varje X-värde i R är associerat med precis ett Y-värde i R (vid varje tillfälle). Attributen X och Y kan vara sammansatta R.X R.Y KaU - Datavetenskap - DAV B04 - MGö 136 Exempel på funktionellt beroende Relationen EMP_PROJ (i Fig. 14.3b, sida 470) har följande FD: SSN ENAME {PNAME, PLOCATION} {SSN, } HOURS KaU - Datavetenskap - DAV B04 - MGö 137 Karlstads Universitet, Datavetenskap 2

Exempel på funktionellt beroende Andra raden skulle också kunna delas upp i PNAME PLOCATION Även den triviala relationen finns -> osv. KaU - Datavetenskap - DAV B04 - MGö 138 Determinant Vänstra sidan av FD Determinanten kan vara primärnyckel och därmed också kandidatnyckel men måste inte vara det (BCNF 3NF) KaU - Datavetenskap - DAV B04 - MGö 139 Dependent Den högra sidan av ett FD Alla attribut i en relation är funktionellt beroende av primärnyckeln KaU - Datavetenskap - DAV B04 - MGö 140 Karlstads Universitet, Datavetenskap 3

Definition av fullständigt funktionellt beroende Attributet Y i relationen R är fullständigt funktionellt beroende av attributet X i R om det är funktionellt beroende av X och det inte finns någon äkta delmängd Z av X sådan att Y är funktionellt beroende av Z KaU - Datavetenskap - DAV B04 - MGö 141 Exempel på fullständigt funktionellt beroende Relationen EMP_PROJ (i fig. 14.3b, sida 470) Här är {SSN, } primärnyckel (PK), vilket gör att alla attribut kan bestämmas när man vet PK:s värde. Attributen ENAME, PNAME och PLOCATION är alltså funktionellt beroende av PK men inte fullständigt funktionellt beroende eftersom följande gäller: SSN ENAME PNAME PLOCATION KaU - Datavetenskap - DAV B04 - MGö 142 1:a normalformen (1NF) En relation är i första normalformen (1NF) omm de underliggande enkla domänerna innehåller endast skalära värden figur 14.8 och 14.9 KaU - Datavetenskap - DAV B04 - MGö 143 Karlstads Universitet, Datavetenskap 4

2:a normalformen (2NF) En relation är i andra normalformen (2NF) omm relationen är i 1NF och varje attribut som inte ingår i primärnyckeln är fullständigt funktionellt beroende av den figur 14.10 (a) KaU - Datavetenskap - DAV B04 - MGö 144 3:e normalformen (3NF) En relation är i tredje normalformen (3NF) omm relationen är i 2NF och varje attribut som inte ingår i primärnyckeln är icketransitivt beroende av primärnyckeln figur 14.10 (b) KaU - Datavetenskap - DAV B04 - MGö 145 Boyce-Codd normalform (BCNF) En relation är i Boyce-Codd normalform (BCNF) omm varje determinant är en kandidatnyckel (dvs. skulle kunna vara primärnyckel) figur 14.13 KaU - Datavetenskap - DAV B04 - MGö 146 Karlstads Universitet, Datavetenskap 5

Transitivt beroende I EMP_DEPT (i fig. 14.10b) är SSN primärnyckel och det innebär att alla attribut inklusive DNAME och DMGRSSN är funktionellt beroende (FD) av SSN Det finns ytterligare beroenden i tabellen: Om man vet DNUMBER vet man också DNAME och DMGRSSN KaU - Datavetenskap - DAV B04 - MGö 147 Transitivt beroende Vi har ett transitivt beroende från SSN via DNUMBER till DNAME och DMGRSSN SSN DNUMBER {DNAME, DMGRSSN} Transitiva beroenden elimineras genom att splittra tabellen (PROJECT). fig. 14.10 KaU - Datavetenskap - DAV B04 - MGö 148 Vandra mellan normalformerna Allmänt gäller att varje steg till högre normalform görs med PROJECT (splittring av tabell) och tabellen kan återskapas via NATURAL JOIN. Inga informationsförluster uppstår vid dessa operationer ex. finns i figur 14.2 och 14.4 KaU - Datavetenskap - DAV B04 - MGö 149 Karlstads Universitet, Datavetenskap 6

Varning! Vid olämplig design kan falska tupler uppstå vid NATURAL JOIN ex. figur 14.3, 14.5 och 14.6 KaU - Datavetenskap - DAV B04 - MGö 150 Karlstads Universitet, Datavetenskap 7