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

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

Lösningsförslag till tentamen för 1E1601

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

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

Idag. Exempel. Exempel modellen (1) Exempel...

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

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

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

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

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

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 för 1E1601

Idag. Exempel. Exempel modellen (1) Exempel...

Fiktiv tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen i Databasteknik

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

GIS, databasteknik och kartografi. Databasmodellering

Fiktiv tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem

GIS, databasteknik och kartografi. Kursmaterial för databasdelen

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen i Databasteknik

Tentamen i. Databasteknik

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

Tentamen i Databasteknik

Tentamen för 1E1601. Måndag 10 mars 2003, kl Alla hjälpmedel tillåtna

Karlstads Universitet, Datavetenskap 1

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

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

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

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

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

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

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

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

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

Databaser design och programmering. Design processen ER- modellering

Karlstads Universitet, Datavetenskap 1

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

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

Relationsdatabasdesign

Konceptuella datamodeller

Databasdesign. E-R-modellen

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

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

NORMALISERING. Mahmud Al Hakim

Grunderna för relationsmodellen!

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

Lösningsförslag till Tentamen,

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

Lösningsförslag, tentamen i Databaser

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 plus lösningsförslag

Databasutveckling Tabeller. tinyint 1 byte (0-255) Upp till 8 bytes

Kappa 2014, lösningsförslag på problem 5

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

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

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

16. Max 2/0/ Max 3/0/0

TDDI 60 Tekniska databaser

Tentamen DATABASTEKNIK - 1DL116

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

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

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

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

Databasteknik för D1, SDU1 m fl

Exempel-Tentamen III

Databaser Design och programmering. Fysisk design av databasen att ta hänsyn till implementationsaspekter: minnesteknik filstrukturer indexering

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

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

Övningsuppgifter #11, Programkonstruktion och datastrukturer

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

Idag. Hur skapar vi och underhåller en databas? Index? Vad är det och varför behövs de? Behöver jag bry mig om index?

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

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Informationssystem och databasteknik

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

Bedömningsanvisningar

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Karlstads Universitet, Datavetenskap 1

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

Att tänka på när du beställer transporter till ( )

Bedömningsanvisningar

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

Databashantering och Beslutsstöd

Lösningsförslag Tentamen, 25 april 03

Modul DB1-1 Databasmodellering

Lösningar till tentamen i EDAF75

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

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

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

Transkript:

Lösningsförslag till tentamen för DD1370 Databasteknik och informationssystem Torsdag 11 dec 2008

1. a) Jag använder kokbokens regler a. En objektklass som innehåller e-term(-er) bildar en tabell b. En objektklass som inte har e-termer men finns på N-sidan av någon 1:N-sambandsklass bildar en tabell Exemplar (Exemplarnr) c. En sambandsklass av högre ordning än 2 bildar en tabell Exemplar (Exemplarnr) d. En M:N-sambandsklass bildar en tabell Exemplar (Exemplarnr) Beställning (Knamn, Typnr, Datum) e. En 1:N-sambandsklass försvinner men 1-sidans objektklass i-term blir e-term i tabellen som bildas av n-sidans objektklass Tillagda attribut är markerade med kursiv stil Exemplar (Exemplarnr, Typnr) Beställning (Knamn, Typnr, Datum) f. En 1:1-sambandsklass hanteras antingen som en 1:N-sambandsklass där man godtyckligt väljer en sida som N-sida eller tar man bort den och slår samman objektklasserna som sambandsklassen binder samman Finns inga 1:1-sambandsklasser så slutliga svaret blir Exemplar (Exemplarnr, Typnr) Beställning (Knamn, Typnr, Datum) 1 av 2

b) En felrapport gäller en enskild maskin och rapporten görs av kunden som hyr maskinen. En tänkbar lösning är Kund Beställning MaskinTyp ÄrAvTyp Exemplar Felrapport Datum Kontrakt Anställd Man får då en extra sambandsklass i egenskapsmatrisen Typ Namn I-termer E-termer Samb Felrapport Knamn, Datum, Exemplarnr Felbeskrivning men problemet med denna lösning är att man inte har något lätt sätt att identifiera rapporter. Så även om lösningen fungerar är det bättre att använda en lite mer komplicerad lösning Kund Beställning MaskinTyp ÄrAvTyp Exemplar K F Felrapport F E F D Datum Kontrakt Anställd Man får då flera extra klasser i egenskapsmatrisen Typ Namn I-termer E-termer Obj Felrapport rapportnr Felbeskrivning Samb K-F rapportnr, Knamn F-D rapportnr, Datum F-E rapportnr, Exemplarnr Med den första lösningen får man vid övergång till databasstruktur Felrapport (Knamn, Datum, Exemplarnr, Felbeskrivning) Medan den andra lösningen ger Felrapport (rapportnr, Felbeskrivning, Knamn, Datum, Exemplarnr) 2 av 2

där de tre sista kommer av upprepad användning av regel b och samtliga tre kommer att vara främmande nycklar. Den andra lösningen fungerar alltså som den första men med en I-term som ger enklare identifiering och som kan användas enkelt om man ska bygga ut yterligare med felåtgärder m.m. 2. a) Jag hittar följande: Tidskriftsnamn beror av ISSN, Allt som börjar på Distr utom DistrNummer beror av just DistrNummer och allt som börjar på Förlag beror av FörlagsNummer, eller ISSN TidskriftsNamn DistrNummer DistributörsNamn, DistrAdress, DistrAdress, DistrTelNr FörlagsNummer FörlagsNamn, FörlagsAdress Med dessa som grund drar jag slutsatsen att (namnen på tabellerna är påhittade men logiska) Tidskrift (ISSN, TidskriftsNamn) Distributör (DistrNummer, DistributörsNamn, DistrAdress, DistrAdress, DistrTelNr) Förlag (FörlagsNummer, FörlagsNamn, FörlagsAdress) skall brytas ut. Kvar blir då endast VadDetNuKanHeta (ISSN, DistrNummer, FörlagsNummer) Men det motsägs lite av uppgiftstexten. Därför drar jag slutsatsen att en tidskrift endast ges ut av ett förlag men (enligt uppgiftstexten) kan distribueras av flera olika distributörer och då passar det bättre att låta FörlagsNummer vara främmande nyckel i Tidskrift och låta den slutliga strukturen bli Tidskrift (ISSN, TidskriftsNamn, FörlagsNummer) Distributör (DistrNummer, DistributörsNamn, DistrAdress, DistrAdress, DistrTelNr) Förlag (FörlagsNummer, FörlagsNamn, FörlagsAdress) Distribution (ISSN, DistrNummer) Vilket skulle motsvara modellen nedan (inte del av lösningen utan finns med av undervisningsskäl) Distributör Distribution Tidskrift UtgesAv Förlag b) Med den ursprungliga strukturen med alla attribut samlade i en enda tabell får man i) Insättningsproblem, man kan t.ex. inte stoppa in en ny distributör utan att veta om åtminstone någon tidskrift som distribueras av den nya distributören och vilket förlag som ger ut denna tidskrift. ii) Borttagningsproblem eftersom man förlorar information om ett förlag från vilket man har en enda tidskrift till fösäljning om man tar bort den tidskriften. iii) Uppdateringsproblem om man säljer många tidskrifter som distribueras av en viss distributör och denna byter adress. Man måste gå igenom hela tabellen för att byta adress på alla ställen där den distributören förekommer 3 av 2

3. a) Vilka avdelningar på 3:e våningen säljer varor som levereras av Dagab? b) Vilka företag levererar mer än en typ av vara? c) Vilka typer av varor säljs på avdelningar med högre medellön än sportavdelningen? 4. a) En primärnyckel är den mängd av attribut man valt för att unikt identifiera en rad i en tabell. Primärnycklar är viktiga just för deras förmåga att hitta en enskild rad i en tabell och för att de, just därför inte kan var utan värde (inget värde i en primärnyckel får vara NULL). b) Ett index är en extra datastruktur med bara nyckelvärden och pekare till poster i databasen och används för att snabba upp sökningar i databasen. 4 av 2