KARLSTADS UNIVERSITET FAKULTETEN FÖR EKONOMI KOMMUNIKATION OCH IT DATAVETENSKAP

KARLSTADS UNIVERSITET DATAVETENSKAP TENTAMEN I DAV C05 AVANCERAD PROGRAMMERING
KARLSTADS UNIVERSITET FAKULTETEN FÖR EKONOMI KOMMUNIKATION OCH IT DATAVETENSKAP





Karlstads universitet


Karlstads universitet

Fakulteten för ekonomi, kommunikation och IT

Datavetenskap



TENTAMEN I TILLÄMPAD SYSTEMKONSTRUKTION, CIT B01

DELTENTAMEN I DATABASTEKNIK

Måndag 06-04-24 kl. 08.15 – 13.15



Ansvarig lärare: Katarina Asplund

Hjälpmedel: Inga

Betygsgränser: Max 60p, 5=50p, 4=40p, 3=30p


SKRIV TYDLIGT LÄS FRÅGORNA NOGGRANT ANVÄND FIGURER


Lycka till !






Uppgift 1 Normalisering (7 poäng)


Anställda

Avdnr

Avdnamn

Avdbudget

Anstnr

Namn

Lön (kr)

1

Försäljning

10 miljoner

A1

Andersson

30000

1

Försäljning

10 miljoner

A2

Berglund

25000

1

Försäljning

10 miljoner

A3

Carlsson

35000

1

Försäljning

10 miljoner

A4

Didriksson

40000

2

Tillverkning

50 miljoner

A5

Eklund

20000

2

Tillverkning

50 miljoner

A6

Fransson

20000

3

Personal

5 miljoner

A7

Granlund

32000

4

Forskning

20 miljoner

A8

Hansson

45000

4

Forskning

20 miljoner

A9

Isaksson

50000



  1. Bilden ovan visar en relation i över anställda i ett företag och vilka avdelningar de arbetar på. Beskriv vilka olika problem som kan uppstå när man vill lägga till, ta bort och uppdatera tupler i denna relation. Anta att primärnyckeln är (Avdnr, Anstnr) (2p).

  2. Rita ett diagram över de funktionella beroendena i relationen. Vilken normalform är relationen i och varför? (3p).

  3. En relation i en lägre normalform kan alltid normaliseras så att man får en mängd relationer i 3NF. I denna process är det viktigt att ingen information försvinner, dvs att processen är reversibel. Hur kan vi med hjälp av funktionella beroenden visa att ingen information försvinner vid vår normalisering ? (2p)





Uppgift 2 Relationsdatabaser (7 poäng)


  1. Vad finns beskrivet i det konceptuella schemat i en databas? (2p)

  2. Relationer har fyra viktiga egenskaper. Vilka är de? (2p)

  3. Vad är skillnaden mellan en vy och en basrelation? (1p).

  4. Beskriv vad operationen Union gör och vad som krävs för att man ska kunna utföra operationen på två relationer. (2p)



Uppgift 3 Telefonnummerdatabas (10 poäng)


Ett företag har beslutat sig för att börja konkurrera med eniro.se och skapa en telefonnummerdatabas som skall innehålla information om privatpersoners och företags olika fasta telefonnummer, mobila telefonnummer och e-postadresser. Denna databas skall sedan kunna accessas från Internet. Till att börja med är det tänkt att följande information skall finnas med i databasen:



För varje privatperson


För varje privatpersons e-postadress


För varje privatpersons telefonnummer


För varje riktnummer


För varje företag


(fortsättning på nästa sida)


För varje företags e-postadress


För varje företags telefonnummer



För varje bransch



  1. Gör en modell av databasen i form av ett E/R-diagram där all ovanstående information finns med. Tycker du att något i informationen är oklart, så gör egna antaganden och ange dem i svaret (5p).

  2. Ge en lista på de relationer du skulle skapa för databasen, tillsammans med deras attribut. Bestäm alla primärnycklar, kandidatnycklar och främmandenycklar (5p).




Uppgift 4 Integritet (6 poäng)


  1. Relationsmodellen innehåller två viktiga generella integritetsregler.Vilka? Förklara vad dessa regler innebär och beskriv vad som kan hända om reglerna inte efterföljs. (3p)

  2. Vad menas med databas-specifika (semantiska) integritetsregler? Ge exempel på tre sådana regler (i text) som skulle behöva definieras för databasen i uppgift 3 (3p).




Uppgift 5: Indexering (5 poäng)


  1. Hur går indexering till rent generellt? Förklara kortfattat. (1 p)

  2. Varför används index? Förklara kortfattat. (1 p)

  3. Vad är skillnaden mellan ett dense och ett non dense index? (1.5 p)

  4. Är ett primärindex (primary index) dense eller non dense? Motivera ditt svar (1.5 p)


Uppgift 6: Concurrency/Samtidighet (6 poäng)


T1

T2

read_item(X);
X:=X-N;





write_item(X);
read_item(Y);




Y:=Y+N;

write_item(Y);





read_item(X);
X:=X+M;





write_item(X);


När två transaktioner exekverar samtidigt är det viktigt att de inte påverkar varandra.


  1. Två operationer i ett schema sägs vara i konflikt om tre villkor är uppfyllda. Vilka är dessa villkor? (1.5 p)

  2. Vad menas med att ett schema är konfliktserialiserbart? (1.5p)

  3. Rita upp en precedensgraf för ovanstående schema. Visa alla steg du tar på vägen och förklara varför du tar dem. Är schemat konfliktserialiserbart? Motivera ditt svar. (3p)




Uppgift 7: Recovery/Återhämtning (6 poäng)


  1. Redogör för återhämtningsstrategin omedelbar uppdatering (immediate update). (3p)

  2. Vad innebär cascading rollbacks? Ge ett exempel (1 p)

  3. UNDO och REDO är två viktiga operationer vid återhämtning och ofta delar man in algoritmer med avseende på just dessa operatoner. Förklara vad en NO-UNDO/REDO-algoritm innebär och ge ett exempel på en återhämtningsstrategi som använder en sådan algoritm. (2 p)




Uppgift 8: Säkerhet (3 poäng)


En av metoderna för accesskontroll i databassystem är discretionary access control. Beskriv hur denna metod fungerar, ge exempel på en fördel och en nackdel med metoden, och ge ett exempel på hur det kan se ut då man delar ut rättigheter till en användare. (3 p).

4






Tags: datavetenskap tentamen, karlstads, ekonomi, universitet, kommunikation, datavetenskap, fakulteten