Model hierarchiczny
— Model obejmuje dwie struktury danych: 1) typy rekordów 2) związki nadrzędny – podrzędny
— Każdy element zwany rekordem może uczestniczyć w roli podrzędnej w co najwyżej jednym powiązaniu rekordów, w roli nadrzędnej w dowolnej liczbie powiązań
— Rekord podrzędny nie może istnieć bez rekordu nadrzędnego
— Podmiotem operacji jest jeden rekord
Model sieciowy
— Model obejmuje dwie struktury danych:1) typy rekordów 2) typy kolekcji
— Każdy rekord może jednocześnie uczestniczyć w wielu powiązaniach rekordów
— Rekord taki może równocześnie i wielokrotnie wystąpić w roli nadrzędnej oraz w roli podrzędnej,
powiązania realizowane są przez rekordy specjalne zwane łącznikami
Model obiektowy
— Brak sprecyzowanej definicji obiektowych baz danych
— Model opiera się na takich pojęciach jak: klasa, obiekt, uogólnienie, abstrakcja, dziedziczenie
— Obiekty dysponują metodami
POSTULATY CODDA
1. Postulat informacyjny – dane są reprezentowane jedynie poprzez wartości atrybutów w wierszach tabel,
2. Postulat (gwarantowanego) dostępu – każda wartość w bazie danych jest dostępna poprzez podanie nazwy tabeli, atrybutu oraz wartości klucza podstawowego,
3. Postulat dotyczący wartości NULL – dostępna jest specjalna wartość NULL dla reprezentacji wartości nieokreślonej jak i nieadekwatnej, inna od wszystkich i podlegająca przetwarzaniu
4. Postulat dotyczący katalogu – informacje o obiektach bazy danych tworzących schemat bazy danych są na poziomie logicznym zgrupowane w tabele i dostępne w taki sam sposób jak każde inne dane.
5. Postulat języka danych – system musi dostarczać pełnego języka przetwarzania danych, który:
1)charakteryzuje się liniową składnią, 2) może być używany zarówno w trybie interaktywnym, jak i w obrębie programów aplikacyjnych, 3) obsługuje operacje definiowania danych (łącznie z definiowaniem perspektyw), operacje manipulowania danymi (aktualizację, także wyszukiwanie), ograniczenia związane z bezpieczeństwem i integralnością oraz operacje zarządzania transakcjami (rozpoczynanie, zapis zmian i ponowny przebieg)
6. Postulat modyfikowalności perspektyw – system musi umożliwiać modyfikowanie perspektyw, o ile jest ono semantycznie realizowane,
7. Postulat modyfikowalności danych – system musi umożliwiać operacje modyfikacji danych, musi obsługiwać operatory INSERT, UPDATE oraz DELETE,
8. Postulat fizycznej niezależności danych – zmiany fizycznej reprezentacji danych i organizacji dostępu nie wpływają na aplikacje
9. Postulat logicznej niezależności danych – zmiany wartości w tabelach nie wpływają na aplikacje,
10. Postulat niezależności więzów spójności (niezależność integralnościowa) – więzy spójności są definiowane w bazie i nie zależą od aplikacji,
11. Postulat niezależności dystrybucyjnej – działanie aplikacji nie zależy od modyfikacji i dystrybucji bazy,
12. Postulat bezpieczeństwa względem operacji niskiego poziomu – operacje niskiego poziomu nie mogą naruszać modelu relacyjnego i więzów spójności.
13. Reguła nieprowadzenia "działalności wywrotowej"- jeśli system jest wyposażony w interfejs niskiego poziomu (operacje na pojedynczych rekordach), nie może być użyty do prowadzenia działalności wywrotowej (np. omijania zabezpieczeń relacyjnych lub ograniczeń integralnościowych)
Pierwsza postać normalna
— Relacja jest w pierwszej postaci normalnej, jeśli każda wartość atrybutu w każdej krotce tej relacji jest wartością elementarną, czyli nierozkładalną.
— Relacja jest w pierwszej postaci normalnej, jeśli nie ma powtarzających się grup
Druga postać normalna-, jeśli jest w 1PN oraz każdy atrybut tej relacji nie wchodzący w skład żadnego klucza potencjalnego jest w pełni funkcyjnie zależny od wszystkich kluczy potencjalnych tej relacji.
— Relacja jest w 2PN jeżeli każdy atrybut nie wchodzący w skład klucza zależy od klucza a nie od jego części.
— Relacja będąca w pierwszej postaci normalnej, jest równocześnie w drugiej postaci normalnej, jeśli wszystkie jej klucze potencjalne są kluczami prostymi.
Trzecia postać normalna- Dana relacja jest w trzeciej postaci normalnej, jeśli jest ona w drugiej postaci normalnej i każdy jej atrybut nie wchodzący w skład żadnego klucza potencjalnego nie jest przechodnio funkcyjnie zależny od żadnego klucza potencjalnego tej relacji.
Forma normalna Boyce-Codd’a
— Jest uzupełnieniem trzeciej postaci normalnej i jest niezbędna w przypadku gdy atrybuty będące
kandydatami na klucze są:» wielokrotne,» złożone,» nakładające się na siebie
— Relacja jest w postaci Boyce-Codd’a (BCPN) jeżeli dla każdej nietrywialnej zależności między podzbiorami relacji zbiór będący wyznacznikiem jest zbiorem identyfikującym tej relacji
— Zależność X →Y jest trywialna jeżeli Y jest podzbiorem X
— Definicja BCPN zastępuje definicje, pierwszej, drugiej i trzeciej formy normalnej dodatkowo je poszerzając
Czwarta forma normalna
— Relacja jest w czwartej formie normalnej (IV PN) wtedy i tylko wtedy, gdy jest w trzeciej postaci normalnej i nie zawiera nietrywialnej wielowartościowej zależności atrybutów
Piąta postać normalna
— Relacja jest w piątej formie normalnej (V PN) wtedy i tylko wtedy, gdy jest w czwartej postaci normalnej i nie istnieje jej rozkład odwracalny na zbiór mniejszych tabel
Iloczyn kartezjański:
— (inaczej produkt) relacji R i S to relacja wszystkich uporządkowanych par krotek, z których pierwszy element pary należy do relacji R a drugi do S
— Schemat relacji RxS jest sumą schematów relacji R i S, w której powtarzające się atrybuty (kolumny) traktowane są jako odrębne elementy schematu, np. R.A i S.A
Złączenie naturalne: polega na połączeniu w pary tych krotek z relacji R i S, które mają identyczne wartości dla wszystkich wspólnych atrybutów i jest oznaczane R|><| S
— w rezultacie powstaje relacja, której schemat zawiera atrybuty relacji R i relacji S, przy czym wspólna część uwzględniana jest tylko raz
złączenie wewnętrzne (inner join) – w relacji wynikowej występują wyłącznie te krotki, które spełniają warunek złączenia
złączenie lewostronne zewnętrzne (left outer join) – zawiera wszystkie krotki R uzupełnione krotkami S spełniającymi warunek
złączenie prawostronne zewnętrzne (right outer join) - zawiera wszystkie krotki S uzupełnione krotkami R spełniającymi warunek
złączenie zewnętrzne pełne (full outer join) – zawiera wszystkie krotki R oraz S uzupełnione wartościami typu NULL gdy do danej krotki nie pasuje żadna krotka z drugiej relacji
złączenie zewnętrzne typu union - zawiera wszystkie krotki R nie pasujące do żadnej krotki S uzupełnione krotkami S nie pasującymi do żadnej krotki R
Złączenie teta
—polega na złączeniu dwóch relacji R i S w iloczyn kartezjański i wyborze z niego tych krotek, które spełniają wyrażenie warunkowe na parze lub zbiorze par atrybutów z R i S i jest oznaczane symbolem R |><|Θ R lub R |><|c S, gdzie Θlub C to wyrażenia logiczne
Równozłączenie
—to szczególny przypadek złączenia teta, w którym warunek ma charakter równości
wybranych atrybutów obu relacji
—powtarzające się kolumny opisujące atrybuty z warunku złączenia są pomijane
Jądro SZBD
— Menedżer plików
Menedżer plików systemu operacyjnego jest tłumaczem między strukturami danych, na których działa DBMS, a plikami na dysku. W celu wykonania tego zadania tworzy on zapis fizycznych struktur na dysku
— Mechanizmy dostępu
Menedżer plików nie zarządza bezpośrednio fizycznym wejściem i wyjściem danych. Współdziała on z odpowiednimi mechanizmami dostępu określonymi dla różnych struktur fizycznych
— Bufory systemu
Odczyt i zapis danych jest zwykle prowadzony przez bufory systemu operacyjnego. Są to tymczasowe struktury służące przechowywaniu danych i wykonywaniu na nich operacji
— Baza danych i katalog systemowy
przechowują dane i metadane aplikacji.
— System operacyjny
Dostęp do urządzeń dyskowych jest kontrolowany głównie przez system operacyjny gospodarza, który szereguje dyskowe operacje we-wy.
— Menedżer bazy danych
kontroluje dostęp do informacji DBMS przechowywanej na dysku. Wszystkie operacje dostępu do informacji w bazie danych są wykonywane pod jego kontrolą. Menedżer danych używa funkcji zarządzania danymi niższego poziomu, dostarczonymi przez system operacyjny gospodarza w jego systemie zarządzania plikami lub używa swoich własnych podprogramów. Takie funkcje będą realizować przesyłanie danych między pamięcią główną a dyskiem.
— Kompilator DDL
Kompilator języka definicji danych DDL bierze instrukcje wyrażone w DDL i uaktualnia katalog systemowy. Wszystkie moduły DBMS, które potrzebują informacji na temat obiektów bazy danych, muszą mieć dostęp do katalogu
— Procesor czasu wykonywania
obsługuje operacje wyszukiwania i modyfikowania, wyrażone względem bazy danych. Dostęp do dysku jest realizowany przez menedżera danych,
— Procesor zapytań
obsługuje interaktywne zapytania, wyrażone w języku operowania danymi (DML) takim jak SQL. Dokonuje on analizy składniowej i semantycznej zapytania, po czym przystępuje do generowania wywołań procesora czasu wykonywania.
— Prekompilator, kompilator DML, kompilator języka gospodarza
Prekompilator wycina polecenia DML z programu użytkowego napisanego w języku gospodarza. Polecenia te są następnie przekazywane do kompilatora DML, który tworzy kod wynikowy realizujący dostęp do bazy danych. Pozostałe części programu użytkowego są wysyłane do konwencjonalnego kompilatora i następnie te dwie części są wiązane razem, tworząc transakcję, która może być wykonana na bazie danych
Reguły ACID- ACID to mnemonik służący do opisania transakcji, jaka powinna być:» Niepodzielna (Atomic)» Spójna (Consistent)» Odizolowana (Isolated)» Trwała (Durable)
Wyzwalacze Triggery w SQL 99
— wyzwalacz (ang. trigger) jest specjalnym rodzajem składowanej procedury, która jest uruchamiana automatycznie podczas wykonywania instrukcji modyfikacji danych
— wyzwalacz jest powiązany z konkretną instrukcją modyfikacji danych (INSERT, UPDATE, DELETE)
— wyzwalacz jest uruchamiany przed modyfikacją, po lub zamiast modyfikacji
xkonradox