33
PODSTAWY BAZ DANYCH
ZAGADNIENIA
■ Definicja zależności funkcyjnych
■ Rodzaje zależności funkcyjnych: pełna zależność funkcyjna, przechodnia zależność funkcyjna, wielowartościowa zależność funkcyjna, zależność złączeniowa
■ Definicja klucza głównego
■ Etapy procesu projektowania relacyjnej bazy danych: przygotowanie diagramów związków encji (anomalie wstawiania, usuwania, modyfikacji), normalizacja, wprowadzenie zasad wymuszających integralność danych
■ Postacie normalne relacji
■ Temporalne bazy danych
■ Czas w temporalnych bazach danych (czas walidacyjny, czas transakcyjny)
■ Relacje w hurtowniach danych drugiej generacji
Aby zrozumieć proces normalizacji, należy poznać pojęcia, które pełnią rolę narzędzi projektanta. Znajomość takich zagadnień jak relacja, klucz podstawowy, klucz obcy, klucz kandydujący oraz związki funkcjonalne i posługiwanie się nimi ma priorytet w definiowaniu kolejnych form normalnych. Ponieważ takie pojęcia, jak: klucz podstawowy, klucz obcy, klucz kandydujący, zostały omówione w rozdziałach poświęconych tabelom, ostatnim tematem poprzedzającym normalizację będzie analiza związków funkcjonalnych. Projektowanie baz danych to bardzo rozległy temat, liczna jest też literatura dotycząca zasad projektowania. Aby czytelnikom tej książki (przyszłym projektantom baz danych) ułatwić poruszanie się po oprogramowaniu z angielskim interfejsem, wprowadzono w niej wiele nazw polskich i odpowiedników angielskich.
W obrębie tabeli (relacji) pomiędzy kolumnami (atrybutami) zachodzą związki, które opisujemy za pomocą zależności funkcyjnych. Definicją występowania zależności jest przedstawienie takiej relacji - umownie nazwijmy ją R - o dwóch atrybutach (lub grupach atrybutów): A i B, w której atrybut B jest zależny od A wtedy, gdy we wszystkich krotkach zawierających określoną wartość A wystąpi tylko jedna odpowiadająca jej wartość B. Jednak dla danej wartości B może wystąpić kilka różnych wartości A.
Należy zwrócić uwagę na to, że spełnione muszą być trzy warunki:
1. Jeśli w co najmniej dwóch krotkach atrybut A ma taką samą wartość, to odpowiadające mu krotki atrybutu B będą miały identyczną wartość.
2. Dla kolejnych różnych wartości A wystąpią różne odpowiadające im atrybuty B.
3. Opisane powyżej warunki będą niezależne od czasu analizowania zawartości atrybutów Ai B.