Bazy danych - egzamin, Bd - Bazy Danych


Pojęciom związanym z obiektowością przyporządkowano pewne określenia istniejące
w relacyjnych bazach danych. Wpisz „1” w kratkach, w których zawarte w linii terminy odpowiadają sobie wzajemnie:

1

kolekcja wszystkich klas - schemat bazy danych

1

0

klasa - rekord

2

0

obiekt - typ rekordu

3

Typy danych, które mogą wystąpić jako wartości atrybutów obiektu w obiektowej bazie danych, to:

1

dowolne atomowe (int, bool, char, ..)

1

1

strukturalne (zbiór, lista, ..)

2

1

klasa

3

Tożsamość obiektu (czyli identyfikator obiektu wewnątrz obiektowej bazy danych) zależy od:

0

zmian wartości atrybutów obiektu

1

1

fizycznego adresu obiektu w pamięci

2

0

nie zależy od niczego

3

Jeżeli obiekt zdefiniowany w klasie A posiada atrybut typu klasa B, to możemy powiedzieć, że:

1

klasy A i B są ze sobą powiązane związkiem agregacji

1

0

klasy A i B są ze sobą powiązane związkiem dziedziczenia

2

0

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:

1

jest to czas, w którym atrybuty tej relacji są prawdziwe w bazie (zostały zapamiętane w bazie)

1

0

jest to czas, w którym wartość tych atrybutów - według naszej najlepszej wiedzy - występowała w rzeczywistości

2

0

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:

1

sterowanie współbieżnym dostępem do danych

1

0

analiza i realizacja zapytań

2

1

obsługa zadań odczytu/zapisu danych

3

0

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:

0

select nazwisko, kwota from pracowni p, dochody d where d.kwota > 1000 and d.nrt = 5

1

1

select nazwisko, kwota from pracowni p, dochody d where d.kwota > 1000 and d.nrt = 5 and p.nrp = d.nrp

2

0

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

0

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

1

wycięcie pionowe

5

0

nałożenie warunków wyszukiwania na kolumny tabeli

6

1

ograniczenie liczby kolumn wyświetlanych w wyniku wykonania zapytania

7

0

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:

0

zbiory schematów Ri były rozłączne

9

0

liczba zbiorów Ri była minimalna

10

1

dekompozycja ta posiadała własność połączenia bez strat

11

1

każdy schemat był w 3NF lub 4NF

12

Funkcja agregująca może:

0

wystąpić we frazie where

13

1

wystąpić we frazie having

14

1

zostać porównana z inną funkcją agregującą

15

1

wystąpić po słowie SELECT

16

Po zastosowaniu algorytmu generacji schematów dla diagramu ERD w notacji Chen'a związkom 1:N:

0

odpowiadają klucze encji po stronie N przeniesione do tablicy utworzonych dla encji po stronie 1

17

1

odpowiadają klucze encji po stronie 1 przeniesione do tablicy utworzonych dla encji po stronie N

18

0

odpowiadają osobne tablice o kluczu złożonym z kluczy łączonych encji

19

0

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:

0

wyświetlenie wszystkich tematów, w których pracował pracownik o numerze 5 oraz liczby i

21

0

przejście do końca zbioru zb i wyświetlenie liczby i

22

0

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):

0x01 graphic

0

Atrybut dodatek_nadz znajdzie się w schemacie utworzonym dla związku Nadzoruje

24

0

Atrybut dodatek_kier znajdzie się w schemacie utworzonym dla encji Pracownik

25

1

Atrybut dodatek_nadz znajdzie się w schemacie utworzonym dla encji Projekt

26

1

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:

1

Użytkownik PRAC posiada własne tablice

28

1

Użytkownik PRAC posiada prawa RESOURCE

29

1

Wykonywane jest przez użytkownika ADMIN o prawach RESOURCE

30

Określ prawdziwość stwierdzeń dotyczących kluczy obcych w systemie SQL Base

1

W tabeli może zostać zdefiniowanych kilka kluczy obcych

31

1

Klucz obcy musi się odnosić do zdefiniowanego wcześniej klucza głównego w tabeli nadrzędnej

32

0

Kolumny wchodzące w skład klucza obcego muszą posiadać atrybut NOT NULL

33

Klucz główny w systemie SQL Base

1

Może być tylko jeden dla jednej tabeli

34

1

Może być oparty o jedną lub więcej kolumn

35

1

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:

  1. SELECT AVG(DISTINCT pensja) FROM ZAROBKI

  2. SELECT AVG(pensja) FROM ZAROBKI

0

zwrócą takie same wartości

37

0

(a) zwróci wartość większą

38

Które z poniższych par zapisów są równoważne (dają identyczne rezultaty)?

1

{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

0

{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

0

{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

1

{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:

1

Tworzenie własnych tabel

43

1

Nadawanie uprawnień do własnych obiektów innym użytkownikom

44

0

Zmianę poziomów uprawnień

45

0

Przeglądanie i modyfikację wszystkich tabel istniejących w bazie danych

46

Perspektywy stosowane są w języku SQL w celu:

1

Uproszczenia dostępu do danych

47

1

Zwiększenia bezpieczeństwa bazy danych

48

1

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

0

SELECT sum(kwota) FROM dochody WHERE sum(kwota) > 1000

50

1

SELECT count(nrp) FROM pracowni GROUP BY nrz HAVING count(nrp) > 10

51

0

SELECT nrp, nrt FROM dochody GROUP BY nrt HAVING avg(kwota) > min(kwota)

52

1

SELECT nrp, sum(kwota), nrt FROM dochody GROUP BY nrt, nrp

53

Słowo kluczowe PUBLIC w systemie SQL Base:

1

Umożliwia nadanie praw publicznych wszystkim użytkownikom bazy danych (obecnym i przyszłym)

54

1

Umożliwia stworzenie synonimów widocznych przez wszystkich użytkowników

55

1

Pozwala właścicielowi na udostępnienie danych zwartych w jego obiektach wszystkim użytkownikom

56

0

Pozwala na stworzenie publicznego użytkownika

57

Dane są tabele (klucze są wyróżnione wielkimi literami)

TEMAT (NRT, nazwatem, nrkt)

PRACOWNIK (NRP, nazwisko, imie)
ZESPOL (NRZ, nazwazesp,
nrkz)

A oznacza zbiór wierszy będący wynikiem zapytania
select nrkz, nazwisko from PRACOWNIK p, ZESPOL z where p.nrp=z.nrkz

INTERSECT

select nrkt, nazwisko from PRACOWNIK p, TEMAT t where p.nrp=t.nrkt

B oznacza zbiór wierszy będący wynikiem zapytania
select nrkz, nazwisko from PRACOWNIK p, ZESPOL z where p.nrp=z.nrkz

UNION

select nrkt, nazwisko from PRACOWNIK p, TEMAT t where p.nrp=t.nrkt

Jeśli zbiór A okazał się zbiorem niepustym, to o zbiorach A i B możemy zawsze powiedzieć, że:

1

A zawiera się w B

58

0

B zawiera się w A

59

0

część wspólna A i B jest zbiorem pustym

60

1

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:

0

schemat (A, B, C, D) jest w drugiej postaci normalnej,

62

0

schemat (A, B, C, D) jest w trzeciej postaci normalnej,

63

1

schemat (A, B, C, F) jest w drugiej postaci normalnej,

64

0

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:

1

SELECT nrz FROM prac GROUP BY nrp,nrz

66

0

SELECT nrz FROM prac GROUP BY nrp

67

0

SELECT DESC(nrp) FROM prac GROUP BY nrz

68

1

SELECT COUNT(nrp) FROM prac GROUP BY nazwisko

69

Określ prawdziwość stwierdzeń:

0

Komenda SET INDEX ON [<lista plików indeksowych>] tworzy pliki indeksowe dla bazy danych otwartej w bieżącym obszarze roboczym

70

0

Komenda SET RELATION TO [<wyr1> INTO <nazwa_zast>] w systemie FoxPro nie może być stosowana dla niepoindeksowanego pliku <nazwa zast>

71

0

Polecenie SET SKIP TO <obszar 1> [,<obszar 2>,...] w systemie FoxPro powoduje przesunięcie wskaźnika w pliku bazy danych (otwartym w obszarze 1 lub 2...), zmieniając tym samym rekord, który jest rekordem bieżącym

72

0

Polecenie SET SKIP TO <obszar 1> [,<obszar 2>,...] w systemie FoxPro realizuje dynamiczne połączenie relacji aktywnych w obszarze 1 i obszarze 2

73

W systemie FoxPro 2.0, dla ustawień:

SELE 0

USE pracowni ALIAS pr

INDEX ON nrz TO i_1

SELE 0

USE zespol ALIAS ze

Dopuszczalne są następujące konstrukcje:

1

SELE pr

SEEK 1 + nrz

74

0

SELE ze

SEEK 0

75

1

SELE pr

SET RELATION TO nrz INTO ze

76

1

SELE ze

SET RELATION TO nrz INTO ze

77

W systemie FoxPro 2.0, dla relacji o schemacie

PRACOWNI (NRP NUMERIC 3, NRZ NUMERIC 3 IMIE CHARACTER 10, NAZWISKO CHARACTER 20) poprawne są następujące konstrukcje:

1

INDEX ON nrp + 1 TO id_1

78

1

INDEX ON str(nrp) + str(nrz) TAG id_3

79

0

INDEX ON nazwisko, imie TO id_2

80

W procesie dekompozycji schematu relacji R do postaci q = {R1, R2, .. Rk} wymagane jest, by:

0

zbiory schematów Ri były rozłączne

9

0

liczba zbiorów Ri była minimalna

10

1

dekompozycja ta posiadała własność połączenia bez strat

11

1

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:

0

odpowiadają klucze encji po stronie N przeniesione do tablicy utworzonych dla encji po stronie 1

17

1

odpowiadają klucze encji po stronie 1 przeniesione do tablicy utworzonych dla encji po stronie N

18

0

odpowiadają osobne tablice o kluczu złożonym z kluczy łączonych encji

19

0

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:

0

wyświetlenie wszystkich tematów, w których pracował pracownik o numerze 5 oraz liczby i

21

0

przejście do końca zbioru zb i wyświetlenie liczby i

22

0

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:

1

Użytkownik PRAC posiada własne tablice

28

1

Użytkownik PRAC posiada prawa RESOURCE

29

1

Wykonywane jest przez użytkownika ADMIN o prawach RESOURCE

30

Określ prawdziwość stwierdzeń dotyczących kluczy obcych w systemie SQL Base

1

W tabeli może zostać zdefiniowanych kilka kluczy obcych

31

1

Klucz obcy musi się odnosić do zdefiniowanego wcześniej klucza głównego w tabeli nadrzędnej

32

0

Kolumny wchodzące w skład klucza obcego muszą posiadać atrybut NOT NULL

33

Klucz główny w systemie SQL Base

1

Może być tylko jeden dla jednej tabeli

34

1

Może być oparty o jedną lub więcej kolumn

35

1

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

0

zwrócą takie same wartości

37

0

(a) zwróci wartość większą

38

Które z poniższych par zapisów są równoważne (dają identyczne rezultaty)?

1

{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

0

{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

0

{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

1

{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:

1

Tworzenie własnych tabel

43

1

Nadawanie uprawnień do własnych obiektów innym użytkownikom

44

0

Zmianę poziomów uprawnień

45

0

Przeglądanie i modyfikację wszystkich tabel istniejących w bazie danych

46

Perspektywy stosowane są w języku SQL w celu:

1

Uproszczenia dostępu do danych

47

1

Zwiększenia bezpieczeństwa bazy danych

48

1

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

0

SELECT sum(kwota) FROM dochody WHERE sum(kwota) > 1000

50

1

SELECT count(nrp) FROM pracowni GROUP BY nrz HAVING count(nrp) > 10

51

0

SELECT nrp, nrt FROM dochody GROUP BY nrt HAVING avg(kwota) > min(kwota)

52

1

SELECT nrp, sum(kwota), nrt FROM dochody GROUP BY nrt, nrp

53

Słowo kluczowe PUBLIC w systemie SQL Base:

1

Umożliwia nadanie praw publicznych wszystkim użytkownikom bazy danych (obecnym i przyszłym)

54

1

Umożliwia stworzenie synonimów widocznych przez wszystkich użytkowników

55

1

Pozwala właścicielowi na udostępnienie danych zwartych w jego obiektach wszystkim użytkownikom

56

0

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:

0

schemat (A, B, C, D) jest w drugiej postaci normalnej,

62

0

schemat (A, B, C, D) jest w trzeciej postaci normalnej,

63

1

schemat (A, B, C, F) jest w drugiej postaci normalnej,

64

0

schemat (A, B, C, F) jest w trzeciej postaci normalnej,

65

Określ prawdziwość stwierdzeń:

0

Komenda SET INDEX ON [<lista plików indeksowych>] tworzy pliki indeksowe dla bazy danych otwartej w bieżącym obszarze roboczym

70

0

Komenda SET RELATION TO [<wyr1> INTO <nazwa_zast>] w systemie FoxPro nie może być stosowana dla niepoindeksowanego pliku <nazwa zast>

71

0

Polecenie SET SKIP TO <obszar 1> [,<obszar 2>,...] w systemie FoxPro powoduje przesunięcie wskaźnika w pliku bazy danych (otwartym w obszarze 1 lub 2...), zmieniając tym samym rekord, który jest rekordem bieżącym

72

0

Polecenie SET SKIP TO <obszar 1> [,<obszar 2>,...] w systemie FoxPro realizuje dynamiczne połączenie relacji aktywnych w obszarze 1 i obszarze 2

73

W systemie FoxPro 2.0, dla ustawień:

USE zespol ALIAS ze

INDEX ON nrz TO i_2

INDEX ON nazwazesp TO i_1

Poprawne są następujące konstrukcje:

1

LOCATE FOR nazwazesp > „DYSK”

74

0

SEEK nrz

75

1

SEEK “DYSK”

76

1

LOCATE FOR nrz > 100

77

W systemie FoxPro 2.0, dla relacji o schemacie

PRACOWNI (NRP NUMERIC 3, NRZ NUMERIC 3 IMIE CHARACTER 10, NAZWISKO CHARACTER 20) poprawne są następujące konstrukcje:

1

INDEX ON nrp + 1 TO id_1

78

1

INDEX ON str(nrp) + str(nrz) TAG id_3

79

0

INDEX ON nazwisko, imie TO id_2

80

1.

Pojęciom związanym z obiektowością przyporządkowano pewne określenia istniejące
w relacyjnych bazach danych. Wpisz „1” w kratkach, w których zawarte w linii terminy odpowiadają sobie wzajemnie:

1

kolekcja wszystkich klas - schemat bazy danych

1

0

klasa - rekord

2

0

obiekt - typ rekordu

3

2.

Typy danych, które mogą wystąpić jako wartości atrybutów obiektu w obiektowej bazie danych, to:

1

dowolne atomowe (int, bool, char, ..)

1

1

strukturalne (zbiór, lista, ..)

2

1

klasowe

3

3.

Tożsamość obiektu (czyli identyfikator obiektu wewnątrz obiektowej bazy danych) zależy od:

0

zmian wartości atrybutów obiektu

1

1

fizycznego adresu obiektu w pamięci

2

0

nie zależy od niczego i jest przydzielana dynamicznie przez serwer

3

4.

Jeżeli obiekt zdefiniowany w klasie A posiada atrybut typu klasa B, to możemy powiedzieć, że:

1

klasy A i B są ze sobą powiązane związkiem agregacji

1

0

klasy A i B są ze sobą powiązane związkiem dziedziczenia

2

0

obiekty typu klasa A mogą korzystać z metod typu public, zdefiniowanych w klasie B

3

5.

Jeżeli relacja, wchodząca w skład temporalnej bazy danych, wspiera czas transakcyjny, to:

1

jest to czas, w którym atrybuty tej relacji są prawdziwe w bazie (zostały zapamiętane w bazie)

1

0

jest to czas, w którym wartość tych atrybutów - według naszej najlepszej wiedzy - występowała w rzeczywistości

2

0

czas ten jest jednym z atrybutów relacji, a pozostałe atrybuty nie są od niego zależne

3

6.

W architekturze klient-serwer do funkcji serwera plików (np. Novell) należy:

1

sterowanie współbieżnym dostępem do danych

1

0

analiza i realizacja zapytań

2

1

obsługa zadań odczytu/zapisu danych

3

0

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(t)

b) tworzony jest dodatkowy schemat relacji, do którego wchodzi atrybut kluczowy encji i atrybut wielowartościowy (t)

c) nie powstaje dodatkowy schemat relacji, atrybut wielowartościowy wchodzi do schematu encji (n)

d) kluczem utworzonego schematu jest złożenie atrybutu kluczowego encji i atrybutu wielowartościowego(t)

5. Cechy modelu sieciowego:

a) wystąpienie rekordu może mieć wiele poprzedników w ramach jednego typu kolekcji (n)

b) wystąpienie rekordu może mieć wiele poprzedników w ramach różnych typów kolekcji(t)

c) można modelować związki M:N, 1:N (t)

d) w bazie są przechowywane 2 typy obiektów : dane i powiązania (t)

6. Funkcja agregująca może:

a) wystąpić po słowie SELECT (t)

b) zostać porównana z inną funkcją agregującą (t)

c) wystąpić we frazie HAVING (t)

d) wystąpić we frazie WHERE (n)

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 (n)

b) A zawiera się w B (t)

c) Zbiór B jest zbiorem niepustym (t)

d) B zawiera się w A (t)

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ą (n)

b) dopuszczalna w trzeciej postaci normalnej(n)

c) zależnością redundancyjną w zbiorze zależności relacji R(t)

d) zależnością częściową (n)

10. Do wyświetlenia w systemie FoxPro wyniku operacji projekcji na wyniku operacji selekcji wystarczy użyć:

0 1 a) DISPLAY ALL

0 1 b) SEEK, SKIP, SET FILTER i DISPLAY ALL

1 1 c) SET FILTER, SET FIELDS i LIST

1 0 d) LOCATE, DO WHILE/ENDDO, SET FIELDS i LIST

11.Polecenie SET SKIP TO <obszar 1> [,<obszar 2>,...] w systemie FoxPro:

0 a) realizuje dynamiczne połączenie relacji aktywnych w obszarze 1 i obszarze 2

0 0 b) pozwala na wybór bieżącego obszaru roboczego

1 0 c) powoduje przesunięcie wskaźnika w pliku bazy danych (otwartym w obszarze 1 lub

2...), zmieniając tym samym rekord, który jest rekordem bieżącym

1 1 d)jest uruchamiane po komendzie SET RELATION i służy do tworzenia powiązań typu 1:N

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:

t a) Nr_samochodu->Marka

n b) Nr_samochodu->Kod_stopnia_uszkodzenia

n c) Uszkodzona_część->Kod_stopnia_uszkodzenia

n 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:

n a) zbior numerow pracownikow będących kierownikami zespołów i nie będących kierownikami tematów

n b) zbior numerow pracownikow będących kierownikami zespołów lub kierownikami tematów

n c) zbior numerow pracownikow nie będących kierownikami zespołów, a bedących kierownikami tematów

t 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 ) ...... :

n a) przenieść projekcje jak najwyżej w drzewie rozbioru i wykonac je łacznie z selekcjami i łączeniem

t b) przenieść selekcje jak najwyzej w drzewie rozbioru wyrażeń

c) projekcje wykonać po złączeniu wszystkich niezbednych relacji

t d) przy wyborze kolejności selekcji jako pierwsze należy realizowac selekcje wykonyw na. atrybytach niekluczowych

15. W chcrarchucznym modelu danych:

n a) Można łatwo modelować związki M:N

t b) przechowuje się dane i związki między nimi

t c) można w prosty sposób modelować związki 1:N

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:

n a) select nazwisko, sum(kwota)

from pracowni p, dochody d

where d.kwota > 1000 and d.nrt = 5 and p.nrp = d.nrp

n b) select nazwisko, kwota

from pracowni p, dochody d

where d.kwota > 1000 and d.nrt = 5

n 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

t? d) select nazwisko, kwota

from pracowni p, dochody d

where d.kwota > 1000 and d.nrt = 5 and p.nrp = d.nrp

W systemie FoxPro z indeksów korzystaja między innymi następujace instrukcje:

n a) SEEK, SET FILTER i GO TOP

n b) LOCATE, SET RELATION i SET FILTER

n c) SKIP, GO TOP i GO BATTOM

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 (n)

b) wymaga wcześniejszego uaktywnienia właściwego indeksu (t)

c) zmodyfikuja wartość bieżącego pola na wartość 5 (n)

d) spowoduje wygenerowanie błędu (t)

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 ; (n)

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 ; (t)

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) ; (n)

Kartka 2

O agregacji (kompozycji) możemy mówić, gdy:

n a) atrybut A zwiera wskaźnik na klasę C

n b) atrybut A zwiera wskaźnik na obiekt będący wystąpieniem klasy C

n c) atrybut A zwiera zbiór wskaźników na obiekty, będące wystąpieniami pewnych klas

t d) obiekt posiada atrybut, będący wystąpieniem klasy C

8. Stosowanie replikacji:

n a) nie pozwala na stosowanie metody węzła centralnego do sterowania współbieżnym dostępem do kopii.

t b) komplikuje zagadnienie modyfikacji danych znajdujących się w kopiach

n c) wymaga użycia trójfazowego protokołu do wypełnienia transakcji

t d) zmniejsza podatność systemu na awarie

Następujący ciąg instrukcji w języku SQL jest równoważny podanym poniżej zapytaniom w języku QBE:

SELECT nrp FROM dochody

WHERE kwota > 1000

UNION ALL

SELECT nrp FROM dochody

WHERE nrt < 7;

n a) dochody | nrt | kwota | nrp |

| <7 | >1000 | check |

t b) dochody | nrt | kwota | nrp |

| | >1000 | check_x |

| <7 | | check_y |

n c) dochody | nrt | kwota | nrp |

| | >1000 | check_x |

| <7 | | check_x |

n d) dochody | nrt | kwota | nrp |

| | >1000 | check_x |

| <7 | | _y |

Czy poniższe zdania są prawdziwe w odniesieniu do języka Clipper?

1 [1] a) po zablokowaniu rekordu funkcją RLOCK() inni użytkownicy mogą czytać jego zawartość

1 [1] b) Rekord zablokowany funkcją RLOCK() może zostać odblokowany instrukcją UNLOCK

0 [0] c) Funkcja RLOCK() zwraca wartość .T. jeśli bieżący rekord jest już zablokowany

0 [0] d) Otwarcie pliku w trybie wyłącznym (EXCLUSIVE) jest równoważne zablokowaniu pliku funkcją FLOCK()

11) Które z poniższych zapytan w QBE odpowiadaja podanemu w zadaniu:
{nazw
isko|pracowni(X,Y,nazwisko) and (exist kwota) and dochody(z,kwota,x) and kwota>100 and (temat(BAZA,2))}

pracowni(nrp,kobieta,nazwisko)
dochody(nrz,kwota,nrp)
temat(nazwatem,nrt)


T a)temat |nazwatem|nrt| pracowni |nrp|kobieta|nazwisko| dochody |nrt|kwota|nrp|
|BAZA |_t | |_p |Y |check | |_t |>100 |_p |


N b)temat |nazwatem|nrt| pracowni |nrp |kobieta|nazwisko| dochody |nrt|kwota|nrp|
|BAZA |_t | Set |_p |Y |_n | Set |_t |>100 |_p |
|only _p| | |

T c)temat |nazwatem|nrt| pracowni |nrp |kobieta|nazwisko| dochody |nrt|kwota|nrp|
|BAZA |_t | Set |_p |Y | | Set |_t |>100 |_p |
|only _p| |check |

N d)temat |nazwatem|nrt| pracowni |nrp|kobieta|nazwisko | dochody |nrt|kwota|nrp|
|BAZA |_t | |_p |Y |checkgroupby _n | |_t |>100 |_p |


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
N a) ktoremu zapobiega dowolna strategia blokowania oparta na dwufazowym protokole blokowania
N b) ktore nie moze byc przyczyna wycofania transakcji
N/Tc) do ktorego nie moze dojsc w rozproszonej bazie danych
T 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:
T a) zbior X jest uwzgledniany w procesie hipergrafu
N b) X musi calkowicie zawierac sie w jednym fragmencie bazy
N c) X nie moze zawierac atrybutow kluczowych
T d) atrybuty ze zbioru X moga dotyczyc wiecej niz jednego fragmentu (tzn. czesciowo zawierac sie w jednym a czesciowo w innym)

15) Czy mozna w systemie FoxBASE:
T/N a) zawsze zalozyc blokade pliku otworzonego wczesniej w trybie dzielonym, wywolujac funkcje FLOCK(), jesli rekordy pliku sa blokowane przez inna aplikacje
N b) zawsze zalozyc blokade pliku, otworzonego wczesniej w trybie dzielonym, jesli udalo sie wczesniej zalozyc blokade rekordu
T c) zalozyc blokade pliku otw
orzonego wczesniej w trybie wylacznym, wywolujac funkcje FLOCK()
T d) zawsze zalozyc blokade rekordu jesli udalo sie wczesniej zalozyc blokade pliku

1.W systemir Ingres w procedurze bazy danych obsługującej zdarzenie opisane przez daną regułę:

można spowodować uaktywnienie inne reguły

nie da się wycofać skutków instrukcji, która wywołała to zdarzenie

można stosować wyłacznie parametry o wartościach typu całkowitego

nie wolno modyfikować zawartości tabel innych niż tabela, dla której wystąpiło zdarzenie opisane przez tą regułę

a2. Polimorfizm to:

ukrywanie danych przed użytkownikiem

określenie własności obiektów przez zestaw atrybutów, który jest odpowiednio dobrany z nadklasy

synonim enkapsulacji

modyfikacja metod dziedziczonych z ndaklasy bez zmiany ich nazwy

3. Które z komend systemu FoxBASE powodują zdjęcie blokady rekordu, założonej wcześniej w tej samej aplikacji poprzez wywołanie rlock():

UNLOCK

(1) USE

REPLACE ALL <atrybut> WITH <wyrażenie>

REPLACE <atrybut> WITH <wyrażenie>

4.Zaznaczenie pola znacznikiem CHECK w języku QBE umożliwia:

włączenie do tabeli Answer tylko unikalnych wartości zaznaczonego pola

(posortowanych w porządku rosnącym)

podzielenie rekordów na grupy bazując na zawartości zaznaczonego pola(np.jeśli w tej

samej linii co znacznik CHECK pojawi się operator agregujący)

(0) wyświetlenie wszystkich , również powtarzających się, wartości zaznaczonego pola

(0) włączenie pola do definiowanego zbioru



Wyszukiwarka