Ogólne SQL

1.Instrukcja SELECT służy do:

a)sprowadzania rekordów z bazy danych

2.Instrukcja INSERT służy do:

b)wstawiania rekordów do bazy danych

3.Instrukcja DELETE służy do:

c)usuwania rekordów z bazy danych

4.Instrukcja UPDATE służy do:

d)aktualizacji rekordów w bazie danych

5.INDEKS w bazie danych przyśpiesza:

a)wyszukiwania rekordów w bazie danych

6.Instrukcja COMMIT służy do:

c)zatwierdzania zmian w bazie danych

7.Instrukcja ROLLBACK służy do:

a)wycofywania zmian w bazie danych

8.Instrukcja GRANT służy do:

a)przyznawania uprawnień w bazie danych

9.Instrukcja ROLLBACK służy do:

d)wycofywania zmian w bazie danych

10.Instrukcja ALTER TABLE służy do:

c)zmiany schematu tabeli

11. Jaka jest wartość wyrażenia Null=Null:

d)Null

12. Jaka jest wartość wyrażenia True OR Null:

b)True

13. Jaka jest wartość wyrażenia False OR Null:

d)Null

14. Jaka jest wartość wyrażenia False AND Null:

c)False

15. Jaka jest wartość wyrażenia True AND Null:

d)Null

16. Jaka jest wartość wyrażenia NOT Null:

d)Null

17. Co będzie wynikiem realizacji instrukcji SELECT * FROM Emp WHERE EmpNo=EmpNo OR EmpNo=NULL

a)relacja Emp

18. Co będzie wynikiem realizacji instrukcji SELECT * FROM Emp WHERE EmpNo=EmpNo AND NULL=EmpNo

b)relacja pusta

19. Relacja R ma atrybut a. Jaka liczba może być wynikiem wykonania instrukcji SELECT Count(*) FROM R WHERE a=a

a)0

b)1

20. Relacja R ma atrybut a. Jaka liczba może być wynikiem wykonania instrukcji SELECT Count(*) FROM R WHERE a<a

a)zawsze 0


Ogólne rbd: w tym spójność i postacie normalne

1.Encji odpowiada w relacyjnej bazie danych:

c)tabela

2.Związkowi jednoznacznemu odpowiada w relacyjnej bazie danych:

b)klucz obcy

3.Związkowi wieloznacznemu odpowiada w relacyjnej bazie danych:

b)tabela

4.Atrybutowi w relacyjnej bazie danych odpowiada:

a)kolumna w tabeli

5.Jednoznacznemu identyfikatorowi odpowiada w relacyjnej bazie danych:

d)klucz główny

6.Spójność referencyjna dotyczy faktu:

a)wartością klucza obcego może być null lub wartość odpowiadającego mu klucza głównego

7.III postać normalna dotyczy faktu:

c)wartości w kolumnie niekluczowej nie mogą zależeć ani od części klucza ani nawet przechodnio od klucza

8.Które ze sformułowań są prawdziwe w modelu relacyjnym:

b)wiersze nie powtarzają się

c)kolejność kolumn jest nieistotna

9.Które ze sformułowań są prawdziwe w modelu relacyjnym:

a)wiersze nie mają tożsamości obiektowej

b)związek jednoznaczny reprezentuje się przy pomocy klucza obcego

10. Które ze sformułowań są prawdziwe w modelu relacyjnym:

a)tabela jest konkretną reprezentacją relacji

b)dla klucza jednoznacznego jest automatycznie zakładany indeks

d)dla klucza głównego jest automatycznie zakładany indeks jednoznaczny

11. Które ze sformułowań są prawdziwe w modelu relacyjnym:

b)klucz główny nie może być częścią klucza obcego

c)wartości klucza głównego nie mogą się powtarzać

12.Zależność złączeniowa jest uogólnieniem zależności wielowartościowej w następującym sensie:

c)dotyczy rozbicia tabeli na więcej niż dwie tabele,

13.Postać normalna Boyce’a-Codda dotyczy faktu:

b)każda nietrywialna zależność funkcyjna jest zależnością od nadklucza,

14.Które z poniższych stwierdzeń są prawdziwe:

a)jedyną poprawną, nietrywialną zależnością funkcyjną jest zależność do klucza,

15. Które z poniższych stwierdzeń są prawdziwe:

a)każdy fakt przechowywany w bazie danych powinien być w niej wyrażany tylko na jeden sposób,

c)należy skonsultować z użytkownikiem poprawność skonstruowanego modelu danych,

16.Dany jest schemat relacyjny R={Miasto, Ulica, Kod}, F = {Miasto,Ulica->Kod; Kod->Miasto}. W której postaci normalnej jest ten schemat::

a)I postać normalna;

b)II postać normalna,

c)III postać normalna,

17.Dany jest schemat relacyjny R={Miasto, Ulica, Kod, Poczta}, F = {Miasto,Ulica->Kod; Kod->Miasto; Kod->Poczta}. W której postaci normalnej jest ten schemat::

a)I postać normalna;

18.Dany jest schemat relacyjny R={Miasto, Ulica, Kod, Poczta}, F = {Miasto,Ulica->Kod; Kod->Poczta}. W której postaci normalnej jest ten schemat::

a)I postać normalna;

b)II postać normalna,

19.Dany jest schemat relacyjny R={Miasto, Ulica, Kod}, F = {Miasto,Ulica->Kod}. W której postaci normalnej jest ten schemat::

a)I postać normalna;

b)II postać normalna,

c)III postać normalna,

d)postać normalna Boyce’a-Codda.

20.Dany jest schemat relacyjny R={Ulica, Kod, Sklep}, F = {Ulica->Kod; Sklep->Ulica}. W której postaci normalnej jest ten schemat::

a)I postać normalna;

b)II postać normalna,

21. Dany jest schemat relacyjny R={Ulica, Kod, Sklep}, F = {Ulica->Kod; Ulica, Numer ->Sklep}. W której postaci normalnej jest ten schemat::

a)I postać normalna;

22. Dany jest schemat relacyjny R={Student,Adres,Akademik}, F = {Student->Adres; Akademik->Adres;          Student->Akademik}. W której postaci normalnej jest ten schemat::

a)I postać normalna;

b)II postać normalna,

23. Dany jest schemat relacyjny R={Student,Uczelnia,Adres,Klub}, F = {Student->Uczelnia;

Klub->Adres}. W której postaci normalnej jest ten schemat::

a)I postać normalna;

24. Dany jest schemat relacyjny R={Student,Uczelnia,Adres,Klub}, F = {Student->Uczelnia; Klub->Adres;

Uczelnia->Adres}. W której postaci normalnej jest ten schemat::

a)I postać normalna;

25. Dany jest schemat relacyjny R={Student,Uczelnia,Adres,Akademik}, F = {Student, Uczelnia->Klub;

Klub->Adres}. W której postaci normalnej jest ten schemat::

a)I postać normalna;

b)II postać normalna,


Erwin

1.Które ze sformułowań są prawdziwe dla związku nieidentyfikującego w Erwinie:

b)nie wchodzi w skład jednoznacznego identyfikatora encji po stronie „wiele”

c)jest oznaczany linią przerywaną

2.Które sformułowania są prawdziwe dla związku identyfikującego w Erwinie:

a)jest oznaczany za pomocą litery P po stronie „jeden”

d)jest oznaczany linią ciągłą

3.Więzy referencyjne dotyczą w Erwinie:

b)wykonywania operacji INSERT, DELETE i UPDATE na powiązanych rekordach

4.W Erwinie czarne kółko stawia się na linii związku:

b)jednoznacznego

5)W Erwinie encja niezależna to:

b)encja, której jednoznaczny identyfikator nie zawiera klucza obcego

6)W Erwinie encja zależna to:

a)encja, której jednoznaczny identyfikator zawiera przy najmniej jeden klucz obcy

Schematy baz danych:

1.Studenci mają pomysły. Każdy pomysł dotyczy pewnej rzeczy. Każdy pomysł przychodzi do głowy dokładnie jednemu studentowi. Student może się podzielić pomysłem z kolegami-studentami. Który ze schematów jest najodpowiedniejszy z punktu widzenia zasad projektowania baz danych:

c) Studenci(id_studenta, imię, nazwisko, adres)

Pomysły(id_pomysłu, rzecz, opis, id_studenta)

Koledzy(id_pomysłu, id_kolegi)

2. Studenci lubią się, są sobie obojętni lub nie znoszą się (nie ma innej możliwości). Który ze schematów jest najodpowiedniejszy z punktu widzenia zasad projektowania baz danych :

d)  Studenci(id_studenta, imię, nazwisko)

Lubi(id_studenta, id_kolegi)

Nie_znosi(id_studenta, id_kolegi)

3. W domach mieszkają zwierzęta domowe. Niektóre zwierzęta zjadają się wzajemnie. Domy mogą być położone obok siebie. Jaki schemat zgodny z zasadami projektowania schematów baz danych jest najodpowiedniejszy dla organizacji zajmującej się ochroną zwierząt:

b)  Domy(id_domu, adres)

Zwierzęta(id_zwierzę, id_rodzaju, id_domu)

Rodzaje(id_rodzaju, rodzaj)

Obok_siebie(id_domu1, id_domu2)

Zjada(id_rodz_je, id_rodz_zjadane)

4. W filmach grają aktorzy. Każdy film ma dokładnie jednego reżysera i jednego lub więcej scenarzystę. Który z poniższych schematów jest najodpowiedniejszy z punktu widzenia zasad projektowania baz danych:

b)  Filmy(id_filmu, tytuł, id_reżysera, gaża_reżysera)

Osoby(id_osoby, nazwisko)

Aktorzy(id_aktora, id_filmu, rola, gaża)

Scenarzyści(id_scenarzysty, id_filmu, gaża)

5. Politycy należą do partii politycznych (czasami je zmieniają, czasami dokonują ich podziału). Partie polityczne, przed wyborami, tworzą koalicje wyborcze.  Który z poniższych schematów jest najodpowiedniejszy z punktu widzenia zasad projektowania baz danych:

a) Politycy(id_polityka, imię, nazwisko)

Partie(id_partii, nazwa, od, do)

Koalicje(id_koalicji,  data_wyborów)

Członkowie(id_partii, id_osoby, od, do)

W_koalicji(id_partii, id_koalicji, od, do)

6. Studenci planują, czym chcieliby się zajmować w swojej przyszłej pracy zawodowej i jakie stanowiska chcieliby pełnić. Który z poniższych schematów jest najodpowiedniejszy z punktu widzenia zasad projektowania baz danych:

b)  Studenci(id_studenta, imię, nazwisko, rok)

Zajęcia(id_zajęcia, nazwa)

Stanowiska(id_stanowiska, nazwa)

Jakie_zajęcie(id_studenta, id_zajęcia)

Jakie_stanowisko(id_studenta, id_stanowiska)

7. W PJWSTK ma powstać baza danych zbierająca informacje o umiejętnościach przydatnych w pracy zawodowej, o przedmiotach, które uczą tych umiejętności oraz o książkach, w których umiejętności są opisane. Który z poniższych schematów jest najodpowiedniejszy z punktu widzenia zasad projektowania baz danych:

b) Przedmioty(id_przedmiotu, nazwa, semestr)

Książki(ISBN, tytuł, autorzy)

Umiejętności(id_umiejętności, id_przedmiotu, nazwa, opis, ISBN, od_strony, do_strony)

8. W PJWSTK powstaje baza danych z informacjami, jakie oprogramowanie jest zainstalowane w poszczególnych salach - z myślą o prowadzeniu w nich ćwiczeń z odpowiednich przedmiotów. Który z poniższych schematów jest najodpowiedniejszy z punktu widzenia zasad projektowania baz danych:

b) Programy(id_programu, firma, nazwa, wersja)

Przedmioty(id_przedmiotu, nazwa)

Sale_programy(nr_sali, id_programu,  ile_instalacji)

Przedmioty_programy(id_przedmiotu, id_programu)


SQL1

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

c)DELETE FROM Osoby WHERE USER=’KOWALSKI’;

d)UPDATE Osoby SET Nazwisko=USER;

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

c)DELETE FROM Osoby WHERE ‘JANKOWSKI’=’KOWALSKI’;

d)UPDATE Osoby SET Nazwisko=USER;

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

b)INSERT INTO Osoby SELECT * FROM Osoby WHERE USER = ‘KOWALSKI’;

c)DELETE FROM Osoby WHERE USER=’KOWALSKI’;

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

c)DELETE FROM Osoby WHERE USER=’KOWALSKI’;

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

b)INSERT INTO Osoby SELECT * FROM Osoby WHERE Nazwisko = ‘KOWALSKI’;


SQL2

1.Dane są dwie tabele Osoby(Imie, Nazwisko, Zarobki, Id_działu) oraz Działy(Id_działu, Nazwa). Które z następujących instrukcji są poprawnymi instrukcjami SQL w Oracle:

b)INSERT INTO Osoby(Imie, Nazwisko,Zarobki) VALUES (‘Jan’, ‘Kowalski’, 2000);

c)DELETE FROM Osoby WHERE Id_działu=(SELECT Id_działu FROM Działy WHERE Nazwa=’BUFET);

2. Dane są dwie tabele Osoby(Imie, Nazwisko, Zarobki, Id_działu) oraz Działy(Id_działu, Nazwa). Które z następujących instrukcji są poprawnymi instrukcjami SQL w Oracle:

d)UPDATE Osoby SET Id_działu=NULL;

3.Dane są dwie tabele Osoby(Imie, Nazwisko, Zarobki, Id_działu) oraz Działy(Id_działu, Nazwa). Które z następujących instrukcji są poprawnymi instrukcjami SQL w Oracle:

a)SELECT Osoby.Nazwisko, COUNT(Działy.Nazwa) FROM Osoby, Działy WHERE Osoby.Id_działu=Działy.Id_działu GROUP BY Osoby.Nazwisko;

4.Dane są dwie tabele Osoby(Imie, Nazwisko, Zarobki, Id_działu) oraz Działy(Id_działu, Nazwa). Które z następujących instrukcji są poprawnymi instrukcjami SQL w Oracle:

d)UPDATE Osoby SET Id_działu=NULL WHERE 5>(SELECT COUNT(*) FROM Działy);

5.Dane są dwie tabele Osoby(Imie, Nazwisko, Zarobki, Id_działu) oraz Działy(Id_działu, Nazwa). Które z następujących instrukcji są poprawnymi instrukcjami SQL w Oracle:

c)DELETE FROM Osoby WHERE Osoby.Nazwisko=’KOWALSKI’ AND Działy.Id_działu=22;

d)UPDATE Osoby SET Id_działu=NULL WHERE 5>(SELECT COUNT(*) FROM Działy);


SQL3

1.Wskazać poprawne zapytanie SQL znajdujące pracowników zarabiających minimalną pensję na ich stanowiskach pracy.

1. SELECT ename, job, sal FROM emp e  WHERE sal = (SELECT MIN(sal)FROM emp WHERE job = e.job);

2.Wskazać poprawne zapytanie SQL znajdujące dla każdego departamentu ostatnio zatrudnionych pracowników.

3. SELECT deptno, ename, hiredate FROM emp WHERE hiredate =  (SELECT MAX(hiredate) FROM emp GROUP BY deptno);

3.Wskazać poprawne zapytanie SQL znajdujące pracowników o najniższych zarobkach w ich działach.

2. SELECT ename, deptno, sal FROM emp e WHERE sal =  (SELECT MIN(sal)FROM emp WHERE deptno = e. deptno);

4.Wskazać poprawne zapytanie SQL znajdujące pracowników, których zarobki są wyższe od pensji każdego pracownika z departamentu 30.

2. SELECT ename, sal, job, deptno FROM emp WHERE sal>  (SELECT Max( sal) FROM emp WHERE deptno = 30);

5.Wskazać poprawne zapytanie SQL znajdujące stanowiska pracy występujące w działach 10 lub 20.

1. SELECT DISTINCT job FROM emp WHERE deptno = 10 OR deptno = 20

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

4. SELECT DISTINCT job FROM emp WHERE deptno = 10 AND deptno = 20

7.Wskazać poprawne zapytanie SQL znajdujące pracowników, którzy zarabiają mniej od swoich kierowników.

1. SELECT e.ename prac_name, e.sal prac_sal, m.ename kier_name, m.sal kier_sal FROM emp e, emp m WHERE e.mgr = m.empno AND e.sal < m.sal

8.Wskazać poprawne zapytanie SQL znajdujące średnie zarobki tylko tych departamentów, które zatrudniają więcej niż trzech pracowników.

1. SELECT deptno, AVG(sal) FROM emp GROUP BY deptno HAVING COUNT (*) > 3;

9.Wskazać poprawne zapytanie SQL znajdujące stanowiska, na których średni zarobek wynosi 3000 lub więcej.

3. SELECT job, AVG(sal) FROM emp GROUP BY job WHERE AVG (sal) > =3000;

10.Wskazać poprawne zapytanie SQL znajdujące departamenty zatrudniające powyżej trzech pracowników

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

11.Wskazać poprawne zapytanie SQL znajdujące ilość pracowników w dziale mającym siedzibę w DALLAS.

1. SELECT COUNT (*) FROM emp, dept WHERE dept.loc = ‘DALLAS’ AND emp.deptno = dept.deptno GROUP BY dept,deptno;

12.Wskazać poprawne zapytanie SQL znajdujące średni zarobek pracowników z drugiej klasy zarobkowej.

1. SELECT AVG(sal ) FROM emp, salgradeWHERE.grade = 2  AND sal BETWEEN losal AND hisal GROUP BY.grade

2. SELECT AVG(sal ) FROM emp, salgradeWHERE.grade = 2  AND sal > losal AND sal < hisal GROUP BY.grade

13.Wskazać poprawne zapytanie SQL znajdujące trzech najlepiej zarabiających pracowników w firmie - ich nazwiska i pensje.

1. SELECT ename, sal FROM emp e WHERE 3 > (SELECT count (*) FROM emp WHERE e.sal < sal);


PROGRAMOWANIE STRONY SERWERA

SERWER

1.Które mechanizmy wchodzą w skład oprogramowania strony serwera bazy danych:

b)deklaratywne więzy spójności,

c)wyzwalacze wierszowe,

2.Wśród więzów spójności encji znajdują się:

a)więzy klucza głównego,

d)więzy CHECK.

3.Wśród więzów spójności encji znajdują się:

b)więzy klucza jednoznacznego,

d)więzy NOT NULL

4.Wśród więzów spójności referencyjnej znajdują się:

b)więzy klucza obcego,

5.Do zapewnienia więzów spójności referencyjnej służą:

a)wyzwalacze,

c)klauzula REFERENCES,

6. Do zapewnienia więzów spójności encji służą:

a)wyzwalacze,

b)klauzula CHECK,

d)indeksy.

7.Które akcje referencyjne są dostępne w Oracle:

a)RESTRICTED,

d)CASCADE.

8.SQL*Plus stanowi:

c)język interakcyjnych poleceń do bazy danych,

d)klient korzystający z serwera bazy danych.

9.Deklaracja VARIABLE Klient VARCHAR2(30) jest częścią:

c)SQL*Plus,

10.Instrukcja ACCEPT Klient PROMPT „Podaj nazwisko klienta: „ jest częścią:

c)SQL*Plus,


PL/SQL1

1.W bloku PL/SQL występują:

b.sekcja wyjątków,

c.instrukcje SQL,

2.Wśród instrukcji występujących w bloku PL/SQL mogą się znaleźć:

d.instrukcja COMMIT.

3.Wśród instrukcji występujących w bloku PL/SQL mogą się znaleźć:

c.instrukcja DBMS_OUTPUT.PUT_LINE(‘Początek transakcji’),

d.instrukcja ROLLBACK.

4.Wśród instrukcji występujących w bloku PL/SQL mogą się znaleźć:

a.instrukcja warunkowa,

d.instrukcja ROLLBACK.

5.Wśród instrukcji występujących w bloku PL/SQL mogą się znaleźć:

a.podniesienie wyjątku,

d.instrukcja ROLLBACK.

6.Kursor w PL/SQL jest to:

c)obszar roboczy używany do wykonania instrukcji SQL,

7.Czy definicja kursora w PL/SQL może dotyczyć instrukcji:

b)SELECT,

8.Nazwa kursora może się pojawić w następujących kontekstach:

a)OPEN nazwa_kursora,

c)EXIT WHEN nazwa_kursora%NOTFOUND,

9.Klauzula WHERE CURRENT OF nazwa_kursora może wystąpić w instrukcji:

c)DELETE,

d)UPDATE.

10.Nazwa wyjątku może się pojawić w następujących kontekstach;

c)w instrukcji RAISE,

d)po słowie kluczowym WHEN,


PL/SQL2

1.Trigger (wyzwalacz) tabelowy może zostać uruchomiony:

a)przed operacją na tabeli

b)po operacji na tabeli

d)przed i po operacji na tabeli

2.Dla każdej tabeli można określić

d)dowolną ilość wyzwalaczy

3.Polecenia ROLLBACK i COMMIT dotyczą poleceń SQL

d)wszystkich poleceń SQL zmieniających zawartość  tabel

4.W PL/SQL wynik działania instrukcji SELECT może zostać zapisany w postaci

b)kursora

d)zmiennej

5. Klauzula „DECLARE Dane_Osoby Osoba%ROWTYPE” jest w PL/SQL

a)deklaracją zmiennej

d)deklaracją zmiennej wraz z definicją jej typu

6.Kursor w PL/SQL to

c)obiekt o określonych właściwościach i metodach

7.Instrukcja FETCH jest używana w kursorze PL/SQL w celu

a)przejścia do następnego rekordu

b)pobrania zawartości rekordu ze źródła danych

d)pobrania zawartości rekordu ze źródła danych i przejścia do następnego rekordu

8.Funkcja NVL służy do

b)Zamiany napotkanej w tabeli wartości z „NULL” na podaną w argumencie wartość

c)Zamiany wartości zmiennej z „NULL” na podaną w argumencie wartość

9.Użycie klauzuli UNQUE w deklaracji pola tabeli instrukcji CREATE TABLE oznacza, że:

c)wartości w tym polu nie mogą się powtarzać

10.Użycie klauzuli PRIMARY KEY deklaracji pola tabeli instrukcji CREATE TABLE powoduje, że:

a)To pole staje się polem klucz głównego

c)W polu yum nie może wystąpić wartość „NULL”

d)Na tej kolumnie (polu) zostanie automatycznie założony indeks

11. Perspektywa (View) w PL/SQL

b)Jest obiektem utworzonym w oparciu o instrukcję SELECT

c)Może zostać użyta tak, jak by była tabelą np. w instrukcji SELECT, INSERT, UPDATE

d)Wiersze (rekordy) perspektywy nie są przechowywane w bazie danych

12.Instrukcja SELECT Table_Name FROM User_Tables

c)Zwraca nazwy tabel znajdujących się w obszarze tabel użytkownika

13.Sekwencja (SEQUENCE) to

c)Obiekt przechowywyany w bazie danych, służący do generowania kluczy głównych i jednozancznych

14.Instrukcja COMMIT

c)Dokonuje trwałej zmiany w zawartości table bazy danych

d)Wszystkich poleceń INSERT, UPDATE albo DELETE wydanych od ostatniego polecenia COMMIT albo


Procedury

1.Instrukcja CREATE PROCEDURE może się pojawić:

b.w SQL*Plusie,

2.Instrukcja CREATE FUNCTION może się pojawić:

b.w SQL*Plusie,

3.Instrukcja CREATE TRIGGER może się pojawić:

b.w SQL*Plusie,

d.w skrypcie SQL*Plus,

5.Instrukcja CREATE PACKAGE BODY może się pojawić:

c.w skrypcie SQL*Plus,

6.W wyzwalaczu można:

c)sprawdzić czy wartości wstawiane do tabeli są poprawne,

7.W wyzwalaczu można:

d)porównać ze sobą nową i starą wartość w kolumnie przy UPDATE

8.W wyzwalaczu można:

b)nie dopuścić do wprowadzenia zmian,

c)sprawdzić czy wartości wstawiane do tabeli są poprawne,

9.W wyzwalaczu można:

b)do kolumny klucza głównego tworzonego wiersza wygenerować nową wartość,

c)sprawdzić która jest godzina,

10.W wyzwalaczu można:

a)zrealizować akcję referencyjną NULLIFY,

b)przekazać informację o błędzie do aplikacji klienta,

c)sprawdzić czy w danej kolumnie wstawianego wiersza występuje NULL,


Obiektowa opcja

1.Obiektowa baza danych w Oracle obejmuje:

b)kolekcje,

c)typy obiektowe,

d)dziedziczenie.

2.Obiektowa baza danych w Oracle obejmuje:

a)tabele zagnieżdżone,

c)perspektywy obiektowe,

3.W kolumnach bazy danych Oracle można przechowywywać:

a)duże obiekty binarne,

b)duże obiekty znakowe,

c)wskaźniki do obiektów,

d)zagnieżdżone tabele.

4.Czy są takie instrukcje w Oracle:

a)CREATE TYPE,

5.W bazie danych Oracle można zmieniać zawartość następujących typów obiektów:

a)BLOB,

b)CLOB,

d)NCLOB.


Otoczenie SQL

1.Standard SQL określa następujące interfejsy programistyczne:

c)moduły,

d)osadzony SQL.

2.Standard SQL określa następujące interfejsy programistyczne:

b)Interfejs Poziomu Wywołań CLI,

c)moduły,

d)osadzony SQL.

3.Standard SQL określa następujące interfejsy programistyczne:

a)osadzony SQL,

b)Interfejs Poziomu Wywołań CLI,

4. Osadzanie instrukcji SQL w interfejsie osadzonego SQL dotyczy:

c)języka programowania,

5. Instrukcje osadzonego SQL są poprzedzane słowem kluczowym:

c)EXEC SQL,

6.Instrukcja „SQLExecDirect(hstmt, (SQLCHAR *) sqlsource, SQL_NTS)” dotyczy języka:

c)Interfejsu Poziomu Wywołań,

7.Interfejs JDBC może być używany w:

a.apletach,

b.serwletach,

c.kodzie składowanym w bazie danych,

d.programach aplikacyjnych.

8.W JDBC zbiór wyników zapytania znajduje się na obiekcie klasy:

c.ResultSet,

9. W zapytaniu „SELECT HelloWorld() FROM Dual;” identyfikator HelloWorld może oznaczać:

a)funkcję PL/SQL;

c)funkcję PL/SQL związaną z metodą klasy Java;

10.Jako obiekty bazy danych Oracle można przechowywać kod języków:

b)Java,

c)PL/SQL,


Internet

1. Aplikacja wykonywana za pomocą internetowego modułu PLSQL  wykorzystuje:

a)serwer WWW Apache;

2.Aplikacja wykonywana za pomocą internetowego modułu PLSQL  wykorzystuje:

c)procedury PL/SQL,

3.Aplikacja wykonywana za pomocą Internet Information Servera wykorzystuje:

a)ODBC,

4.Aplikacja ASP jest przechowywana jako:

a)plik tekstowy,

5. W internetowej aplikacji PL/SQL przy dostępie do danych w bazie danych wykorzystuje się:

c)instrukcję SELECT,

d)kursor.

6.Serwlet jest to:

b)obiekt klasy HttpServlet,

7.Serwlet przy dostępie do danych w bazie danych wykorzystuje:

d)powiązania JDBC.

8.Programista aplikacji internetowej w postaci serwletu opracowuje kod metod:

a)doGet

b)doPost


ARCHITEKTURA SZBD

Ogólne - architektura

1.Które metody dotyczą zachowania spójności danych przy współbieżnym dostępie:

a) blokowanie pesymistyczne

d) blokowanie optymistyczne

2.Które metody dotyczą możliwości odtworzenia danych po awarii dysku:

a)dziennik

b)repliki

d)kopia zapasowa

3.Które metody dotyczą ochrony danych przed nieautoryzowanym dostępem:

b) wprowadzenie kont i haseł

d) przyznawanie uprawnień do wykonywania operacji na obiektach

4.Własność szeregowalności transakcji oznacza:

c)współbieżną realizację transakcji tak jakby były one wykonywane jedna po drugiej

5.Dane słownika danych (metadane) są przechowywane w relacyjnej bazie danych:

d) w specjalnych tabelach w tej samej bazie danych

6.Do odtworzenia stanu bazy danych po awarii procesu użytkownika służą:

c)segmenty wycofań,

7.Do odtworzenia stanu bazy danych po awarii procesu serwera służą:

a)dziennik powtórzeń,

c)segmenty wycofań,

8.Do odtworzenia stanu bazy danych po awarii dysku z danymi służą:

a)dziennik powtórzeń,

c)segmenty wycofań,

d)kopia zapasowa.

9.Przy otwieraniu bazy danych przy powtórnym włączeniu komputera po nagłej awarii zasilania są używane:

a)dziennik powtórzeń,

c)segmenty wycofań,

10.Rezerwowa baza danych pracująca w trybie STANDBY otrzymuje z głównej bazy danych:

c)zarchiwizowany dziennik powtórzeń,

11.Poziom izolacji transakcji READ UNCOMMITED obejmuje następujące własności:

a)brak traconych modyfikacji,

b)nie-zatwierdzony odczyt,

c)nie-powtarzalny odczyt,

d)fantomy.

12.Poziom izolacji transakcji READ COMMITED obejmuje następujące własności:

a)brak traconych modyfikacji,

c)nie-powtarzalny odczyt,

d)fantomy.

13.Poziom izolacji transakcji REPEATABLE READ obejmuje następujące własności:

a)brak traconych modyfikacji,

d)fantomy.

14.Poziom izolacji transakcji SERIALIZABLE obejmuje następujące własności:

a)brak traconych modyfikacji,

15.Domyślny poziom izolacji w Oracle obejmuje następujące własności:

a)brak traconych modyfikacji,

c)nie-powtarzalny odczyt,

d)fantomy.

16.Przy normalnym otwieraniu bazy danych system korzysta z informacji zapisanych w:

a)pliku kontrolnym,

d)pliku inicjalizacyjnym instancji.

17.Które mechanizmy są używane do zapewnienia wielowersyjności w bazie danych:

c)segmenty wycofań,

18.Które mechanizmy są używane w bazie danych przy wykonywaniu transakcji typu READ ONLY:

c)segmenty wycofań,

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

a)blokady,

d)wielowersyjność.

20.Przy wykonywaniu operacji ROLLBACK są wykorzystywane:

b)segmenty wycofań,

21.Terminy atomowość-spójność-izolacja-trwałość oznaczane skrótem ACID dotyczą:

a)modelu wykonywania transakcji w bazie danych,


SZBD

1.Czy jest prawdą:

a)Z każdą stroną w puli buforów jest wiązany licznik odwołań i bit aktualizacji.

2.Czy format stron z rekordami zmiennej długości zapewnia:

a)Przesuwanie rekordów po stronie bez zmiany identyfikatora rekordu.

b)Utrzymywanie spójnej puli wolnych miejsc.

c)Zamianę miejscami dwóch rekordów na stronie.

d)Używanie zewnętrznych wskaźników do rekordu.

3.Indeks pogrupowany jest gdy:

d)uporządkowanie zapisu rekordów danych jest takie samo jak uporządkowanie zapisu pozycji danych indeksu.

4.Indeks na B+ drzewie zapewnia:

a)możliwość wypisywania pozycji danych indeksu w kolejności uporządkowanej względem wartości klucza wyszukiwania,

b)realizację zapytań równościowych względem wartości klucza wyszukiwania,

c)realizację zapytań zakresowych względem wartości klucza wyszukiwania,

d)aktualizację wartości klucza wyszukiwania.

5.Indeks haszowany zapewnia:

b)realizację zapytań równościowych względem wartości klucza wyszukiwania,

d)aktualizację wartości klucza wyszukiwania.

6.Sortowania w bazie danych używa się przy:

a)wykonywaniu klauzuli GROUP BY,

b)budowie początkowego indeksu na B+-drzewie,

c)wykonywaniu klauzuli DISTINCT,

7.Sortowania w bazie danych używa się przy:

a)wykonywaniu klauzuli ORDER BY,

b)budowie początkowego indeksu na B+-drzewie,

c)wykonywaniu klauzuli UNION DISTINCT,

d)metodzie złączania Sort-Merge.

8.Sortowania w bazie danych używa się przy:

b)budowie początkowego indeksu na B+-drzewie,

9.Sortowania w bazie danych używa się przy:

a)wykonywaniu klauzuli EXCEPT,

b)wykonywaniu klauzuli GROUP BY,

10.Sortowania w bazie danych używa się przy:

a)wykonywaniu klauzuli EXCEPT,

b)budowie początkowego indeksu na B+-drzewie,

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

a)rzadki,

c)pogrupowany,

d)wewnętrzny.

12.Strategia optymalizacyjna „tylko-indeks” stosuje się, gdy:

b)zamiast rozważać tabelę można rozważyć jeden z jej indeksów,

c)wszystkie kolumny występujące na liście SELECT występują w kluczu wyszukiwania jednego z indeksów,

13.W metodzie Hash Join występuje liczba funkcji haszujących równa:

c)2,

14.Które stwierdzenia stanowią dobre heurystyki optymalizacji zapytań:

a)Selekcje wykonuj tak wcześnie, jak tylko możliwe

.

b)Staraj się związać selekcje z iloczynem kartezjańskim, w celu zidentyfikowania rodzaju złączenia relacji.

c)Wybierz plan wykonania działający “w miejscu” bez pomocniczej relacji.

d)Wyszukuj wspólne podwyrażenia i wykonuj je tylko raz.

15. Które stwierdzenia stanowią dobre heurystyki optymalizacji zapytań:

a)Przed przystąpieniem do realizacji zapytania dokonaj analizy możliwych opcji z oszacowaniem ich kosztu.

b)Staraj się związać selekcje z iloczynem kartezjańskim, w celu zidentyfikowania rodzaju złączenia relacji.

c)Wykonuj jednocześnie ciągi operacji jednoargumentowych takich jak selekcje i rzuty.

d)Przetwórz wstępnie plik we właściwy sposób (indeksy, sortowanie).

16.Które z poniższych stwierdzeń są prawdziwe:

a)Przy warunkach zakresowych istotna jest kolejność atrybutów w kluczu wyszukiwania.

b)Indeks haszowany na relacji wewnętrznej jest dobry dla metody Index Nested Loops Join.

c)Pogrupowany indeks na B+ drzewie względem kolumn złączenia jest dobry dla metody Sort-Merge Join.

17.Które z poniższych stwierdzeń są prawdziwe:

b)Indeks pogrupowany jest użyteczny przy zapytaniach zakresowych a także przy mało-selektywnych zapytaniach równościowych.

c)Aktualizacja pól wyszukiwania w indeksach spowalnia INSERT/DELETE/UPDATE.

d)Tylko jeden indeks może być pogrupowany dla jednej tabeli.

18.Protokół ścisłego blokowania dwufazowego (Strict 2PL) obejmuje warunki:

a)Każda transakcja musi uzyskać blokadę S na obiekcie zanim odczyta ten obiekt.

b)Jeśli transakcja trzyma blokadę X na obiekcie, żadna inna transakcja nie ma prawa założyć żadnej blokady (ani S ani X) na tym obiekcie.

19.Protokół ścisłego blokowania dwufazowego (Strict 2PL) obejmuje warunki:

c)Blokady trzymane przez transakcję są zwalniane gdy transakcja kończy się.

20.Protokół ścisłego blokowania dwufazowego (Strict 2PL) obejmuje warunki:

a)Każda transakcja musi uzyskać blokadę X na obiekcie przed zapisaniem go.

21 Aby zapobiec zakleszczeniu (deadlock) wystarczy:

a)uzależniać założenie blokady od priorytetu transakcji,

d)sprawdzać, czy w grafie oczekiwania na zwolnienie blokady występuje cykl.

22.Fantomem nazywamy:

c)wiersz, który został wpisany do tabeli, po tym jak inna transakcja odczytała ją,

23.Który rodzaj złączenia jest dobry w rozproszonej bazie danych:

c)półzłączenia,

24.Czy jest prawdą dla protokołu dwu-fazowego zatwierdzania:

a)jest tylko jeden koordynator,

25.Czy jest prawdą dla protokołu dwu-fazowego zatwierdzania:

b)koordynator podejmuje decyzję „commit”, gdy każdy z węzłów przysłal mu komunikat „yes”,

26.Czy jest prawdą:

a)Bufory bazy danych zawierają używane ostatnio bloki danych z bazy danych.

b)Bufory bazy danych mogą zawierać zmodyfikowane dane zatwierdzonych transakcji, które jeszcze nie zostały przepisane na dysk.

c)Bufory bazy danych zmienione przez niezatwierdzone transakcje mogą zostać przepisane na dysk.

d)W buforach bazy danych są zapisywane pozycje segmentów wycofań.

27.Segmenty wycofań służą do:

a) wycofywania nie zatwierdzonych zmian przy odtwarzaniu,

b) zagwarantowania spójności odczytu,

c) realizacji transakcji korzystających ze zdjęcia migawkowego danych,


Rozproszona baza danych

1.Które z mechanizmów są używane w rozproszonej bazie danych:

b)powiązanie bazodanowe,

2.Które z mechanizmów są używane w rozproszonej bazie danych:

a)replikacja danych,

3.Które z mechanizmów są używane w rozproszonej bazie danych:

b)migawki,

4.Które z mechanizmów są używane w rozproszonej bazie danych:

b)powiązanie bazodanowe,

5.Które z mechanizmów są używane w rozproszonej bazie danych:

b)dwufazowe zatwierdzanie,

c)dziennik migawki,

Hurtownia danych

1.Które z mechanizmów są używane w hurtowni danych:

c)transformacja STAR,

d)partycjonowanie tabeli.

2.Które z mechanizmów są używane w hurtowni danych:

d)indeksy bitmapowe.

3.Które z mechanizmów są używane w hurtowni danych:

a)histogram,

c)agregacje,

4.Które z mechanizmów są używane w hurtowni danych:

a)instrukcja ANALYZE,

c)wielowymiarowość,

5.Które z mechanizmów są używane w hurtowni danych:

b)wielowymiarowość,

d)schemat gwiazda.

6.Które obiekty są związane z agregacją w hurtowni danych:

b.perspektywa zmaterializowana,

d.klauzula GROUP BY.


Optymalizacja

1.Dane są tabele P(A,B), Q(B,C). W aplikacji często jest wykonywane zapytanie SELECT P.A,Q.C FROM P, Q WHERE P.B=Q.B AND Q.B=’&Klient’. Która ze struktur danych byłaby najkorzystniejsza:

c)klaster obejmujący P i Q z indeksem B;

2.Dane są tabele P(A,B), Q(B,C). W aplikacji często jest wykonywane zapytanie SELECT P.A,Q.C FROM P, Q WHERE P.B=Q.B. Która ze struktur danych byłaby najkorzystniejsza:

c)klaster obejmujący P i Q z indeksem B;

3.Dane są tabele P(A,B), Q(B,C). W aplikacji często jest wykonywane zapytanie SELECT P.A,Q.B FROM P, Q WHERE P.B=Q.B AND Q.C=’&Klient’. Która ze struktur danych byłaby najkorzystniejsza:

b)indeksy na P.B, Q.C;

4.Zastosowanie indeksu przy wyszukiwaniu jest uzasadnione, gdy dzięki niemu ograniczamy się do:

c)<=25%,

5.Zastosowanie strategii tylko indeks jest stosowane, gdy:

c)wyszukiwanie sprowadza się do przejścia indeksu,

6. Indeks bitmapowy zakłada się na kolumnie:

b)w której liczba różnych wartości jest mała,

c)gdy wyszukiwanie jest określane przez równość z podanymi wartościami,

7.Indeks używający B-drzewa zakłada się na kolumnie:

b)gdy wyszukiwanie po tej kolumnie daje zwykle mały zbiór wyników,

c)gdy wyszukiwanie często dotyczy największej wartości,

d)gdy często sortuje się dane względem tej kolumny.

8. Czy istniejący indeks przyśpiesza wykonanie instrukcji SELECT:

c.czasem.

9.Czy istniejący indeks przyśpiesza wykonanie instrukcji INSERT:

c.czasem.

10.Czy istniejący indeks przyśpiesza wykonanie instrukcji UPDATE:

c.czasem

11.Czy istniejący indeks przyśpiesza wykonanie instrukcji DELETE:

c.czasem

12.Czy istniejący indeks przyśpiesza wykonanie instrukcji ROLLBACK:

a.nigdy

13.Czy istniejący indeks przyśpiesza wykonanie instrukcji COMMIT:

a.nigdy

14.Użycie których metod może spowodować zmniejszenie liczby przesłań między pamięcią wewnętrzną i

b)indeks na kolumnie klucza obcego,

15.Użycie których metod może spowodować zmniejszenie liczby przesłań między pamięcią wewnętrzną i zewnętrzną:

a)zwiększenie liczby buforów,

b)klaster,

c)indeks bitmapowy na kolumnie zawierającej płeć klientów,

16.Użycie których metod może spowodować zmniejszenie liczby przesłań między pamięcią wewnętrzną i zewnętrzną:

a)dodatkowa tabela pomocnicza,

b)indeks bitmapowy na kolumnie zawierającej płeć klientów,

d)zwykły indeks oparty na B-drzewie dla kolumny zawierającej nazwiska osób.

17.Użycie których metod może spowodować zmniejszenie liczby przesłań między pamięcią wewnętrzną i zewnętrzną:

a)indeks bitmapowy na kolumnie zawierającej kraj, w którym mieszkają klienci,

b)wykonanie instrukcji ANALYZE,

18.Użycie których metod może spowodować zmniejszenie liczby przesłań między pamięcią wewnętrzną i zewnętrzną:

d)dodatkowa tabela pomocnicza.


Dodane

1. Który ze schematów bazy danych dla biblioteki jest najodpowiedniejszy z punktu widzenia zasad projektowania baz danych. Baza powinna przechowywać informacje o klientach, książkach i wypożyczeniach (wielkie litery oznaczają klucz główny):

a) Klient(ID_KLIENTA, imię, nazwisko, adres) Książka(ID_KSIĄŻKI, tytuł, autor) Wypożyczenie(ID_KLIENTA, id_książki, data_wypożyczenia, data_zwrotu)

2. Potrzebna jest baza danych do ewidencji studentów i ich ocen. Który ze schematów bazy danych jest najodpowiedniejszy z punktu widzenia zasad projektowania baz danych:

b) Student(id_studenta, imię, nazwisko) Ocena(id_oceny, ocena, data_wystawienia, id_przedmiotu, id_studenta) Przedmiot(id_przedmiotu, nazwa)

3. Dana jest tabela Osoby(imie, nazwisko, zarobki). Które z następujących instrukcji są poprawnymi instrukcjami SQL w Oracle:

b) SELECT AVG(zarobki) FROM osoby;

4. Dana jest tabela Osoby(imie, nazwisko, zarobki, id_dzialu). Które z następujących instrukcji są poprawnymi instrukcjami SQL w Oracle:

b) SELECT id_dzialu, AVG(zarobki) FROM Osoby GROUP BY id_dzialu;

d) SELECT AVG(zarobki) from Osoby WHERE zarobki > 1000;

5. Dana jest tabela Osoby(imie, nazwisko, zarobki). Które z następujących instrukcji są poprawnymi instrukcjami SQL:

a) INSERT INTO Osoby (imie, nazwisko, zarobki) VALUES (‘Jan’, ‘Kowalski’, 1000);

c) DELETE FROM Osoby WHERE Nazwisko LIKE ‘Kowalski’;

6. Wykonanie których z poniższych instrukcji może spowodować uruchomienie wyzwalacza:

a) INSERT,

d) DELETE.

7. Kursor w PL/SQL służy do:

b) Przeglądania i wykonywania operacji na rekordach zwróconych przez zapytanie.