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

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

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

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

Logisk databasdesign

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

Karlstads Universitet, Datavetenskap 1

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

Konceptuella datamodeller

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

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

Databaser och Datamodellering Foreläsning IV

Grunderna för relationsmodellen!

Inga hjälpmedel är tillåtna

NORMALISERING. Mahmud Al Hakim

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

Webbprogrammering, grundkurs 725G54

Databaser Design och programmering

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem

TDDI 60 Tekniska databaser

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

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

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

Databaser design och programmering. Design processen ER- modellering

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

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

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

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Modul DB1-1 Databasmodellering

Lite om databasdesign och modellering

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

Föreläsning 6: Normalisering & funktionella beroenden

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

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

Databasdesign. E-R-modellen

Karlstads Universitet, Datavetenskap 1

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

Tentamen DATABASTEKNIK - 1DL116

TDDI60 Tekniska databaser

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

Funktionella beroenden - teori

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

Starta MySQL Query Browser

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

Databashantering och Beslutsstöd

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

Tentamen för DD1370 Databasteknik och informationssystem

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

Databaser. Vad du ska lära dig: Ordlista

Universitetet: ER-diagram

Lösningsförslag Tentamen, 25 april 03

Tentamen plus lösningsförslag

Databasutveckling Tabeller. tinyint 1 byte (0-255) Upp till 8 bytes

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

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

Tentamen för DD1370 Databasteknik och informationssystem

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

Relationsmodellen och syntetisk databasdesign

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem

Databasteknik för D1, SDU1 m fl

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

Databasdesignspecifikation för Mätvärdeshanteringssystem

Karlstads Universitet, Datavetenskap 1

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

Relationell databasdesign

Föreläsning 5: Relationsmodellen

TENTAMEN DATABASKUNSKAP ITEK12

TNK046 GIS - Databaser Laborationsuppgift 2

Mitthögskolan ITM Telefon Access. Laborationskompendium för grunderna i databasen Microsoft Access. Detta exemplar tillhör:

Relationsdatabasdesign

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

Frågor att lösa med SQL mot databasen kursdb_sql Sida 1 av 5

Giltig legitimation/pass är obligatoriskt att ha med sig. Tentamensvakt kontrollerar detta.

Databasteori. Övningar

Databasteknik för D1, SDU1 m fl

Design och underhåll av databaser

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

DVA234 Databaser. Dag Nyström, Introduktion till databaser och MS SQL Server

Tentamen Databasteknik

Ett arbetsexempel Faktureringsrutin

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

Tentamen. TDDB38 - Databasteknik

Exempel-Tentamen III

Objektorienterad Systemutveckling 1 (7,5 hp)

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

ER-Diagram. Databasutveckling Diagram

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

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

Tentamen. Databasmetodik Lördag 27 september 2014 kl

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

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

Transkript:

TENTAMEN För kursen DATUM: 2015-11-06 TID: 14 19 Ansvarig för tentamen: Anna Palmquist Förfrågningar: 0734-612003 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! Anna, Cecilia & Petter

ALLMÄNT 1. (3 p) Vilka är nackdelarna med filbaserade system och hur hanteras dessa nackdelar i ett databassystem? 2. (2 p) a) Vad är en vy? Ge en formell definition och en förklaring med egna ord. b) Hur kan vyer användas för att förenkla användarnas arbete mot databasen? Redogör i detalj för en möjlighet. 3. (3+2 p) a) Förklara skillnaderna mellan externa, interna och konceptuella scheman i ANSI/SPARC-arkitekturen samt visa med en figur var i ANSI/SPARC-modellen de finns. b) Hur är dessa olika schemalager relaterade till begreppen logiskt och fysiskt dataoberoende? RELATIONSMODELLEN 4. (3 p) Det finns tre typer av nycklar som kan användas för att unikt definiera tupler i en relation. Vilka är dessa? Ge både namn på de olika typerna av nyckel och förklaringar av begreppen där skillnaderna framgår tydligt. 5. (1+1 p) a) Vad är entitetsintegritet? b) Varför är det viktigt att upprätthålla entitetsintegritet i en databas? Ge dels en förklaring i ord och ett exempel som illustreras något av de problem som kan uppstå om entitetsintegritet inte finns. REALISERING 6. (2 p) Redogör för The Lost Update. Vad innebär termen? Hur uppstår fenomenet? Nämn även ett sätt att förhindra The Lost Update (du behöver inte redogöra för hur det sättet fungerar i detalj). Rita gärna även en figur som visar The Lost Update. 7. (2 p) En organisation tittar på olika strategier för att lagra sina data. Vilka aspekter bör organisationen fundera över? Ge alltså förslag på frågor man ska ställa sig inför lagrandet av data och skriv även en kort kommentar om under vilka omständigheter respektive fråga är relevant.

MODELLERING 8. (1+1 p) a) Redogör för begreppet kardinalitet (cardinality). b) Redogör för begreppet optionalitet (participation). 9. (4+2 p) En gymkedja har en gemensam databas för alla sina gym (id, namn och adress), som ligger utspridda över hela Sverige. En person som ska träna tecknar medlemskap med ett av gymmen. För varje medlem lagras bland annat namn, adress och telefonnummer. Medlemskapet gäller för ett år i taget. Det finns två sorters medlemskap: fullständigt (både styrketräning och gruppträning) och basmedlemskap (enbart styrketräning). Medlemmar av vissa kategorier, till exempel studenter och pensionärer, får rabatt på årsavgiften. De flesta gymmen har också olika slag av gruppträning: spinning, aerobics, step, bodypump och så vidare. Varje gym publicerar schema för gruppträningsaktiviteterna (dag och tid, passets typ och längd). Gruppträningsaktiviteterna har ett begränsat antal deltagare. Varje gym har en ägare (id, namn och adress). Det förekommer att samma person äger flera gym. Alla priser (årsavgift och pris för gruppträning) kan variera mellan kedjans olika gym. Däremot är rabatterna för olika medlemskategorier detsamma för alla gym. 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. (1+1 p) a) Hur lyder definitionen av Boyce-Codd normalform (BCNF)? b) Uppfyller följande relation BCNF? Motivera ditt svar utförligt. R=(A, B, C, D, E) Med funktionella beroenden: A, B C, D A, C B, E 11. (1+3 p) Betrakta nedanstående relation R, som innehåller uppgifter om butiker i en butikskedja och de varor som säljs där. R = (butiksid, stad, pris, varuid, levid, levnamn, levtel) Följande funktionella beroenden, och inga andra, gäller i relationen: fd1. butiksid stad fd2. butiksid, varuid pris, levid fd3. levid levnamn, levtel

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 SQL-uppgifterna utgår denna gång från en filmdatabas, som åskådliggörs nedan i form ett ER-diagram. I diagrammet syns förhållanden mellan tabellerna, vilka primärnycklarna är (PK) samt om kolumnerna är numeriska (alltså heltal eller möjligen decimaltal) eller textsträngar. De tabeller ni kommer att jobba med är Film, Roll och SS, som står för Skådespelare. Lite information om de tre tabellerna: Film: filmidt är automatiskt uppräknat. titel är obligatorisk och får vara maximalt 50 tecken. betyg är obligatoriskt och ska vara minst 1 och högst 10. bolagid måste (om det inte lämnas tomt) matcha ett filmbolags ID i tabellen Bolag. SS: ssid är automatiskt uppräknat. fnamn samt enamn är obligatoriska. De får vara maximalt 30 tecken. nationalitet är t.ex. US för USA och UK för Storbritannien och max 10 tecken långt.. agentid måste (om det inte lämnas tomt) matcha ett agentid i tabellen Agent. Roll: Tabellen har en sammansatt primärnyckel och alltså inget uppräknat ID. rolltyp har längden 2. Värden som används just nu är LA (för lead actor) och SA (supporting actor). betyg är alltså betyg för just den här rollen, t.ex. Harrison Ford i rollen som Han Solo i filmen Star Wars.

Uppgifter: 12. (2 p) Skriv koden för att skapa tabellen Film. Ta med all information du kan utläsa i form av lämpliga datatyper, stränglängder, tillåtna NULL-värden, begränsningar etc. 13. (2 p) Skriv koden för att visa antal filmer för varje skådespelare. Ordna på antal filmer fallande, sedan på efternamn stigande och sist förnamn stigande. (Bilden nedan visar hur det är tänkt. I registret spelar alltså Harrison Ford i sex filmer och Tom Cruise i en.) 14. (1+2 p) Tom Cruise spelar huvudrollen i den tuffa filmen Minority Report. a) Lägg till filmen Minority Report i registret, med betyg 9 och bolagid 2. b) Lägg sedan in själva rollen i tabellen Roll. Detta ska du göra utan att känna till vad filmen har för filmid och vad Tom Cruise har för ssid, i en enda SQL-sats. Ge Tom betyget 10 för rollprestationen och sätt hans rolltyp till LA. Du kan utgå från att det bara finns en film som heter Minority Report och bara en skådespelare som heter Tom Cruise. Här är tentamensuppgifterna slut.