1 Teoria relacyjnych baz danychdr inż. Piotr Muryjas Wyższa Szkoła Przedsiębiorczości i Administracji Lublin
2 Plan Założenia relacyjnego modelu danych Podstawowe pojęciaRelacje 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
3 Założenia relacyjnego modelu danychSformalizowany 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
4 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
5 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
6 Rodzaje relacji Relacja nazwana Relacja podstawowa Relacja pochodnaRelacja wyprowadzana Perspektywa (view) Migawka (snapshot) Rezultat zapytania Rezultat pośredni ©Piotr Muryjas
7 Klucze w BD (1) Klucz - pojedynczy atrybut lub grupa atrybutówRodzaje 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
8 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
9 Związki między relacjamiZwią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
10 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
11 Integralność semantycznaIntegralność 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
12 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
13 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
14 Architektura SZRBD - struktura logiczna©Piotr Muryjas
15 Budowa relacyjnej bazy danychProjekt 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
16 Normalizacja tabel w RBDProces 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
17 Optymalizacja dostępu do BD - indeksowanieIndeks - 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
18 Warunki (reguły) integralnościSposó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
19 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
20 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
21 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
22 Kontrola warunków integralności w aplikacjach bazodanowychPoziomy 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