Pytania do egzaminu z przedmiotu \Systemy baz danych"
UWAGA:
Na egzamin należy przynieść indeks i dowód osobisty.
Osoby bez dokumentów zostaną wyproszone z sali egzaminacyjnej.
1. Informacja to: zinterpretowane dane.
2. Zbiór definicji opisujących strukturę bazy danych to: część intensjonalna bazy danych.
3. Część ekstensjonalna bazy danych to: zbiór faktów w bazie danych.
4. Zbiór faktów, których zadaniem jest reprezentowanie pewnego aspektu rzeczywistości to: baza danych.
5. Zbiór faktów z nałożoną na niego wewnętrzną strukturą to: baza danych.
6. Do właściwości baz danych należą:
- współdzielenie danych
- integracja danych - integralność danych - bezpieczeństwo danych - abstrakcja danych - niezależność danych
7. Za zmianę bazy danych z jednego stanu w drugi odpowiadają: funkcje aktualizujące.
8. Za sprawdzenie czy pewien fakt lub grupa faktów jest spełniona w danym stanie bazy danych odpowiadają: funkcje zapytań.
9. Zapewnienie jednoczesnego dostępu do danych wielu uprawnionym podmiotom to: współdzielenie danych.
10. Zapewnienie zbioru faktów nie będących danymi redundancyjnymi to: integracja danych.
11. Integralność danych to: zapewnienie dokładnego odbicia obszaru analizy nie tylko strukturą danych, ale przede wszystkim stanem faktów.
12. Zapewnienie zbioru uprawnień użytkowników do wykonywania operacji (transakcji/kwerend) na całości/części bazy danych to: bezpieczeństwo danych.
13. Niezależność danych to: zapewnienie oddzielenia danych od procesów, które ich używają.
14. Bazy danych stosowane do zbierania danych o stanie pewnego przedsięwzięcia to: produkcyjne bazy danych.
15. System baz danych to: zorganizowany zbiór narzędzi umożliwiających dostęp i zarządzanie jedną lub wieloma bazami danych.
16. Funkcje realizowane przez DBMS to:
pielęgnacja danych
wyszukiwanie danych
kontrola danych
17. Narzędzia administratora systemu bazy danych to:
archiwizacja, kopiowanie i odtwarzania
zarządzanie uprawnieniami
monitorowanie aktywności
import i eksport danych.
18. Narzędzia użytkownika końcowego DBMS to:
interfejs języka naturalnego
interfejs Visual Query
interfejs QBE (zapytanie przez przykład)
19. Narzędzia tworzenia aplikacji baz danych to:
interfejs programowania aplikacji
narzędzia projektowania bazy danych
generator ekranów
generator raportów
20. Język definiowania danych, w interfejsie DBMS, odpowiada za: dodawanie/usuwanie/modyfikację struktur danych; aktualizuje metadane w słowniku danych.
21. Język operowania danymi, w interfejsie DBMS, odpowiada za: dodawanie/czytanie/usuwanie/modyfikację danych (CRUD).
22. Język integralności danych, w interfejsie DBMS, odpowiada za: określenia więzów integralności danych.
23. Język kontroli danych, w interfejsie DBMS, odpowiada za: definiowanie użytkowników i określanie ich uprawnień.
24. Funkcje menedżera bazy danych to:
kontrola uprawnień prób dostępu do bazy danych
przetwarzanie poleceń subjęzyka bazy danych
kontrola spójności - przestrzeganie zdefiniowanych więzów spójności
optymalizacja zapytań - strategia wykonania zapytań do bazy danych
planowanie i zarządzanie transakcjami
zarządzanie odtwarzaniem - zawieranie i anulowanie transakcji
zarządzanie buforami - transfer danych do i z pamięci głównej i pomocniczej.
25. Architektura systemu baz danych, zbiór ogólnych zasad posługiwania się danymi to: model danych.
26. Zbiór reguł określających strukturę danych to: definicja danych.
27. Zbiór reguł dotyczących procesu dostępu do danych i ich modyfikacji to: operowanie danymi.
28. Zbiór reguł określających, które stany bazy danych są poprawne to: integralność danych.
29. Proste modele danych są: danymi zorganizowanymi w strukturę rekordów zgrupowanych w plikach.
30. Klasyczne modele danych są: modelami hierarchicznymi, sieciowymi i relacyjnymi.
31. Semantyczne modele danych są: modelami znaczeniowymi; to modele nakierowane na lepsze (niż modele klasyczne) odwzorowanie dziedziny problemu.
32. Dedukcyjne modele danych są: modelami obejmującymi zastosowanie logiki formalnej do definiowania danych, operowania danymi i integralności danych.
33. Każda relacja w bazie danych jest jednoznacznie określona: przez swoją nazwę.
34. Każda relacja musi zawierać: klucz główny - kolumnę (lub kolumny), której wartości jednoznacznie identyfikują wiersz (w szczególności nie powtarzają się).
35. Kolumna lub grupa kolumn relacji, o wartościach z tej samej dziedziny co klucz główny tabeli z nią powiązanej: to klucz obcy.
36. W teoretycznym opisie modelu relacyjnego operacje
na danych definiuje się w ramach: tzw. algebry relacyjnej.
37. Operacja na relacji określona przez warunek dotyczący
wartości kolumn danej relacji, dająca w wyniku relację
zawierającą te wszystkie wiersze wejściowej relacji, których atrybuty spełniają dany warunek to: selekcja (restrict).
38. Operacja na relacji określona przez podzbiór zbioru kolumn danej relacji, dająca w wyniku relację składającą się z kolumn wejściowej relacji to: rzut (project).
39. Operacja na relacjach, której wynikiem jest tabela zbudowana ze wszystkich par wierszy relacji wyjściowych to: iloczyn kartezjański (product).
40. Jeżeli argumentami operacji są dwie relacje, posiadające kolumny o tych samych dziedzinach, a wynikiem jest tabela otrzymana z iloczynu kartezjańskiego relacji wejściowych i selekcję za pomocą warunku równości „wspólnych” atrybutów
to jest to: równozłączenie (equi-join).
41. Operacja działająca na dwóch zgodnych relacjach,
produkująca relację której wiersze są sumą teoriomnogościową wierszy z relacji wejściowych to: suma (union).
42. Operacja, która wymaga dwóch zgodnych tabel, a wynikiem jest tabela zawierająca wiersze wspólne dla obu tabel jest: przecięcie (intersection).
43. Operacja, która wymaga na dwóch zgodnych relacjach
i odpowiada dokładnie różnicy teoriomnogościowej
zbiorów wierszy tabel wejściowych to: różnica (difference).
44. Integralność encji w modelu relacyjnym oznacza, że: każda tabela musi posiadać klucz główny, a wartości klucza głównego muszą być w ramach tabeli unikalne i nie równe NULL.
45. Integralność referencyjna w modelu relacyjnym
oznacza, że: każda wartość klucza obcego może być albo równa jakiejś wartości klucza głównego występującej w tabeli powiązanej lub (ewentualnie) NULL.
46. Zastosowanie ograniczonego usuwania jako reguły
postępowania w wypadku usuwania wiersza z tabeli
powiązanej powoduje, że: wartości kluczy obcych wierszy z innych tabel stają się nieważne.
47. Zastosowanie kaskadowego usuwania jako reguły
postępowania w wypadku usuwania wiersza z tabeli
powiązanej powoduje, że: automatycznie usuwane są z innych tabel wszystkie wiersze, dla których wartości kluczy obcych stały się nie ważne.
48. Wstawianie NULL przy usuwaniu jako reguły
postępowania w wypadku usuwania wiersza z tabeli
powiązanej powoduje, że: nieważne wartości kluczy obcych ulegają zastąpieniu przez NULL.
49. W obiektowym modelu danych integralność danych
typu klasa-klasa polega na tym, że: nadklasa nie może być usunięta dopóty, dopóki nie zostaną usunięte wszystkie powiązane z nią podklasy.
50. W obiektowym modelu danych integralność danych
typu klasa-obiekt polega na tym, że: klasa nie może być usunięta dopóty, dopóki nie zostaną usunięte wszystkie jej obiekty.
51. W obiektowym modelu danych integralność dziedziny
polega na tym, że: atrybuty są definiowane na utworzonych wcześniej klasach lub na zbiorach identyfikatorów obiektów.
52. Identyfikowanie logicznych związków między
elementami danych w bazie, która będzie
reprezentować takie związki, ale bez występowania
anomalii danych to: normalizacja.
53. Proces normalizacji danych to usuwanie: ????? anomalii ?????
54. Jeżeli dla każdej wartości elementu danych A istnieje
ograniczony zbiór wartości elementu danych B to: jest to zależność niefunkcyjna-wielowartościowa.
55. Jeżeli dla każdej wartości A istnieje jedna,
jednoznacznie określona wartość B to: jest to zależność funkcyjna-jednowartościowa.
56. Związki zależności (determinowania) między
elementami danych to: skierowane logiczne związki; jeżeli element danych A jest determinującym elementem danych, a B zależnym elementem danych, to kierunek związku jest od A do B.
57. Relacja jest w pierwszej postaci normalnej wtedy i
tylko wtedy, gdy każdy atrybut niekluczowy: jest funkcyjnie zależny od klucza głównego.
58. Relacja jest w drugiej postaci normalnej wtedy i tylko
wtedy, gdy jest w pierwszej postaci normalnej i każdy
atrybut niekluczowy: jest w pełni funkcyjnie zależny od klucza głównego.
59. Relacja jest w trzeciej postaci normalnej wtedy i tylko
wtedy, gdy jest w drugiej postaci normalnej i każdy
atrybut niekluczowy: jest bezpośrednio (nie przechodnio) zależny od klucza głównego.
60. Przekształcenie diagramu zależności w zbiór struktur
tabel lub schemat relacyjny to: akomodacja.
61. Gdy relacja jest w trzeciej postaci normalnej oraz
jeżeli w danej relacji występuje nie trywialna zależność
nie funkcyjna do dowolnego podzbioru atrybutów to
podzbiór ten musi zawierać klucz tej relacji to relacja
jest: w postaci normalnej Boyce'a-Codda (BCNF).
62. Relacja jest w piątej postaci normalnej wtedy i tylko
wtedy, gdy jest w czwartej postaci normalnej: i nie istnieje jej rozkład na zbiór mniejszych tabel.
63. Abstrakcja istniejącego niezależnie i jednoznacznie
zidentyfikowanego elementu dziedziny problemu to: encja.
64. Związek encji to: powiązanie między encjami.
65. Atrybut encji to: charakterystyka encji; opis właściwości encji.
66. Ogólnie przyjęta notacja na diagramach ER dla encji to: prostokątna ramka z wpisaną nazwą będąca rzeczownikiem w liczbie pojedynczej.
67. Ogólnie przyjęta notacja na diagramach ER dla atrybutu encji to: owal lub koło z wpisaną nazwą atrybutu.
68. Wskaż diagram odpowiadający następującej relacji
„klient może mieć wiele kont bankowych; konto
bankowe należy do jednego klienta”:
odpowiedź
69. Poniższy diagram opisuje relację: klient ma wiele kont bankowych; konto bankowe może należeć do wielu klientów-(N:M).
70. Poniższy diagram opisuje relację: klient może mieć wiele kont bankowych lub nie ma żadnego; konto bankowe należy do jednego klienta.
71. Poniższy diagram opisuje: r1 - wykłada, jest wykładany przez
r2 - egzaminuje, jest egzaminowany przez
72. Związki rekurencyjne na diagramach ER to: związki unarne; wiązanie ze sobą instancji tego samego typu.
73. Różne spojrzenia na encje (na diagramach ER) pod
kątem uczestniczenia w różnych związkach to: role encji.
74. Upraszczanie związków wiele do wiele na diagramach
ER polega na zastąpieniu go: dwoma związkami jeden do wiele.
75. Podczas przekształcania diagramu ER w schemat
relacyjny przyjmuje się, że:
każdy związek wiele do wielu należy rozpisać jako dwa jeden do wielu
każdy związek jeden do jeden może być częścią jednej tabeli
każda encja to tabela
każdy atrybut encji jest kolumną tabeli
każdy identyfikator encji staje się kluczem głównym tabeli
dla każdego związku jeden do wielu klucz główny tabeli (po stronie „jeden”) wstawiany jest jako klucz obcy do tabeli po stronie „wiele”
opcjonalność oznacza dopuszczanie wartości NULL przez klucz obcy tabeli
każdy związek trójargumentowy należy przekształcić w jedną tabelę ze złożonym kluczem głównym składającym się z identyfikatorów encji związku
dla każdej roli reprezentującej związek jeden do wielu jest potrzebny oddzielny klucz obcy
każdy związek rekurencyjny jeden do wiele wymaga umieszczenia w tabeli dodatkowego klucza obcego, którego wartości pochodzą z klucza głównego tej tabeli.
76. Podczas przekształcania diagramu ER w schemat
relacyjny przyjmuje się, że: POWTÓRZONE PYTANIE!
77. System baz danych, w którym występuje rozłożenie danych przez ich fragmentację lub replikację do różnych lokalizacji geograficznych to: rozproszony system baz danych.
78. Fragmentacja pionowa w rozproszonych systemach
baz danych polega na przechowywaniu: kolumn tabeli; rzut z kluczami głównymi/złączenie.
79. Fragmentacja pozioma w rozproszonych systemach
baz danych polega na przechowywaniu: wierszy tabeli; restrykcja/suma.
80. W rozproszonych systemach baz danych wymaga się przezroczystości:
lokalizacji - użytkownicy nie muszą wiedzieć gdzie przechowywane są dane
fragmentacji - użytkownicy nie muszą wiedzieć w jaki sposób dane są podzielone
replikacji - użytkownicy nie muszą wiedzieć w jaki sposób dane są przetwarzane.
81. Zaletą rozproszenia danych w porównaniu z systemem
scentralizowanym jest:
odwzorowanie w bazie danych geograficznego podziału organizacji
przechowywanie danych w miejscu gdzie są one potrzebne
zwiększenie niezawodności systemu przez utrzymywanie repliki danych
poprawa efektywności dostępu do danych poprzez kierowanie zapytań do małej lokalnej niż dużej, odległej (centralnej) bazy danych.
82. Rozproszenie danych między dwa lub więcej systemów
opartych o „taką samą” konfigurację
sprzętowo-programową to: system jednorodny.
83. Rozproszenie danych w oparciu o heterogeniczny
zestaw platform sprzętowo-programowych tworzy: system niejednorodny.
84. Rozproszenie funkcji, a nie danych, jest
charakterystyczne dla: systemu klient-serwer.
85. Typ systemu bazy danych przeznaczonego do
realizacji potrzeb związanych z podejmowaniem
decyzji to: hurtownia danych.
86. Który z poniższych typów nie jest typem schematu
hurtowni danych: ??? (typy schematów hurtowni danych to:
gwiazda
płatek śniegu
konstelacja).
87. Wskazać polecenie SQL tworzące tabelę „studenci” o
strukturze (notacja nawiasowa) studenci(id_stud, nazwisko):
CREATE TABLE studenci (
id_stud INT PRIMARY KEY,
nazwisko VARCHAR(20) NOT NULL ) ;
88. Wskazać polecenie SQL dodające kolumnę „wiek” do
tabeli „studenci”: ALTER TABLE studenci ADD COLUMN wiek INT
89. Wskazać polecenie SQL zmiany nazwy kolumny
„wiek” tabeli w „studenci”: ALTER TABLE studenci RENAME COLUMN wiek TO studenci
90. Wskazać polecenie SQL zmiany nazwy tabeli
„studenci”: ALTER TABLE studenci RENAME TO nowa_tabela
91. Wskazać polecenie SQL usunięcia kolumny „wiek” z
tabeli „studenci”: ALTER TABLE studenci DROP COLUMN wiek
92. Wskazać polecenie SQL usunięcia tabeli „studenci”: DROP TABLE studenci
93. Wskazać polecenie SQL wprowadzenia danych do
tabeli „studenci” o strukturze (notacja nawiasowa)
studenci(id_stud, nazwisko):
INSERT INTO studenci VALUES (37798 , ′Jones′ );
94. Wskazać polecenie SQL wprowadzenia danych do
tabeli „studenci” z pliku tekstowego „stud.txt”: COPY studenci FROM stud.txt
95. Wskazać polecenie SQL pozwalające uzyskać
wszystkie wiersze i kolumny tabeli „studenci”: SELECT * FROM studenci
96. Wskazać polecenie SQL pozwalające uzyskać niektóre wiersze tabeli „studenci” o strukturze (notacja nawiasowa) studenci(id_stud, nazwisko):
SELECT * FROM studenci WHERE nazwisko = ′Smith′
97. Wskazać polecenie SQL pozwalające uzyskać wszystkie wartości kolumny „nazwisko” tabeli „studenci” o strukturze (notacja nawiasowa) studenci(id_stud, nazwisko): SELECT nazwisko FROM studenci
98. Wskazać polecenie SQL usuwające wszystkie wiersze
tabeli „studenci”: DELETE FROM studenci
99. Wskazać polecenie SQL usuwające wszystkie wiersze
tabeli „studenci” o strukturze (notacja nawiasowa)
studenci(id_stud, nazwisko): DELETE FROM studenci
100. Wskazać polecenie SQL łączące tabele o strukturze
(notacja nawiasowa)
moduly (modul, nr_prac)
wykladowcy(nr_prac, nazwisko)
względem kolumny „nr prac”:
SELECT modul, nazwisko FROM moduly JOIN wykladowcy USING(nr_prac);
101. Wskazać polecenie SQL wykonane na tabelach o
strukturze (notacja nawiasowa)
moduly(modul, nr_prac)
wykladowcy (nr_prac, nazwisko)
którego wynik wygląda następująco
modul | nazwisko
--------------------------+-----------
Systemy baz danych | Davis
Projektowanie baz danych | Davis
Dedukcyjne baz danych | Evans
Administracja baz danych |
SELECT modul, nazwisko FROM moduly LEFT JOIN wykladowcy USING(nr_prac);
102. Wskazać polecenie SQL wykonane na tabelach o
strukturze (notacja nawiasowa)
moduly(modul, nr_prac)
wykladowcy (nr_prac, nazwisko)
którego wynik wygląda następująco
modul | nazwisko
--------------------------+-----------
| Black
Systemy baz danych | Davis
Projektowanie baz danych | Davis
Dedukcyjne baz danych | Evans
SELECT modul, nazwisko FROM moduly RIGHT JOIN wykladowcy USING(nr_prac);
103. Wskazać polecenie SQL wykonane na tabelach o
strukturze (notacja nawiasowa)
moduly(modul, nr_prac)
wykladowcy (nr_prac, nazwisko)
którego wynik wygląda następująco
modul | nazwisko
--------------------------+-----------
| Black
Systemy baz danych | Davis
Projektowanie baz danych | Davis
Dedukcyjne baz danych | Evans
Administracja baz danych |
SELECT modul, nazwisko FROM moduly FULL JOIN wykladowcy USING(nr_prac);
104. Wskazać polecenie SQL wykonane na tabelach o
strukturze (notacja nawiasowa)
moduly(modul, nr_prac)
wykladowcy (nr_prac, nazwisko)
którego wynik wygląda następująco
modul | nazwisko
--------------------------+-----------
Systemy baz danych | Davis
Projektowanie baz danych | Davis
Dedukcyjne baz danych | Evans
SELECT modul, nazwisko FROM moduly JOIN wykladowcy USING(nr_prac);
105. Wskazać polecenie SQL zliczające wiersze tabeli
„studenci” o strukturze (notacja nawiasowa)
studenci(id_stud, nazwisko),
w których „nazwisko” ma taką samą wartość:
SELECT * FROM studenci WHERE nazwisko = ′Smith′
106. Wskazać polecenie SQL aktualizujące wiersze tabeli
„studenci” o strukturze (notacja nawiasowa)
studenci(id_stud, nazwisko),
podnosząc wartość pola „nr_stud” o 2:
UPDATE studenci SET nr_stud = nr_stud + 2;
107. Wskazać polecenie SQL aktualizujące wiersze tabeli
„studenci” o strukturze (notacja nawiasowa)
studenci(id_stud, nazwisko),
zmieniając wartość pola „nr stud” tylko dla
określonego „nazwisko”:
UPDATE studenci SET nr_stud = 37500 WHERE nazwisko = ′Jones′ ;
108. Wskazać polecenie SQL tworzące perspektywę:
CREATE VIEW perspektywa AS zapytanie
109. Wskazać polecenie SQL nadające wszystkie
uprawnienia grupie użytkowników „staff” do tabeli „studenci”:
GRANT ALL ON studenci TO GROUP staff ;
110. Wskazać polecenie SQL odbierające uprawnienia
usuwania wierszy w tabeli „studenci” użytkownikowi „bob”:
REVOKE DELETE ON studenci FROM bob ;