Wykład wyjaśnia podstawowe pojęcia dziedziny baz danych. W szczególności jest omówiony relacyjny model danych, na którym jest oparta budowa współczesnych, komercyjnych baz danych. Załączona jest także informacja o architekturze klient-serwer używanej w aplikacjach baz danych oraz o historii rozwoju baz danych.
Wykład ten nie wymaga ćwiczeń używających
oprogramowania.
Podstawowe fakty:
podkreślające jego implementacyjny charakter:
Relacyjny model danych pojawił się po raz pierwszy w artykule naukowym Edgara
Codda w 1970 roku.
W terminologii matematycznej - baza danych jest zbiorem relacji. Stąd
historycznie pochodzi nazwa relacyjny model danych i relacyjna baza
danych. W matematyce definiuje się relację
jako podzbiór iloczynu kartezjańskiego zbiorów wartości.
Reprezentacją relacji jest dwuwymiarowa tabela złożona z kolumn
i wierszy. Założenia:
IdWykładowcy |
Imię | Nazwisko | Tytuł |
2137 |
Jan | Kowalski | Doktor |
3245 |
Maciej | Jankowski | Docent |
8976 |
Artur | Malinowski | Profesor |
NazwaPrzedmiotu |
Kod | IdWykładowcy |
Bazy danych |
BDA |
1237 |
Projektowanie systemów informacyjnych |
PSI |
3245 |
Technologie internetowe |
TIN |
3245 |
Programowanie obiektowe |
POB |
8976 |
Systemy decyzyjne |
SDE |
1237 |
Znaczenie IdWykładowcy w tabeli Przedmiotów:
|
|
Ile kluczy głównych może mieć tabela? |
|
Teraz pytanie:
Ile kluczy obcych może mieć tabela? |
Dziedziny kolumn są rozszerzane o specjalny obiekt Null - oznaczający brak wartości –
OR | True | False | Null |
True | True | True | True |
False | True | False | Null |
Null | True | Null | Null |
AND | True | False | Null |
True | True | False | Null |
False | False | False | False |
Null | Null | False | Null |
NOT | True | False | Null |
False | True | Null |
Czas na krótkie pytanie:
Czy jest możliwa taka sytuacja, że wartość wyrażenia logicznego jest prawdziwa, mimo że wartość jednego z argumentów jest nieokreślona? |
Teraz krótkie pytanie:
Jaka jest wartość wyrażenia "(Null=Null) Is Null"? |
Czas na krótkie pytanie:
Wskaż popularny model danych, w którym nie zawsze są przestrzegane więzy spójności referencyjnej? |
NazwaPrzedmiotu |
Wykładowca |
Bazy danych |
Kowalski |
Projektowanie systemów informacyjnych |
Jankowski |
Technologie internetowe |
Jankowski |
Programowanie obiektowe |
Malinowski |
Systemy decyzyjne |
Kowalski |
Zawartość zwykłej perspektywy jest na życzenie wyliczana
przez system ze źródłowych tabel. Nie jest na stałe zapisywana w bazie
danych. W pewnych sytuacjach wygodniej jest zapisać zawartość perspektywy w
bazie danych a następnie korzystać z jej „materializacji”. Taki specjalny
rodzaj perspektywy nosi nazwę perspektywy zmaterializowanej.
jest to dodatkowa struktura danych umożliwiająca szybki
dostęp do wierszy tabeli na podstawie wartości w określonej kolumnie lub
kolumnach np. indeks zbudowany na kolumnie Nazwisko umożliwia szybkie wyszukiwanie
danych wykładowcy w oparciu o jego nazwisko. Przypomina indeks (skorowidz) w książce.
Przy czym perspektywy definiuje się na poziomie logicznym a używa się na poziomie użytkowym; indeksy definiuje się na poziomie logicznym a używa się na poziomie fizycznym. Jeśli chodzi o tabele to definiuje się na poziomie logicznym a używa się zarówno na poziomie użytkowym jak i fizycznym.
Z poziomu użytkowego korzystają głównie końcowi użytkownicy systemu. Z poziomu logicznego korzysta głównie administrator danych systemu. Natomiast z poziomu fizycznego korzysta głównie administrator bazy danych – nazywany w skrócie dba. Oczywiście projektant bazy danych definiuje i zajmuje się wszystkimi trzema poziomami.
Korzystanie z poszczególnych poziomów odbywa się do pewnego stopnia w sposób niezależny. Na przykład, można zmieniać położenie danych na dysku i ich zapis bez potrzeby zmiany struktury logicznej tabel; można zmieniać tabele bez konieczności zmiany programów aplikacyjnych - o ile programy aplikacyjne są oparte na perspektywach a nie tabelach. W pierwszym przypadku mamy do czynienia z tak zwaną niezależnością fizyczną danych, w drugim z niezależnością logiczną danych.
W naszej przykładowej bazie danych aplikacja może polegać na wyświetlaniu informacji, kto prowadzi dany wykład czyli zawartości perspektywy Przedmioty-Wykładowcy. W pewnym momencie może się okazać, że jeden wykład jest prowadzony przez dwóch lub więcej wykładowców. Schemat bazy danych oparty na dwóch tabelach: Wykładowcy i Przedmioty jest już niewystarczający i wymaga dodania nowej tabeli łączącej wykładowców z przedmiotami oraz zmiany definicji perspektywy Przedmioty-Wykładowcy. Są to zmiany realizowane na poziomie logicznym bazy danych. Natomiast sam program aplikacyjny oparty na perspektywie Przedmioty-Wykładowcy nie wymaga zmiany. Jest to przykład zastosowania zasady niezależności logicznej danych.
Z zastosowaniem zasady niezależności
fizycznej danych mamy do czynienia w sytuacji, gdy dotychczas używany dysk zapełni się
i zajdzie potrzeba dodania nowego dysku. Nowe wiersze wprowadzane do tabel będą
teraz zapisywane na nowym dysku. Natomiast ani schematy tabel ani programy
aplikacyjne nie wymagają żadnej zmiany.
Istotne jest użycie relacyjnego modelu danych w tym celu. Zatem metadane są
zapisywane i przetwarzane w taki sam sposób jak zwykłe dane.
|
W wykładzie tym zostały wyjaśnione podstawowe pojęcia związane z bazami danych oraz znaczenie baz danych w aplikacjach informatycznych. W szczególności został przedstawiony główny model danych współczesnych baz danych mianowicie relacyjny model danych a w jego ramach takie pojęcia jak: tabela, klucz, klucz główny, klucz obcy, perspektywa, pseudo-wartość NULL, więzy spójności w tym spójności referencyjnej.
tabela - dwuwymiarowa struktura danych złożona z kolumn i wierszy. Na przecięciu wiersza i kolumny znajduje się elementarna dana. W wierszu jest zapisywany rekord danych opisujący obiekt (np. rekord danych opisujący osobę lub firmę) lub pewien związek między obiektami. Każda kolumna zawiera zbiór elementarnych danych opisujących jeden atrybut obiektu np. nazwę firmy lub nazwisko osoby.
klucz - zbiór kolumn (często jednoelementowy), których wartości jednoznacznie określają wiersz (obiekt).
klucz główny - wyróżniony klucz, którego używa się jako identyfikatora obiektu.
klucz jednoznaczny - to samo co klucz.
klucz obcy - zbiór kolumn (często jednoelementowy), których wartości występują jako wartości ustalonego klucza głównego lub jednoznacznego w tej lub innej tabeli i są interpretowane jako wskaźniki do wierszy w tej drugiej tabeli.
NULL - konstrukcja określająca brak wartości (danych).
perspektywa - wirtualna tabela, którą posługują się użytkownicy - definiowana na poziomie logicznym, używana na poziomie użytkowym. Gdy jej zawartość zostanie zapisana w postaci tabeli, nosi nawę perspektywy zmaterializowanej.
więzy spójności danych - warunki poprawności danych w tabelach relacyjnej bazy danych
--- referencyjne - warunek poprawności danych mówiący, że wartości klucza obcego mogą być albo Null albo muszą występować jako wartości powiązanego z nim klucza głównego (lub jednoznacznego).
1. Podaj przykład dwóch tabel połączonych związkiem klucz obcy – klucz główny. Określ ich klucze główne. Czy posiadają one klucze alternatywne (jednoznaczne)? Określ jeden (lub więcej) kluczy obcych. Narysuj dwie tabele na kartce papieru i wprowadź do nich po kilka wierszy z zachowaniem więzów spójności referencyjnej.
2. Zastanów się nad znaczeniem danych i informacji w twoim życiu. Czy korzystasz z systemów do przechowywania danych? Czy można je nazwać bazą danych?