Tekniska Högskolan i Linköping Institutionen för datavetenskap Tore Risch/Thomas Padron-McCarthy Tentamen i TDDB38 Databasteknik onsdag 13 januari 1999 kl 9-13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Hjälpmedel: Inga hjälpmedel. Poängkrav: Maximal poäng är 30. För godkänt krävs 15 poäng. Resultat: Meddelas via e-post. Visning: Tid för visning anges då resultaten meddelas. Examinator: Tore Risch. Jourhavande: Thomas Padron-McCarthy, telefon 070-734 70 13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Anvisningar Läs igenom hela skrivningen och notera eventuella oklarheter innan du börjar lösa uppgifterna. Förutom anvisningarna på skrivningsomslaget gäller följande: Skriv tydligt och klart. Lösningar som inte går att läsa kan naturligtvis inte ge några poäng, och oklara formuleringar kommer att misstolkas. Antaganden utöver de som står i uppgifterna måste anges. Gjorda antaganden får förstås inte förändra den givna uppgiften. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ LYCKA TILL! Scenario till uppgift 1-4: Av omtanke om mänskligheten, och för att utöka skattebasen, har den svenska regeringen beslutat att omvandla Sverige till en imperialistisk stormakt. Alla andra länder ska bli svenska kolonier. Därför inrättas ett kolonialdepartement, och kolonialdepartement behöver en databas för att hålla reda på kolonierna. Det man behöver hålla reda på är, mer detaljerat, följande saker: 1. Kolonierna. Varje koloni har ett unikt nummer, ett unikt namn (till exempel "Frankrike" eller "USA"), en folkmängd, en huvudstad samt också ett namn, 2. Svenskar. Varje svenska har ett unikt personnummer, och ett namn. 3. Vilka svenskar som är utplacerade i vilka kolonier. 4. Skatteinbetalningar. Från kolonierna betalas skatt. Varje skatteinbetalning består av ett visst belopp, den kommer från en viss koloni, och det finns en svensk som är ansvarig för den. Den har också ett visst datum. 1. (4p) Rita ett ER-diagram för den beskrivna databasen. Använd informationen ovan, men tänk också på att det ska gå att svara på frågorna i uppgift 4 nedan. Om du behöver göra några antaganden när du gör ER-diagrammet, så ange dessa antaganden! ER-diagram kan ritas på många olika sätt. Förklara därför den notation som du använder! 2. (4p) Implementera den beskrivna databasen i relationsmodellen, dvs översätt ER-diagrammet i uppgiften ovan till tabeller. Ange vilka relationer som finns, och vilka attribut varje relation innehåller! Ange vad som är primärnyckel. Implementationen ska vara bra. 3. (3p) Gör (och ange) rimliga antaganden om storlek på databasen, och välj sedan lämpliga lagringsstrukturer för tabellerna. 4. (4p) Formulera följande frågor i SQL: a) Vilka svenskar finns i kolonin "Norge"? b) Vad är den totala summan av inbetalade skatter? c) Vilka skatteinbetalning har ansvarats för av svenskar som inte finns i den koloni som inbetalningen kommer från? Definiera gärna vyer om det underlättar! 5. (3p) Beskriv likheter och skillnader mellan E-R och "Extended E-R". Beskriv likheter och skillnader mellan en OO datamodell och "Extended E-R". 6. (3p) Vad är QBE? Formulera frågan vilka som tjänar mer än sin chefs sekreterare som join i QBE. Sortera efter fallande inkomst. (Antag och ange lämpliga tabeller för exemplet.) 7. (5p) Vilka är de viktigaste skillnaderna mellan en objekt-orienterad och en objekt-relationell databas? Jämför när det är fördelaktigast att använda relationella, objekt-orienterade, resp. objekt-relationella databaser. Vad är swizzling och vad används det till? 8. (4p) Vad är en spatiell databas och när är den användbar? Beskriv principerna för R-träd och Quad-träd, samt till vad de kan användas.