Teoria relacyjnych baz danych dr inż. Piotr Muryjas Wyższa Szkoła Przedsiębiorczości i Administracji Lublin
Plan Założenia relacyjnego modelu danych Podstawowe pojęcia Relacje i ich cechy Klucze i ich rodzaje Integralność Elementarne operacje na relacjach Cechy relacyjnych bazy danych (RBD) Architektura SZRBD Budowa RBD (normalizacja, warunki integralności, indeksy) ©Piotr Muryjas
Założenia relacyjnego modelu danych Sformalizowany sposób budowy schematów Przejrzysta budowa schematów danych Fizyczna i logiczna niezależność danych Języki wysokiego poziomu Optymalizacja dostępu do BD Integralność i poufność danych Wszechstronność zastosowań ©Piotr Muryjas
Podstawowe pojęcia Encja - rozróżnialny obiekt rzeczywistości (regularne, słabe) Atrybut (pole) - cecha encji Dziedzina atrybutu - zbiór możliwych wartości atrybutu Schemat relacji - zbiór atrybutów Krotka (wiersz, rekord) - zbiór wartości wszystkich atrybutów tej samej encji w danym zbiorze encji Relacja (tabela) - zbiór krotek ©Piotr Muryjas
Własności relacji Relacja ma jednoznaczną nazwę W relacji nie występują atrybuty o tych samych nazwach Kolejność atrybutów nie jest istotna Wszystkie wartości atrybutu należą do tej samej dziedziny (są tego samego typu). Wartości atrybutów mają charakter elementarny tj. niepodzielny, atomowy Relacja nie zawiera powtarzających się krotek W relacji nie jest istotny porządek występowania krotek ©Piotr Muryjas
Rodzaje relacji Relacja nazwana Relacja podstawowa Relacja pochodna Relacja wyprowadzana Perspektywa (view) Migawka (snapshot) Rezultat zapytania Rezultat pośredni ©Piotr Muryjas
Klucze w BD (1) Klucz - pojedynczy atrybut lub grupa atrybutów Rodzaje kluczy: klucz kandydujący - jednoznaczny identyfikator krotki, nie podlegający redukcji klucz główny (primary key) - jeden spośród kluczy kandydujących i wartości różnej od nieokreślonej klucz alternatywny - dowolny klucz, różny od klucza głównego klucz obcy (foreign key) - klucz, którego wartości są równe wartości odpowiedniego klucza głównego ©Piotr Muryjas
Klucze w BD (2) Obszary zastosowań: Problemy zastosowań: Realizacja dostępu na poziomie krotki Zapewnienie integralności bazy danych Optymalizacja dostępu do danych Problemy zastosowań: reguły kluczy obcych (kaskadowa aktualizacja i usuwanie) wartość NULL a klucze kandydujące i obce ©Piotr Muryjas
Związki między relacjami Związek to powiązanie między relacjami poprzez wartość atrybutu lub atrybutów. Cechy związku: stopień - liczba relacji występujących w związku (unarne, binarne, ternarne) liczebność (moc) - liczba encji biorących udział w związku (1:1, 1:M, M:N) uczestnictwo - konieczność wystąpienia encji w związku (opcjonalne, obowiązkowe) ©Piotr Muryjas
Integralność Integralność poprawność Rodzaje integralności: semantyczna - zgodność danych w BD z rzeczywistością; poprawność odwzorowania rzeczywistości (aspekt logiki stanu bazy danych) bazowa - poprawność przebiegu procesów w BD, zapewniająca prawidłowość odwzorowania rzeczywistości (aspekt fizyczny procesów w BD) Integralność semantyczna integralność danych ©Piotr Muryjas
Integralność semantyczna Integralność wewnętrzna: integralność referencyjna - każdej wartości klucza obcego odpowiada dokładnie jedna wartość klucza głównego integralność encji - każdy atrybut klucza głównego musi mieć wartość określoną integralność atrybutu - wartość każdego atrybutu należy do jego dziedziny Integralność dodatkowa - inne warunki ©Piotr Muryjas
Operacje na relacjach SELEKCJA - wybór wierszy tabel, spełniających zadany warunek PROJEKCJA - wybór kolumn z tabeli ZŁĄCZENIE - wybór danych z wielu tabel (równozłączenie, złączenie zewnętrzne lewostronne, prawostronne lub obustronne) SUMA ZBIORÓW - wybór wszystkich wierszu z tabel ILOCZYN ZBIORÓW - wybór wspólnych wierszy tabel RÓŻNICA ZBIORÓW - wybór wierszy, które znajdują się w jednej z tabel, a nie występują w drugiej tabeli ©Piotr Muryjas
Cechy relacyjnych baz danych (RBD) Oparte na relacyjnym modelu danych Składają się z obiektów określanych mianem relacji - BD widziana jako zbiór relacji (tabel) Dwuwymiarowy model rzeczywistości w postaci wierszy i kolumn Dane powiązane ze sobą poprzez wartości a nie przez wskaźniki Wybór danych nie wymaga określenia sposobu dostępu do nich Operacje wykonywane na bazie danych są operacjami relacji Umożliwiają posługiwanie się językami relacyjnymi, nieproceduralnymi np. SQL ©Piotr Muryjas
Architektura SZRBD - struktura logiczna ©Piotr Muryjas
Budowa relacyjnej bazy danych Projekt struktury danych (normalizacja) Definicja tabel Definicja kolumn tabel poprzez przypisanie nazwy i dziedziny wartości Definicja indeksów dla poszczególnych tabel Definicja związków pomiędzy tabelami bazy danych Definicja warunków integralności Definicja innych obiektów BD (perspektyw, wyzwalaczy schematu, sekwencji, podprogramów, pakietów) Określenie praw dostępu ©Piotr Muryjas
Normalizacja tabel w RBD Proces kolejnych przekształceń tabeli do postaci zapewniających stopniową redukcję redundancji danych Rezultat: 1NF, 2NF, 3NF, BCNF, 4NF, 5 NF Cechy: Bezstratność informacji Proces odwracalny Cel : Uproszczenie struktury tabel Ułatwienie wykonywania zapytań do bazy danych Zmniejszenie rozmiarów baz danych Redukcja błędów podczas aktualizacji danych ©Piotr Muryjas
Optymalizacja dostępu do BD - indeksowanie Indeks - konstrukcja (obiekt BD) zwiększająca szybkość dostępu do danych Indeks prosty - oparty na kluczu prostym (pojedynczy atrybut) Indeks złożony - oparty na kluczu złożonym (kombinacja atrybutów) Indeks główny - oparty na kluczu głównym Indeks pomocniczy - oparty na kluczu alternatywnym ©Piotr Muryjas
Warunki (reguły) integralności Sposób zapewnienia integralności danych Rodzaje reguł: statyczne - dotyczą poprawnych stanów BD dynamiczne - dotyczą przejść z jednego stanu zgodnego do innego stanu zgodnego BD Stan zgodny (spójny, poprawny) BD - stan, w którym wszystkie dane w BD spełniają wszystkie zadane warunki integralności ©Piotr Muryjas
Warunki integralności danych (1) Warunki statyczne Warunek unikalności wartości klucza Warunek integralności atrybutu Warunek integralności rekordu (poziomy warunek wewnętrzny relacji) Warunki zbioru rekordów (pionowy warunek wewnętrzny relacji) Warunki zbioru relacji ©Piotr Muryjas
Warunki integralności danych (2) Warunki dynamiczne relacji: dopuszczalne przejścia od jednej do innej wartości atrybutu dopuszczalne przejścia od jednej do innej wartości atrybutu, z uwzględnieniem wartości atrybutu w innej krotce Warunki dynamiczne zbioru relacji - dopuszczalne przejście z jednego stanu do drugiego w relacji powiązanej związkiem z inną relacją ©Piotr Muryjas
Warunki integralności danych (3) Warunki natychmiastowe: sprawdzane podczas wprowadzenia danych: integralność atrybutu integralność rekordu warunki dynamiczne relacji Warunki odroczone: sprawdzane z pewnym opóźnieniem: integralność zbioru relacji warunki dynamiczne zbioru relacji ©Piotr Muryjas
Kontrola warunków integralności w aplikacjach bazodanowych Poziomy kontroli: atrybut relacja komponenty interfejsu użytkownika (elementy, rekordy, bloki, formatki) Techniki kontroli: wyrażenia algebraiczne w definicji atrybutów lub relacji podprogramy wbudowane w schemat danych podprogramy interfejsu wyzwalacze schematu wyzwalacze interfejsu ©Piotr Muryjas