2. Scharakteryzowad model obiektowej bazy danych?
Model danych, w którym wykorzystano cechy obiektowości tj.: pojęcie klasy i obiektów klasy, enkapsulacja,
mechanizm identyfikacji obiektów , dziedziczenie ,przeciążanie funkcji ,, i późne wiązanie
Model obiektowy – kolekcja obiektów, do rekordów danych dołą-czane są mechanizmy obsługujące dane,
obiekt jest pakietem da-nych i procedur, dane są trzymane w atrybutach obiektu, procedury są definiowane za
pomocą metod obiektu, metody są uaktywniane przez komunikaty przekazywane między obiektami.
Np. ORION, INIS
Cechy podstawowe
• obiekt w bazie reprezentuje obiekt w świecie zewnętrz-nym
• typ obiektowy (klasa):
• definicja złożonego typu danych (może zawierad inne ty-py obiektowe lub ich kolekcje)
• procedury (metody) i operatory do manipulowania tymi danymi
• tożsamośd obiektu jest niezależna od zawartości danych
• dziedziczenie (inheritance):
• strukturalne: potomek dziedziczy strukturę danych
• behawioralne: potomek dziedziczy metody i operatory
2. Co rozumie się pod pojęciem „logiczny model danych”?
Model logiczny danych – opis kolekcji danych przechowywanych w BD niezależnie od fizycznej realizacji, np.:
rekord, tabela, tablica rekordów, obiekt z definicją metod obsługi obiektu, lista, drzewo itp.. Model
koncepcyjny jest to inaczej obraz danych postrzeganych przez użytkownika (sposób wykorzystania, interpretacji
danych).
2. Co rozumie się pod pojęciem „fizyczny model danych”?
Model fizyczny danych – sposób fizycznej realizacji modelu logicznego
2. Jakie modele logiczne danych wyróżnia się w systemach baz danych?
-hierarhiczny
-oparty na rekordach
-sieciowy
-relacyjny
2. Scharakteryzuj model sieciowy bazy danych.
-dane SA reprezentowane przez rekordy
-zwiazki miedzy danymi SA reprezentowane przez wskazania
- w modelu tym możemy zdefiniowac relacje typu wiele –wiele
- modelu sieciowym każdy element obiektu danych Region zawsze występuje jako tylko jedna podgałąź
Model sieciowy – rekordy lub paczki rekordów w postaci sieci al-bo listy jedno lub dwukierunkowej zamkniętej
w pierścieo. Po-wstały w 1971 roku, organizacja zajmująca się tym modelem CO-DASYL
Np. IMAGE (IBM)
Cechy podstawowe
• struktura danych ma postad grafu (sieci)
• wierzchołki grafu - typy obiektów
• łuki w grafie - wiązania między typami
• opis obiektu (rekord) zbudowany z pól zawierających dane opisujące obiekt
• reprezentacja wiązao (wskaźniki):
• odesłanie bezpośrednie (jednowart.)
• odesłanie inwersyjne (wielowart.)
• wiązanie codasylowe
2. Scharakteryzuj model relacyjny bazy danych.
-dane w tym modelu reprezentowane SA przez rekordy umieszczone w tabelach
-kazda tabela przechowuje rekordy tego samego typu
-kazda tabela ma okreslona stala ilośd kolumn o unikalnych nazwach (pierdoli się przy wyszukiwaniu jak SA
takie same)
-elementy tabeli (atrybuty) SA wypelnione atomowymi wartościami
-kazda krotka tabeli musi byd jednoznacznie okreslona przez wartośd klucza tabeli
- modelu sieciowym każdy element obiektu danych Region zawsze występuje jako tylko jedna podgałąź
2. Scharakteryzuj model hierarchiczny bazy danych.
-rekordy sa zorganizowane w drzewa
Model hierarchiczny był pierwszym modelem baz danych skon-struowany na bazie rekordów, dzięki hierarchii
szybsze wyszuki-wanie, rekordy zmiennej długości o specjalnym znaczniku kooca, najczęściej w formie drzew
zrównoważonych, stosowane mechani-zmy nizania (poruszanie się w dwóch kierunkach drzewa), wyko-
rzystywane np. w budowie sprzętu – baza danych opisująca części
Np. IMS
Cechy podstawowe
• struktura danych ma postad drzewa
• węzły - typy opisywanych obiektów
• łuki - związki typu ojciec-syn
• drzewo jest uporządkowane, tj. na każdym poziomie ko-lejnośd węzłów jest określona
• opis obiektu (rekord) zbudowany z pól zawierających dane opisujące obiekt
• związki zrealizowane jako wskaźniki
3. Co oznacza skrót SQL?
Structured Query Language
3. Co oznacza skrót DDL?
Data Definition Language – umożliwia definiowanie struktury danych zawartych w bazie.
3. Co oznacza skrót DML?
Data Manipulation Language – umożliwia wypełnienie, modyfikowanie i usuwanie danych z bazy.
3. Co to są więzy integralności w bazie danych?
-Jest to system reguł zapewniajacych poprawnośd związków miedzy krotkami tabel o ile te tabele sa powiazane
relacja wynikajaca z istnienia kluczy obcych i głównych.sa to takie reguły ktore sa za każdym razem sprawdzane
gdy w bazie dokonujemy jakichkolwiek zmian.
Mamy następujące wiezy integralności
a)jednoznaczności
b)intgralnosci referencyjnej
c)dziedziczone lub domenowe
d)globalne
3. Jak wykrywa się impasy w systemach baz danych? Podad metody.
Sytuacja, w której każdy element zbioru S dwóch lub większej ilości transakcji czeka na blokadę jednostki
właśnie zablokowanej przez pewną transakcję ze zbioru S nazywa się impasem (deadlock). Najprostszą metodą
wykrycia impasów jest metoda oparta na rysowaniu grafu oczekiwao. Wierzchołkami takiego grafu są
transakcje, a krawędzie tego grafu oznaczają, że transakcja T1 czeka na zablokowanie jednostki, która jest
blokowana przez T2.
Jeżeli taki graf oczekiwao zostanie utworzony i w grafie tym będą występowały cykle, to mamy wówczas dowód
na istnienie impasu. Jeżeli taki impas zostanie wykryty, to trzeba zacząd ponownie wykonywad jedną z
powodujących ten impas transakcji, a wyniki dotychczasowego działania tej transakcji muszą byd usunięte z
bazy danych.
Istnieje kilka sposobów na pokonanie tego problemu:
ransakcja zgłasza od razu swoje żądania blokowania zaś system albo przydzielała je wszystkie albo w
przypadku gdy jedna lub więcej blokad cząstkowych jest już nałożona przez inne transakcje, nie przydziela takiej
blokady i powoduje, że cała taka transakcja oczekuje na blokadę.
kolejności.
występuje. Stosuje się tu zazwyczaj metodę opartą na rysowaniu grafu oczekiwao. Wierzchołkami takiego grafu
są transakcje, a jego krawędzie oznaczają, że transakcja T1 czeka na zablokowanie jednostki która jest
zablokowana przez T2
Jeżeli taki graf oczekiwao zostanie utworzony i w grafie tym będą występowały cykle to mamy wówczas dowód
na istnienie impasu. Jeżeli taki impas został wykryty, to trzeba zacząd ponownie wykonywad jedną z
powodujących ten impas transakcję, a wyniki dotychczasowego działania tej transakcji muszą byd usunięte z
BD. Taki proces ponownego startu przy impasie może byd i często jest skomplikowany jeśli nie opracowano
specjalnego sposobu zapisu zmian w BD.
3. Co oznaczają skróty O2, GemStone?
Są to: znane systemy zarządzania obiektowymi bazami danych
3. Co oznacza skrót ODBC, JDBC?
ODBC – Open DataBase Conectivity – Standard dostępu do baz danych. Pozwala na komunikację programów z
bazami danych na poziomie systemu. ODBC definiuje niskopoziomowy zbiór funkcji umożliwiających aplikacji
klienta i serwera wymianę danych i przekazywanie instrukcji bez konieczności posiadania dokładnych informacji
o budowie zarówno klienta jak i serwera. Dotyczy to dowolnych operacji wykonywanych na połączeniu aplikacji
klient/serwer niezależnie od tego czy klient i serwer działają na tym samym czy na różnych komputerach a
nawet na różnych platformach zarówno programowych jak i sprzętowych.
JDBC – Java DataBase Connectivity - jest interfejsem programistycznym, skonstruowanym w i przeznaczonym
dla języka Java, który umożliwia ustandaryzowany dostęp do większości obecnych na rynku systemów
bazodanowych.
3. Co oznacza skrót OQL?
4. Na czym polega przechodnia zależnośd funkcyjna między danymi w bazie danych?
Niech x i y będą podzbiorami atrybutów relacji R .Powiemy ze y zalezy funkcjonalnie od x co zapiszamy
symbolicznei x->y jeżeli nie jest możliwe by w relacji R znalzly jednoczenie 2 krotki które by mialy rozne
wartości x i jednoczesnie mialy rowne wartości y
4. Co to jest klucz potencjalny w bazie danych?
Kolumna lub zbiór kolumn, jednoznacznie identyfikujących każdy wiersz. Klucz główny tabeli wybierany jest
spośród jej kluczy potencjalnych.
4. Jak definiuje się pole kluczowe w bazie danych?
4. Do czego służą klucze w relacyjnych bazach danych ? Podad dwa przykłady pól kluczowych.
-służą do rozróżnienia wszystkich krotek danej relacji, do której ten klucz przynależy
4. Co to jest klucz główny w relacyjnej bazie danych?
Jest to minimalny klucz relacji. Inaczej: Kolumna lub zbiór kolumn, jednoznacznie identyfikujących każdy wiersz.
Jako przykład podad można kolumnę z numerem faktury w tabeli, której wiersze reprezentują kompletne
faktury. Numer każdej faktury jest unikalny i jednoznacznie ją identyfikuje; w tabeli nie ma innego rekordu
(wiersza) o tym samym numerze faktury. Wystarczy zapamiętad sam numer, aby móc w dowolnej chwili za jego
pomocą odwoład się do całego wiersza. Numer pełni zatem rolę klucza. Na podstawie kolumn, tworzących klucz
główny, buduje się zwykle indeks, przyspieszający dostęp do wierszy tabeli.
4. Wymienid typy związku między polami bazy danych.
-jeden do wielu (takie związki powinna zawierad dobra baza danych )
-jeden do jeden
-wiele do wielu (wiele wystąpieo w jednej tabeli odpowiada wielu wystąpienia tej wartości w drugiej tabeli )
4. Wyjaśnid kiedy atrybut X relacji R jest w pełni funkcjonalnie zależny od atrybutu Y tej relacji.
Atrybuty Y są w pełni funkcjonalnie zależne od atrybutów X, jeśli Y jest funkcjonalnie zależny od X, ale nie jest
funkcjonalnie zależny od żadnego właściwego podzbioru X.
4. Wyjaśnid kiedy atrybuty X,Y,Z relacji R są połączeniowo zależne funkcjonalnie.
5.Opisad operację złączenia (JOIN) dwóch tabel w relacyjnej bazie danych w języku SQL. Podad dwa przykłady.
Operacja JOIN łączy dwie lub więcej tabel wg. wspólnych kolumn w jedna. Jest operacja odwrotna do
normalizacji.
SELECT nazwisko FROM kierunki JOIN studenci USING (nr_kierunku) WHERE studenci plec=’n’ GROUP BY
nazwisko;
5. Opisad operację sumy mnogościowej dwóch tabel w relacyjnej bazie danych w języku SQL. Podad przykład.
Unia (suma)
Unia powoduje zsumowanie zbiorów krotek dwóch lub więcej relacji (bez powtórzeo). Warunkiem poprawności
tej operacji jest zgodnośd liczby i typów atrybutów pobranych z relacji źródłowych.
W poniższym przykładzie krotki relacji studenci, okrojone w wyniku projekcji do atrybutów imię i nazwisko, są
sumowane z okrojonymi w ten sam sposób krotkami relacji nauczyciele.
select imię, nazwisko from studenci union select imię, nazwisko from nauczyciele;
Przekrój (intersect)
Wynikiem przekroju jest iloczyn zbiorów krotek dwóch lub więcej relacji, tzn. zbiór krotek występujących
jednocześnie w tych relacjach. Podobnie jak w przypadku sumy, warunkiem poprawności tej operacji jest
zgodnośd liczby i typów atrybutów pobranych z relacji źródłowych.
W poniższym przykładzie jest wyznaczany przekrój krotek relacji studenci, okrojonych w wyniku projekcji do
atrybutu nazwisko, z okrojonymi w ten sam sposób krotkami relacji nauczyciele. Innymi słowy, odszukane
zostają nazwiska występujące zarówno w relacji studenci jak i nauczyciele.
select nazwisko from studenci intersect select nazwisko from nauczyciele;
Różnica (minus)
Operacja ta polega na pobraniu krotek występujących wyłącznie w pierwszej relacji spośród relacji źródłowych.
Select nazwisko from studenci minus select nazwisko from nauczyciele where typ_uczelni = ‘U’
W poniższym przykładzie są wyznaczone te nazwiska z relacji studenci, które nie występują jednocześnie w
podzbiorze krotek relacji nauczyciele, ograniczonym w wyniku selekcji warunkiem typ_uczelni = ‘U’.
select nazwisko from studenci minus select nazwisko from studenci where typ_uczelni = ‘U’;
5. Opisad operację różnicy mnogościowej dwóch tabel w relacyjnej bazie danych w języku SQL. Podad przykład
patrz wcześniej
5. Opisad operację rzutowania (PROJECT) tabel w relacyjnej bazie danych w języku SQL. Podad przykład
Projekcja umożliwia pobranie wartości wybranych atrybutów, wymienionych po słowie kluczowym select z
wszystkich krotek relacji. W poniższym przykładzie zostaną pobrane wartości atrybutów nr_indeksu i nazwisko
ze wszystkich krotek relacji studenci.
select nr_indeksu, nazwisko from studenci;
5. Opisad operację iloczynu mnogościowego dwóch tabel w relacyjnej bazie danych w języku SQL. Podad
przykład.
patrz przekrój
5. Co to jest równozłączenie? Podad przykład użycia takiej operacji oraz wynik równozłączenia.
Równozłączenie jest to operacja na bazie danych polegająca na połączeniu dwu tabel z uwzględnieniem
wyłącznie wierszy, których wartości w kolumnach złączenia (określanych domyślnie przez klucz główny jednej
tabeli i klucz obcy drugiej) są takie same
Równozłączenie jest to operacja na bazie danych polegająca na połączeniu dwu tabel z uwzględnieniem
wyłącznie wierszy, których wartości w kolumnach złączenia (określanych domyślnie przez klucz główny jednej
tabeli i klucz obcy drugiej) są takie same
5. Podad przykład definiowania tabeli bazy danych w SQL
CREATE TABLE `columns_priv` (
`Host` char(60),
`Db` char(64),
`User` char(16),
`Table_name` char(64),
`Column_name` char(64)NOT NULL default '',
PRIMARY KEY (`Host`)
)
5. Wyjaśnid pojęcie perspektywy w relacyjnych bazach danych.
Logiczna reprezentacja podzbioru danych tabeli. Sama perspektywa nie jest zbiorem danych, lecz
skompilowanym zapytaniem SQL, do którego można się odwoływad, tak jak do tabeli. Perspektywa zapewnia
na ogół dostęp do podzbioru kolumn, wierszy albo zarówno kolumn, jak i wierszy.
6. Pola kluczowe w tabeli ZLECENIA oznaczono znakiem #. W jakiej postaci normalnej jest następująca tabela i
dlaczego?
Nazwa pola Charakterystyka
# Nr_zlecenia
Nazwa zlecenia
# NIP_wykonawcy
# NIP_klienta
Data_zlecenia
# ID_zlecenia
Imię_wykonawcy
Nazwisko_wykonawcy
Nazwisko_klienta
Nazwa_wykonawcy
Adres_kliebta
Opis_zlecenia
Koszt_zlecenia
Telefon_klienta
Telefon_wykonawcy
Nr_konta_zleceniodawcy
Nr_konta_wykonawcy
Jeśli tabela jest w niższej postaci normalnej niż 5NF, to doprowadzid ją do postaci znormalizowanej.
6. Pola kluczowe w tabeli PRZEWOZY_AUTOKAROWE oznaczono znakiem #. W jakiej postaci normalnej jest
następująca tabela i dlaczego?
Nazwa pola Charakterystyka
# nr_rejstracyjny_autobusu
Dzieo_wyjazdu
Cel_podrózy
#Typ_podróży
#Nr_kierowcy
Nazwisko_kierowcy
Rok_produkcji_autobusu
Jeśli tabela jest w niższej postaci normalnej niż 5NF, to doprowadzid ją do postaci znormalizowanej.
6. Pola kluczowe w tabeli KASA_CHORYCH oznaczono znakiem #. W jakiej postaci normalnej jest następująca
tabela i dlaczego?
Nazwa pola Charakterystyka
# Pesel_pacjenta
Nazwisko_pacjenta
Imię_pacjenta
Adres_miejscowośd
Adres_ulica
Adres_nr_domu
# Nr_kasy_chorych
# ID_lekarza Nr prawa wykonywania zawodu
Nazwisko_lekarza
Imię_lekarza
Jeśli tabela jest w niższej postaci normalnej niż 5NF, to doprowadzid ją do postaci znormalizowanej.
6. Pola kluczowe w tabeli PRZEWOZY_PKP oznaczono znakiem #. W jakiej postaci normalnej jest następująca
tabela i dlaczego?
Nazwa pola Charakterystyka
# Id_pociągu
# NR_kursu
Przystanek_docelowy
# Typ_pociągu
Ilośd_wagonów
Ilośd_miejsc_siedzących
# Nr_motorniczego
Nazwisko_motorniczego
Jeśli tabela jest w niższej postaci normalnej niż 5NF, to doprowadzid ją do postaci znormalizowanej.
6. Pola kluczowe w tabeli ZGŁOSZENIA_TAXI oznaczono znakiem #. W jakiej postaci normalnej jest następująca
tabela i dlaczego?
Nazwa pola Charakterystyka
# ID_taxi
Nazwisko_kierowcy
# nr_kursu
Nazwisko_pasażera
Adres_pasażera
Czas_zgłoszenia
# Nr_Rejonu_taxi
Uwagi_o_zgłoszeniu
Jeśli tabela jest w niższej postaci normalnej niż 5NF, to doprowadzid ją do postaci znormalizowanej.
6. Pola kluczowe w tabeli PRODUKTY oznaczono znakiem #. W jakiej postaci normalnej jest następująca tabela i
dlaczego?
Nazwa pola Charakterystyka
# ID_produktu
Nazwa_produktu
# Id_dostawcy
Nazwa_dostawcy
Wielkośd opakowania
# Rodzaj_opakowania
Jeśli tabela jest w niższej postaci normalnej niż 5NF, to doprowadzid ją do postaci znormalizowanej.
6. Pola kluczowe w tabeli DZIAŁKI_REKREACYJNE oznaczono znakiem #. W jakiej postaci normalnej jest
następująca tabela i dlaczego?
Nazwa pola Charakterystyka
# Id_działki
# Kod_drzewa_owocowego
Ilośd_drzew
Kod_krzewu
Ilośd_krzewów_o_danym_kodzie
Opis_działki
Jeśli tabela jest w niższej postaci normalnej niż 5NF, to doprowadzid ją do postaci znormalizowanej.
6. Pola kluczowe w tabeli DEALERZY oznaczono znakiem #. W jakiej postaci normalnej jest następująca tabela i
dlaczego?
Nazwa pola Charakterystyka
# ID_DEALERA
Nazwisko_imię
# Kod_firmy_kosmetycznej
Nazwa_firmy
Jeśli tabela jest w niższej postaci normalnej niż 5NF, to doprowadzid ją do postaci znormalizowanej.
7. Do czego służy klauzula „group by”? Podad przykład jej użycia
Grupowania dokonuje się przy pomocy klauzuli GROUP BY z podaniem atrybutów definiujących grupy. Jeśli
mamy GROUP BY A1, ⃛, Ak dzielimy relację na grupy tak, że krotki są w tej samej grupie wtedy i tylko
wtedy, gdy pasują do wszystkich atrybutów A1, ⃛, Ak.
7. Do czego służy klauzula „order by” ? Podad przykład jej użycia
7. Czy można w zapytaniach używad zapytao zagnieżdżonych i kiedy?
7. Co zapis „select * from pracownicy” i kiedy jest taki zapis poprawny w zapytaniach do bazy danych.
7. Do czego służy count( ) ? Podad przykład jej użycia
7. Do czego służą aliasy w zapytaniach selekcyjnych? Podad przykład ich użycia.
7. Do czego służy „order by desc” ? Podad przykład jej użycia
7 Do czego służy klauzula „having”? Podad przykład jej użycia
8. Opisad architekturę ODBC zorientowaną na serwer bazy danych.
W wielowarstwowej konfiguracji, sterownik przesyła zapytanie SQL do serwera, który przetwarza (wykonuje) to
zapytanie.
Aplikacja, sterownik i zarządca sterowników znajdują się w ramach systemu zwanego zwykle klientem. Źródło
danych jak i oprogramowanie realizujące kontrolę dostępu do danych znajduje się w tej sytuacji zazwyczaj na
innym komputerze zwanym serwerem.
8. Na czym polega dostęp do bazy danych w architekturze klient-serwer?
Architektura klient-serwer
Istnieją dwa sposoby realizacji dostępu do bazy danych w architekturze klinet-serwer:
Rozwiązanie oparte na serwerze plików oraz na serwerze SQL. Pierwsze ma wiele wad (brak gwarancji
jednolitego systemu zarządzania np. współbieżnością, szybkością dostępu), natomiast drugie wspiera
optymalizację zapytao, współbieżnośd oraz standardowe odwołania do systemu zarządzania (SQL).
Koncepcja klient serwer, wykorzystująca serwery bazodanowe (SQL) zaczęła się rozwijad wraz z rozwojem sieci
komputerowych. Wówczas wymyślono, aby system posiadał dwa rodzaje aplikacyj: jedną na komputerze
(komputerach) klienta, drugą na serwerze (serwerach). Oprócz tego na rozwój architektury klient-serwer ma
wpływ Internet w tym WWW (dostęp do serwerów poprzez adresy URL, środowisko graficzne).
W tej architekturze aplikacje mogą byd dzielone na moduły i odpowiednie moduły (np. formularz) są przesyłane
do odpowiednich klientów. Dodatkowo mechanizmy internetu wykorzystuje się w sieciach wewnętrznych firm
(intranety).
Do tych celów opracowano trójwarstwowy model zarządzania, gdzie poszczególne warstwy odbierają dane i
dokonują na nich ściśle określonych działao, a w przypadku błędu komunikat o nim przesyłają do źródła danych.
Żadna z warstw nie powiela pracy innych.
Wyróżnia się 3 warstwy:
1.Dolną –odpowiedzialną za dostęp do bazy danych. Realizuje ona bezpoścredni dostęp do bazy poprze
sterowniki oraz aplikacje sieciowe. Warstwa ta odbiera instrukcje-zapytania SQL z warstwy średniej i je
wykonuje. Odpowiedź z bazy danych przekazuje warstwie środkowej.
2.Środkową –warstwę reguł dziedziny danych. Tworzy ona kod odpowiedzialny za implementację reguł
spójności danych, zgodności formatu. Te reguły wymuszają na aplikacji odpowiednią modyfikację bazy danych.
Pobiera z warstwy górnej zadania –instrukcje do wykonania. Porównuje je z regułami i przesyła do dolnej
warstwy, a wyniki otrzymane od niej i potwierdzenie wykonania przekazuje do warstwy górnej
3.Górną –interface użytkownika. Zajmuje się ona prezentacją danych i instrukcyj w komputerze użytkownika.
Odbiera od niego dane i przekazyuje warstwie środkowej i wyświetla otrzymane od niej dane lub komunikaty o
błędzie. Projekt interface’u nazywa się kodem prezentacji. Zawiera on: sposób podiału na ekrany, przepływ
informacji pomiędzy ekranami, ułożenie pól na ekranie, sposób prezentacji komunikatów, rodzaje symulacji
graficznej, użycie kolorów, grafiki etc.
Warstwy to logiczne części aplikacji rozdzielone funkcjami. Warstwy górna i dolna nie zależą od sposobu
przechowywania bazy danych, której struktura jest znana jedynie warstwie środkowej, która może byd scalona
z górną. Gdy warstwom odpowiadają rożne programy to pełnią rolę klienta albo serwera, przy czym warstwa
górna jest zawsze klientem, dolna serwerem. Można mówid o klientach jedno– i wielowarstwowych.
Do dostępu do baz danych stosuje się standardowe sterowniki. Najpopularniejszym jest standard ODBC (Open
DataBase Connectivity) by Microsoft. Inne to Java DBC (JDBC) by Sun, DataBase Engine (DBE) by Borland.
W standardzie ODBC stewrownik ODBC umieszcza się pomiędzy bazą danych a aplikacją. Dla różnych systemów
baz danych są różne sterowniki ODBC, przy czym można wyróżnid 2 architektury:
1. zorientowana na klienta (najpopularniejsza): sterownik ODBC jest umieszczany na komputerze klienta
(PC+Windows); kżdy sterownik używa specjalnego oprogramowania sieciowego do połączenia się z serwerem;
aplikacja korzysta z menedżera sterowników ODBC, wybierającego odpowiedni sterownik dla odpowiedniego
systemu b.d.
2. zorientowana na klienta: tu do komunikacji wystarczy standardowy sterownik komunikacji sieciowej, zaś
sterowniki ODBC znajdują się na serwerze ODBC (który może lecz nie musi byd związany bezpośrednio z jednym
serwerem b.d.); maszyna klienta potrzebuje tylko „ogólnego” sterownika ODBC; serwer wymaga jednego
sterownika dla każdego systemu b.d.
Z kolei Interface JDBC może pracowad w dwóch trybach: z lub bez pośrednictwa sterowników ODBC.
Przy wykorzystywaniu Internetu (intranetu) jako medium łączącego klienta z serwerem można skorzystad z
języków programowania wykorzystywanych w Internecie:
-HTML –formularze HTML są przesyłane na serwer i wykonywane przez skrypty CGI lub PHP
-Applety Javy®- wykorzystujące formularze HTML lub sterowniki JDBC lub ODBC.
W realizacji dostępu z wykorzystaniem Internetu (intranetu) warstwę środkoa często umieszcza się na
oddzielnym serwerze warstwy środkowej (jek w ODBC, JDBC i CGI), który dopiero komunikuje się z serwerem
bazy danych. Ponadto za efektywniejszą uważa się realizację klienta jednowarstwowego.
8. Na czym polega dostęp do bazy danych w architekturze z serwerem plików?
9.Opisad metodę blokowania dwufazowego transakcji w bazie danych.
Polega on na tym, że każda transakcja przebiega w dwóch fazach: zablokowania i odblokowania, więc nie ma
oddzielnego odblokowania. Moment założenia wszystkich blokad nazywa się punktem akceptacji. Zapis
realizuje się dopiero w fazie odblokowania, a jednostka zostaje odczytana w fazie blokady. Można dodatkowo
założyd, że jednostka zablokowana i zwolniona, może mied nową blokadę dopiero po jakimś czasie. Inaczej
wygląda harmonogram szeregowalności, graf będzie multigrafem, gdzie niektóre ścieżki mogą byd traktowane
wariantowo. Algorytm jest podobny do poprzednich. Ta metoda jest najczęściej implementowana w SZBD. Jest
połączona z wypełnieniem i realizacją dziennika transakcji.
9. Na czym polega metoda optymistyczna zarządzania współbieżną realizacją dostępu do bazy danych.
Metody optymistyczne współbieżnej realizacji operacji na BD polegają na synchronizacji transakcji. Do metod
tych zaliczamy metodę opartą o etykiety – znaczniki czasowe oraz metody tzw. walidacji. Metoda
optymistyczna nie traci czasu na blokady oraz na ich usuwanie. Czas poświęcony na powtórzenie transakcji,
które muszą zostad odrzucone może byd znacznie krótszy niż czas zużyty na oczekiwanie na blokady lub
usuwanie impasu. Metoda optymistyczna jest efektywna pod warunkiem, że małe jest prawdopodobieostwo
konfliktu dwóch transakcji. Szansa wzajemnego oddziaływania dwóch transakcji wykonywanych w tym samym
czasie jest mała pod warunkiem, że każda z nich ma dostęp tylko do drobnego fragmentu BD. Dla omawianych
metod niejako zakłada się wprowadzenie uporządkowania sekwencyjne-go i wykrywania jego naruszeo. Efekt
taki można uzyskad jeśli posiada się system tworzenia tzw. znaczników czasowych (timestemps).
Znaczniki czasowe są nadawane pojawiającym się transakcjom do obsługi. Znaczniki czasowe są liczbami
generowanymi w każdym takcie zegara. Takty wewnętrznego zegara komputera występują z tak dużą
częstotliwością, że dowolne dwa zdarzenia (np. zgłoszenie trans-akcji) nie mogą zajśd w tym samym takcie.
Wynika stąd, że każdej transakcji nadaje się inny znacznik czasowy, który jest bieżącym czasem zegara. Znacznik
czasowy nadajemy w chwili inicjalizacji transakcji lub w momencie jej odczytu lub zapisu na dysk. Żadne dwie
transakcje nie mają tego samego znacznika czasowego. Za kryterium poprawności sposobu ich
przyporządkowania przyjmujemy, że transakcje powin-ny zachowywad się tak, jak gdyby kolejnośd ich
znaczników była uporządkowaniem sekwencyjnym transakcji. Znaczniki liczbowe będą du-żymi liczbami. Dla
większości zastosowao wystarczy 16 – bitowy znacznik czasowy dla każdej transakcji. Rozważymy teraz w jaki
sposób za pomocą znaczników czasowych zmusza się nie odrzucone transakcje do tego, by zachowywały się
tak, jak gdyby były wykonywane se-kwencyjnie. Dla każdej jednostki BD zapamiętuje się dwa czasy:
– największy znacznik czasowy należący do dowolnej transakcji odczytującej tę jednostkę.
– największy znacznik należący do dowolnej transakcji zapisującej tę jednostkę.
Robiąc to można uzyskad wrażenie, że transakcji wykonywana jest w jednej chwili wskazywanej przez jej
znacznik czasowy. Znaczniki cza-sowe przypisane transakcji i zapamiętywanie czasów odczytu i zapisu służą do
sprawdzenia, czy nie zdarza się nic fizycznie niemożliwego.
tej transakcji. Inaczej mówiąc transakcja ze znacznikiem czasowym t1 nie może odczytad jednostki o czasie
zapisu t2 takim, że t2 > t1.Jeśli transakcja chce tego dokonad, to należy ja odrzucid i ponownie rozpocząd. (1)
odczytana. Oznacza to, że transakcja ze znacznikiem t1 nie może zapisad jednostki o czasie odczytu t2, jeśli t2 >
t1. Taką transakcję trzeba odrzucid. (2)
Nie budzi wątpliwości, ze dwie transakcje mogą odczytywad te same jednostki bez jakiegokolwiek konfliktu, tzn.
transakcja ze znacz-nikiem t1 może czytad tą samą jednostkę o czasie odczytu t2 jeśli t2 > t1. Mniej oczywistym
wydaje się fakt, że nie trzeba odrzucad transak-cji ze znacznikiem t1, jeśli próbuje ona zapisad jednostkę o
czasie zapisu t2, nawet jeśli t2 > t1.Fakt ten uzasadniamy w następujący sposób: jednostka jest zapisywana
przez transakcję t1 a następnie przez t2 w uporządkowaniu sekwencyjnym opartym na znacznikach czasowych.
Widad jednak z warunków (1) i (2), że między chwilami t1 i t2 jednostka nie jest odczytywana przez żadną
transakcję gdyż w przeciwnym razie jej czas odczytu przekroczyłby czas t1, w którym zapisuje ją pierwsza
transakcja. Spowodowałoby to odrzucenie transakcji na mocy punktu (2). Wynika stad, że przestrzegając
pewnych reguł i wykonując transakcje ze znacznikami czasowymi zamiast blokowania można zachowad
uporządkowanie sekwencyjne
9. Omówid metodę całkowitego blokowania wszystkiego w dostępie do bazy danych.
9. Omówid większościową metodę blokowania w dostępie do bazy danych.
Porównanie metod: Metoda całkowitego blokowania vs. Metoda Większościowa
Zapis.
Przy zapisie nieco lepsza jest metoda większościowa, bo wymaga średnio mniej komunikatów na zapis.
Odczyt.
Jeśli typowe transakcje wymagają równej liczby blokad całkowitych i blokad zapisu, to żadna z tych metod nie
ma przewagi, na-wet przy policzeniu całkowitej liczby komunikatów lub przy przypisaniu większej wagi
komunikatom krótkim niż długim. Faktycznie dla n = 1 obie metody są identyczne. Z drugiej strony, jeśli
większośd blokad zakłada się dla odczytu, to znacznie przydatniejsza jest metoda cał-kowitego blokowania
wszystkiego a jeśli przeważają blokady całkowite, to lepsza jest metoda większościowa.
Ponadto metoda większościowa spisuje się lepiej w następujących sytuacjach:
adę tej samej jednostki.
większości.
Przy zastosowaniu metody całkowitego blokowania wszystkiego, każda z dwóch realizujących transakcji
rozpoczętych w mniej więcej tym samym czasie potrafi prawdopodobnie zapewnid sobie blokady co najmniej
jednej kopii jednostki o którą współzawodniczą. Ta sytuacja powoduje impas: są to sytuacje wykrywalne ale
czasochłonne. Pobierają one zarówno czas rzeczywisty, ponieważ każda transakcja czeka dopóty, dopóki impas
nie zostanie usunięty, jak i czas systemowy, gdyż często jest niezbędne wykonywanie procedury wykrywania
impasu. Przy zastosowaniu metody większościowej jedna transakcja zawsze uzyska zablokowanie drugiej,
podczas gdy druga może czekad lub byd odrzucona.
9. Omówid metodę węzła pierwotnego w dostępie do bazy danych.
Podejście w którym odpowiedzialnośd odpowiedzialnośd blokowanie konkretnej jednostki spoczywa na jednym
konkretnym wezle .Dla każdej jednostki może to byd inny wezel albo w systemie jest jeden wezel którym
zarzadza się blokadami wszystkich kopii.Wytepuje tablica z adresami kopii pierwotnych. za pomoca tej tablicy
dostajemy się do danego węzła i blokujemy i uzyskujemy informacje ze nie można założyd blokady. metoda jest
efektywna ale niezbyt bezpieczna przy awariach.
9. Omówid metodę żetonu kopii pierwotnej w dostępie do bazy danych
Modyfikacją powyższej jest metoda, która dodatkowo w węźle pierwotnym wydaje żetony (odczytu i zapisu). Są
to inaczej uprawnienia przyznawane określonym węzłom sieci. Dla dowolnej jednostki A może istnied jeden
żeton zapisu i wiele żetonów odczytu. Żetony te są przekazywane z węzła do węzła. Posiadanie przez węzeł
żetonu zapisu A może zapewnid transakcji wykonywanie w tym węźle zablokowa-nia całkowitego lub zapisu.
Jeżeli węzeł ma żeton odczytu jednostki A, to może zapewnid blokowanie jej zapisu transakcji, która jest w tym
węźle, ale nie zapewnia blokowania całkowitego. Ta metoda nazywana jest metodą żetonu kopii pierwotnej.
Jeżeli transakcja zarządza całkowitego zablokowania jednostki A, to należy spowodowad by do tego węzła
został przesłany żeton zapisu A. Gdy w węźle nie ma żetonu to przesyłamy komunikaty do pozostałych węzłów
zawierających jednostkę z żądaniem wyrzeczenia się że-tonu. Wszystkie żetony odczytu i zapisu muszą dojśd do
tego węzła.
Z każdego węzła zawierającego jednostkę A mogą byd przesłane trzy komunikaty:
1) o zrzeczeniu się żetonu (zapisu i odczytu);
2) o stwierdzeniu braku żetonu w węźle;
3) informacja, że węzeł nie może zrzec się żetonu, bo trwa blokada jednostki A
Występują dodatkowe uwarunkowania: węzeł żądający żetonu musi wiedzied do jakich węzłów trzeba wysład
komunikaty. Baza posia-da rejestr posiadanych żetonów dla węzłów. Komunikaty wymagają potwierdzenia.
Węzeł który pierwszy chce modyfikowad jednostkę re-zerwuje węzeł dla siebie. Inne transakcje są niejako
odrzucane. To prowadzi do wielokrotnego żądania blokowania jednostki do zapisu. Że-ton zapisu to 3n
komunikatów krótkich
Żądanie odczytu jednostki A – ogólna zasada jest taka sama (też są żetony). Różnica jest taka, że jeżeli w węźle
pojawi się transakcja żądająca odczytu A i jednostka posiada żeton odczytu, to nie ma komunikatów
przesyłanych na zewnątrz. Jeżeli jednostka nie posiada żąda-nego żetonu, żąda żeton odczytu i sprawdza czy
nie dokonuje się jakiś żeton. Odpowiedź z innych węzłów może byd:
1) węzeł może przekazad żeton odczytu;
2) węzeł nie ma żadnego żetonu dla jednostki A;
3) węzeł nie może oddad takiego żetonu, bo zawiera transakcję całkowicie blokującą jednostkę A;
Gdy węzeł może dokonywad operacji odczytu to przesyłane jest 3n (4n) komunikatów. Jeżeli w węźle nie ma
jednostki A, to potrzebny jest jeszcze długi komunikat odczytujący wartośd A z innego węzła.
Metoda żetonu kopii pierwotnej wymaga większej ilości przesłanych komunikatów.
Główną zaletą jest to, że jeżeli w danym węźle wykonuje się większośd transakcji dotyczących danej jednostki,
to z reguły żeton zapisu znajduje się w tym węźle.
Metoda węzła pierwotnego nie jest metodą bezpieczną (gdy zachodzi węzeł pierwotny).
9. Omówid metodę węzła centralnego w dostępie do bazy danych
Metoda ta polega na przypisaniu odpowiedzialności za blokowanie jednemu węzłowi. Węzłem pierwotnym jest
tylko jeden węzeł-centralny. Nie musi zawierad kopii jednostki którą należy blokowad. Blokada zapisu: do węzła
centralnego przesyłane jest żądanie blokady zapisu. Jeżeli blokada nie może nie może byd zapewniona to do
źródła wysyła się odpowiedni komunikat. Żeby sprawdzid czy blokada jest założona węzeł centralny wysyła
komunikaty do węzłów z kopiami. Jeżeli blokada może byd założona to węzeł z kopią wysyła wartośd do węzła
żądającego blokady. Często jest potrzebny dodatkowy komunikat do węzła z kopią o konieczności przesłania
żądanej wartości. Na podobnych zasadach odbywa się blokowanie całkowite dla modyfikowania jednostki.
Węzeł żądający blokady wysyła na koniec żądanie zdjęcia blokady.
Niestety opisywana metoda jest wolniejsza od poprzedniej. Kolejną jej wadą jest to, że większośd komunikatów
jest przesyłana od / do węzła centralnego, a zatem węzeł centralny jest wąskim gardłem przy komunikacji.
Dodatkowo metoda ta nie jest bezpieczna – szczególnie w przypadku awarii węzła centralnego cały mechanizm
obsługi staje się bezużyteczny. Są jednak metody wykrywające awarie węzła centralne-go i przejmujące jego
funkcje.
9. Opisad metodę blokowania hierarchicznego transakcji w bazie danych.
W niektórych bazach danych można zakładad blokady na całe relacje, krotki, wybrane elementy. Gdy w
systemie jest możliwe powyż-sze blokowanie, to nazywamy ją metodą hierarchicznego blokowania. Jeżeli
weźmiemy zbyt małe jednostki do blokowania, to możemy otrzymad niespójnośd bazy danych. Ważne jest jaką
jednostką dysponujemy. Całą bazę możemy rozpatrywad jako hierarchię drzewiastą, ko-rzeo to baza danych, a
kolejne wierzchołki to relacje. Dla relacji można wyznaczad kolejne jednostki, które możemy blokowad.
Metodę hierarchiczną opracował Grey. Oparta jest ona na większej ilości blokad:
1) współdzielna i wyłączna (S i X),
2) intencjonalna blokada współdzielna (IS),
3) intencjonalna blokada wyłączna (IX),
4) blokada mieszana (SIX), która jest połączeniem S i IX.
10. Wymienid zasady optymalizacji czasowej zapytao do bazy danych.
Zasady optymalizacji zapytao:
• selekcję wykonuje się tak szybko jak to możliwe – selekcja wpływa znacznie na czas wykonywania zapytao
rzędy wielkości, gdyż ma tendencję do zawężania pośrednich wyników obliczeo wielokrokowych
• niektóre selekcje można łączyd z poprzedzającym je iloczynem kartezjaoskim w celu utworzenia złączeo –
złączenie lub równozłączenie jest efektywniejsze od iloczynu kartezjaoskiego
• można łączyd ciągi operacji jednoargumentowych, jak selekcje lub rzuty, w jedną operację wieloargumentową
• wyszukiwanie wspólnych podwyrażeo – jeżeli wynik wspólnego podwyrażenia (pojawiającego się więcej niż
jeden raz) nie jest dużą relacją i można go odczytad z pamięci pomocniczej szybciej niż ponownie obliczyd, to
korzystnie jest wcześniej go wyliczyd.
• wstępne operacje na plikach – sortowanie i tworzenie plików indeksowych ułatwia efektywne kojarzenie
wartości z różnych plików. Stałe utrzymywanie indeksów i plików posortowanych może nie byd ekonomiczne,
ale celowe może byd chwilowe tworzenie indeksu lub sortowanie w celu zrealizowania zapytania
Większośd tych reguł opiera się na przekształceniach wyrażeo algebraicznych
10. Scharakteryzowad rozproszone bazy danych z replikacją danych.
w tym systemie postrzegalne tabele znajduja się w wersji orginalu i kopii .wystepuje tam n węzłów i każdy z
nich może zawierac m kopii dowolnej tabeli bazy danych .W n węzłach znajduja się po 1 orginale każdej tabeli
.przy aktualizacji musimy zapewnic żeby kopie były identyczne oryginałami.musimy zablokowac jednostki bazy
danych do wykonania operacji.czesto mamy do czynienia z sytuacja ze gdy modyfikujemy bazy danych to
oprocz blokowania bazy blokujemy również kopie .
10. Na czym polega optymalizacja kosztowa w bazie danych z replikacją danych.
Podstawowym kryterium jest koszt, przy czym są dwie metody optymalizacji:
- przechodzi się do II punktu optymalizacji czasowej (ale koszt na I miejscu)
- ilośd komunikatów ma byd minimalna
Exampla:
RACHUNKI (O, R, S) O – oddział K – id klienta
KREDYTY (O, P., W) R – id. Rachunku A - adres
WŁAŚCICIELE (R, K) S – saldo rachunku
DŁUŻNICY (P., K) P.- nr kredytu
KLIENCI (K, A) W – wartośd kredytu
KLIECI – tabela wielokrotnego użytku (jest w n kopiach)
Baza ta może byd fragmentowana (2 rodzaje fragmentacji)
I) Fragmentacja pozioma.
Każdy węzeł bazy danych obejmuje tabele z podziałem na oddziały (u nas są 3 oddziały). Warunek kojarzony z
poziomą fragmentacją bazy – dozór
- selekcja R ze względu na dozór g
Istnienie dozorów w optymalizacji zapytao w rozproszonej bazie danych sprowadza się do optymalizacji tak jak
w scentralizowanej bazie.
R=ORSK, relacja R składa się z tych kolumn oraz
, gdzie O=1 oznacza oddział pierwszy
– zbiór właścicieli związanych z danym
Ta relacja R może byd przedstawiona za pomocą sumy relacji . Dla klientów oddziału 1 wprowadzono
dodatkowy warunek by każdy klient miał rachunek >1000
Zapytanie o R ={O,R,S,K) możemy przekształcid w relacje związaną z rozpisanymi wartościami:
10. Wymienid metody rozproszenia bazy danych.
10. Scharakteryzowad zastosowania obiektowych baz danych.
Obiektowe bazy danych są wykorzystywane przede wszystkim w systemach z dużą liczbą użytkowników oraz
olbrzymią pojemnością danych. Niektóre aplikacje zawierają do 1 TB danych. Główne branże, w których
zastosowanie mają obiektowe bazy danych to:
• Transport / Komunikacja – 19.6 %
• Produkcja - 16.1 %
• Rozwój oprogramowania – 14.3 %
• Finanse i bankowośd - 14.3 %
• Consulting - 10.6 %
Inne dziedziny to: badania naukowe, wydawnictwo, lotnictwo, zdrowie i medycyna.
Przykłady projektów wykorzystujących obiektowe bazy danych:
• System łączności bezprzewodowej
• System rezerwacji lotniczej
• Komputerowy system symulacji chorób PhysioLabs/ENTELOS
• DLR, komputerowy system analizy danych klimatycznych
• System łączności telefonii komórkowej IRRIDIUM/Motorola
• Rozproszony system obsługo klientów
• GIS ( systemy informacji przestrzennej
10. Scharakteryzowad zastosowania dedukcyjnych baz danych
Wszedzie tam gdzie konieczne staje się przewidywanie automatyczne, czyli systemy sztucznej inteligencji itp.
10. Scharakteryzowad zastosowania temporalnych baz danych.
Zagadnienie czasu, wykorzystują uwarunkowania czasowe. Występuje problem kwantu czasu. SQL nie ma
mechanizmów czasowych, trzeba rozbudowad język o te mechanizmy „TSQL”. Klauzula where zmodyfikowana o
zależności dotyczące czasu (atrybut czasowy w określonym przedziale) Można np. zapytad o wartośd czasu
pomiędzy dwoma miesiącami. Klauzule first, second, third – można określid kto był pierwszym odbiorcą towaru.
Klauzula moving window, która pozwala przeglądad BD w określonym przedziale czasowym. Są odpowiedzią na
wyzwanie, że statyczne dla potrzeb podejmowania decyzji powinny określad zmieniającą się rzeczywistośd.
11. Podaj które zdania z podanego wykazu są prawdziwe:
a) Ochrona baz danych obejmuje nie tylko ochronę dostępu i ochronę spójności bazy danych. - PRAWDA
Ochrona spójności baz danych obejmuje zachowanie jednoznaczności danych oraz zachowanie więzów
c) Zachowanie więzów integralności obejmuje tzw. więzy referencyjne, domenowe i globalne.
d) Więzy globalne nie są krotkowymi więzami CHECK i asercjami.
11. Podaj które zdania z podanego wykazu są prawdziwe:
a) Więzy krotkowe CHECK nie są widoczne z poziomu innych relacji. - PRAWDA
Asercje stanowią niezależne elementy schematu relacji - PRAWDA
c) Słowo kluczowe CHECK może wystąpid w definicji asercji. - PRAWDA
d) Każdy atrybut, który występuje w asercji musi w niej byd zdefiniowany np.: z użyciem „select-from-where” -
PRAWDA
11. Podaj które zdania z podanego wykazu są prawdziwe:
a) Ochrona spójności baz danych obejmuje zachowanie jednoznaczności danych oraz zachowanie więzów -
PRAWDA
Więzy globalne to nie obejmują więzów krotkowych CHECK a obejmują jedynie asercje.
c) Zachowanie więzów integralności obejmuje tzw. więzy referencyjne, domenowe i globalne.
d) Ochrona baz danych obejmuje ochronę dostępu i ochronę spójności bazy danych. - PRAWDA
11. Podaj które zdania z podanego wykazu są prawdziwe:
a) Więzy krotkowe CHECK są zawsze widoczne z poziomu tylko jednej relacji. - PRAWDA
Asercje stanowią niezależne elementy schematu relacji - PRAWDA
c) Każdy atrybut, który występuje w asercji musi w niej byd zdefiniowany np.: z użyciem „select-from-where”
d) Słowo kluczowe CHECK nie może wystąpid w definicji asercji.
11. Podaj które zdania z podanego wykazu są prawdziwe:
a) Ochrona baz danych obejmuje tylko ochronę dostępu ochronę spójności bazy danych.
Ochrona spójności baz danych obejmuje zachowanie jednoznaczności danych oraz zachowanie więzów
c) Więzy globalne to krotkowe więzy CHECK i asercje. - PRAWDA
d) Zachowanie więzów integralności obejmuje tzw. więzy referencyjne, domenowe i globalne.
11. Podaj które zdania z podanego wykazu są prawdziwe:
a) Więzy krotkowe CHECK nie są widoczne z poziomu innych relacji.
Asercje stanowią niezależne elementy schematu relacji
c) Słowo kluczowe CHECK może wystąpid w definicji asercji.
d) Atrybut, który występuje w asercji nie musi w niej byd zdefiniowany.
11. Podaj które zdania z podanego wykazu są prawdziwe:
a) Ochrona baz danych obejmuje ochronę dostępu i ochronę spójności bazy danych.
Ochrona spójności baz danych obejmuje zachowanie jednoznaczności danych oraz zachowanie więzów
c) Zachowanie więzów integralności obejmuje tzw. więzy referencyjne, domenowe i globalne.
d) Więzy globalne to krotkowe więzy CHECK i asercje.
11. Podaj które zdania z podanego wykazu nie są prawdziwe:
a) Więzy krotkowe CHECK nie są widoczne z poziomu innych relacji.
Asercje stanowią zależne elementy schematu relacji
c) Słowo kluczowe CHECK nie może wystąpid w definicji asercji.
d) Każdy atrybut, który występuje w asercji musi w niej byd zdefiniowany np.: z użyciem „select-from-where”
12. Czy prawdziwe jest zdanie: SQLSTATE jest specjalną zmienną w SQL2?
Tak; jest to string, który zawiera informacje odnośnie tego czy i jakie problemy wystąpiły w związku z właśnie
wykonaną instrukcją SQLa
12. Czy prawdziwe jest zdanie: Kursor pobiera wartości z kolejnych krotek relacji (tabeli) lub wyników
zapytania.
TAK
12. Czy prawdziwe jest zdanie: Instrukcja EXEC SQL FETCH przesuwa kursor do kolejnej krotki zakresu kursora.
TAK, jak kursor dojdzie do kooca to odpowiedni kod błędu jest ustawiany w SQLSTATE
12. Czy prawdziwe jest zdanie: EXEC CLOSE SQL <nazwa_kursora> zamyka kursor zdefiniowany na bazie danych.
Nie, do zamknięcia służy polecenie EXEC SQL CLOSE
12. Czy prawdziwe jest zdanie: Do nadawania uprawnieo użytkownikowi używa się m.in. instrukcji grant. tak
12. Czy prawdziwe jest zdanie: Do odebrania uprawnieo użytkownikowi używa się w SQL operacji recove z
opcją cascade. Nie,do odbierania służy REVOKE
12 Czy prawdziwe jest zdanie: : Do odebrania uprawnieo użytkownikowi używa się w SQL operacji recove z
opcją restrict. NIE
12. Czy prawdziwe jest zdanie: Do odebrania uprawnieo użytkownikowi używa się w SQL operacji grant. Nie;
uprawnienia
13.Podaj przykład demaskacji danych w statystycznej bazie danych.
13. Wymieo metody ochrony statystycznych baz danych
13. Scharakteryzuj krótko metody zakłócania danych w statystycznych bazach danych?
13. Scharakteryzuj krótko metody ograniczania rozmiaru zbioru zapytao w dostępie do statystycznych baz
danych?
13. Scharakteryzuj krótko metody ograniczania pokrycia zbiorów danych w dostępie do statystycznych baz
danych?
13. Scharakteryzuj krótko metody ograniczania rozmiaru zbioru zapytao w dostępie do statystycznych baz
danych?
13. Scharakteryzuj krótko metody ochrony statystycznych baz danych oparte na partycjowaniu?
13. Scharakteryzuj krótko metody ochrony statystycznych baz danych oparte na księgowaniu zapytao.?
14. Na czym polega nieadekwatnośd statyczna relacyjnych baz danych.
Nie istnieje odwzorowanie zgodne z rzeczywistym światem. Posługując się rzeczywistością tworzymy
nierzeczywiste bazy danych
14. Na czym polega nieadekwatnośd dynamiczna relacyjnych baz danych.
polega na tym ze baza danych opisuje tylko strukturę danych bez możliwości dołączenia do tych struktur
operacji, metod przetwarzania i obróbki tych danych. W związku z tym metody muszą byd wpisane w aplikację
która się do tych struktur odnosi.
14. Scharakteryzowad krótko bazy danych z wersjami obiektów.
14. Scharakteryzowad krótko bazy danych z wersjami baz danych.
14. Wymienid metody zarządzania współbieżnością w obiektowych bazach danych?
14. Na czym polega nieadekwatnośd dynamiczna relacyjnych baz danych.
14. Co to jest obiekt generyczny w obiektowych bazach danych.
14. Na czym polega wersjowanie w obiektowych bazach danych.
15. Podad (cztery) przykładowe systemów zarządzania relacyjnymi bazami danych.
Access i FoxPro firmy Microsoft, Paradox firmy Corel, InterBase, BDE firmy Borland. Do dużych przeznaczonych
dla komputerów klasy mainframe, przykładowo: Oracle, DB2, Informix, Sybase, Microsoft SQL Server
15. Wymieo funkcje agregujace stosowane w SQL.
Min(), max(), sum(), avg(), count()
15. Podad (chociaż trzy) przykładowe nazwy systemów obiektowych baz danych.
ODB2 (Jasmine) ,GemStone ,MATISSE, OSMOS,POET, VERSANT,ODBMS,O2.
15. Co to są niejednorodne systemy baz danych?
15. Na czym polega dwufazowe wypełnianie transakcji.
15. Do czego służą dzienniki baz danych?
15. Czy można stosowad reguły przemienności projekcji z selekcją i dlaczego?
15. Czy można stosowad reguły przemienności iloczynu kartezjaoskiego z selekcją i dlaczego?
16. (obiektowe mapowanie)
18. Przypuśdmy, że mamy bazę danych przedsiębiorstwa inwestycyjnego składającą się z następujących
artybutów: M(makler), B(biuro maklera), A(akcjonariusz), K(kapitał), I(ilośd akcji posiadanych przez
akcjonariusza) i D(dywidendy płatne z kapitału). Znaleźd klucz do relacji R=MBKIAD. Uzasadnid odpowiedź.
18. Przypuśdmy, że mamy bazę danych przedsiębiorstwa inwestycyjnego składającą się z następujących
artybutów: M(makler), B(biuro maklera), A(akcjonariusz), K(kapitał), I(ilośd akcji posiadanych przez
akcjonariusza) i D(dywidendy płatne z kapitału). Ile kluczy ma schemat relacji R=MBKIAD. Uzasadnid odpowiedź.
18. Przypuśdmy, że mamy bazę danych przedsiębiorstwa inwestycyjnego składającą się z następujących
artybutów: M(makler), B(biuro maklera), A(akcjonariusz), K(kapitał), I(ilośd akcji posiadanych przez
akcjonariusza) i D(dywidendy płatne z kapitału). Baza danych jest reprezentowana przez tabele AKI, KD, AM
oraz MB. Czy taka reprezentacja jest zgodna z zasadami projektowania bazy danych. Uzasadnid odpowiedź.
18. Przypuśdmy, że mamy bazę danych przedsiębiorstwa inwestycyjnego składającą się z następujących
artybutów: M(makler), B(biuro maklera), A(akcjonariusz), K(kapitał), I(ilośd akcji posiadanych przez
akcjonariusza) i D(dywidendy płatne z kapitału). Baza danych jest reprezentowana przez tabele AKI, AM, KD
oraz AKB. Czy taka reprezentacja jest zgodna z zasadami projektowania bazy danych. Uzasadnid odpowiedź
18. Przypuśdmy, że mamy bazę danych przedsiębiorstwa inwestycyjnego składającą się z następujących
artybutów: M(makler), B(biuro maklera), A(akcjonariusz), K(kapitał), I(ilośd akcji posiadanych przez
akcjonariusza) i D(dywidendy płatne z kapitału). Baza danych jest reprezentowana przez tabele AKI, AM, KD
oraz AKB. Czy taka reprezentacja jest zgodna z zasadami projektowania bazy danych. Uzasadnid odpowiedź
18. Przypuśdmy, że mamy bazę danych przedsiębiorstwa inwestycyjnego składającą się z następujących
artybutów: M(makler), B(biuro maklera), A(akcjonariusz), K(kapitał), I(ilośd akcji posiadanych przez
akcjonariusza) i D(dywidendy płatne z kapitału). Baza danych jest reprezentowana przez tabele AKI, KD, AM
oraz MB. Czy taka reprezentacja jest zgodna z zasadami projektowania bazy danych. Uzasadnid odpowiedź.
18. Przypuśdmy, że mamy bazę danych przedsiębiorstwa inwestycyjnego składającą się z następujących
artybutów: M(makler), B(biuro maklera), A(akcjonariusz), K(kapitał), I(ilośd akcji posiadanych przez
akcjonariusza) i D(dywidendy płatne z kapitału). Znaleźd klucz do relacji R=MBKIAD. Uzasadnid odpowiedź.
18. Przypuśdmy, że mamy bazę danych przedsiębiorstwa inwestycyjnego składającą się z następujących
artybutów: M(makler), B(biuro maklera), A(akcjonariusz), K(kapitał), I(ilośd akcji posiadanych przez
akcjonariusza) i D(dywidendy płatne z kapitału). Ile kluczy ma schemat relacji R=MBKIAD. Uzasadnid odpowiedź.
19. Niech R i S będą relacjami przedstawionymi poniżej
Relacja R Relacja S
Pole1 Pole2 Pole2 Pole3
A B B C
C B E A
D E B D
19. Niech R i S będą relacjami przedstawionymi poniżej
Relacja R Relacja S
Pole1 Pole2 Pole2 Pole3
A B B C
C B E A
D E B D
Oblicz R-S. W wyniku różnicy pominąd nazwy atrybutów.
19. Niech R i S będą relacjami przedstawionymi poniżej
Relacja R Relacja S
Pole1 Pole2 Pole2 Pole3
A B B C
C B E A
D E B D
19. Niech R i S będą relacjami przedstawionymi poniżej
Relacja R Relacja S
Pole1 Pole2 Pole2 Pole3
A B B C
C B E A
D E B D
19. Niech R i S będą relacjami przedstawionymi poniżej
Relacja R Relacja S
Pole1 Pole2 Pole2 Pole3
A B B C
C B E A
D E B D
19. Niech R i S będą relacjami przedstawionymi poniżej
Relacja R Relacja S
Pole1 Pole2 Pole2 Pole3
A B B C
C B E A
D E B D
19. Niech R i S będą relacjami przedstawionymi poniżej
Relacja R Relacja S
Pole1 Pole2 Pole2 Pole3
A B B C
C B E A
D E B D
19. Niech R i S będą relacjami przedstawionymi poniżej
Relacja R Relacja S
Pole1 Pole2 Pole2 Pole3
A B B C
C B E A
D E B D
20. Niech baza danych zawiera trzy następujące tabele z atrybutami zawartymi w nawiasach okrągłych obok
nazw tabel: BYWA (PIWOSZ, BAR), PODAJĄ(BAR, PIWO) oraz LUBI(PIWOSZ, PIWO). Podaj wyrażenie algebry
relacji lub zapytanie w SQL by znaleźd piwoszy pijących w tym samym barze co piwosz lubiący piwo „LECH”.
SELECT piwosz FROM bywa, podaja, lubi WHERE bywa.piwosz= AND lubi.piwo=”LECH” GROUP BY
20. Niech baza danych zawiera trzy następujące tabele z atrybutami zawartymi w nawiasach okrągłych obok
nazw tabel: BYWA (PIWOSZ, BAR), PODAJĄ(BAR, PIWO) oraz LUBI(PIWOSZ, PIWO). Podaj wyrażenie algebry
relacji lub zapytanie w SQL by znaleźd piwoszy bywających w barze, w którym podają piwo, które lubią ci
piwosze.
20. Niech baza danych zawiera trzy następujące tabele z atrybutami zawartymi w nawiasach okrągłych obok
nazw tabel: BYWA (PIWOSZ, BAR), PODAJĄ(BAR, PIWO) oraz LUBI(PIWOSZ, PIWO). Podaj wyrażenie algebry
relacji lub zapytanie w SQL by znaleźd piwoszy w tym samym barze co piwosz lubiący podawany w tym barze
gatunek piwa, które lubi „KOWALSKI”
20. Niech baza danych zawiera trzy następujące tabele z atrybutami zawartymi w nawiasach okrągłych obok
nazw tabel: BYWA (PIWOSZ, BAR), PODAJĄ(BAR, PIWO) oraz LUBI(PIWOSZ, PIWO). Podaj wyrażenie algebry
relacji lub zapytanie w SQL by znaleźd piwoszy lubiących pid piwo podawane w barze „POD LIPĄ”.
20. Spółdzielnia „Szczęśliwa Dolina” utrzymuje bazę danych, w której przechowuje informacje o saldach swoich
członków, ich zamówieniach, potencjalnych dostawcach i cenach dostawczych w następujących tabelach, w
których atrybuty podano w nawiasach okrągłych:
CZŁONKOWIE(NAZWISKO, ADRES, SALDO)
ZAMÓWIENIA(NR_ZAMÓWIENIA, NAZWISKO, TOWAR, ILOŚD)
DOSTAWCY(NAZWA_DOSTAWCY, ADRES_DOSTAWCY, TOWAR, CENA).
Podaj wyrażenie algebry relacji lub zapytanie w SQL by znaleźd tych członków spółdzielni, którzy mają ujemne
saldo i zamówili towar u dostawcy „FRICO”.
20. Spółdzielnia „Szczęśliwa Dolina” utrzymuje bazę danych, w której przechowuje informacje o saldach swoich
członków, ich zamówieniach, potencjalnych dostawcach i cenach dostawczych w następujących tabelach, w
których atrybuty podano w nawiasach okrągłych:
CZŁONKOWIE(NAZWISKO, ADRES, SALDO)
ZAMÓWIENIA(NR_ZAMÓWIENIA, NAZWISKO, TOWAR, ILOŚD)
DOSTAWCY(NAZWA_DOSTAWCY, ADRES_DOSTAWCY, TOWAR, CENA).
Podaj wyrażenie algebry relacji lub zapytanie w SQL by znaleźd tych dostawców, towary i ceny dla wszystkich
dostawców dostarczających co najmniej jeden towar zamawiany przez „NOWAKA”
20. Spółdzielnia „Szczęśliwa Dolina” utrzymuje bazę danych, w której przechowuje informacje o saldach swoich
członków, ich zamówieniach, potencjalnych dostawcach i cenach dostawczych w następujących tabelach, w
których atrybuty podano w nawiasach okrągłych:
CZŁONKOWIE(NAZWISKO, ADRES, SALDO)
ZAMÓWIENIA(NR_ZAMÓWIENIA, NAZWISKO, TOWAR, ILOŚD)
DOSTAWCY(NAZWA_DOSTAWCY, ADRES_DOSTAWCY, TOWAR, CENA).
Podaj wyrażenie algebry relacji lub zapytanie w SQL by znaleźd tych dostawców, którzy dostarczają towar
zamówiony przez „KOWALSKIEGO”
20. Spółdzielnia „Szczęśliwa Dolina” utrzymuje bazę danych, w której przechowuje informacje o saldach swoich
członków, ich zamówieniach, potencjalnych dostawcach i cenach dostawczych w następujących tabelach, w
których atrybuty podano w nawiasach okrągłych:
CZŁONKOWIE(NAZWISKO, ADRES, SALDO)
ZAMÓWIENIA(NR_ZAMÓWIENIA, NAZWISKO, TOWAR, ILOŚD)
DOSTAWCY(NAZWA_DOSTAWCY, ADRES_DOSTAWCY, TOWAR, CENA).
Podaj wyrażenie algebry relacji lub zapytanie w SQL by znaleźd tych dostawców, którzy dostarczają towar
zamówiony przez członków spółdzielni, którzy mają ujemne salda.
Hurtownia danych (ang. data warehouse) rodzaj bazy danych, która jest zorganizowana i zoptymalizowana pod
kątem pewnego wycinka rzeczywistości. Hurtownia danych jest wyższym szczeblem abstrakcji niż zwykła
relacyjna baza danych (chod do jej tworzenia używane są także podobne technologie). W skład hurtowni
wchodzą zbiory danych zorientowanych tematycznie (np. hurtownia danych klientów). Dane te często
pochodzą z wielu źródeł, są one zintegrowane i przeznaczone wyłącznie do odczytu.
W praktyce hurtownie są bazami danych integrującymi wszystkie pozostałe systemy bazodanowe w firmie. Ta
integracja polega na cyklicznym zasilaniu hurtowni danymi systemów produkcyjnych (może byd tych baz lub
systemów dużo i mogą byd rozproszone).
Architektura bazy hurtowni jest zorientowana na optymalizację szybkości wyszukiwania i ich najefektywniejszą
analizę zawartości. Stąd bywa, że hurtownie danych nie są realizowane za pomocą relacyjnych baz danych, gdyż
takie bazy ustępują szybkością innym rozwiązaniom.
W zależności od rodzaju hurtowni dane w jej rekordach mogą byd zagregowane lub zawierad nawet informacje
szczątkowe. W praktyce oznacza to, że pewne dane w hurtowni nie są przechowywane w postaci rozdrobnionej
a tylko jako ich suma.
Przykład: Tak stad się może, gdy mamy do czynienia z hurtownią danych sprzedaży, wtedy nie będą
występowały w niej poszczególne pozycje na fakturach a jedynie kwoty faktur, gdyż to jest podstawą analizy.
(Oczywiście to osoby korzystające z hurtowni określają, jakie dane są dla nich użyteczne).
Użytkownicy koocowi hurtowni, czyli najczęściej zarząd firmy, korzystają z danych hurtowni poprzez różne
systemy wyszukiwania danych (np. OLAP).