Sytemy baz danych
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ść niefunkcyjnawielowartościowa.
55. Jeżeli dla każdej wartości A istnieje jedna,
jednoznacznie określona wartość B to: jest to zależność funkcyjnajednowartoś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 ;