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

Inga hjälpmedel är tillåtna

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

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

Konceptuella datamodeller

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

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

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

Logisk databasdesign

NORMALISERING. Mahmud Al Hakim

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

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

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

Tentamen DATABASTEKNIK - 1DL116

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

Grunderna för relationsmodellen!

Karlstads Universitet, Datavetenskap 1

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

Karlstads Universitet, Datavetenskap 1

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

Analytisk relationsdatabasdesign

Databaser Design och programmering

TDDI 60 Tekniska databaser

Databasdesign. E-R-modellen

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

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

Föreläsning 6: Normalisering & funktionella beroenden

Exempel-Tentamen III

Databaser och Datamodellering Foreläsning IV

Lite om databasdesign och modellering

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

Funktionella beroenden - teori

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

Design och underhåll av databaser

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

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

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

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

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Databaser design och programmering. Design processen ER- modellering

Tentamen för DD1370 Databasteknik och informationssystem

Universitetet: ER-diagram

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

Tentamen plus lösningsförslag

Tentamen för DD1370 Databasteknik och informationssystem

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

Tentamen för DD1370 Databasteknik och informationssystem

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

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

Relationell databasdesign

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

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

Informationssystem och databasteknik

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

Lösningar till tentamen i EDAF75

Webbprogrammering, grundkurs 725G54

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

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

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

Tentamen för DD1370 Databasteknik och informationssystem

Starta MySQL Query Browser

Databasteori Övningar

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

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

Databaser. Vad du ska lära dig: Ordlista

Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem?

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

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

Kursens mål. Databasteknik TDDB48. Lärare. Kursorganisation. Laborationsinformation. Inlämning av laborationer. Responsible:

Relationsmodellen och syntetisk databasdesign

Tentamen för DD1370 Databasteknik och informationssystem

Modul DB1-1 Databasmodellering

732G16: Databaser - Design och programmering

Ett arbetsexempel Faktureringsrutin

TENTAMEN DATABASKUNSKAP ITEK12

Lösningsförslag Tentamen, 25 april 03

TDDI60 Tekniska databaser

Disposition. 1. Kopplingen mellan Processanalys (DFDdiagram) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer

Lösningsförslag till Tentamen,

Relationsdatabasdesign

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

Föreläsning 2: Översikt över ett databassystem

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem

TENTAMEN TDDB77 Databaser och Bioinformatik 22 augusti 2006, 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

Databaser - Design och programmering

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

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

Tentamen för DD1370 Databasteknik och informationssystem

Databasteori. Övningar

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

Databasteknik för D1, SDU1 m fl

Transkript:

TENTAMEN För kursen DATUM: 2014-12-18 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. (3 p) Ge en utförlig beskrivning av Database Management System (DBMS). Beskrivningen skall inkludera DBMS funktion i databassystemet och en beskrivning av några viktiga komponenter i DBMS och varför de finns. 2. (2+1+1 p) Dataoberoende är en central del i ANSI/SPARC-arkitekturen. a) Förklara vad begreppen fysiskt dataoberoende och logiskt dataoberoende innebär. Visa också med en figur var i ANSI/SPARC-modellen de finns. b) Ge ett utförligt exempel på en situation där fördelen med att ha fysiskt dataoberoende i sin databasdesign illustreras. c) Ge ett utförligt exempel på en situation där fördelen med att ha logiskt dataoberoende i sin databasdesign illustreras. 3. (1+2 p) a) Ge en kort beskrivning av arbetsuppgifter och ansvarsområden för en dataadministratör (DA). b) Ge exempel på och beskriv arbetsfördelningen i situationer där en dataadministratör arbetar tillsammans med personer som innehar följande roller: i. Applikationsprogrammerare ii. Databasadministratör RELATIONSMODELLEN 4. (3 p) Relationsmodellen innehåller en del som handlar om integritet. Vilka två olika integritetsbegrepp ingår i relationsmodellen och vad innebär respektive begrepp? 5. (2 p) Definiera begreppen basrelation och vy, samt förklara med egna ord skillnaden mellan dem. REALISERING 6. (1+2 p) a) Definiera begreppet transaktion (i databassammanhang). Observera: definitionen skall vara generell, dvs. inte utifrån ett specifikt exempel. Ge också exempel på en transaktion och förklara varför det är en transaktion. b) En transaktion skall ha egenskaper med förkortningen ACID. Vad betyder respektive bokstav i detta? Ange betydelsen och motivera varför en transaktion bör ha denna egenskap. 7. (2 p) Betrakta följande två relationsscheman: OrderRad(orderNr, artnr, antal) Artikel(artNr, artnamn, pris, inköpspris, leverantör) Givet att man vill skriva ut en följesedel att skicka med vid leverans av en order, så behöver följande data tas fram för ett visst ordernr: samtliga artiklar, men artikelnummer, namn och antal. Utför lämplig denormaliseringsåtgärd för att kunna genomföra denna utsökning utan joinoperation. Ange dels de nya relationsschemana (båda!) och beskriv din åtgärd i ord.

MODELLERING 8. (2 p) Utgå från nedanstående logiska datamodell och skriv entitetstyperna som relationsscheman. 9. (4+2p) Tänk dig att du är utsedd att utveckla ett databassystem för ett stort bibliotek. Bibliotekets databas lagrar bland annat information om böcker, författare och låntagare. En bok är en viss utgiven bok, till exempel kursboken med titeln. Alla böcker har ett unikt ISBN-nummer, till exempel 978-91-44-04449-1, men eftersom ISBN-nummer är så långa har biblioteket också infört ett unikt internt nummer. Förutom internt nummer och ISBN skall det även gå att lagra titel, förlag och olika format/medietyp (exempelvis bok, E- bok, CD, mp3) för varje bok. En bok kan finnas i många exemplar. Det är exemplaren som är de fysiska böcker som står i hyllorna på biblioteket. Till exempel kanske biblioteket har köpt in tre exemplar av boken. Ett visst exemplar av en bok identifieras av ett exemplarnummer. För varje exemplar lagrar man också information om skick (ny eller nästan förstörd), utgåva samt utgivningsår. Låntagare identifieras med ett unikt låntagarnummer. Övriga attribut är namn (förnamn och efternamn) samt låntagarens adress, bestående av gatuadress, postnummer och ort. En låntagare kan låna ett visst exemplar av en bok. För varje lån lagras lånedatum och återdatum. En låntagare kan också reservera en bok som är utlånad. Låntagarna reserverar en viss bok, inte ett exemplar. För varje reservering lagras datum när den reserverats. När en låntagare lämnar tillbaka en bok efter återdatumet, måste hon/han betala böter, och därför håller vi reda på hur mycket böter varje låntagare har att betala. Avslutningsvis lagras även författare i databasen, och vilka författare som skrivit vilka böcker. Här är det naturligtvis så att en bok kan ha flera författare. För varje författare lagras namn (för och efternamn), unikt författarid och land.

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) Vad innebär ett partiellt funktionellt beroende från en kandidatnyckel? b) Illustrera med ett eget exempel den redundans som uppstår pga. ett partiellt funktionellt beroende från kandidatnyckeln i en relation. Förklara även redundansen i ord. 11. (1+3 p) Betrakta relationen R, som innehåller uppgifter om kampanjer på varor. R = (vinnr, årgång, druvsort, producent, land, betyg) Följande funktionella beroenden, och inga andra, gäller i relationen: fd1. vinnr producent fd2. vinnr, årgång betyg fd3. producent land 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 en restaurang. Restaurangens Kunder kan ringa in Bokningar på restaurangens Bord. När gästerna anländer till sitt Bord, kan de se vilka Artiklar (maträtter, mm) som erbjuds via de Menyrader som visas på restaurangens Menyer. Därefter kan varje Bord lägga en Order som tas om hand av restaurangens Serveringspersonal. Varje Order innehåller ett eller flera Orderrader beroende på hur många olika Menyrader som beställts. I nedanstående databasschema står PK för Primary Key (primärnyckel), FK för Foreign Key (främmande nyckel) samt pfk indikerar att en kolumn är både en primärnyckel och en främmande nyckel, där pilarna i schemat går från tabellen som innehåller den främmande nyckeln, och till tabellen som innehåller primärnyckeln som den främmande nycklen refererar till. En kolumn markerad med en asterisk (*) indikerar att kolumnen inte accepterar NULL. Använd databasschemat för att besvara nedanstående frågor.

12. (2 p) Skriv en SQL-sats som returnerar en lista över ordersumman (summan av Antal*Pris) för varje Ordernummer med följande 2 krav; 1) endast ordrar som har en Ordertid under den 1:a augusti skall visas i listan, samt 2) endast ordrar som har en ordersumma större än 1000 skall visas i listan. Visa Ordernummer och respektive ordersumma som [Summa] i listan. OBS! Inga delfrågor är tillåtna! 13. (2 p) Skriv en SQL-sats som returnerar en lista över samtliga Kunder vars Efternamn börjar på bokstaven 'A' och vars Emailadress inte är lika med NULL. Dessutom måste samma Efternamn finnas i tabellen Serveringspersonal för att den skall visas i listan. Endast kolumnen Efternamn skall visas i listan. Sortera på Efternamn i fallande ordning (Ö först, A sist). 14. (2 p) Skriv en SQL sats som skapar tabellen Orderrader enligt databasschemat. Skriv därefter en ALTER TABLE sats som lägger till villkoret att kolumnen Antal måste vara större än 0.