Karlstads Universitet, Datavetenskap 1



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

Karlstads Universitet, Datavetenskap 1

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

Universitetet: ER-diagram

Karlstads Universitet, Datavetenskap 1

Logisk databasdesign

NORMALISERING. Mahmud Al Hakim

Databaser Design och programmering

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

Konceptuella datamodeller

Relationell databasdesign

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

Lösningsförslag till Tentamen,

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

Analytisk relationsdatabasdesign

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

Databasteori. Övningar

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

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

Informationssystem och databasteknik

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

Funktionella beroenden - teori

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

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

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

IT i organisationer och databasteknik

SQL del 2. Christer Stuxberg Institutionen för Informatik och Media

Tentamen plus 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

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

Föreläsning 6: Normalisering & funktionella beroenden

Karlstads Universitet, Datavetenskap 1

TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18

Modul DB1-2 Datamodellering

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

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

Lösningsförslag till Exempel tentamen

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

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

Webbprogrammering, grundkurs 725G54

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

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

Universitetet: ER-diagram e-namn

Structured Query Language (SQL)

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

GIS, databasteknik och kartografi. Kursmaterial för databasdelen

Lösningar till tentamen i EDAF75

Tentamen DATABASTEKNIK - 1DL116

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

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

Lösningsförslag, tentamen i Databaser

2. Redundans 3. Normalformer

FORD ST _ST_Range_V2_ MY.indd FC1-FC3 27/06/ :24:01

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

Relationsdatabasdesign

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. 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).

Grunderna för relationsmodellen!

Exempel-Tentamen III

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

Databasteknik för D1, SDU1 m fl

Karlstads Universitet, Datavetenskap 1

TENTAMEN TDDB77 Databaser och Bioinformatik 22 augusti 2006, kl 14-18

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

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

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

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

Tentamen i Databasteknik

Design och underhåll av databaser

Uppgift 1. (a) Ange tre orsaker hur felaktigheter i en databas kan uppsta. Till varje av dem, ange en lamplig metod som anvands som atgard mot dessa.

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

Tentamen DATABASTEKNIK - 1DL116, 1MB025

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

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

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

Ett arbetsexempel Faktureringsrutin

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

Tentamen Databasteknik

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Databasteori Övningar

Databasteori. Övningar

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

Tentamen för DD1370 Databasteknik och informationssystem

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

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

Databasteknik för D1, SDU1 m fl

Tentamen i Databasteknik

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

Karlstads Universitet, Datavetenskap 1

Universitetet: ER-diagram e-namn

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. TDDB38 - Databasteknik

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

EMPS(NAME, SALARY, DEPT)

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

Transkript:

DAV B04 - Databasteknik KaU - Datavetenskap - DAV B04 - MGö 1 Normalisering Förut sunt förnuft Nu formell metod riktlinjer för att hjälpa till att gruppera attributen (egenskaperna) för varje relation serie av tester KaU - Datavetenskap - DAV B04 - MGö 2 Normalisering Är därmed en formell metod för att identifiera relationer utifrån deras primär- eller kandidatnycklar och de funktionella beroenden som finns mellan deras attribut KaU - Datavetenskap - DAV B04 - MGö 3 Karlstads Universitet, Datavetenskap 1

Mål för normalisering Minska redundansen!!! KaU - Datavetenskap - DAV B04 - MGö 4 Exempel utan redundans Staff staffno SL21 SG37 SG14 sname John White Ann Beech David Ford position Manager Assistant Supervisor salary 30000 12000 18000 branchno B005 Branch branchno B005 baddress 22 Deer Rd, London KaU - Datavetenskap - DAV B04 - MGö 5 Exempel med redundans staffno sname position salary branchno baddress SL21 SG37 SG14 John White Ann Beech David Ford Manager Assistant Supervisor 30000 12000 18000 B005 22 Deer Rd, London KaU - Datavetenskap - DAV B04 - MGö 6 Karlstads Universitet, Datavetenskap 2

Uppdateringsproblem Uppstår eventuellt när redundant data existerar insertion deletion modification KaU - Datavetenskap - DAV B04 - MGö 7 Insättningsproblem i exemplet En ny anställd skall in i databasen Branchinformationen måste matcha informationen i de andra tuplerna Hur lägger jag in information om en ny branch? Måste lägga in nulls på staffno, sname, position och salary... KaU - Datavetenskap - DAV B04 - MGö 8 Borttagningsproblem i exmplet Vad händer om vi tar bort den sista anställda på en branch? KaU - Datavetenskap - DAV B04 - MGö 9 Karlstads Universitet, Datavetenskap 3

Modifieringsproblem i exemplet Uppdatera en branch... måste uppdatera i alla tupler där den branchen finns Risk? KaU - Datavetenskap - DAV B04 - MGö 10 Viktiga egenskaper vid normalisering Får inte förlora data när relationerna delas Ingen ny information får tillkomma om man skulle slå ihop de nya relationerna igen KaU - Datavetenskap - DAV B04 - MGö 11 Funktionella beroenden Beskriver samband mellan attribut i en relation R A B A B A bestämmer unikt B B är unikt beroende av A om varje värde i A ger exakt ett värde av B KaU - Datavetenskap - DAV B04 - MGö 12 Karlstads Universitet, Datavetenskap 4

FB diagram A (determinant) B är funktionellt beroende av A B (dependent) Om vi vet värdet på A och undersöker relationen så kommer vi bara att hitta ett värde på B som har det givna värdet på A Om vi hittar två tupler som har samma värde på A så kommer de också att ha samma värde på B! För ett givet värde på B kan det dock finnas flera olika värden av A KaU - Datavetenskap - DAV B04 - MGö 13 Egenskaper FB 1:N förhållande 1:1 mellan staffno och position 1:N mellan position och staffno StaffNo är determinant i beroendet i normalisering letar vi därmed efter 1:1 förhållanden KaU - Datavetenskap - DAV B04 - MGö 14 FB i Antagande Position och branch bestämmer lönen!" #%$$ '&!" (#%$$ ' #%$$ )*!"!" &+ #%$$ &+ KaU - Datavetenskap - DAV B04 - MGö 15 Karlstads Universitet, Datavetenskap 5

FB i Identifiera KN och PN Alla attribut som inte är en del av PN skall vara funktionellt beroende av PN Finns bara en KN: staffno PN branchno, baddress, (branchno, position), (baddress, position) är determinanter, inte KN KaU - Datavetenskap - DAV B04 - MGö 16 Normalformerna Ju högre normaliseringsgrad desto... starkare, begränsat format Högre NF BCNF 3NF 2NF 1NF mindre sårbart för uppdateringsproblem KaU - Datavetenskap - DAV B04 - MGö 17 1 NF En relation där korsningen av varje rad och kolumn innehåller ett och bara ett värde R A a1 a2 a3 B b1 b1 b2 C c1 c3 c1 KaU - Datavetenskap - DAV B04 - MGö 18 Karlstads Universitet, Datavetenskap 6

Lösning UNF " 1 NF 1. Platta till tabellen varje B-värde på en ny rad nyckel {A, B} 2. Flytta ut till en ny relation R = {A, C} R2 = {A, B} R A a1 a2 a3 B {b1, b2} b2 {b1, b2, b3} C c1 c3 c2 KaU - Datavetenskap - DAV B04 - MGö 19 2 NF Alla attribut som inte är en del av PN måste vara till fullo beroende av PN får därmed inte finnas delberoenden Staff staffno SL21 SG37 SG14 {staffno, sname} sname John White Ann Beech David Ford {position, salary} inte OK! position Manager Assistant Supervisor salary 30000 12000 18000 KaU - Datavetenskap - DAV B04 - MGö 20 3 NF Ingen av de attribut som inte tillhör PN är transitivt beroende av PN staffno branchno branchno baddress Inte OK! staffno SL21 SG37 SG14 sname John White Ann Beech David Ford position Manager Assistant Supervisor salary 30000 12000 18000 branchno B005 baddress 22 Deer Rd, London KaU - Datavetenskap - DAV B04 - MGö 21 Karlstads Universitet, Datavetenskap 7

BCNF Alla determinanter är en KN Skillnad 3NF och BCNF 3NF tillåter A B om B är PN och A inte en KN BCNF insisterar på att A B är tillåtet bara om A är en KN KaU - Datavetenskap - DAV B04 - MGö 22 Karlstads Universitet, Datavetenskap 8