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



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

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

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

Konceptuella datamodeller

NORMALISERING. Mahmud Al Hakim

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

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

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

Inga hjälpmedel är tillåtna

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

Logisk databasdesign

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

Karlstads Universitet, Datavetenskap 1

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

Design och underhåll av databaser

Grunderna för relationsmodellen!

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 24 april 2004, kl 14-18

Relationsdatabasdesign

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

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

Tentamen plus lösningsförslag

Databaser Design och programmering

Databasdesign. E-R-modellen

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

Tentamen DATABASTEKNIK - 1DL116

Tentamen för DD1370 Databasteknik och informationssystem

Universitetet: ER-diagram

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

Tentamen för DD1370 Databasteknik och informationssystem

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

Föreläsning 6: Normalisering & funktionella beroenden

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

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

Analytisk relationsdatabasdesign

Karlstads Universitet, Datavetenskap 1

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

Starta MySQL Query Browser

Webbprogrammering, grundkurs 725G54

Det är fullt tillåtet att göra laborationen innan laborationstillfället.

Exempel-Tentamen III

Databaser. Vad du ska lära dig: Ordlista

Modul DB1-1 Databasmodellering

Databaser och Datamodellering Foreläsning IV

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

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

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

Tentamen för DD1370 Databasteknik och informationssystem

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

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

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

Uppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner

Lite om databasdesign och modellering

Databasteknik för D1, SDU1 m fl

D0004N Databaser I. Greenline. Petter Hedlin / epeehi-4 Rikard Stenmark / rikste-8 Markus Almberg / maralm-5

Manual för version V2

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

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

Relationell databasdesign

TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

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

Modul DB1-2 Datamodellering

Informationssystem och databasteknik

TDDI60 Tekniska databaser

Databasteknik för D1, SDU1 m fl

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Ett arbetsexempel Faktureringsrutin

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Användarmanual NeverLOST webbokning

Laboration 2, MS SQL. Observera. Tips. Förberedelse. Genomförande

TDDI 60 Tekniska databaser

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

Databasdesignspecifikation för Mätvärdeshanteringssystem

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

Funktionella beroenden - teori

Tentamen för DD1370 Databasteknik och informationssystem

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

Tentamen för DD1370 Databasteknik och informationssystem

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

Avvikelserapport. Avvikelserapport. Fantastic Four Page 1

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU

Tentamen i. Databasteknik

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

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

HANDLEDNING ZENIT BILBOKNING

I dokumentet beskrivs hur man i medlemsregistret (MiRiaM) utför en så kallad avancerad sökning.

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

Lösningsförslag till Tentamen,

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

Databasteori Övningar

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

Databaser design och programmering. Design processen ER- modellering

Transkript:

TENTAMEN För kursen DATUM: 2014-08-20 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p, Max 40 p Inga Instruktioner: Skriv tydligt. Börja varje ny uppgift på ett nytt blad. Använd bara en sida av varje papper. Motivera dina svar väl. 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. Skriv födelsedatum på varje blad som lämnas in. Lycka till! Cecilia, Anna & Patrick

ALLMÄNT 1. (2+2 p) Vid införande av databassystem i organisationer som tidigare haft flera separata system för olika uppgifter eller verksamhetsdelar sker ett paradigmskifte, som har med förhållandet mellan data och applikationer att göra. a) Beskriv detta paradigmskifte i ord. b) Antag att vi har en säljande verksamhet med tre olika funktioner: 1) ta emot beställningar från kunder 2) lagerhållning och 3) fakturering. Illustrera skillnaden mellan de två ansatserna till design av informationssystem genom att schematiskt visa hur systemen ser ut före och efter införande av en databasbaserad lösning. 2. (2+2 p) En central del i ANSI/SPARC-modellen är dataoberoende. a) Definiera och beskriv de två typerna av dataoberoende som finns i ANSI/SPARC. Observera att du inte skall redogöra för hela modellen, utan endast det som har med dataoberoende att göra. b) Illustrera betydelsen av dataoberoende genom att välja ett konkret exempel på en databas och beskriva hur dataoberoendet underlättar underhåll och drift av databasen. Du skall beskriva två situationer, en för vardera typen av dataoberoende. 3. (2 p) a) Definiera begreppet vy och redogör för hur vyer förhåller sig till basrelationer. b) Vilka principer gäller för uppdatering av vyer? RELATIONSMODELLEN 4. (3 p) Betrakta följande relation, som innehåller uppgifter om studenter vid Högskolan i Borås: R=(persNr, login, förnamn, efternamn, gatuadress, postnr, ort, mobiltfn) a) Ange minst 3 supernycklar i relationen, som samtliga innehåller attributet login. b) Ange minst 2 kandidatnycklar till relationen. c) Ange vilken du anser vara den mest lämpliga primärnyckeln i relationen. Motivera ditt val! 5. (2 p) Vilka överväganden måste göras när domänen till ett attribut skall definieras? Ge en generell förklaring och illustrera med ett exempel.

REALISERING 6. (2 p) Vilka två typer av index finns det och vad är skillnaden mellan dem? 7. (3 p) Ett av de största hoten mot ett databassystem är att hårdvaran där data lagras fallerar, till exempel genom en hårddiskkrasch. Vilka åtgärder kan vidtas, dels för att skydda sig mot detta och dels för att garantera att ingen data förloras vid en krasch? Ge en utförlig redogörelse! MODELLERING 8. (2 p) Ange och beskriv de faser som ingår i databasdesignprocessen enligt Connolly och Begg. 9. (4+2p) Din uppgift är att skapa en databas för en nätauktionsplats (budet.net). Du ska representera ägare, kunder, varor som auktioneras ut och de bud som kommer in för en viss vara och sambanden mellan dessa. För ägare ska du registrera ägarid, mailadress och kontonummer. För de varor som ska auktioneras ska du registrera varunummer, kategori (bil, cykel, elektronik, musik, bok, heminredning, kläder eller annat), ägare, utgångspris och de bud som kommit in för just den varan. För dessa bud ska du registrera vilken vara budet gäller, budnummer (löpande nummer från 1 och uppåt), ankomsttid, kunden som gett budet och det erbjudna priset. För kunderna ska du registrera kundnummer, kundsignatur och kundens mailadress. 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 UMLdiagram räcker. Främmande nycklar skall inte markeras och ni skall inte heller normalisera modellen.

NORMALISERING Ange i dina lösningar om du utgår från Codds definitioner av normalformerna, eller Connolly & Beggs förenklade definitioner. 10. (1p) Ge ett exempel på en relation som uppfyller 2NF, men inte 3NF. 11. (1+4 p) Relationen R innehåller uppgifter om fjärilsobservationer i projektet Svensk Dagfjärilsövervakning. Projektet har ett antal frivilliga personer runt om i landet som regelbundet inventerar fjärilar i ett visst område. Uppgifterna rapporteras in och skall lagras i en databas för att ge underlag till forskning om fjärilarnas utbredning i Sverige. Den onormaliserade relationen R ser ut på följande sätt: R(platsId, platsnamn, datum, väderkod, rappid, rappnamn, artid, artnamn, antalm, antalf) platsid (t.ex. P171) identifierar unikt en inventeringsplats och platsnamn (t.ex. Östra bangården, Sveg) är benämningen på platsen. datum anger när en viss inventering gjordes och väderkod används för att ange hur vädret på platsen var vid observationstillfället. rappid är unikt för de frivilliga rapportörerna, vars namn såklart finns i rappnamn. En fjärilart definieras av ett artid (exv. A87) och artnamn är det svenska namnet (exv. Nässelfjäril). antalm och antalf, slutligen, anger hur många hanar respektive honor av arten som observerades. Följande funktionella beroenden, och inga andra, gäller i relationen: platsid platsnamn rappid rappnamn platsid rappid artid artnamn artid, platsid, datum antalm, antalf platsid, datum väderkod Utgå från de funktionella beroendena ovan (och inga andra) och normalisera relationen R genom att utföra följande uppgifter: a) Vilken/vilka kandidatnycklar finns i R? b) Normalisera stegvis relationen till BCNF. 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. SQL Nedan visas databasschemat för ett enkelt hyrbilsbokningssystem, där en Kund kan boka ett Fordon från ett visst Uthyrningsställe och måste återlämna fordonet till samma uthyrningsställe. En Bokning har ett fråndatum och ett tilldatum vilka består av både datum och tid. Varje Fordon har en viss dagshyra. I schemat står PK för Primary Key (primärnyckel) samt FK för Foreign Key (främmande nyckel), där pilarna i schemat visar vilken tabell som

den främmande nyckeln refererar till. Ett kolumnnamn med fet stil i schemat indikerar att kolumnen inte accepterar NULL, annars accepterar kolumnen NULL. Använd databasschemat för att besvara nedanstående frågor. 12. (2 p) Skriv en SQL-sats som returnerar antalet bokningar per fordon. Endast de fordon som har bokats minst 2 gånger skall var med i listan. Visa Registreringsnummer samt antal bokningar per fordon, uttryckt som [Antal Bokningar], i resultatet. Sortera på Registreringsnummer i fallande ordning. 13. (2 p) Skriv en SQL-sats som listar vilka fordon som var uthyrda (bokade) någon gång mellan '2013-05-01 08:00' och '2013-05-31 20:00' (dvs. inte tillgängliga för uthyrning till andra kunder under perioden). Dessutom skall endast fordon som bokades från uthyrningsställen med en webbsida (dvs. där Webbsida inte är lika med NULL) finnas med i resultatet. Visa uthyrningsställets Namn, kundens Efternamn och Fornamn, Registreringsnummer, Modell, FranDatum samt TillDatum i resultatet. 14. (2 p) Skriv en SQL-sats som returnerar samtliga fordon som inte har några bokningar från kunder som bor på en ort som börjar på 'B'. Registreringsnummer och Modell skall finnas med i resultatet. Sortera på Registreringsnummer i stigande ordning. OBS! Frågan skall även visa de fordon för vilka det inte finns några bokningar i tabellen Bokning.