Opracowane przez dzielnego Remigiusza Boguszewicza opracowanie pytań egzaminacyjnych z Banków danych.
I. Podejście tradycyjne i bazodanowe: wady i zalety
Podejście tradycyjne (plikowe, file oriented approach)
Zalety:
Gdy brak jest korelacji danych
System pracyje w czasie rzeczywistym i wymagana duża szybkość otrzymania danych
Prosty, nie podlegający zmianom w czasie użytkowania system
Wymagane standardy co do formatu danych nie możliwe do spełnienia przez b.d.
Stosunkowo tanie programy i sprzęt obsługujący je
Wady:
Redundancy data - powtarzalność danych. Prowadzi to do niespójności danych. Co powoduje brak integralności danych
Zależność formatu danych od programu
Idywidualny charakter rozwiązań, np. znaki narodowe, duże litery itp.
Podejście bazo-danowe
Zalety:
Uniwersalność - oprogramowanie działa tak samo
Niezależność danych od programu, od długości rekordu
Konceptualna prezentacja danych - model przedstawiony użytkownikowi abstrachuje od szczegółów technicznych
Obsługa wielodostępu
Wirtualna perspektywa - użytkownicy operują na informacjach przeznaczonych dla niech, do reszty nie mają dostępu
Dostępność danych w postaci logicznej
Łatwe narzędzia wyszukiwania i modyfikacji danych
Standaryzacja dostępu, wymiana danych (pliki .dbf)
Łatwość modyfikacji systemu oraz struktur danych.
Łatwa platworma do tworzenia aplikacji
Wbudowane systemy zabezpieczeń. Różnicowanie dostępu do danych
Przetwarzanie tranzakcyjne
Istnienie wielu narzędzi udostępniających wiadomości z baz danych
Funkcje składowania i odzyskiwania danych
Wady:
Wysokie koszta, czasochłonność projektowania bazy danych
Wysokie koszty sprzętu i oprogramowania
Potrzeba zatrudnienia administratora bazy danych
II. Własności transakcji w bazach danych
Atomicity - niepodzielność - Z punktu widzenia użytkownika transakcja jest niepodzielna. Użytkownik otrzymuje informacje o wykonaniu albo nie jego żądania
Consistency - spójność - Brak sprzeczności pomiędzy poszczególnymi informacjami. Każda z trasakcji pozostawia bazę spójną. Przerwanie transakcji z przyczyn wewnętrznych nie powoduje jej zagubienia. System posiada własność WAL (Write Ahead Log), najpierw następuje odnotowanie zdarzenia w pliku .log, a następnie wykonanie zdarzenia. Niemożność zakończenia transakcji powoduje jej wycofanie. Plik log jest ważny i musi być odpowiednio chroniony
Isolation - izolacja - poszczególne transakcje są od siebie odizolowane (chronione). Użytkownik 2 nie ma prawa wiedzieć co robi 1
Durability - trwałość, niezawodność - jeżeli system poinformuje użytkownika, że transakcja została wykonana to tak ma być. Zapaść systemu nie jest usprawiedliwieniem.
To wszystko tworzy skrót ACID - Atomicity Consistency Isolation Durability
III. Charakterystyka organizacji ISAM
Jest to metoda sekwencyjno indeksowa wykorzystująca indeksy wielopoziomowe. Liście zawierają wartości klucza oraz wskaźnik do stron zawierających rekordy o kluczu mniejszym od danego. ISAM wykorzystuje drzewa binarne tworzone jednorazowo podczas załadowania. System statyczny, wymagający reorganizacji w przypadku częstego dodawania bądź usuwania, przepisania do seryjno posortowanego pliku i nowego procesu załadowczego (wada tej struktury). Zakładany procent wypełnienia porcji macierzystych - 80%.
Zalecana gdy nie przewidujemy istotnego napływu danych.
Koszty przetwarzania: zakładamy 1 000 000 rekordów, porcja danych 10 rek. porcja indeksowa 100 indeksów.
Plik Heap. Mamy 100 000 stron, średni trzeba przejrzeć 50 000, co daje 50 000*0.025s=20min
Plik Sort. log2 z 100 000 = 17, 17*0.025s=0.5s
IV. Charakterystyka organizacji B+
Drzewo indeksowe jest dynamiczne. Dynamiczny przydział stron do liści. Format indeksów ten sam co w ISAM, dane tylko w liściach. Jeśli chcemy dopisać rekord o danym kluczu, który nie miści się w porcji, to może nastąpić podział tej porcji. Przy podziale klucz z początku powstałej porcji jest kopiowany do macierzystej porcji indeksowej. Może nastąpić redystrybucja danych w które mogą brać porcje mające wspólnego rodzica, czyli rodzeństwo.
Założenie o wypełnieniu każdego węzła (z wyjątkiem wierzchołka) - 50%.
Drzewo zbilansowane.
V. Podstawowe operacje na zbiorach w algebrze relacyjnej
UNION R u S - realizacja relacji zawierająca wszystkie krotki występujące w relacji R lub S. Wymaga się zgodności unijnej. Realizacja wynikowa dziedziczy schemat po R.
INTERSECTION R n S - zwraca krotki występujące zarówno w R jak i w S. Realizacja wynikowa dziedziczy schemat po R.
CROSS-PRODECT R x S - Kombinacja. Zwraca relacje, któraa zawiera wszystki pola R oraz S. Każda krotka R jest łączona z każdą krotką S. Nie musi być zgodności unijnej.
SET DIFFERENCE R - S - Występujące w R lecz nie występujące w S. Wymagana zgodność unijna.
VI. Wartość NULL i konsekwencje jej stosowania
XII. Język SQL i jego podzbiory
Język SQL składa się
XX. Organizacja losowa typu Extended Hashing
W organizacji losowej miejsce rekordu jest określone przez wartość funkcji. Określa się klucz główny, na którym wykonywana jest funkcja randomizacji. Z tej funkcji otrzymuje się adres.
W tej organizacji mamy zastosowaną binarną funkcję mieszającą. Kolejne porcje mają binarne adresy. Stosujemy katalog porcji zawierający odsyłacze do poszczególnych porcji. W nagłówku katalogu utrzymywana jest porcja określana jako wsk. globalnej głębokości.
Jeżeli skończy się miejsce w danej porcji ulega ona podziałowi. Wymaga ro rozszerzonego adresowania, czyli liczbę bitów zwiększamy, tym samym podwaja się katalog. Nie ma porcji nadmiarowych.
XXI. Organizacja losowa typu Linear Hashing
Nie tworzymy katalogu. Wykorzystywana rodzina funkcji mieszających takich że każda następna funkcja mapuje rekordy do dwukrotnie większej liczby pozycji. Utrzymywany wsk. next, poziomu i liczby porcji.