DBVS baigiamasis testas
(egzaminas / įskaita)

Testas vyksta raštu.
Individualų bilietą sudaro teoriniai klausimai ir uždaviniai.
Teoriniai klausimai formuluojami šiek tiek siauriau negu jie yra suformuluoti pateiktoje programoje.
Taisyklės:
Galutinis pažymys - suma dviejų skaičių:
- balai gauti per pratybas (max. 4)
- testo balai (max. 6)

Teorinių klausimų pavyzdžiai:
Išvardykite virtualiųjų lentelių privalumus;
Apibrėžkite pirminius ir nepirminius atributus;
Apibrėžkite lentelės 2-ją norminę formą;
Įrodykite, kad lentelė, esanti 3NF, yra ir 2NF;
Išvardykite elementus, kurie nurodomi sukuriant trigerį;
Išvardykite elementus, kurie nurodomi sukuriant išorinį raktą;
ir pan.
Kiekvienas visiškai atsakytas teorinis klausimas vertinamas apie 0.4 balo.

Uždavinių pavyzdžiai:
1. Tarkime lentelei L(A,B,C,D) galioja dvi funkcinės priklausomybės: AB -> C, C -> D
a) Ar galioja funkcinė priklausomybė BC -> D? Kodėl? (0.2)
b) Sudarykite atributų aibės BC uždarinį (BC)+. (0.2)
c) Kiek raktų turi L? Išvardykite visus juos. (0.2)
d) Ar L yra 2NF, kodėl? (0.2)
e) Ar L yra 3NF, kodėl? (0.2)
f) Ar L yra BKNF, kodėl? (0.2)
g) Sudarykite reliacinę schemą, atitinkančią L ir esančią BKNF. (0.3)

2. Sudarykite DB schemą, atitinkančią tokią E-R diagramą (0.8)

3. Tarkime, turime lentelę R(A,B), kuri yra užpildyta tokiais duomenimis:
A B
1 1
1 2
2 1
a) Ar šioje lentelėje galioja FP A->B? Kodėl? (0.2)
b) Užrašykite užklausų rezultatus

  i)   SELECT DISTINCT B FROM R ORDER BY B DESC          (0.2)
  ii)  SELECT A, COUNT(*) FROM R GROUP BY A              (0.2)
  iii) SELECT A FROM R WHERE A IN (SELECT B FROM R)      (0.2)
  iv) (SELECT A FROM R) INTERSECT (SELECT B FROM R)      (0.2)

Pastabos:
Skliausteliuose nurodyti orientaciniai balai už visiškai atsakytą klausimą.
Atsakius klausimą dalinai, skiriama nurodytų balų dalis.


Sėkmės,
R.Baronas