Pojęciom związanym z obiektowością przyporządkowano pewne określenia istniejące |
||
|
kolekcja wszystkich klas - schemat bazy danych |
1 |
|
klasa - rekord |
2 |
|
obiekt - typ rekordu |
3 |
Typy danych, które mogą wystąpić jako wartości atrybutów obiektu w obiektowej bazie danych, to: |
||
|
dowolne atomowe (int, bool, char, ..) |
1 |
|
strukturalne (zbiór, lista, ..) |
2 |
|
klasa |
3 |
Tożsamość obiektu (czyli identyfikator obiektu wewnątrz obiektowej bazy danych) zależy od: |
||
|
zmian wartości atrybutów obiektu |
1 |
|
fizycznego adresu obiektu w pamięci |
2 |
|
nie zależy od niczego |
3 |
Jeżeli obiekt zdefiniowany w klasie A posiada atrybut typu klasa B, to możemy powiedzieć, że: |
||
|
klasy A i B są ze sobą powiązane związkiem agregacji |
1 |
|
klasy A i B są ze sobą powiązane związkiem dziedziczenia |
2 |
|
obiekty typu klasa A mogą korzystać z metod typu public, zdefiniowanych w klasie B |
3 |
Jeżeli relacja, wchodząca w skład temporalnej bazy danych, wspiera czas transakcyjny, to: |
||
|
jest to czas, w którym atrybuty tej relacji są prawdziwe w bazie (zostały zapamiętane w bazie) |
1 |
|
jest to czas, w którym wartość tych atrybutów - według naszej najlepszej wiedzy - występowała w rzeczywistości |
2 |
|
czas ten jest jednym z atrybutów relacji; a pozostałe atrybuty nie są od niego zależne |
3 |
W rozwiązaniu z serwerem plików w architekturze klient-serwer do funkcji serwera należy: |
||
|
sterowanie współbieżnym dostępem do danych |
1 |
|
analiza i realizacja zapytań |
2 |
|
obsługa zadań odczytu/zapisu danych |
3 |
|
odbiór i przetwarzanie danych |
|
Egzamin Bazy danych I
Dane są następujące relacje (klucze wyróżniono dużymi literami) PRACOWNI (NRP, nazwisko, imię, nrz), TEMATY (NRT, nazwatemat, nrpkt), DOCHODY (nrp, nrt, kwota)
Zadanie wyrażone w postaci rachunku krotek relacji: { t(nazwisko, kwota) | (∃ p) (Pracowni(p) ∧ t.nazwisko = p.nazwisko ∧ (∃ d) (Dochody (d) ∧ d.kwota >1000 ∧ d.nrp = p.nrp ∧ d.nrt = 5 ∧ t.kwota = d.kwota))}
jest równoważne zapytaniu w języku SQL: |
||
|
select nazwisko, kwota from pracowni p, dochody d where d.kwota > 1000 and d.nrt = 5 |
1 |
|
select nazwisko, kwota from pracowni p, dochody d where d.kwota > 1000 and d.nrt = 5 and p.nrp = d.nrp |
2 |
|
select t.nazwisko, t.kwota from pracowni p, dochody d where d.kwota > 1000 and d.nrt = 5 and p.nrp = d.nrp and t.nazwisko = p.nazwisko and t.kwota = d.kwota |
3 |
|
select nazwisko, sum(kwota) from pracowni p, dochody d where d.kwota > 1000 and d.nrt = 5 and p.nrp = d.nrp |
4 |
O operatorze projekcji można powiedzieć, że jest to |
||
|
wycięcie pionowe |
5 |
|
nałożenie warunków wyszukiwania na kolumny tabeli |
6 |
|
ograniczenie liczby kolumn wyświetlanych w wyniku wykonania zapytania |
7 |
|
złączenie kilku tabel według równości pola kluczowego |
8 |
W procesie dekompozycji schematu relacji R do postaci q = {R1, R2, .. Rk} wymagane jest, by: |
||
|
zbiory schematów Ri były rozłączne |
9 |
|
liczba zbiorów Ri była minimalna |
10 |
|
dekompozycja ta posiadała własność połączenia bez strat |
11 |
|
każdy schemat był w 3NF lub 4NF |
12 |
Funkcja agregująca może: |
||
|
wystąpić we frazie where |
13 |
|
wystąpić we frazie having |
14 |
|
zostać porównana z inną funkcją agregującą |
15 |
|
wystąpić po słowie SELECT |
16 |
Po zastosowaniu algorytmu generacji schematów dla diagramu ERD w notacji Chen'a związkom 1:N: |
||
|
odpowiadają klucze encji po stronie N przeniesione do tablicy utworzonych dla encji po stronie 1 |
17 |
|
odpowiadają klucze encji po stronie 1 przeniesione do tablicy utworzonych dla encji po stronie N |
18 |
|
odpowiadają osobne tablice o kluczu złożonym z kluczy łączonych encji |
19 |
|
odpowiadają osobne tablice o kluczu składającym się z klucza encji po stronie 1 |
20 |
Sub przykład() Dim zb as RecordSet Dim i as integer
Set zb = Currentdb.OpenRecordSet(„Dochody”, dbOpenDynaset) Zb.findFirst „Nrp = 5” Do while not zb.eof Msgbox „Numer tematu =” &zb!nrt i = i + 1 Zb.findNext „nrp = 5” Loop Msgbox „Liczba tematów” & i End sub
Efektem działania powyższego fragmentu procedury napisanej w języku Access Basic będzie: |
||
|
wyświetlenie wszystkich tematów, w których pracował pracownik o numerze 5 oraz liczby i |
21 |
|
przejście do końca zbioru zb i wyświetlenie liczby i |
22 |
|
pominięcie wnętrza pętli i wyświetlenie liczby i |
23 |
Po transformacji poniższego diagramu związków encji w zbiór schematów tablic (wykonano również krok optymalizacji):
|
||
|
Atrybut dodatek_nadz znajdzie się w schemacie utworzonym dla związku Nadzoruje |
24 |
|
Atrybut dodatek_kier znajdzie się w schemacie utworzonym dla encji Pracownik |
25 |
|
Atrybut dodatek_nadz znajdzie się w schemacie utworzonym dla encji Projekt |
26 |
|
Atrybut dodatek_kier znajdzie się w schemacie utworzonym dla encji Projekt |
27 |
Wykonanie polecenia REVOKE CONNECT FROM PRAC w bazie SQL Base skończy się niepowodzeniem jeśli: |
||
|
Użytkownik PRAC posiada własne tablice |
28 |
|
Użytkownik PRAC posiada prawa RESOURCE |
29 |
|
Wykonywane jest przez użytkownika ADMIN o prawach RESOURCE |
30 |
Określ prawdziwość stwierdzeń dotyczących kluczy obcych w systemie SQL Base |
||
|
W tabeli może zostać zdefiniowanych kilka kluczy obcych |
31 |
|
Klucz obcy musi się odnosić do zdefiniowanego wcześniej klucza głównego w tabeli nadrzędnej |
32 |
|
Kolumny wchodzące w skład klucza obcego muszą posiadać atrybut NOT NULL |
33 |
Klucz główny w systemie SQL Base |
||
|
Może być tylko jeden dla jednej tabeli |
34 |
|
Może być oparty o jedną lub więcej kolumn |
35 |
|
Każda kolumna wchodząca w jego skład musi mieć atrybut NOT NULL |
36 |
Dla tabeli ZAROBKI(nrpr,pensja) zawierającej rekordy: (1,1000), (2,1500), (3,2000),(4,2000) Zapytania:
|
||
|
zwrócą takie same wartości |
37 |
|
(a) zwróci wartość większą |
38 |
Które z poniższych par zapisów są równoważne (dają identyczne rezultaty)? |
||
|
{t(nazwisko, kwota, nrt)|(∃ p) (Pracowni(p) ∧ t.nazwisko=p.nazwisko ∧ p.nrz=5 ∧ (∃d) (Dochody (d) ∧ t.kwota=d.kwota ∧ t.nrt=d.nrt ∧ p.nrp=d.nrp))}
∏ nazwisko, kwota, nrt (δ nrz=5(Pracowni)** Dochody) pracowni.nrp=dochody.nrp |
39 |
|
{t(nazwisko, kwota, nrt)|(∃ p) (Pracowni(p) ∧ t.nazwisko=p.nazwisko ∧ p.nrz=5 ∧ (∃d) (Dochody (d) ∧ t.kwota=d.kwota ∧ t.nrt=d.nrt ∧ p.nrp=d.nrp))}
∏ nazwisko, nrp (δ nrz=5(Pracowni))** ∏ kwota, nrt, nrp (Dochody) pracowni.nrp=dochody.nrp |
40 |
|
{t(nazwisko, kwota, nrt)|(∃ p) (Pracowni(p) ∧ t.nazwisko=p.nazwisko ∧ p.nrz=5 ∧ (∃d) (Dochody (d) ∧ t.kwota=d.kwota ∧ t.nrt=d.nrt ∧ p.nrp=d.nrp))}
∏ nazwisko (δ nrz=5(Pracowni))** ∏ kwota, nrt (Dochody) pracowni.nrp=dochody.nrp |
41 |
|
{t(nazwisko, kwota, nrt)|(∃ p) (∃d) (Pracowni(p) ∧ Dochody (d)∧ t.nazwisko=p.nazwisko ∧ p.nrz=5 ∧ t.kwota=d.kwota ∧ t.nrt=d.nrt ∧ p.nrp=d.nrp)}
∏ nazwisko, kwota, nrt (δ nrz=5(Pracowni)** Dochody) pracowni.nrp=dochody.nrp |
42 |
Nadanie użytkownikowi poziomu uprawnień RESOURCE w serwerze SQLBase pozwala na: |
||
|
Tworzenie własnych tabel |
43 |
|
Nadawanie uprawnień do własnych obiektów innym użytkownikom |
44 |
|
Zmianę poziomów uprawnień |
45 |
|
Przeglądanie i modyfikację wszystkich tabel istniejących w bazie danych |
46 |
Perspektywy stosowane są w języku SQL w celu: |
||
|
Uproszczenia dostępu do danych |
47 |
|
Zwiększenia bezpieczeństwa bazy danych |
48 |
|
Bardziej szczegółowego zarządzania prawami (w odniesieniu do wierszy lub kolumn) |
49 |
Dane są następujące relacje (klucze wyróżniono dużymi literami) PRACOWNI (NRP, nazwisko, imie, nrz) TEMATY (NRT, nazwatemat, nrkt) DOCHODY (NRP, NRT,KWOTA) ZESPOLY (NRZ, nazawazesp, nrkz) Określ prawidłowe zapytanie(-a) w języku SQL |
||
|
SELECT sum(kwota) FROM dochody WHERE sum(kwota) > 1000 |
50 |
|
SELECT count(nrp) FROM pracowni GROUP BY nrz HAVING count(nrp) > 10 |
51 |
|
SELECT nrp, nrt FROM dochody GROUP BY nrt HAVING avg(kwota) > min(kwota) |
52 |
|
SELECT nrp, sum(kwota), nrt FROM dochody GROUP BY nrt, nrp |
53 |
Słowo kluczowe PUBLIC w systemie SQL Base: |
||
|
Umożliwia nadanie praw publicznych wszystkim użytkownikom bazy danych (obecnym i przyszłym) |
54 |
|
Umożliwia stworzenie synonimów widocznych przez wszystkich użytkowników |
55 |
|
Pozwala właścicielowi na udostępnienie danych zwartych w jego obiektach wszystkim użytkownikom |
56 |
|
Pozwala na stworzenie publicznego użytkownika |
57 |
Dane są tabele (klucze są wyróżnione wielkimi literami) TEMAT (NRT, nazwatem, nrkt)
PRACOWNIK (NRP, nazwisko, imie)
A oznacza zbiór wierszy będący wynikiem zapytania INTERSECT
select nrkt, nazwisko from PRACOWNIK p, TEMAT t where p.nrp=t.nrkt
B oznacza zbiór wierszy będący wynikiem zapytania UNION
select nrkt, nazwisko from PRACOWNIK p, TEMAT t where p.nrp=t.nrkt |
||
|
A zawiera się w B |
58 |
|
B zawiera się w A |
59 |
|
część wspólna A i B jest zbiorem pustym |
60 |
|
zbiór B jest zbiorem niepustym |
61 |
Mając zbiór zależności {AB → C, AB → D, D → E, B → D, C → F} możemy powiedzieć, że: |
||
|
schemat (A, B, C, D) jest w drugiej postaci normalnej, |
62 |
|
schemat (A, B, C, D) jest w trzeciej postaci normalnej, |
63 |
|
schemat (A, B, C, F) jest w drugiej postaci normalnej, |
64 |
|
schemat (A, B, C, F) jest w trzeciej postaci normalnej, |
65 |
Dla tablicy postaci: prac(nrp,nazwisko,nrz) Określ prawidłowe zapytanie(-a) w języku SQL:
|
||
|
SELECT nrz FROM prac GROUP BY nrp,nrz |
66 |
|
SELECT nrz FROM prac GROUP BY nrp |
67 |
|
SELECT DESC(nrp) FROM prac GROUP BY nrz |
68 |
|
SELECT COUNT(nrp) FROM prac GROUP BY nazwisko |
69 |
W procesie dekompozycji schematu relacji R do postaci q = {R1, R2, .. Rk} wymagane jest, by: |
||
|
zbiory schematów Ri były rozłączne |
9 |
|
liczba zbiorów Ri była minimalna |
10 |
|
dekompozycja ta posiadała własność połączenia bez strat |
11 |
|
każdy schemat był w 3NF lub 4NF |
12 |
Po zastosowaniu algorytmu generacji schematów dla diagramu ERD w notacji Chen'a związkom 1:N: |
||
|
odpowiadają klucze encji po stronie N przeniesione do tablicy utworzonych dla encji po stronie 1 |
17 |
|
odpowiadają klucze encji po stronie 1 przeniesione do tablicy utworzonych dla encji po stronie N |
18 |
|
odpowiadają osobne tablice o kluczu złożonym z kluczy łączonych encji |
19 |
|
odpowiadają osobne tablice o kluczu składającym się z klucza encji po stronie 1 |
20 |
Sub przykład() Dim zb as RecordSet Dim i as integer
Set zb = Currentdb.OpenRecordSet(„Dochody”, dbOpenDynaset) Zb.findFirst „Nrp = 5” Do while not zb.eof Msgbox „Numer tematu = „ &zb!nrt i = i + 1 Zb.findNext „nrp = 5” Loop Msgbox „Liczba tematów” & i End sub
Efektem działania powyższego fragmentu procedury napisanej w języku Access Basic będzie: |
||
|
wyświetlenie wszystkich tematów, w których pracował pracownik o numerze 5 oraz liczby i |
21 |
|
przejście do końca zbioru zb i wyświetlenie liczby i |
22 |
|
pominięcie wnętrza pętli i wyświetlenie liczby i |
23 |
Wykonanie polecenia REVOKE CONNECT FROM PRAC w bazie SQL Base skończy się niepowodzeniem jeśli: |
||
|
Użytkownik PRAC posiada własne tablice |
28 |
|
Użytkownik PRAC posiada prawa RESOURCE |
29 |
|
Wykonywane jest przez użytkownika ADMIN o prawach RESOURCE |
30 |
Określ prawdziwość stwierdzeń dotyczących kluczy obcych w systemie SQL Base |
||
|
W tabeli może zostać zdefiniowanych kilka kluczy obcych |
31 |
|
Klucz obcy musi się odnosić do zdefiniowanego wcześniej klucza głównego w tabeli nadrzędnej |
32 |
|
Kolumny wchodzące w skład klucza obcego muszą posiadać atrybut NOT NULL |
33 |
Klucz główny w systemie SQL Base |
||
|
Może być tylko jeden dla jednej tabeli |
34 |
|
Może być oparty o jedną lub więcej kolumn |
35 |
|
Każda kolumna wchodząca w jego skład musi mieć atrybut NOT NULL |
36 |
Dla tabeli ZAROBKI(nrpr,pensja) zawierającej rekordy: (1,1000), (2,1500), (3,2000),(4,2000) Zapytania: SELECT AVG(DISTINCT pensja) FROM ZAROBKI SELECT AVG(pensja) FROM ZAROBKI |
||
|
zwrócą takie same wartości |
37 |
|
(a) zwróci wartość większą |
38 |
Które z poniższych par zapisów są równoważne (dają identyczne rezultaty)? |
||
|
{t(nazwisko, kwota, nrt)|(∃ p) (Pracowni(p) ∧ t.nazwisko=p.nazwisko ∧ p.nrz=5 ∧ (∃d) (Dochody (d) ∧ t.kwota=d.kwota ∧ t.nrt=d.nrt ∧ p.nrp=d.nrp))}
∏ nazwisko, kwota, nrt (δ nrz=5(Pracowni)** Dochody) pracowni.nrp=dochody.nrp |
39 |
|
{t(nazwisko, kwota, nrt)|(∃ p) (Pracowni(p) ∧ t.nazwisko=p.nazwisko ∧ p.nrz=5 ∧ (∃d) (Dochody (d) ∧ t.kwota=d.kwota ∧ t.nrt=d.nrt ∧ p.nrp=d.nrp))}
∏ nazwisko, nrp (δ nrz=5(Pracowni))** ∏ kwota, nrt, nrp (Dochody) pracowni.nrp=dochody.nrp |
40 |
|
{t(nazwisko, kwota, nrt)|(∃ p) (Pracowni(p) ∧ t.nazwisko=p.nazwisko ∧ p.nrz=5 ∧ (∃d) (Dochody (d) ∧ t.kwota=d.kwota ∧ t.nrt=d.nrt ∧ p.nrp=d.nrp))}
∏ nazwisko (δ nrz=5(Pracowni))** ∏ kwota, nrt (Dochody) pracowni.nrp=dochody.nrp |
41 |
|
{t(nazwisko, kwota, nrt)|(∃ p) (∃d) (Pracowni(p) ∧ Dochody (d)∧ t.nazwisko=p.nazwisko ∧ p.nrz=5 ∧ t.kwota=d.kwota ∧ t.nrt=d.nrt ∧ p.nrp=d.nrp)}
∏ nazwisko, kwota, nrt (δ nrz=5(Pracowni)** Dochody) pracowni.nrp=dochody.nrp |
42 |
Nadanie użytkownikowi poziomu uprawnień RESOURCE w serwerze SQLBase pozwala na: |
||
|
Tworzenie własnych tabel |
43 |
|
Nadawanie uprawnień do własnych obiektów innym użytkownikom |
44 |
|
Zmianę poziomów uprawnień |
45 |
|
Przeglądanie i modyfikację wszystkich tabel istniejących w bazie danych |
46 |
Perspektywy stosowane są w języku SQL w celu: |
||
|
Uproszczenia dostępu do danych |
47 |
|
Zwiększenia bezpieczeństwa bazy danych |
48 |
|
Bardziej szczegółowego zarządzania prawami (w odniesieniu do wierszy lub kolumn) |
49 |
Dane są następujące relacje (klucze wyróżniono dużymi literami) PRACOWNI (NRP, nazwisko, imie, nrz) TEMATY (NRT, nazwatemat, nrkt) DOCHODY (NRP, NRT,KWOTA) ZESPOLY (NRZ, nazawazesp, nrkz) Określ prawidłowe zapytanie(-a) w języku SQL |
||
|
SELECT sum(kwota) FROM dochody WHERE sum(kwota) > 1000 |
50 |
|
SELECT count(nrp) FROM pracowni GROUP BY nrz HAVING count(nrp) > 10 |
51 |
|
SELECT nrp, nrt FROM dochody GROUP BY nrt HAVING avg(kwota) > min(kwota) |
52 |
|
SELECT nrp, sum(kwota), nrt FROM dochody GROUP BY nrt, nrp |
53 |
Słowo kluczowe PUBLIC w systemie SQL Base: |
||
|
Umożliwia nadanie praw publicznych wszystkim użytkownikom bazy danych (obecnym i przyszłym) |
54 |
|
Umożliwia stworzenie synonimów widocznych przez wszystkich użytkowników |
55 |
|
Pozwala właścicielowi na udostępnienie danych zwartych w jego obiektach wszystkim użytkownikom |
56 |
|
Pozwala na stworzenie publicznego użytkownika |
57 |
Mając zbiór zależności {AB → C, AB → D, D → E, B → D, C → F} możemy powiedzieć, że: |
||
|
schemat (A, B, C, D) jest w drugiej postaci normalnej, |
62 |
|
schemat (A, B, C, D) jest w trzeciej postaci normalnej, |
63 |
|
schemat (A, B, C, F) jest w drugiej postaci normalnej, |
64 |
|
schemat (A, B, C, F) jest w trzeciej postaci normalnej, |
65 |
Pojęciom związanym z obiektowością przyporządkowano pewne określenia istniejące |
||
|
kolekcja wszystkich klas - schemat bazy danych |
1 |
|
klasa - rekord |
2 |
|
obiekt - typ rekordu |
3 |
Typy danych, które mogą wystąpić jako wartości atrybutów obiektu w obiektowej bazie danych, to: |
||
|
dowolne atomowe (int, bool, char, ..) |
1 |
|
strukturalne (zbiór, lista, ..) |
2 |
|
klasowe |
3 |
Tożsamość obiektu (czyli identyfikator obiektu wewnątrz obiektowej bazy danych) zależy od: |
||
|
zmian wartości atrybutów obiektu |
1 |
|
fizycznego adresu obiektu w pamięci |
2 |
|
nie zależy od niczego i jest przydzielana dynamicznie przez serwer |
3 |
Jeżeli obiekt zdefiniowany w klasie A posiada atrybut typu klasa B, to możemy powiedzieć, że: |
||
|
klasy A i B są ze sobą powiązane związkiem agregacji |
1 |
|
klasy A i B są ze sobą powiązane związkiem dziedziczenia |
2 |
|
obiekty typu klasa A mogą korzystać z metod typu public, zdefiniowanych w klasie B |
3 |
Jeżeli relacja, wchodząca w skład temporalnej bazy danych, wspiera czas transakcyjny, to: |
||
|
jest to czas, w którym atrybuty tej relacji są prawdziwe w bazie (zostały zapamiętane w bazie) |
1 |
|
jest to czas, w którym wartość tych atrybutów - według naszej najlepszej wiedzy - występowała w rzeczywistości |
2 |
|
czas ten jest jednym z atrybutów relacji, a pozostałe atrybuty nie są od niego zależne |
3 |
W architekturze klient-serwer do funkcji serwera plików (np. Novell) należy: |
||
|
sterowanie współbieżnym dostępem do danych |
1 |
|
analiza i realizacja zapytań |
2 |
|
obsługa zadań odczytu/zapisu danych |
3 |
|
odbiór i przetwarzanie danych |
4 |
2. Dla tablicy postaci: prac(nrp, nazwisko, nrz) określ prawidłowe zapytanie w języku SQL:
SELECT DESC(nrp) FROM prac GROUP BY nrz (n)
SELECT COUNT(nrp) FROM prac GROUP BY nazwisko (t)
SELECT nrz FROM prac GROUP BY nrp (n)
SELECT nrz FROM prac GROUP BY nrp, nrz (t)
4. W przypadku, gdy w diagramie ERD w notacji Chena występuje atrybut wielowartościowy, to po zastosowaniu algorytmu generacji schematów :
a) kluczem utworzonego schematu jest atrybut kluczowy encji
b) tworzony jest dodatkowy schemat relacji, do którego wchodzi atrybut kluczowy encji i atrybut wielowartościowy
c) nie powstaje dodatkowy schemat relacji, atrybut wielowartościowy wchodzi do schematu encji
d) kluczem utworzonego schematu jest złożenie atrybutu kluczowego encji i atrybutu wielowartościowego
5. Cechy modelu sieciowego:
a) wystąpienie rekordu może mieć wiele poprzedników w ramach jednego typu kolekcji
b) wystąpienie rekordu może mieć wiele poprzedników w ramach różnych typów kolekcji
c) można modelować związki M:N, 1:N
d) w bazie są przechowywane 2 typy obiektów : dane i powiązania
6. Funkcja agregująca może:
a) wystąpić po słowie SELECT
b) zostać porównana z inną funkcją agregującą
c) wystąpić we frazie HAVING
d) wystąpić we frazie WHERE
7. Dane są tabele (klucze są wyróżnione wielkimi literami)
prac(ID_PRAC,nazwisko,imie)
jezyki(ID_PRAC,ID_JEZYKA,stopien_znajomosci)
A oznacza zbiór wierszy będący wynikiem zapytania:
SELECT p.id_prac,p.nazwisko FROM prac p,jezyki j
WHERE p.id_prac = j.id_parac AND j.id_jezyka in (`AN','NM')
GROUP BY 1,2 HAVING count(*)>0;
B oznacza zbiór wierszy będący wynikiem zapytania :
SELECT distinct p.id_prac,p.nazwisko FROM prac p,jezyki j1,jezyki j2
WHERE p.id_prac=j1.id_prac AND j1.id_prac=j2.id_prac
AND (j1.id_jezyka='NM' OR j2.id_jezyka='AN');
Jeżeli zbiór A okazał się zbiorem niepustym to o zbiorach A i B możemy zawsze powiedzieć, że:
a) część wspólna A i B jest zbiorem pustym
b) A zawiera się w B
c) Zbiór B jest zbiorem niepustym
d) B zawiera się w A
8. Dla schematu relacji R(A,B,C,D) spełniającego zależności AB->D,A->C, zależność A->C jest:
a) zależnością tranzytywną
b) dopuszczalna w trzeciej postaci normalnej
c) zależnością redundancyjną w zbiorze zależności relacji R
d) zależnością częściową
12.Relacja samochody jest wypełniona danymi.
Samochody (Nr_samochodu, Nadwozie, Marka, Uszkodzona_część, Kod_stopnia_uszkodzenia)
Nr_samochodu Nadwozie Marka Uszkodzona_część Kod_stopnia_uszkodzenia)
2 Sedan VW Zderzak przednia 8
2 Sedan VW Lampa tylna lewa 3
2 Sedan VW Zawieszenie przednie 7
4 Sedan VW Lampa tylna lewa 11
5 Van VW Zderzak przedni 16
33 Van VW Zawieszenie tylne 8
33 Van VW Lapa tylna lewa 3
W powyższej relacji są spełnione następujące zależności funkcjonalne:
a) Nr_samochodu->Marka
b) Nr_samochodu->Kod_stopnia_uszkodzenia
c) Uszkodzona_część->Kod_stopnia_uszkodzenia
d) Marka->Nadwozie
13. Dane są następujące relacje (klucze wyrózniono dużymi literami)
PRACOWNI(NRP,nazwisko,imie,nrz)
TEMATY(NRT,nazwatemat,nrkt)
DOCHODY(nrp,nrt,kwota)
ZESPOLY(NRZ,nazwazesp,nrks)
W wyniku wykonania poniższego pytania w języku SQL:
Select nrkz From zespoly Intersect
Select nrkt From tematy
Otrzymano:
a) zbior numerow pracownikow będących kierownikami zespołów i nie będących kierownikami tematów
b) zbior numerow pracownikow będących kierownikami zespołów lub kierownikami tematów
c) zbior numerow pracownikow nie będących kierownikami zespołów, a bedących kierownikami tematów
d) zbior numerow pracownikow będących kierownikami zespołów, i jednocześnie kierownikami tematów
14. W celu zoptymalizowania wyrażeń algebry relacji...... (nieczytelne ) ...... :
a) przenieść projekcje jak najwyżej w drzewie rozbioru i wykonac je łacznie z selekcjami i łączeniem
b) przenieść selekcje jak najwyzej w drzewie rozbioru wyrażeń
c) projekcje wykonać po złączeniu wszystkich niezbednych relacji
d) przy wyborze kolejności selekcji jako pierwsze należy realizowac selekcje wykonyw na. atrybytach niekluczowych
15. W hierarchicznym modelu danych:
a) Można łatwo modelować związki M:N
b) przechowuje się dane i związki między nimi
c) można w prosty sposób modelować związki 1:N
d) każdy element może mieć wielu poprzedników
16. Dane są nastepujące relacje (klucze wyróżniono duzymi literami)
PROCOWNI (NRP, nazwisko, imię, nrz)
TEMATY (NRT, nazwisko, imię, nrz)
DOCHODY (nrp, nrt, kwota)
Zadanie wyrazone w postaci rachunku krotek relacji:
{ t(nazwisko, kwota) | ( E p) (Pracowni(p) ^ t.nazwisko = p.nazwisko ^ ( E d) (Dochody (d)^d.kwota>1000^d.nrp = p.nrp ^d.nrt =5 ^ t.kwota = d.kwota))} uwaga: E należy odbić w lustrze
jest równoważne zapytaniu w języku SQL:
a) select nazwisko, sum(kwota)
from pracowni p, dochody d
where d.kwota > 1000 and d.nrt = 5 and p.nrp = d.nrp
b) select nazwisko, kwota
from pracowni p, dochody d
where d.kwota > 1000 and d.nrt = 5
c) select t.nazwisko, t.kwota
from pracowni p, dochody d
where d.kwota > 1000 and d.nrt = 5and p.nrt = d.nrt and t.nazwisko = p.nazwisko and t.kwota = d.kwota
d) select nazwisko, kwota
from pracowni p, dochody d
where d.kwota > 1000 and d.nrt = 5 and p.nrp = d.nrp
t d) SEEK, SKIP i SET RELATION
Dla schematu relacji R (A, B, C, D) z zaleznością B -> C, można powiedzieć że AB -> C jest:
t a) zależnościa wielowartościową
n b) zależnościa tranzytywną
t c) zależnością funkcyjną
t d) zależnościa częściową
19. Zakładając, że istnieje fragment programu:
Dim mzb as Recordset
Set mzb = CurrentDB.OpenRecordSet("Dochody")
mzb.seek "=", 5
instrukcja mzb.seek "=", 5
a) przeniesie wskaźnik do rekordu, który w bieżącym polu ma wartość 5
b) wymaga wcześniejszego uaktywnienia właściwego indeksu
c) zmodyfikuja wartość bieżącego pola na wartość 5
d) spowoduje wygenerowanie błędu
20. Wynik działania którego z poniższych zapytań jest odpowiedzą na pytanie:
„Proszę wypisać nazwy zespołów, w których łączny zarobek pracowników jest większy od maksymalnego pojedynczego zarobku dowolnego pracownika (ten maksymalny zarobek jest równy 200)”
Struktura danych:
Zespoly (NRZ, nazwazesp, kierownikzesp)
Tematy (NRT, nazwatem, kierowniktem)
Pracownicy (NRP, nazwisko, imie, adres, nrz)
Dochody (NRT, kwota, NRP)
SELECT nazwazesp FROM Zespoly, Pracownicy, Dochody
WHERE Zespoly.nrz=Pracownicy.nrz AND Pracownicy.nrp=Dochody.nrp AND Dochody.kwota>200
GROUP BY Zespoly.nrz, Zespoly.nazwazesp ;
SELECT nazwazesp FROM Zespoly, Pracownicy, Dochody
WHERE Zespoly.nrz=Pracownicy.nrz AND Pracownicy.nrp=Dochody.nrp
GROUP BY Zespoly.nrz
HAVING sum(kwota) > SELECT max(kwota) FROM Dochody;
SELECT nazwazesp FROM Zespoly, Pracownicy, Dochody, Tematy
WHERE Zespoly.nrz=Pracownicy.nrz AND Pracownicy.nrp=Dochody.nrp
GROUP BY Zespoly.nrz, Zespoly.nazwazesp
HAVING sum(kwota) > 200 ;
SELECT nazwazesp FROM Zespoly, Pracownicy, Dochody
WHERE Zespoly.nrz=Pracownicy.nrz AND Pracownicy.nrp=Dochody.nrp
GROUP BY Zespoly.nrz, Zespoly.nazwazesp
HAVING sum(kwota) > max(kwota) ;
Kartka 2
O agregacji (kompozycji) możemy mówić, gdy:
a) atrybut A zwiera wskaźnik na klasę C
b) atrybut A zwiera wskaźnik na obiekt będący wystąpieniem klasy C
c) atrybut A zwiera zbiór wskaźników na obiekty, będące wystąpieniami pewnych klas
d) obiekt posiada atrybut, będący wystąpieniem klasy C
8. Stosowanie replikacji:
a) nie pozwala na stosowanie metody węzła centralnego do sterowania współbieżnym dostępem do kopii.
b) komplikuje zagadnienie modyfikacji danych znajdujących się w kopiach
c) wymaga użycia trójfazowego protokołu do wypełnienia transakcji
d) zmniejsza podatność systemu na awarie
12) Strategia blokowania wedlug hierarchii klas:
T a) sluzy do unikania zakleszczen
N b) stosowana jest wylacznie w obiektowych bazach danych
N c) umozliwia wykrywanie zakleszczen
N d) stosowana jest do budowy grafu oczekiwania
13) Blokada wzajemna to zdarzenie
a) ktoremu zapobiega dowolna strategia blokowania oparta na dwufazowym protokole blokowania
b) ktore nie moze byc przyczyna wycofania transakcji
c) do ktorego nie moze dojsc w rozproszonej bazie danych
d) ktore moze byc przyczyna zdjecia blokad
14) Jezeli przez X oznaczymy zbior atrybutow wystepujacych w pytaniu zadawanym w systemie relacji uniwersalnej, to mozemy zawsze powiedziec, ze:
a) zbior X jest uwzgledniany w procesie hipergrafu
b) X musi calkowicie zawierac sie w jednym fragmencie bazy
c) X nie moze zawierac atrybutow kluczowych
d) atrybuty ze zbioru X moga dotyczyc wiecej niz jednego fragmentu (tzn. czesciowo zawierac sie w jednym a czesciowo w innym)