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

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

Databaser och Datamodellering Foreläsning IV

Logisk databasdesign

Konceptuella datamodeller

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

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

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

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

NORMALISERING. Mahmud Al Hakim

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

Webbprogrammering, grundkurs 725G54

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

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

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem

TDDI60 Tekniska databaser

Tentamen. Databasmetodik Lördag 27 september 2014 kl

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

Tentamen för DD1370 Databasteknik och informationssystem

TDDI 60 Tekniska databaser

Databasteknik för D1, SDU1 m fl

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

Tentamen för DD1370 Databasteknik och informationssystem

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

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

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

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

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

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

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

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

Tentamen för DD1370 Databasteknik och informationssystem

IT i organisationer och databasteknik

Informationssystem och databasteknik

Tentamen för DD1370 Databasteknik och informationssystem

Inga hjälpmedel är tillåtna

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

Karlstads Universitet, Datavetenskap 1

Relationsmodellen och syntetisk databasdesign

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

Databasteknik för D1, SDU1 m fl

Exempel-Tentamen III

Databaser design och programmering. Transaktionshantering och säkerhet säkerhetsproblem fleranvändarproblem transaktioner låsning

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

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!

Tentamen i Databasteknik

Tentamen plus lösningsförslag

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

Viktigt! Glöm inte att skriva Tentamenskod på alla blad du lämnar in.

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem

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

Relationsdatabasdesign

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

Databasutveckling Microsoft T-SQL - Fortsättning. Funktioner GROUP BY HAVING Skapa databaser Skapa tabeller Lite om transaktioshantering

Universitetet: ER-diagram

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Databasdesign. E-R-modellen

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

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

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

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

Databaser - Design och programmering. Säkerhetsproblem. SQL-injektion. Databashanteraren. Transaktion. Exempel. Transaktionshantering och säkerhet

Databaser design och programmering Säkerhetsproblem Databashanteraren SQL-injektion

TENTAMEN DATABASKUNSKAP ITEK12

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

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Lösningsförslag till Tentamen,

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

Databaser design och programmering. Design processen ER- modellering

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

Karlstads Universitet, Datavetenskap 1

Webprogrammering och databaser. 729G28 Webprogrammering och databaser. Kursöversikt. Praktisk info. Webprogrammering. Ändringar mot förra året

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

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.

Tentamen i. Databasteknik

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

Tentamen i Databasteknik

Databasteori. Övningar

Design och underhåll av databaser

Analytisk relationsdatabasdesign

Lösningsförslag Tentamen, 25 april 03

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

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

Datateknik A, Tillämpad datavetenskap, 30 högskolepoäng Computer Science, Applied Computer Science, Basic Course, 30 Credits

Tentamen i Databasteknik

Lite om databasdesign och modellering

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

Tentamen DATABASTEKNIK - 1DL116

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

Tentamen 4,5 hp Delkurs: Databaser och databasdesign 7,5hp Tentander: VIP2, MMD2, INF 31-60, ASP

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

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

Utveckling av webbapplikationer med.net, DVA213 (1 av 5)

Transkript:

Tentamen ISGB01 (delkurs i ISGB24) Databasdesign 7,5 Poäng Datum: 2016-11-02 Tid: 08:15 13:15 Lärare: Peter Bellström, Katarina Groth, Remigijus Gustas Hjälpmedel: Inga Tentamen är på 40 poäng. Gränsen för Godkänd (G) är 20 poäng. Gränsen för Väl Godkänd (VG) är 30 poäng. OBS! Ange anonymitetskod frågenummer och sidnummer upptill på alla inlämnade blad Börja på nytt papper/ny sida för varje uppgift, skriv ditt svar endast på framsidan. LYCKA TILL!

Fråga 1. Begreppsapparaten (3 poäng) Data, schema och databashanterare är tre viktiga begrepp inom databasteori. Förklara dessa tre begrepp noggrant. Fråga 2. Semantisk modellering (ER-modellering) (4 poäng) Ett filmbolag producerar filmer med hjälp av olika skådespelare. En studio har äganderätten till varje film som spelas in och varje studios kan därmed äga ett antal filmer. Skådespelarna kan spela olika roller i olika filmer. I varje film deltar ett antal skådespelare. Alla filmer lagras i databasen med sin titel, årtal, längd och genre. Det finns bara en film som kan ha en viss titel. Både skådespelare och studios lagras med respektive namn och adress. För skådespelarna lagras dessutom ett unikt ID-nummer. Några av de specifika filmgenrerna som ska lagras är Tecknad film och Science fictionfilmer. I de tecknade filmerna agerar vissa skådespelare med sina röster, men deltar inte aktivt. För att få full poäng på denna uppgift ska en ER-modell ritas upp innehållande: A. Entiteter, attribut och primärnycklar (dessa ska vara understrukna) B. Samband och Kardinalitet C. Entiteternas subklasser och superklasser Fråga 3. Designprocessen (3 poäng) Designprocessen består av tre steg. Förklara noggrant varje steg. Din förklaring ska innehålla korrekta namn på de olika stegen och även beskriva vilket resultat som kommer ut av varje steg (och som används som indata till nästa steg i förekommande fall). Även indata till det första steget ska beskrivas. Fråga 4. Attribut I ER-modeller (2 poäng) Förklara innebörden av att ett attribut är härlett och ge ett exempel på ett sådant attribut. Förklara därtill hur det representeras i relationsmodellen. Fråga 5. Översättning av ER-modell till Relationsmodell (5 poäng) Nedanstående ER-modell, Bild 1, ska översättas till en relationsmodell enligt de 10 + 1 stegen som presenteras som kort kokbok i kurslitteraturen (Padron-McCarthy & Risch, 2005). Utför denna stegvisa översättning och beskriv tydligt vilka steg som du använder.

B1 A1 A2 C1 D1 B A M AD N D 1 B2 AC D2 D3 C1 M C C2 D21 D22 Figur 1 Fråga 6. Normalisering (6 poäng) Normalisering används bland annat för att designa bättre och mer korrekta databaser. Padron-McCarthy & Risch (2005) beskriver i sin bok Databasteknik (utgiven av Studentlitteratur) första normalformen som [ ] tabellen ska innehålla atomära värden, dvs högst ett värde per ruta (s. 221) andra normalformen som [ ] 1NF, plus att varje ickenyckelattribut ska vara ffb av varje kandidatnyckel (s. 227) och tredje normalformen som [ ] 2NF, plus att inget icke-nyckelattribut får vara ffb av något annat icke-nyckelattribut (s. 227). Din uppgift blir nu att tillämpa normalformerna så som de är beskrivna av Padron-McCarthy & Risch (2005) på uppgiften nedan (se tabell och text). I ditt svar skall du redovisning hur tabellen/tabellerna ser ut i respektive normalform, primärnycklar skall strykas under och främmande nycklar skall markeras med en stjärna samt pil till det attribut det refererar tillbaka till, och hur du tillämpar respektive normalform för att normalisera tabellen/tabellerna till en högre normalform. För att erhålla mer information om vilka beroenden som måste användas finns också texten nedan som skall ses som ett utdrag ur en intervju med en av behovsägarna. I vår verksamhet och företag är vi bland annat intresserade av att hålla reda på eller ja kunna sök ut vilka album en artist har släppt och vice versa. Det som är viktigt att veta är att vi har artister som släppt flera album och för ett album kan det vara flera artister som varit med. Exempel på detta är när en duo släpper ett album och de årliga samlingsalbumen med Best of som vi släpper i januari varje år. Dessa Best of album säljer mycket bra och låtarna spelas ganska mycket på Spotify vilket vi är stolta över. Det är viktigt att veta att alla artister har ett unikt artistnr och likaså varje album (albumnr). Därtill är det viktigt att veta att det alltid är postnummer som bestämmer ort och inget annat. Avslutningsvis är det som så att varje skrivbolag kan unik identifieras med ett orgnr. Det är nog allt tror jag, lycka till!

albumnr Titel Utgivningsår OrgNr Namn artistnr Namn Utdelningsadress Ort PostNr 1 Två Artister och 2015 1 Bra och moderna 1 Bengt Normalform Lingonstigen 3 Karlstad 68291 en gitarr plattor 1 Två Artister och 2015 1 Bra och moderna 2 Anders Tabell Banangränd 5 Kil 66593 en gitarr plattor 2 Fias bästa 2016 2 Inte så bra och 3 Fia Attribut Melonvägen 7 Grums 66491 moderna plattor 3 Fia och Stina 2014 2 Inte så bra och 3 Fia Attribut Melonvägen 7 Grums 66491 framför bra låtar moderna plattor 3 Fia och Stina framför bra låtar 2014 2 Inte så bra och moderna plattor 4 Stina Modell Fikonvägen 9 Deje 66992 Fråga 7. SQL (10 poäng) I skidbyn Lavinen finns ett antal fjällstugor att hyra. Nedanstående tabeller är från den databas som används för att lagra kunder, stugor samt när stugorna hyrts ut. Tabellen Kund har primärnyckel KundNr, tabellen Fjällstuga har primärnyckel Fastighetsbeteckning och den tredje tabellen KundHyrStuga har en sammansatt primärnyckel med attributen KundNr, Fastighetsbeteckning och HyraFrån. I tabellen KundHyrStuga finns datum som ett attribut. Dessa attribut kan tolkas som att de antingen har datatypen Date eller datatypen Integer. Följande frågor ska besvaras och svaren ska se ut exakt så som i tabellerna som visas: a) Vilka kunder (för-, och efternamn) har tänkt fira julhelgen 2016 (med ankomst senast den 20 dec och avresa senast den 28 december) i en av fjällstugorna? (2p)

b) Hur många stugor är mindre än 50 kvm och har två eller fler bäddar? (2p) c) Vilken är den största stuga som finns på vardera gatan? (2p) d) Hur många gånger har respektive kund bott på Toppstugevägen? Svara med antal, kundnr samt för-och efternamn. Varje namn ska bara förekomma en gång. (4p)

Tabell 1 Fjällstuga Tabell 2 Kund

Tabell 3 KundHyrStuga

Fråga 8. Konkurrenssituationer vid transaktionshantering (5 poäng) Att transaktioner ska hållas isolerade från varandra även om flera transaktioner utförs samtidigt. Transaktionerna ska aldrig kunna se varandras halvfärdiga ändringar. I nedanstående bild har detta trots allt skett. Din uppgift är nu att med hjälp av skrivlås (exclusive lock) och läslås (shared lock) lösa dessa trassliga transaktioner så att båda kan genomföras. Dock får inte deadlock inträffa. a) Förklara vad dessa två lås samt deadlock betyder. (2p) b) Visa och förklara din lösning på problemen i bilden noga. (3p) Summan (summa) på kontot är vid T0=100 Transaktion A Tid Transaktion B Transaktionen påbörjas Läs(summa) summa=summa+100 T1 T2 T3 Skriv(summa) T4 Transaktionen påbörjas : : T5 Läs(summa) ROLLBACK T6 summa=summa 10 T7 T8 Skriv(summa) COMMIT Fråga 9. ACID-Transaktioner (2 poäng) A i ACID-transaktioner står för Atomicitet och D för Durability eller varaktighet. En databas som har kraschat måste kunna återställas och behöver databasen garantera att både A och D har uppfyllts. Vad innebär då A och D? förklara så noggrant du kan. 8