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

Relevanta dokument
Tentamen NDA01G Öppen för alla. Tentamenskod: 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 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

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

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.

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

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

Forskningsmetoder i offentlig förvaltning

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

Forskningsmetoder i offentlig förvaltning

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

Konceptuella datamodeller

Logisk databasdesign

Tentamen B1AMO1 Administratörsprogrammet HT2014

Databaser och Datamodellering Foreläsning IV

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

SYST14h, Systemvetarutbildningen. Tentamensdatum: Tid: Tentamenstiden är tre timmar, 09:00 12:00. för betyget VG krävs minst 53 poäng

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

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

Databaser design och programmering. Design processen ER- modellering

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

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

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

skriftlig tentamen 21SH1A Administratörprogrammet

Tentamen B1AMO1 Administratörsprogrammet HT2014

Provmoment: Tentamen Ladokkod: 41F07A Tentamen ges för: TGITT17h, IT-tekniker

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

Tentamen DATABASTEKNIK - 1DL116

Grunderna för relationsmodellen!

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

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

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?

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

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

Projektteknik Tentamen TT141B. Skrivmaterial och eventuella språklexikon

Kvalitets- och miljöstyrning/ Kvalitet och ledningssystem

Databasteknik för D1, SDU1 m fl

Administratörprogrammet

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

Svenska språket i högre utbildning; en introduktion Provmoment: Språkstruktur Ladokkod:TE11 Tentamen ges för: 15 högskolepoäng.

Tentamen för DD1370 Databasteknik och informationssystem

NORMALISERING. Mahmud Al Hakim

För att få respektive betyg krävs: 25 för godkänt, 37,5 för väl godkänt (obs betyget gäller tentan, inte kursen som helhet)

Karlstads Universitet, Datavetenskap 1

Inga hjälpmedel är tillåtna. 100 poäng

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

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

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

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

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

Tentamen för DD1370 Databasteknik och informationssystem

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

Databaser. Vad du ska lära dig: Ordlista

Tentamensdatum: Tid: Tentamenstiden är fyra timmar, 09:00 13:00

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

Klinisk omvårdnad: Somatisk hälsa, ohälsa och sjukdom Provmoment: Tentamen 2 Ladokkod: Tentamen ges för: SSK 08. 3,0 högskolepoäng.

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

Webbprogrammering, grundkurs 725G54

Inga hjälpmedel är tillåtna. 100 poäng

Databaser Design och programmering

Tentamensdatum: Tid: Tentamenstiden är fyra timmar, 09:00 13:00. för betyget VG krävs minst 30 poäng

Provmoment: Ladokkod: Tentamen ges för: TentamensKod: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

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

Samhällsvetenskaplig metod, 7,5 hp

Skrivmaterial och eventuella språklexikon

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

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

Karlstads Universitet, Datavetenskap 1

Databasdesign. E-R-modellen

Skrivmaterial och eventuella språklexikon

Tentamen plus lösningsförslag

Skrivmaterial och eventuella språklexikon. Allmänna anvisningar: Obs! Skriv alla svar direkt på tentamenstesen och lämna in denna.

Tentamen Databasteknik

42BK07 Magisterutbildning i byggteknik - hållbart samhällsbyggande

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

Grundläggande informationssäkerhet 7,5 högskolepoäng

Projektteknik Tentamen TT141B. Skrivmaterial och eventuella språklexikon

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag

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

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

ER-Diagram. Databasutveckling Diagram

Redovisningsteori och koncernredovisning Provmoment: Ladokkod: Tentamen ges för:

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

Ett arbetsexempel Faktureringsrutin

7,5 högskolepoäng. Statistisk försöksplanering och kvalitetsstyrning. TentamensKod: Tentamensdatum: 28 oktober 2016 Tid: 9.

Du markerar det eller de svar du vet eller tror är rätt genom att kryssa i boxen framför det alternativet.

7,5 högskolepoäng. Organisk kemi Provmoment: Tentamen Ladokkod: A100TG Tentamen ges för: Kemiingenjör, tillämpad bioteknik.

732G16: Databaser - Design och programmering

50 poäng. Rättningstiden är i normalfall 15 arbetsdagar, annars är det detta datum som gäller:

Databaser - Design och programmering

Rättningstiden är i normalfall 15 arbetsdagar, till detta tillkommer upp till 5 arbetsdagar för administration, annars är det detta datum som gäller:

Transkript:

Databasteknik 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Tentamen NDA01G Öppen för alla Tentamenskod: Tentamensdatum: 2017-11-02 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äsliga svar kan ej bedömas = 0 poäng) 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. Nästkommande tentamenstillfälle: 2017-12-13 Rättningstiden är i normalfall 15 arbetsdagar, till detta tillkommer upp till 5 arbetsdagar för administration, annars är det detta datum som gäller: Viktigt! Glöm inte att skriva Tentamenskod på alla blad du lämnar in. Lycka till! Ansvariga lärare: Telefonnummer: 1

ALLMÄNT 1. Varför valde man att byta från filbaserade system till databassystem? (2p) 2. Vad är en databashanterare (DBMS) och vilken funktionalitet (service) bör varje (3p) databashanterare erbjuda? Enligt Codd skall varje DBMS erbjuda 8 olika typer av funktionalitet. 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. Redogör också för logiskt- och fysiskt dataoberoende och vad detta innebär. RELATIONSMODELLEN 4. Relationsmodellen består av 3 delar; en strukturell del, en integritetsdel och en (3p) manipulationsdel. Redogör för integritetsdelen i relationsmodellen och ge exempel på minst 4 olika begräsningar. 5. Förklara nedanstående begrepp. (3p) a) Kandidatnyckel b) Alternativ nyckel c) Intension d) Tupel e) Basrelation f) Vy REALISERING 6. Redogör för en transaktions ACID-egenskaper. (2p) 7. Du jobbar som databasadministratör på ett företag och märker att nedanstående (2p) transaktion (SELECT-satsen) tar alldeles för lång tid. Vad kan du göra för att snabba upp denna transaktionen? Ge åtminstone ett par olika förslag. 2

MODELLERING 8. Redogör för var och en av följande entitetstyper med ett exempel samt (1+1p) förklara hur de skrivs i relationsdatamodellen. a) Objektifiering av sambandstyp. b) Svaga entiteter. 9. Det kommunala bussbolagets affärsidé är att erbjuda allmänheten (4+2p) transportering i sin mellanstora stad i sydliga Sverige. Det mesta rullar på bra för bussbolaget, man har gott om förare som bemannar bussarna och passagerarna är nöjda med tjänsten som bussbolaget levererar. Vid en granskning av det gamla systemet har man upptäckt att det finns diverse problem med databasen och behöver uppdatera dess design för att lämpa sig till hur den aktuella verksamheten ser ut idag. Företaget har många förare som alla delar på de bussar som finns. Ett vanligt arbetspass för en förare är att denne har sedan tidigare blivit inplanerat på en rutt. Under dagens rutt behöver föraren göra vissa stop, till exempel kan en förare börja sin avfärd vid Adolfsbergskolan och avsluta sin rutt vid Slottet och där emellan kommer bussföraren göra ytterligare stop på de hållplatser som är bestämda. Hållplatsstoppen görs efter ett tidsschema under rutten. Till exempel så har rutten mellan Marieberg och Almby flera stopp. Sedan vänder föraren och kör samma rutt, fast baklänges, och på detta vis fortsätter förarens dag tills arbetspasset är slut. Nästa dag kan denne förare ha en helt ny rutt. På dessa bussar finns det ett linjenummer och slutdestination som visas under färd. Till er hjälp finns två tidtabeller på nästa sida som kan vara till nytta (se tabell 1 och 2). 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 och antaganden ska uttryckas skriftligt, till exempel sambandstyper (1:1, 1:* eller *:*). 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

Tabel 1. Tidtabell för linje 300, avfärd ifrån Adolfsberg till Slottet. Linje 300 Adolfsberg - Slottet Linjens hållplatser: Adolfsbergsskolan Halltorpsvägen Smedstorpsvägen Björkdalsvägen Hällebovägen Slottet Måndag-Fredag Från Adolfsbergsskolan Tid 5.48 6.45 7.35 5.50 6.47 7.37 6.00 6.57 7.47 6.04 7.01 7.51 6.15 7.12 8.02 6.20 7.17 8.07 17.31 17.33 17.43 17.47 17.58 18.03 Tabel 2. Tidtabell för linje 300, avfärd ifrån Slottet till Adolfsberg. Linje 300 Slottet - Adolfsberg Linjens hållplatser: Slottet Hällebovägen Björkdalsvägen Smedstorpsvägen Halltorpsvägen Adolfsbergsskolan Måndag-Fredag Från Slottet Tid 5.50 6.50 5.52 6.52 6.02 7.02 6.06 7.06 6.18 7.17 6.22 7.22 7.40 7.42 7.52 7.56 8.07 8.12 17.36 17.38 17.48 17.52 18.03 18.08 4

NORMALISERING 10. Nedanstående extension (instans) av en relation är given. Relationen (2p) representerar order (inklusive orderdatum) som kunder har beställt, där en varje order innehåller en mängd produkter med tillhörande beskrivning och enhetspris samt antalet beställda enheter av respektive produkt i varje order. Vilka funktionella beroenden finns i relationen (dvs oavsett instans)? orderid datum kundid förnamn efternamn adress postnummer ort produktid beskrivning enhetspris antal 6 2017-02-18 3 Peter Svensson Ågatan 3 50330 Borås 5 Stol 200 4 6 2017-02-18 3 Peter Svensson Ågatan 3 50330 Borås 7 Bord 400 1 7 2017-02-20 3 Peter Svensson Ågatan 3 50330 Borås 3 Duk 100 2 8 2017-02-23 9 Fredrik Axelberg Övägen 5 21111 Malmö 14 Ficklampa 50 1 8 2017-02-23 9 Fredrik Axelberg Övägen 5 21111 Malmö 2 Batteri 10 4 Följande attribut finns i relationen: orderid - unikt nummer för en order (beställning) datum - beställningsdatum för en order (orderdatum) kundid - unikt nummer för en kund förnamn - en kunds förnamn efternamn - en kunds efternamn adress - en kunds gatuadress postnummer - en kunds postnummer ort - en kunds ort produktid - unikt nummer för en produkt beskrivning - en produkts beskrivning enhetspris - enhetspriset för en produkt antal - antal beställda enheter av en produkt för en viss order 11. Relationen R innehåller 3 funktionella beroenden (och inga andra beroenden). (2p) Vilka kandidatnycklar finns i relationen? R(A,B,C,D,E) fd1: A B fd2: B,C E fd3: E,D A 12. Relationen R innehåller 3 funktionella beroenden (och inga andra beroenden). (2p) R(A,B,C,D,E) fd1: A B,D fd2: D A fd3: C E Relationens kandidatnycklar är: (C,A) och (C,D). 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. 5

SQL Den här tentans SQL-uppgifter utgår från en databas ni känner till, nämligen Djuriska Försäkringar (=er SQL-labb). Den som händelsevis inte känner till labben behöver inte misströsta, för här kommer en kort förklaring/repetition. Tabeller som berörs av denna tenta: Kund Kunden, med kundid, förnamn, efternamn, adressuppgifter och rabattsats Djur Kundens djur (noll-till-många för varje kund). Ett djur har namn och som främmande nycklar både kundid och rasid. Ras Rasen som ett visst djur har, t.ex. labrador. Tabellen innehåller rasid, namn och även ett artid. Tabellstrukturen ser alltså ut så här: Här är några poster från alla tre tabeller: Kund Djur Ras 6

13. Skapa en topp-tio-lista över raser i registret! (3p) Som bilden nedan visar, hitta alla rasnamn och antalet djur för de tio vanligaste raserna (oavsett ras) och sortera i fallande ordning (dvs börja med flest antal djur). 14. Uppdatera Kundtabellen så att alla som äger en islandshäst får (ytterligare) tio (3p) procents rabatt. Utgå från att användaren inte vet vad islandshäst har för rasid, utan måste ange rasen (islandshäst). 15. Vyer (2p) a) Skapa en vy som visar alla kunder som har någon form av rabatt, dvs mer än noll i rabatt. b) Skriv sedan koden för att köra vyn (dvs visa vyns resultat). Vyn ska sortera på rabattsats fallande (dvs högst rabatt först) se bilden nedan. 7