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: 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

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

Inga hjälpmedel är tillåtna

Konceptuella datamodeller

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

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

NORMALISERING. Mahmud Al Hakim

Design och underhåll av databaser

Logisk databasdesign

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

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

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

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

Tentamen DATABASTEKNIK - 1DL116

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

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

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

Databaser Design och programmering

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

Grunderna för relationsmodellen!

TDDI60 Tekniska databaser

Databasdesign. E-R-modellen

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

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

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

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

Föreläsning 6: Normalisering & funktionella beroenden

Exempel-Tentamen III

Tentamen för DD1370 Databasteknik och informationssystem

Universitetet: ER-diagram

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

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

Karlstads Universitet, Datavetenskap 1

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

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

Relationsdatabasdesign

TDDI 60 Tekniska databaser

Databaser och Datamodellering Foreläsning IV

Tentamen plus lösningsförslag

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

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?

Karlstads Universitet, Datavetenskap 1

Relationsmodellen och syntetisk databasdesign

Relationell databasdesign

Modul DB1-1 Databasmodellering

Funktionella beroenden - teori

Lite om databasdesign och modellering

Webbprogrammering, grundkurs 725G54

732G16: Databaser - Design och programmering

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

Databaser - Design och programmering

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

Analytisk relationsdatabasdesign

Ett arbetsexempel Faktureringsrutin

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

ÖVNING 10 2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY! 3NF Hästnamn, Art, NY! NY! NY! NY! KursId, StartDatum, SlutDatum KursId NY!

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

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

Lösningsförslag, tentamen i Databaser

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

Informationssystem och Databasteknik

Tentamen för DD1370 Databasteknik och informationssystem

Starta MySQL Query Browser

För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra.

TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18

Tentamen. Databasmetodik Lördag 27 september 2014 kl

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

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

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

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

TENTAMEN DATABASKUNSKAP ITEK12

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

ER-Diagram. Databasutveckling Diagram

Databasteknik för D1, SDU1 m fl

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

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

Tentamen för DD1370 Databasteknik och informationssystem

INFC20, Informatik: Avancerade databassystem, 7,5 högskolepoäng Informatics: Advanced Database Systems, 7.5 credits Grundnivå / First Cycle

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

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

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

Informationssystem och databasteknik

08/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Kursens (återstående) mål Dagens föreläsning

Lösningar till tentamen i EDAF75

INFC20, Informatik: Avancerade databassystem, 7,5 högskolepoäng Informatics: Advanced Database Systems, 7.5 credits Grundnivå / First Cycle

Lösningsförslag Tentamen, 25 april 03

Föreläsning 4 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Normalisering (Analytisk databasdesign)

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

IT i organisationer och databasteknik

Tentamen. TDDB38 - Databasteknik

Transkript:

TENTAMEN För kursen DATUM: 2014-11-07 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) Databaser har både fördelar och nackdelar, jämfört med den tidigare ansatsen med olika applikationsprogram som vart och ett definierar och hanterar sin egen data, s.k. filbaserade system. Välj ut den du anser vara mest betydelsefulla fördelen respektive nackdelen och beskriv dessa utförligt. Motivera också varför dessa fördelar och nackdelar är betydelsefulla och jämför mot situationen när filbaserade system används. 2. (3+3 p) a) Ge en beskrivning av ANSI/SPARC-modellen för databasarkitektur. Alla delar skall vara med och du skall ge en kortfattad (1-2 meningar) beskrivning av varje del. Ge också en kort redogörelse för hur delarna hänger ihop. b) Antag att vi har en viss databas som är i drift och som är designad utifrån ANSI/SPARC. För var och en av åtgärderna nedan, ange vilken eller vilka delar i ANSI/SPARC-modellen som påverkas. i) Införande av indexering i en relation ii) Skapande av en ny användare och en egen vy för denne iii) Denormalisering av en relation 3. (1 p) Ge exempel på en situation när en databasadministratör ger stöd till eller arbetar tillsammans med en applikationsprogrammerare. RELATIONSMODELLEN 4. (2+1 p) a) Vad är en primärnyckel och vilka krav ställs på den? b) Varför är det viktigt att primärnyckeln är en kandidatnyckel? 5. (1+1 p) a) Kan man ha två relationer i ett databasschema som har samma primärnyckel? Svara ett tydligt ja eller nej, samt förklara eller exemplifiera. b) Kan man ha en främmande nyckel i ett databasschema som innehåller NULL-värden? Svara ett tydligt ja eller nej, samt förklara eller exemplifiera. REALISERING 6. (3 p) Backup är en de mest grundläggande säkerhetsmekanismerna i databaser. Ge en detaljerad redogörelse för de verktyg och procedurer i DBMS som är inblandade i backup och återställande. 7. (2 p) Beskriv och diskutera ett etiskt problem som kan uppstå vid användning av databaser. Din diskussion skall innehålla en tydlig motivering av varför det kan anses vara ett problem, samt en redogörelse för två eller flera olika perspektiv på problemet, t.ex. systemägarens, användarnas eller allmänhetens perspektiv.

MODELLERING 8. (2 p) Ofta kan verkliga affärsregler (organisationella begränsningar) inte genomföras med hjälp av restriktioner (constraints), utan i stället används triggers. Vad är en trigger och beskriv vilka delar den består av? 9. (4+2p) Flygklubben Flygande tunnan behöver din hjälp med att skapa en databas för att bland annat hålla reda på flygplan, flygplansägare och piloter. Flygplanen är stationerade i ett mindre antal små hangarer som finns uppförda på ett gammalt nedlagt flygfält. För varje hangar skall följande uppgifter finnas: hangarnummer, kapacitet och placering. För varje flygplan vill man veta registreringsnummer, modellnummer, kapacitet och vikt. Varje flygplan förvaras i en hangar. Vilka som äger planen är också viktigt att ha grepp om. Ett plan ägs av en ägare och en ägare kan äga flera plan. För varje ägare vill man veta namn, adress och telefonnummer (mobil, hem, arbete...). Man vill också ha ordning på de piloter som anlitas, och vilka behörigheter piloterna har av att flyga olika flygplanstyper. Likaså vill man veta hur många flygtimmar en viss pilot har flugit ett visst plan. Uppgiften om flygtimmar vill man sedan automatiskt kunna summera för varje pilot. Dessutom vill man för varje pilot veta lön och flyglicensnummer med giltighetstid. En av piloterna är chefspilot och basar över de andra piloterna. 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. (2 p) Det finns två olika varianter på åtgärder för att hantera brott mot 1NF som innebär att det finns flera värden i en cell. Beskriv de två åtgärderna i ord och utför dem på nedanstående tabell, naturligtvis i två skilda svar, så att tabellen uppfyller 1NF. Ni kan anta att boktitlar är unika i den ursprungliga tabellen. boktitel författare ämne Database Systems Thomas Connolly, Carolyn Begg Databaser Database Solutions Carolyn Begg, Thomas Connolly Databaser A First Course in Database Systems Jeffrey D. Ullman, Jennifer Widom Databaser Introduction to Database Systems C.J. Date Databaser

11. (1+3 p) Betrakta relationen R, som innehåller uppgifter om kampanjer på varor. R = (kampanjnr, veckonr, artnr, artnamn, ordpris, kpris, säsong) Följande funktionella beroenden, och inga andra, gäller i relationen: fd1. kampanjnr, artnr veckonr, kpris fd2. artnr artnamn, ordpris fd3. veckonr säsong 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 schemaläggningssystem för kurser på en högskola. Högskolans Kurser har ett antal Kursdeltagare som består två typer av Deltagare. Dessa två Deltagartyper är; student och lärare. Föreläsningarna ges i högskolans Lokaler enligt de Scheman som lagts upp av högskolans personal. 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 (observera att Scheman.LärarID refererar till Deltagare.DeltagarID). 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 de scheman för vilka Scheman.Moment inte är lika med NULL och för vilka det inte finns några Kursdeltagare. Visa samtliga kolumner från Scheman i resultatet. Sortera på KursID stigande, efterföljt av Starttid fallande. 13. (2 p) Skriv en SQL sats som returnerar antalet deltagare per kurs där kolumnen Deltagartyper.Deltagartyp = 'Student' eller där strängen 'sson' finns någonstans i kolumnen Deltagare.Efternamn. Kolumnen Kurser.Kursnamn och antalet deltagare per kurs, uttryckt som [Antal Deltagare], skall visas i resultatet. Dessutom skall endast kurser med minst 3 deltagare visas i resultatet. Inga delfrågor får användas! 14. (2 p) Skriv en SQL sats som skapar tabellen Scheman enligt databasschemat. Skriv därefter en ALTER TABLE sats som lägger till villkoret att Starttid ska vara mindre än Sluttid.