Kurssikoe perjantaina 16.5. klo 16-20 Porthania I.
1. Tietokannan eheysrajoitteen mukaan tietoalkioilla X ja Y pitää olla sama arvo. Tarkastellaan transaktiojoukon {T1, T2, T3} ajoitusta
T1: read(X,v); T1: v:=v+1; T1: write(X,v); T2: read(X,w); T2: write(Y,w); T2: commit; T3: read(Y,p); T1: abort; T3: write(Z,p); T3:commit; |
|
2. Oletetaan, että transaktiot T1 ja T2 noudattavat seuraavaa ajoitusta:
1 T1: read(X,v); 2 T2: read(X,u); 3 T1: write(X,v); 4 T1: read(Y,z); 5 T2: read(X,w); 6 T2: write(X,w); 7 T1: write(Y,z); 8 T1: commit; 9 T2: commit; |
|
3. Tietokannan hallintajärjestelmässä sovelletaan ankaraa kaksivaiheista lukituskäytäntöä.
Lukittavat tietoalkiot ovat sivuja. Mitä lukkoja ja missä vaiheessa käsittelyä otetaan seuraavan
transaktion suorituksessa kun
a) relaatio TYÖNTEKIJÄ on toteutettu kasarakenteena.,
b) relaatio TYÖNTEKIJÄ on hajautettu sarakkeen OSASTO perusteella.
c) relaatiolla TYÖNTEKIJÄ on hajautukseen perustuva oheishakemisto sarakkeen OSASTO perusteella.
begin transaction; update TYÖNTEKIJÄ set PALKKA = PALKKA + 500 where OSASTO = 5; commit transaction.
4. Tietokannan hallintajärjestelmässä sovelletaan ankaraa kaksivaiheista lukituskäytäntöä. Lukittavat tietoalkiot ovat sivuja. Mitä lukkoja ja missä vaiheessa käsittelyä otetaan transaktion
begin transaction update TYÖNTEKIJÄ set PALKKA = PALKKA + 500 where TT_NRO=301123 commit transaction.suorituksessa kun taulu on toteutettu ISAM rakenteena?
5. Vuorovaikutteisessa tietokantasovelluksessa tietokannan päivitys tapahtuu usein seuraavasti. Asiakassovellus lukee tietokannasta joukon rivejä sovelluksen työtilaan. Rivit näytetään käyttäjälle, joka mahdollisesti editoi työtilassa olevia rivejä. Lopuksi muuttuneet rivit kirjoitetaan takaisin tauluun. Miten operaatiot kannattaisi jakaa transaktioiksi. Millaista eristyvyystasoa ja lukitusta tällaisessa käsittelyssä kannattaisi käyttää?
6. Lupaudu täyttämään kurssikyselylomake osoitteessa: http://ilmo.cs.helsinki.fi/kurssit/servlet/Valinta