Databaser och Affärssystem Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng Tentamen 41F08A Itek14 TentamensKod: Tentamensdatum: Tid: 2015-10-29 14-17 (3 timmar) Hjälpmedel: Inga hjälpmedel är tillåtna Totalt antal poäng på tentamen: 60 poäng För att få respektive betyg krävs: För betyg 3 krävs minst 30 poäng För betyg 4 krävs minst 36 poäng För betyg 5 krävs minst 45 poäng Allmänna anvisningar: Skriv maximalt ett svarsblad per fråga Skriv bara på en sida av svarsblad Skriv tydligt Nästkommande tentamenstillfälle: januari 2016 Rättningstiden är i normalfall 15 arbetsdagar, annars är det detta datum som gäller: Viktigt! Glöm inte att skriva Tentamenskod på alla blad du lämnar in. Lycka till! Ansvarig lärare: Telefonnummer: 033-435 46 85
Del 1, Affärssystem Fråga 1) Förklara utifrån ett flertal aspekter innebörden av begreppet egenutvecklade system [ES], och vad som är kännetecknande för verksamheten/verksamhetsmiljön där dessa system används. (2p) Fråga 2) Förklara utifrån ett flertal aspekter innebörden av begreppet standardsystem [SS], och vad som är kännetecknande för verksamheten/verksamhetsmiljön där dessa system används. (2p) Fråga 3) Förklara utifrån ett flertal aspekter innebörden av begreppet affärssystem [AS], hur de systemmässigt/arkitektoniskt principiellt är uppbyggda, och vad som är kännetecknande för verksamheten/verksamhetsmiljön där dessa system används. (4p) Fråga 4) Vilka affärsmässiga motiv/orsaker (inte tekniska) finns det för att införa affärssystem [AS]? (2p) Fråga 5) Vad är kännetecknande för problem vid införande av affärssystem [AS]? (4p) Fråga 6) Redogör, på maximalt en sida, utifrån ett flertal aspekter för principiella skillnader (inte respektive för- och nackdelar) mellan [ES] egenutvecklade system, [SS] standardsystem och [AS] affärssystem. (4p) Fråga 7) Redogör, utifrån olika aspekter och på maximalt en sida, för principiella fördelar och nackdelar (inte skillnader) mellan ett [AS] affärssystem, i förhållande till att välja flera [ES/SS] egenutvecklade system och/eller standardsystem, som en jämförelse inför val av endera systemstöd. Jämförelsen ska göras gentemot att respektive systemstöd, endera ett [AS] eller flera [ES/SS], båda kravmässigt/innehållsmässigt ska omfattat samma funktionella innehåll/stöd. (6p) 1 (4)
Del 2, Databaser Relationsmodellen Fråga 8) Ge en kort beskrivning av vad relationsmodellens 3 delar innehåller. (2p) Fråga 9) Relationsmodellen innehåller ett antal begränsningar. Ge minst 4 exempel på olika begränsningar samt en kort beskrivning vad varje begränsning innebär. (2p) Databassystem Fråga 10) Ange minst 4 olika fördelar med ett databassystem jämfört med ett filbaserat system. (2p) Fråga 11) Ange minst 3 best practice åtgärder som bör utföras i samband med installationen av Microsoft SQL Server för att öka säkerheten i databassystemet. Ange också syftet med varje säkerhetsåtgärd. (3p) Fråga 12) Fördela nedanstående filer på nedanstående LUNs med tanke på bästa I/O prestanda samt förklara varför vissa LUNs är formatterade med en filallokeringsstorlek på 64KB. (3p) Filer Beskrivning winlogon.exe Windows Operativsystem fil sqlagent.exe SQL Server Agent service master.mdf Master systemdatabasens datafil master.ldf Master systemdatabasens loggfil northwind.mdf Användardefinierad databas datafil northwind.ldf Användardefinierad databas loggfil tempdb.mdf TempDB systemdatabasens datafil templog.ldf TempDB systemdatabasens loggfil northwind.bak Användardefinierad databas säkerhetskopia LUN Filallokeringsstorlek Beskrivning C 4 KB RAID 5 (lokal enhet) F 4 KB RAID 1 (lokal enhet) G 64 KB RAID 1 (lokal enhet) H 64 KB RAID 5 optimerad för random access (lokal enhet) I 64 KB RAID 10 optimerad för sekvensiell access (lokal enhet) J 64 KB RAID 5 optimerad för random access (lokal enhet) K 64 KB RAID 10 optimerad för sekvensiell access (lokal enhet) L 4 KB RAID 1 (nätverksenhet) 2 (4)
Structured Query Language (SQL) Nedan visas databasschemat för ett biblioteks bokutlångssystem. Ett antal Böcker kan lånas ut till bibliotekets Medlemmar via BokLån. Information om böckerna kan hittas i BokInfo tabellen, med tillhörande Kategorier samt Förläggare. Dessutom kan en eller flera Författare vara Bokförfattare till en och samma bok. 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. Datatypen för varje kolumn visas längst till höger i varje tabell. Samtliga tabeller är i defaultschemat dbo. Använd databasschemat för att besvara nedanstående frågor. 3 (4)
Fråga 13) Skriv en DDL-sats som skapar (definierar) tabellen Boklån enligt ovanstående databaschema (endast kolumnen Återlämningsdatum accepterar NULL-värden). Du kan anta att tabellen placeras i defaultfilgruppen PRIMARY. (2p) Fråga 14) Skriv en DML-sats som gör en utsökning mot databasen med ovanstående schema och som returnerar samtliga boklån (från tabellen Boklån) för de medlemmar som har ett Telefonnummer (dvs där kolumnen Telefonnummer i tabellen Medlemmar inte är lika med NULL) och där medlemmens Efternamn börjar på bokstaven 'A '. Visa kolumnen BokID (från tabellen Boklån) och kolumnerna Förnamn och Efternamn (från tabellen Medlemmar) i slutresultatet. Sortera resultatet på Efternamn i fallande ordning (dvs med Ö först och A sist). (2p) Fråga 15) Vad är det för skillnad på datatyperna CHAR(5) och VARCHAR(5). (1p) Fråga 16) Vad är den främsta skillnaden mellan en tabell och en vy? (1p) Transaktioner Fråga 17) Transaktioner kan avbrytas innan de är klara, t.ex. genom ett strömavbrott. När databasen startas upp igen, kan det finnas halvfärdiga transaktioner eller färdiga transaktioner vars ändringar inte har skrivits till hårddisken. Microsoft SQL Server hanterar avbrutna transaktioner genom Write-ahead logging och återhämtningsmekanismen. Förklara, i detalj, hur detta fungerar. Vad innebär Write-ahead logging? Vilken information lagras i transaktionsloggfilen? Vad sker under återhämtningsprocessen? (6p) Säkerhetskopiering och Återhämtning Fråga 18) Ett företag har implementerat följande säkerhetskopieringsstrategi för en viss Microsoft SQL Server databas; varje helg tas en fullständig säkerhetskopia (FULL) av databasen, varje natt tas en differentiell säkerhetskopia (DIFFERENTIAL) av databasen och varannan timme tas en säkerhetskopia av databasens transaktionsloggfil. Klockan 13:00 havererar en hårddisk som innehåller ett antal av databasens filer, varför ett beslut tas att återhämta databasen. Beskriv återhämtningsprocessen (vad behöver återställas och i vilken ordning?). (3p) Hög Tillgänglighet Fråga 19) Replikering, den äldsta högtillgänglighetsteknologin, innehåller mycket terminologi som påminner om förlagsbranschen. Beskriv kort hur replikering fungerar samt förklara följande termer; article, publication, publisher, subscriber och distributor. (3p) Fråga 20) Redogör för Loggskeppning med avseende på hur den höga tillgängligheten erhålls, vilken information som skickas mellan servrarna, vilken resurs som skyddas av teknologin (tabell, databas, server eller något annat?), olika konfigurationsalternativ, failover stöd, hur klientprogram påverkas av en failover samt för- och nackdelar med teknologin. Använd, och förklara, följande begrepp i din beskrivning: primärserver, sekundärserver, primärdatabas, sekundärdatabas, läsbar sekundärdatabas. (6p) 4 (4)