Databaser och Affärssystem Provmoment: Ladokkod: Tentamen ges för: Tentamen 41F08A KITEK15h 7,5 högskolepoäng TentamensKod: Tentamensdatum: 2016-10-27 Tid: 9-12 (3 timmar) Hjälpmedel: Inga hjälpmedel är tillåtna Totalt antal poäng på tentamen: 50 poäng För att få respektive betyg krävs: U < 25p 3 >= 25p 4 >= 35p 5 >= 42p Allmänna anvisningar: Skriv maximalt ett svarsblad per fråga Skriv bara på en sida av svarsblad Skriv tydligt Nästkommande tentamenstillfälle: Se HBs hemsida för mer info: http://www.hb.se/student/akademin-for-textil-teknik-ochekonomi/terminstider-och-lasperioder/ingenjors--och-teknikvetenskap-ej-textil-och-mode/ 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
Affärssystem Fråga 1) I kursen har vi pratat om Egenutvecklade System [ES], Standardsystem [SS] och Affärssystem [AS]. (6p) a. Vad är skillnaden mellan dessa system? Beskriv och ge exempel. b. Vilka för och nackdelar finns med respektive systemtyp? Ge exempel och argumentera för och emot. c. Vilka typer av företag använder normalt respektive system? Fråga 2) Vad menas med säkerhetsprincipen oavvislighet och i vilket sammanhang används principen i ett affärssystem? Fråga 3) Vilka är de tre (3) logiska nivåerna på åtkomst i ett affärssystem och hur kan de spela ut varandra så oavsiktlig åtkomst kan ske? Förklara och ge exempel samt påvisa hur problemet kan lösas. Fråga 4) Vad händer om vårt affärssystem inte kan leverera korrekt data i rätt tid till kringliggande system (t.ex. leverantörer, lager, webbshop etc.)? Ge exempel på minst 2 situationer och följder som kan uppstå Fråga 5) I föreläsning 6 påstår vi att Historisk data är värdefull. Varför då och på vilket sätt kan vi ha nytta av den i ett affärssystem? Förklara och ge minst 2 exempel på användningsområden. Fråga 6) Varför kräver effektiviseringsprocesser såsom JIT(JustInTIme) och LEAN mer och mer av affärssystemen samt kringliggande system? Fråga 7) Förklara utifrån ett flertal aspekter innebörden av begreppen Managemet Information System [MIS], och Decision Support System [DSS], samt hur dessa förhåller sig till affärssystem [AS] och Datalager/Data Warehouse. (4p) 1 (5)
Databassystem Fråga 8) Beskriv sambandet mellan följande delar i ett databassystem: databashanterare (DBMS), databas, applikationsprogram, databasspråk. Fråga 9) Ange minst 4 olika fördelar med ett databassystem jämfört med ett filbaserat system. Fråga 10) Fördela nedanstående filer på nedanstående LUNs med tanke på bästa I/O prestanda (motivera svaren) samt förklara varför vissa LUNs är formaterade med en filallokeringsstorlek på 64KB. Filer winlogon.exe sqlagent.exe master.mdf master.ldf northwind.mdf northwind.ldf tempdb.mdf templog.ldf northwind.bak Beskrivning Windows Operativsystem fil SQL Server Agent service Master systemdatabasens datafil Master systemdatabasens loggfil Användardefinierad databas datafil Användardefinierad databas loggfil TempDB systemdatabasens datafil TempDB systemdatabasens loggfil Användardefinierad databas säkerhetskopia LUN Filallokeringsstorlek Beskrivning C 4 KB RAID 5 F 4 KB RAID 1 G 64 KB RAID 1 H 64 KB RAID 5 optimerad för random access I 64 KB RAID 10 optimerad för sekventiell access J 64 KB RAID 5 optimerad för random access K 64 KB RAID 10 optimerad för sekventiell access L 4 KB RAID 1 (nätverksenhet) 2 (5)
Structured Query Language (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. 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 (5)
Fråga 11) Skriv en DDL-sats som skapar (definierar) tabellen Orderrader enligt ovanstående databaschema. Du kan anta att tabellen placeras i defaultfilgruppen PRIMARY. Fråga 12) Skriv en DML-sats som gör en utsökning mot databasen med ovanstående schema och som returnerar en lista över samtliga kunder (från tabellen Kunder) vars Efternamn börjar på bokstaven 'A' och vars Emailadress inte är lika med NULL). Visa kolumnerna Förnamn och Efternamn (från tabellen Kunder) och kolumnen Bokningsdatum (från tabellen Bokningar) i slutresultatet. Sortera resultatet på Efternamn i fallande ordning (dvs med Ö först och A sist). Fråga 13) Vad står förkortningarna DDL och DML för? Ange några exempel på SQL-kommandon som man kan hitta under varje rubrik, dvs under DDL samt DML. (1p) Relationsmodellen och Relationsdatabaser Fråga 14) Förklara begreppen Kandidatnyckel, Primärnyckel och Främmande nyckel. Hög Tillgänglighet Fråga 15) Redogör för Replikering 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: article, publication, publisher, subscriber och distributor. (6p) Transaktioner Fråga 16) Redogör för de fyra ACID-egenskaperna som en transaktion måste uppfylla. 4 (5)
Behörighetskontroll och Rättigheter Fråga 17) Redogör utförligt för säkerhetsmodellen i Microsoft SQL Server vad gäller behörighetskontroll och rättigheter. Hur ger man en ny användare tillgång till databasobjekt i en viss databas enligt den best practice process som vi har använt under kursen? Vad behöver göras på Windows Server? Vad behöver göras i SQL Server Management Studio? Vilka olika typer av accessrättigheter finns det på olika databasobjekt? (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) 5 (5)