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

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

Karlstads Universitet, Datavetenskap 1

TENTAMEN För kursen. Databasteknik. Ansvarig för tentamen: Anna Palmquist. 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

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

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

Inga hjälpmedel är tillåtna

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

Grunderna för relationsmodellen!

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

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

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

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

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

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

Karlstads Universitet, Datavetenskap 1

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

Konceptuella datamodeller

Logisk databasdesign

Databasdesign. E-R-modellen

7,5 högskolepoäng. Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: Lycka till! /Peter & Petter

Relationsdatabasdesign

Universitetet: ER-diagram

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

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

NORMALISERING. Mahmud Al Hakim

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

Tentamen för DD1370 Databasteknik och informationssystem

Databaser Design och programmering

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

TDDI 60 Tekniska databaser

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

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

Provmoment: Omtentamen 2 (dvs salstentamen 3) för kursen under LP4, TS1A, 21TS1U (VT14P4) Tentamen ges för: För fastighetsmäklare (FM12)

Databaser design och programmering. Design processen ER- modellering

Databaser och Datamodellering Foreläsning IV

Tentamen för DD1370 Databasteknik och informationssystem

Forskningsmetoder i offentlig förvaltning

Exempel-Tentamen III

Provmoment: Omtentamen 1 (dvs salstentamen 2) för kursen under LP4, TS1A, 21TS1U (VT14P4) Tentamen ges för: För fastighetsmäklare (FM12)

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

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

Forskningsmetoder i offentlig förvaltning

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Databasteori. Övningar

Informationssystem och Databasteknik

Ansvarig lärare: Jörgen Larsson Mariann Bourghardt Telefonnummer:

Tentamen DATABASTEKNIK - 1DL116

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

Tentamen för DD1370 Databasteknik och informationssystem

Karlstads Universitet, Datavetenskap 1

Tentamen B1AMO1 Administratörsprogrammet HT2014

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

Tentamen plus lösningsförslag

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

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

Design och underhåll av databaser

Tentamen B1AMO1 Administratörsprogrammet HT2014

7,5 högskolepoäng. Objektorienterad systemutveckling I. Lycka till! /Peter & Petter. Provmoment: Ladokkod: 21OS1B Tentamen ges för:

Studenter i lärarprogrammet GF(11GF20) 46 p G: 28 p VG: 38 p

Databasteknik för D1, SDU1 m fl

Databaser. Vad du ska lära dig: Ordlista

Ladokkod: TentamensKod: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för:

Tentamen ges för: ACEKO14h (MANG, MFÖR, REDO), ACIVE14h, SAMEK16h

Viktigt! Glöm inte att skriva Tentamenskod på alla blad du lämnar in. Skriv inte på bladens baksidor. Helst en uppgift per blad.

Databasteori Övningar

Ladokkod: Studenter i lärarprogrammet GF 11GF20 vt17 tillfälle 1 och vt16 tillfälle 4

Grundläggande programmering med C# 7,5 högskolepoäng

Rättningstiden är i normalfall tre veckor, annars är det detta datum som gäller:

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla

Tentamen i. Databasteknik

Tentamen för DD1370 Databasteknik och informationssystem

Underkänt 0-29oäng Godkänt poäng Väl godkänt poäng

48 p G: 29 p VG: 38 p

Skrivmaterial och eventuella språklexikon

Modul DB1-1 Databasmodellering

TDDI60 Tekniska databaser

Skrivmaterial och eventuella språklexikon

Projektteknik Tentamen TT141B. Skrivmaterial och eventuella språklexikon

DE10,DE3,EK3,CE3,CE4,

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

Relationsmodellen och syntetisk databasdesign

Hjälpmedel: Miniräknare, skrivmateriel (ex. linjal, gradskiva, passare) och Lgr 11

7,5 högskolepoäng. Omvårdnad av patienter med sviktande vitala funktioner, Provmoment: Tentamen 2 och 4 Ladokkod: 61SV01

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

Kvalitets- och miljöstyrning/ Kvalitet och ledningssystem

Tentamen för DD1370 Databasteknik och informationssystem

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

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

OBS!!! Studenter som läste kursen läsåret 2017 och tidigare år svarar på frågorna som finns på de två sista sidorna.

ER-Diagram. Databasutveckling Diagram

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

Transkript:

Databasteknik 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Tentamen NDA01G Öppen för alla Tentamenskod: Tentamensdatum: 2016-11-04 Tid: 14:00-19:00 Hjälpmedel: Inga hjälpmedel är tillåtna Totalt antal poäng på tentamen: 40 poäng För att få respektive betyg krävs: G >= 20, VG >= 32 Allmänna anvisningar: Skriv tentamenskod på varje blad du lämnar in. Skriv tydligt (oläsligt = fel) och motivera dig svar väl. Numrera sidorna och börja varje ny uppgift på ett nytt blad. Om du anser att en fråga är svår att förstå eller felaktigt ställd, skriv ner din tolkning av frågan tillsammans med svaret. Rättningstiden är som längst tre veckor Viktigt! Glöm inte att skriva tentamenskod på alla blad du lämnar in. Lycka till! Ansvariga lärare: Patrick Gabrielsson Petter Dessne Johanna Carlsson Telefonnummer: 033-4354132 033-4354715 1

ALLMÄNT 1. Vilka är dataadministratörens respektive databasadministratörens huvudsakliga (3p) arbetsuppgifter? 2. Diskutera fördelarna med ett databashanterarsystem (DBMS) jämfört med ett (3p) filbaserat system. 3. Redogör noggrant för innehållet i de tre nivåerna i ANSI-SPARC arkitekturen, (3p) samt vad de tre nivåerna kallas. RELATIONSMODELLEN 4. En nyckel är ett viktigt begrepp i relationsmodellen. Ge formella definitioner (2,5p) för följande nycklar: a) Supernyckel b) Kandidatnyckel c) Primärnyckel d) Främmande nyckel e) Alternativ nyckel 5. Begränsningar används i relationsmodellen för att bibehålla datakonsistens. (2,5p) Beskriv följande begränsningar: a) Domänbegränsning b) Null-barhet (dvs, NULL eller NOT NULL) c) Entitetsintegritet d) Referensintegritet e) Generella begränsningar REALISERING 6. Härledda attribut kan implementeras i databasen på två olika sätt. Beskriv dessa (2p) två sätten samt för- och nackdelar med varje metod. 7. Sekundärindex kan specificeras på relationer för att snabba upp utsökningen (1+1p) av data från databasen. a) Ge ett par exempel på situationer där det är lämpligt att skapa ett sekundärt index på en kolumn i en tabell. b) Ge ett par exempel på situationer där det inte är lämpligt att skapa ett sekundärt index på en kolumn i en tabell. 2

MODELLERING 8. Redogör för var och en av följande attributstyper med ett exempel samt (1+1p) förklara hur de skrivs i relationsdatamodellen. a) Härlett attribut b) Sammansatt attribut 9. Ett nyetablerat företags affärsidé är att erbjuda konstnärer att ställa ut sina (4+2p) konstverk i företagets fastigheter. Vid försäljning av konstverk ger konstnärerna en del av sin vinst till företaget. Konceptet har snabbt blivit populärt och företaget har bestämt sig för att köpa in ett skräddarsytt system. Du ska nu modellera databasen till det. I nuläget vill man inte spara några uppgifter om konstverken eller försäljningarna. Företaget äger många olika fastigheter och det ska gå att spara uppgifter om fastighetens adress, fastighetstyp, fastighetsnummer, en beskrivning av fastigheten och antalet rum i fastigheten. Fastigheterna har mellan ett och tio rum. Varje rum har ett rumsnummer, rumsstorlek och eventuellt en konstnär som ställer ut sin konst. Vissa fastigheter står tomma medan andra har många olika utställare. Företaget vill bara spara aktuell data om konstnärerna i databasen, därför ska uppgifterna om de konstnärer som inte längre har en utställning tas bort ur databasen. För att kunna kontakta konstnärerna behöver det finnas uppgifter om konstnärerna namn, adress, mobilnummer och mejladress. Företaget har även ett antal anställda som jobbar i de fastigheter som har utställningar. De anställda flyttas för omväxlingens skull runt mellan de olika fastigheterna. För de anställda vill man spara personnummer, adress, mobil, namn och lön. OBS! Poängsättning på uppgiften görs enligt följande princip: avdrag från full poäng sker med 0.5 poäng för mindre fel och 1 poäng för större fel. Exempel på mindre fel är attribut som felaktigt anges som envärda när de skall vara flervärda, eller felaktigt/saknat maxvärde i en entitetsrelation. Ett exempel på större fel är en saknad entitet eller relation mellan entiteter. Poängsättningen innebär alltså att en lösning som innehåller korrekta delar ändå kan ges 0 poäng. a) Skapa en konceptuell datamodell med attributlista utifrån beskrivningen ovan. Ni får själva fylla i med fler attribut än de som nämns ovan om det behövs. b) Skapa, baserat på den konceptuella datamodellen i uppgift a), en logisk datamodell med attributlista. Ni behöver inte skriva modellen som relationsschema, utan UML-diagram räcker. Främmande nycklar skall inte markeras och ni skall inte heller normalisera modellen. 3

NORMALISERING 10. Följande extension (instans) är given, där staffno utgör primärnyckeln. (2p) staffno sname position salary branchno baddress SL21 John White Manager 30000 B005 22 Deer Rd, London SG37 Ann Beech Assistant 12000 B003 162 Main St, Glasgow SG14 David Ford Supervisor 18000 B003 163 Main St, Glasgow SA9 Mary Howe Assistant 9000 B007 16 Argyll St, Aberdeen SG5 Susan Brand Manager 24000 B003 163 Main St, Glasgow SL41 Julie Lee Assistant 9000 B005 22 Deer Rd, London a) Ange vilken normalform relationen befinner sig i och varför. b) Ge exempel på en insättnings-, borttagnings- respektive modifieringsanomali. 11. Antag följande relation R som beskriver tävlingar och tävlande i världscupen (1+3p) i skidskytte: R(tävlingsId, datum, distans, ort, antalskjutningar, segrare, skidskyttid, skyttnamn, träffprocentstå, träffprocentligg) Följande beroenden, och inga andra, gäller i relationen: fd1: tävlingsid ort fd2: tävlingsid, datum distans, segrare fd3: distans antalskjutningar fd4: skidskyttid skyttnamn, träffprocentstå, träffprocentligg a) Vilka kandidatnycklar finns i relationen, R? b) Normalisera stegvis relationen till BCNF enligt den generella metoden (dvs där samtliga kandidatnycklar beaktas och inte endast primärnyckeln då normaliseringsreglerna appliceras). För varje normalform som ej uppfylls, ange vilket eller vilka beroenden som strider mot normalformen och vilka åtgärder som vidtas i form av nya relationer och förändringar i existerande relationer. 4

SQL Den här tentans SQL-uppgifter berör Dreamhome-databasen. Nedan ser du därför tabellen för de anställda på Dreamhome (Staff), liksom tabellen för hyresobjekt (PropertyForRent) och tabellen för kunder (Client). Staff PropertyForRent Client 12. Företaget vill kunna se vilka hyresobjekt som passar en viss kund. Skriv därför (2p) koden som visar alla objekt som understiger maxrent för kunden med clientno CR76 (John Kay). Välj att visa alla fält för rätt rader i tabellen PropertyForRent (men inte tabellen Client). 13. Bolaget vill premiera dem som har hand om fler än ett hyresobjekt. Skriv (3p) SQL-koden som höjer dessa personers löner med tio procent. (Du ska alltså höja lönen för dem vars staffno förekommer minst två gånger i PropertyForRent i det här fallet SA9, Mary Howe, och SG37, Ann Beach.) 5

14. Dreamhome bestämmer sig nu för att de anställda ska kunna boka företagets (3p) bilar förmånligt. Din uppgift är att med hjälp av SQL-kod skapa tabellen för bokning av dessa bilar. Tabellen, som du döper till CarBooking, ska innehålla följande: carbookingid ett löpnummer som gärna kan vara automatiskt uppräknat regno (registeringsnummer), som här i uppgiften definieras som exakt sex tecken långt. staffno, alltså den anställdas ID från personaltabellen, kan ha upp till fem tecken. starttime, vilket helst skrivs som datum, men textsträng och heltal är också godkänt. Sätt gärna starttime till dagens datum som utgångsvärde (som i Djuriska). endtime som starttime. Inget utgångsvärde ska dock fyllas i per automatik för endtime. carbookingid är primärnyckel. regno, staffno och starttime får inte innehålla null-värden. endtime får innehålla null-värden. Tabellen ska också knytas ihop med personaltabellen (Staff): En person kan ha många bokningar, men en bokning kan inte delas av många personer. Bokningen måste alltså knytas till en existerande anställd och det ska inte gå att lägga in bokningar till personer som inte finns med i Staff-tabellen. Du får själv avgöra var du vill placera tabellens constraints i din kod (på samma rad som kolumndefinitionen eller efteråt). Så här ska tabellen se ut när den är skapad och man har lyckats lägga in en rad. 6