Egzamin SBD wieczorowe. Rok akademicki 2002/2003 

1) W Visio właściwość liczebności (Cardinality) określa: 	

	
czy związek jest opcjonalny 	

czy związek jest identyfikujący 	

ile egzemplarzy encji po stronie jeden może być powiązane z egzemplarzem encji po stronie wiele 	

ile egzemplarzy encji po stronie wiele może być powiązane z egzemplarzem encji po stronie jeden 	

2) Które z poniższych poleceń definiują więzy spójności: 	

	
CHECK 	

UNIQUE 	

REFERENCES nazwa_tabeli 	

PRIMARY KEY 	

3) Tabele PRACOWNIK i DZIAŁ , ( i relacja zatrudniony jeśli wiadomo, że pracownik może być zatrudniony tylko w jednym dziale) połączone są relacją 	

	
wiele - jeden 	

wiele- wiele 	

jeden - wiele 	

wymagającą dodatkowej tabeli łączącej 	

4) Jesli w zapytaniu występuje klauzula GROUP BY, wówczas po SELECT może być: 	

	
stała 	

funkcja sumaryczna 	

dowolna kolumna 	

wyrażenie z funkcją sumaryczną 	

5) Które z poleceń służy do definiowania części publicznej pakietu: 	

	
CREATE OR REPLACE PACKAGE nazwa_pakietu AS END nazwa_pakietu 	

CREATE OR REPLACE PACKET BODY nazwa_pakietu AS END nazwa_pakietu 	

CREATE OR REPLACE PACKAGE BODY nazwa_pakietu AS END nazwa_pakietu 	

CREATE OR REPLACE PACKET nazwa_pakietu AS END nazwa_pakietu 	

6) Które z poleceń służy do wycofania transakcji: 	

	
ROLLBACK 	

BACK OFF 	

RESIGN 	

CALL OF 	

7) W przypadku predykatów IN i NOT IN podzapytanie może zwracać: 	

	
dwie wartości 	

minimalnie dwie wartości 	

listę wartości 	

jedną wartość 	

8) Które sformułowania są prawdziwe dla związku identyfikującego w Visio: 	

	
jest oznaczany strzałką zwróconą w stronę "jeden" 	

klucz obcy nie wchodzi w skład klucza głównego encji po stronie wiele 	

klucz obcy wchodzi w skład klucza głównego encji po stronie wiele 	

jest oznaczany strzałką zwróconą w stronę "wiele" 	

9) Wskazać poprawne zapytanie SQL znajdujące stanowiska pracy występujące zarówno w dziale 10 jak i w dziale 20: 	

	
SELECT DISTINCT job FROM emp WHERE deptno = 10 OR deptno = 20; 	

SELECT DISTINCT job FROM emp WHERE deptno = 10 INTERSECT SELECT DISTINCT job FROM emp WHERE deptno = 20; 	

SELECT DISTINCT job FROM emp WHERE deptno = 10 UNION SELECT DISTINCT job FROM emp WHERE deptno = 20; 	

SELECT DISTINCT job FROM emp WHERE deptno = 10 AND deptno = 20; 	

10) Zdjęcie blokady następuje przez: 	

	
wykonanie polecenia wycofującego transakcję 	

wpisanie polecenia UNLOCK TABLE nzawa_tabel 	

wpisanie polecenia LOCK OFF 	

wykonanie polecenia zatwierdzającego transakcję 	

11) Które mechanizmy są używane do zapewnienia spójności bazy danych w środowisku współbieżnie wykonywanych transakcji: 	

	
perspektywy 	

blokady 	

wielowersyjność 	

role 	

12) Dana jest tabela Osoby(Imie, Nazwisko, Zarobki). Które z następujących instrukcji są składniowo poprawnymi instrukcjami SQL w Oracle: 	

	
INSERT INTO Osoby SELECT * FROM Osoby WHERE USER = ''KOWALSKI''; 	

DELETE FROM Osoby WHERE USER=''KOWALSKI''; 	

SELECT Osoby.Nazwisko, Osoby.Imie, Osoby.Zarobki ORDER BY Osoby.Zarobki; 	

UPDATE Osoby WHERE Nazwisko=''KOWALSKI''; 	

13) Z ilu tabel powinna się składać prosta znormalizowana baza zawierająca informacje o piętrach, pokojach i przynależności "jeden do wielu" między nimi: 	

	
1 	

4 	

2 	

3 	

14) Schemat klasy w języku ODL obejmuje: 	

	
metody 	

tabele 	

związki 	

atrybuty 	

15) Które akcje referencyjne są dostępne w Oracle: 	

	
DEFAULT 	

NULLIFY 	

CASCADE 	

RESTRICTED 	

16) Czy istniejący indeks przyśpiesza wykonanie instrukcji UPDATE: 	

	
zawsze 	

nigdy 	

czasem 	

zakładanie indeksów nie jest możliwe 	

17) Sortowanie za pomocą B+-drzewa jest lepsze niż sortowanie zewnętrzne, gdy indeks jest: 	

	
rzadki 	

gęsty 	

pogrupowany 	

wewnętrzny 	

18) W związku ze współbieżnym wykonywaniem transakcji mogą się pojawić anomalie: 	

	
nadpisania niezatwierdzonych danych 	

wstawiania 	

usuwania 	

aktualizacji 	

19) Wskazać poprawne zapytanie SQL znajdujące departamenty zatrudniające powyżej trzech pracowników: 	

	
SELECT deptno, COUNT(*) FROM emp GROUP BY deptno HAVING COUNT(*) > 3; 	

SELECT deptno, COUNT(*) FROM emp WHERE COUNT (*) > 3 GROUP BY deptno; 	

SELECT deptno, COUNT(*) FROM emp GROUP BY deptno WHERE COUNT(*) > 3; 	

SELECT deptno, COUNT(*) FROM emp HAVING COUNT (*) > 3 GROUP BY deptno; 	

20) Instrukcja CREATE SCHEMA tworzy: 	

	
bazę danych 	

grupę uprawnień 	

grupę obiektów 	

konta użytkowników