Lösningsförslag Tentamen, 25 april 03



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

Tentamen plus lösningsförslag

Exempel-Tentamen III

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

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Tentamen i Databasteknik

Lösningsförslag till Exempel tentamen

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

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: Anna Palmquist. Förfrågningar: Anslås inom 3 veckor

Relationsdatabasdesign

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

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

Logisk databasdesign

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

Lösningar till tentamen i EDAF75

Lite om databasdesign och modellering

Tentamen i Databasteknik

Databaser Design och programmering

Konceptuella datamodeller

Grunderna för relationsmodellen!

Lösningsförslag till Tentamen,

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

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

Relationell databasdesign

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

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

Tentamen för DD1370 Databasteknik och informationssystem

Ö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 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

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)

Tentamen för DD1370 Databasteknik och informationssystem

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

Databaser och Datamodellering Foreläsning IV

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

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

KTH Matematik kontrollskrivning nr 1 i SF1624 för IT(CINTE1) & ME(CMIEL1) 12 november 2007, kl

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

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

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

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

Relationsmodellen och syntetisk databasdesign

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 kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Universitetet: ER-diagram

NORMALISERING. Mahmud Al Hakim

Informationssystem och databasteknik

Webbprogrammering, grundkurs 725G54

Databasteori Övningar

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

Karlstads Universitet, Datavetenskap 1

Exempel-tentamen 1. + Lösningsförslag. Inga hjälpmedel är tillåtna.

Föreläsning 5: Relationsmodellen

Karlstads Universitet, Datavetenskap 1

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

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

Starta MySQL Query Browser

Relationskalkyl (RK)

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

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

Föreläsning 6: Normalisering & funktionella beroenden

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

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

Databasdesign. E-R-modellen

Funktionella beroenden - teori

SQL. Structured Query Language. Frågespråk för att används för. Kommandon. data åtkomst data manipulation

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

An English version of the questions is found at the back of each page.

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

TDDI 60 Tekniska databaser

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

DIVISIONSEXEMPEL RELATIONSALGEBRA OCH SQL. r s använder vi för att uttrycka frågor där ordet alla figurerar:

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

IT i organisationer och databasteknik

Informationssystem och Databasteknik

Fiktiv tentamen för DD1370 Databasteknik och informationssystem

Analytisk relationsdatabasdesign

Tabeller och kolumner SQL. Lägga till en ny post. Lägga till en ny post

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

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

Lösningsförslag, tentamen i Databaser

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

Företagsmodellering i UML

IT i organisationer och databasteknik

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

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

Tentamen för DD1370 Databasteknik och informationssystem

Design och underhåll av databaser

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

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

Tentamen DATABASTEKNIK - 1DL116

Laborationer - databaser, EDAA20 Programmering och databaser

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

Transkript:

Lösningsförslag Tentamen, 25 april 03 Uppgift 1 Kommentar: Svårigheterna ligger i att differentiera mellan BIL och BILMODELL och MOTOR och MOTORTYP. Båda avbildare ett sk. powertype-förhållande (templatecopy) mellan tex en tillverkad eller såld bil och bilen som katalog-objekt. På samma sätt för MOTOR och MOTOR-typen. En annan svårighet kan vara att skilja mellan instanser och klasser. I texten exemplifierades ett antal klasser via dess instanser. Dessa ska inte modelleras på typ (eller klass-) nivå. Uppgift 2 a)

b) Det

Kommentar: Det saknas en sk. swim-lane i bilden ovan. Den är tänkt att skära bilden i två delar vertikalt ungefär till höger om Avsluta-aktiviteten. Den vänstar delen av modellen avbildar då aktivitetsflödet utfört av KUND:en och den högra av BANKOMAT-SYSTEMET. Uppgift 3 R(A, B, C, D, E, F, G) S(H, I, J, K, L, M, N) AD EF A F F G ***************** H KL KL M M H a) Primärnyckel för R blir ABCD Primärnyckel för S blir HIJN. Här finns många alternativ-nycklar. IJN måste dock alltid ingå i PN (de bestäms inte funktionellt av ngt annat), i övrigt kan en av H eller M eller KL väljas. b) Från 1 NF till 2NF: Vi har R(A, B, C, D, E, F, G) S(H, I, J, N, K, L, M) R bryter mot 2NF pga att F och G är funktionellt bestämda av bara en del av PN (nämligen A). Således bryts A, F och G ut till en egen tabell: R (A, F, G) R(A, B, C, D, E) S bryter också mot 2NF pga K, L och M är bestämda av bara H (och inte av IJN alls). Således bryts H, K, L, M ut till en egen tabell: S (HKLM) S(HIJN) Från 2NF till 3NF: R bryter mot 3NF pga det finns ett transitivt beroende mellan A och G (dvs A F och F G och F utgör inte PN eller ingår i PN) R (F, G) R (A, F) R(A, B, C, D, E) S bryter också mot 3NF pga att det finns ett transitivt beroende mellan H och M. Notera att fast det finns cirkulära beroenden här (dvs H KL och KL M och M H) så har vi bara ett st transitivt beroende pga H utgör PN. Hade vi valt PN annorlunda tidigare hade resultatet blivit annorlunda här. Det hade även blivit annorlunda om vi tagit hänsyn till alternativnycklar och inte bara PN. Kommentar rättning: En väl genomförd analys av normalformer map både vald PN och alternativnycklar kan kompensera mindre felaktigheter i övrigt. S (HKL) S (KLM)

S(HIJN) Uppgift 4 ANVÄNDARE(Förnamn, Efternamn, ForwardFNamn, ForwardENamn) MEDLEMSKAP(Fnamn, Enamn, Knamn) KONFERENS(Namn, ÄgarFNamn, ÄgarENamn) UNDERKONFERENS(Namn, MinKonferens) MEDDELANDE(AvsändarFN, AvsändarEN, Tidpunkt) BREV (AvsändarFN, AvsändarEN, Tidpunkt, TillMottagarFN, TillMottagarEN) KONFERENSINLÄGG(AvsändarFN, AvsändarEN, Tidpunkt, Konferensnamn) FELBESKED(AvsändarFN, AvsändarEN, MeddelandeTidpunkt, FelTidpunkt) Främmande nycklar: ANVÄNDARE.(ForwardENamn, ForwardFNamn) << ANVÄNDARE.(Förnamn, Efternamn) MEDLEMSKAP.(Fnamn, Enamn) << ANVÄNDARE (Förnamn, Efternamn) MEDLEMSKAP.Knamn << KONFERENS.Namn KONFERENS.(ÄgarFNamn, ÄgarENamn) << ANVÄNDARE.(Förnamn, Efternamn) UNDERKONFERENS.MinKonferens << Konferens.Namn UNDERKONFERENS.Namn << Konferens.Namn MEDDELANDE. (AvsändarFN, AvsändarEN) << ANVÄNDARE.(Förnamn, Efternamn) BREV.(AvsändarFN, AvsändarEN, Tidpunkt) << MEDDELANDE(AvsändarFN, AvsändarEN, Tidpunkt) BREV.(TillMottagarFN, TillMottagarEN) << ANVÄNDARE(Förnamn, Efternamn) KONFERENSINLÄGG. (AvsändarFN, AvsändarEN, Tidpunkt) << MEDDELANDE(AvsändarFN, AvsändarEN, Tidpunkt) KONFERENSINLÄGG.Konferensnamn << KONFERENS.Namn FELBESKED.(AvsändarFN, AvsändarEN, MeddelandeTidpunkt) << MEDDELANDE(AvsändarFN, AvsändarEN, Tidpunkt)

Uppgift 5 a) SELECT F1.film, F2.film FROM FÖRESTÄLLNING F1, FÖRESTÄLLNING F2 WHERE F1 <> F2 AND NOT EXISTS (SELECT bio /* får inte finnas bio som F1-filmen gått på som inte F2-filmen gått på */ FROM FÖRESTÄLLNING WHERE film = F1.film AND bio NOT IN (SELECT bio /* alla biografer för F2-filmer */ from FÖRESTÄLLNING F WHERE F.film = F2.film)) AND NOT EXISTS (SELECT bio /* får inte finnas bio som F2-filmen gått på som inte F1-filmen gått på */ FROM FÖRESTÄLLNING WHERE film = F2.film AND bio NOT IN (SELECT bio /* alla biografer för F1-filmer */ from FÖRESTÄLLNING F WHERE F.film = F1.film)) b) Akira_biografer(namn) PI(bio)( (SIGMA (regissör = Akira Kurosawa ) FILM) JOIN FÖRESTÄLLNING) film=namn Icke_Akira_biografer PI(namn) BIOGRAF Akira_biografer Gruppering(Bio, Antal) bio F COUNT(film) (FÖRESTÄLLNING JOIN Icke_Akira_biografer) bio=namn Max F MAX(Antal) (Gruppering) Svar PI(Bio) (SIGMA Gruppering.Antal=Max.Antal (Gruppering X Max)) Uppgift 6 a) Svaret är ja. Relationsmodellen förbjuder icke-atomära attribut av vilket följer att alla översättningsregler från UML (eller från ER-schema) måste generera tabeller med sådana attribut (atomära attribut). Således översätts många-till-många relationer (associationer) och flervärda attribut till egna tabeller. Ofta hamnar man även i 3NF. Har man konstruerat ett bra konceptuellt schema så har man skapat klasser som inte blandar olika företeelser, och då får man automatiskt ett relationsschema i 3NF. Att inte få ett schema i 3NF indikerar att man klumpat samman vitt skilda företeelser i en och samma klass. Exempelvis en klass med attributen (personnr, civilstånd, registreringsnr, bilmodell). Den här klassen försöker modellera både bilar och personer på samma gång, vilket sällan är lämpligt b) För det mesta är det bra att gå till 3NF. Men ett schema i 3NF kan komma att innehålla många relationer, vilket kan kräva många joinoperationer vid frågebearbetning, vilket är tidskrävande.