Inst. för Data- och Systemvetenskap SU/KTH Maria Bergholtz, Paul Johannesson Exempel tentamen 2I-1100 Informationssystem och Databasteknik Tentamen är öppen i så motto att läroböcker, föreläsningsanteckningar, föreläsningsbilder, lösningsförslag, kurskompendier, etc., är tillåtna. Det är inte tillåtet att i någon form dela på medhavd litteratur, anteckningar etc. 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 Lycka till!
Uppgift 1 EN GRUPP VILTFORSKARE ÖNSKAR STUDERA DJUREN på en afrikansk savann. Som en del i arbetet bygger man upp en databas som beskriver djurens fysiska egenskaper, deras biologiska och sociala relationer, hur de förflyttar sig m.m. För varje enskilt djur behövs information om dess grundläggande fysiska egenskaper som längd, vikt, ålder, etc. Man behöver också veta vilka djur som är föräldrar till ett givet djur. Många djur lever i flockar och man behöver då känna till dominansrelationerna i varje flock, d.v.s. vilket djur som befinner sig ovanför ett annat djur i hierarkin. Ibland bildar handjuren och hondjuren separata flockar (detta gäller bl.a. för lejon). En hanflock kan vara i förbund med en eller flera honflockar, och vice versa. Ofta upprätthåller en flock ett revir, d.v.s. ett geografiskt område som andra djur av samma art inte tillåts vistas i. Rovdjur av vissa arter jagar alltid ensamma medan andra rovdjur kan jaga antingen ensamma eller i grupp. De flesta djur behöver dricka och besöker därför vattenhål. När ett djur druckit brukar det bege sig till en annan plats där det stannar för att beta eller jaga. Nedan beskrivs några episoder. Scar, Mufasa och Simba utgör en flock av tre lejon som behärskar revir A. Mufasa är far till Simba och Nona är hans mor. Mufasa befinner sig över Scar som i sin tur är över Simba. Nona tillhör en honflock av lejon och ingår därför inte i denna hierarki. Mufasa och Simba börjar jaga bytesdjuret Timon kl. 13.24 990901 vid punkt X, men jakten misslyckas. Elefanterna Haiti, Burundi och Hondorika ingår i en större elefantflock. Under hela dagen 990715 har Haiti betat inom området C på kartan nedan. Kl. 19.22 begav han sig till vattenhålet V, han nådde dit 19.40, stannade där till 20.08 varefter han återvände till området C. Samma gällde för de övriga elefanterna i flocken. Hyenorna Schaan och Glasch ingår i en större flock hyenor som behärskar reviret B nedan. Kl. 11.00 990902 nedlägger Simba bytesdjuret Gazo. Kl. 14.55 börjar Schaan äta på detta byte. Nedan följer ett antal informationskrav. Vilka lejon har nedlagt ett byte? Vilka hyenor har ätit på ett byte som nedlagts av Mufasa? Vilka lejon hat jagat tillsammans med Scar? Vilka lejonflockar har besökt vattenhålet V1 under augusti 1999? Har något lejon från en annan flock nedlagt ett byte inom det revir som behärskas av Mufasas flock? Vilka hyenor har ett revir som överlappar med Mufasas revir? a) Konstruera ett konceptuellt schema som ger möjlighet att representera den inledande texten och episoderna ovan. Det skall också vara möjligt att tillgodose samtliga informationskrav. Ange samtliga avbildningsregler. Utifrån den detaljerade information som finns i databasen önskar man dra ett antal mer generella slutsatser och även representera dessa. Exempel på information man önskar hantera är: Ett lejons genomsnittsvikt är 320 kg. Ett lejon som ensam jagar en surikat lyckas i 10% av fallen. Lejon som i grupp jagar en surikat lyckas i 35% av försöken. En grupp lejon som jagar en zebra lyckas i 20% av fallen.
Zebror besöker vattenhål i genomsnitt en gång per dygn medan Thomsongaseller gör det var tredje dygn. b) Utvidga det konceptuella schemat från a) så att satserna ovan kan representeras. Uppgift 2 (11 poäng) Regeringen i det lilla landet Transoccidentien har beslutat att förse landets hälso- och sjukvård med modernt IT-stöd. Regeringen är beredd att initialt satsa tre miljarder kronor som en engångsinvestering och därefter årligen 500 miljoner för underhåll och vidareutveckling. Dessa resurser skall räcka till landets 1000 sjukhus, 5,000,000 invånare och 250,000 sjukvårdsanställda. Du har blivit anlitad som konsult av det transoccidentiska socialdepartementet för att utarbeta en plan för införandet av IT vid sjukhusen. I denna plan skall Du beskriva vilka typer av informationssystem som bör införas. Du skall också ange hur prioriteringen skall gå till och motivera detta; observera att de begränsade resurserna gör att man inte kan införa alla typer av informationssystem. Följande förkortningar skall användas i Ditt svar: DSS, EIS, MIS, ISS, TPS. Uppgift 3 Följande funktionella beroenden råder: YZ PQ XYZ MNOPQ P Q Relationsschemat R är i 1 NF: R(XYZMNOPQ) /* XYZMNOPQ utgör kolumner i R */ a) Bestäm primärnyckel för tabellen R. (4 poäng) b) Normalisera relationsschemat till, i tur och ordning, 2NF och 3NF. Kommentera varje steg, dvs ange vad som är skälet till att en nedbrytning gjorts från t ex 1NF till 2NF. Hoppa inte över några steg, dvs gör bara den dekomponering som behövs för att komma från 1NF till 2NF och sen (i nästa steg) det som behövs för nästa högre normalform osv. (5 poäng)
Uppgift 4 Betrakta följande konceptuella schema: min_huvudstad GATA Gatunamn : String 1..1 1..1 1..1 STAD 0..* 1..1 0..* 1..1 Stadsnamn : String 1..1 ligger_i Antal_invånare : Integer 1..1 ligger_i 1..1 0..1 LAND Landsnamn : String 1..1 UNIK 0..* 0..* bor_på i_krig_med 0..* INVÅNARE Namn : String 1..1 UNIK är_krigsplacerad_i ARBETARE Inkomst : Integer 1..1 isa isa 0..* KRIGARE STAD identifieras av sitt namn och sitt land GATA identifieras av sitt gatunamn och identifieraren för STAD Övriga identifierare framgår av schemat. Översätt den konceptuella modellen ovan till en relationsdatabasmodell. Ange för varje tabell vad som utgör primärnyckel samt vad som eventuellt utgör främmande nycklar (främmande nycklar måste specificeras med alla korrekta kolumner). I fallet främmande nycklar skall även specificeras mot vilken tabell de utgör främmande nyckel. Översättningen får ej innebära att avsteg från den konceptuella modellen görs (annat än de avsteg som måste göras för att realisera relationsmodellen). Surrogatnycklar får inte införas. Använd följande notation: PERSON(pnr, adress, telnr),
HUND(hundid, ägare, ras) Tabellen HUND innehåller ett attribut benämnt ägare som utgör främmande nyckel mot tabellen PERSON. Detta skrivs på följande sätt: HUND.ägare << PERSON.pnr där pnr utgör primärnyckel i tabellen PERSON. (5 poäng) Uppgift 5 Betrakta följande relationer: GLASS Glassnamn Fetthalt Pris PERSON Personnummer Telefon Skostorlek GLASSÄTANDE Person Glass Primärnycklar är angivna i fetstil. Följande främmande nyckel förhållanden råder: GLASSÄTANDE.Person << PERSON.Personnummer GLASSÄTANDE.Glass << GLASS.Glassnamn Formulera följande frågor i relationsalgebra och SQL (OBS båda delar!): a) Lista skostorlek och personnummer för de personer som har aldrig ätit glassen Päronsplit b) Vem (personnummer) har totalt lagt ner mest pengar på glass? (6 poäng) Uppgift 6 Konstruera följande två objekt: Ett funktionellt beroende A En relation (tabell) R
A och R skall uppfylla följande två villkor: R satisfierar inte A Varje äkta delmängd av R satisfierar A (4 poäng) Tips: En relation R satisfierar ett funktionellt beroende A: X Y, om och endast om För varje par av tupler i R, t1 och t2 gäller att t1[x]=t2[x] t1[y] = t2[y]