Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Bazy Danych II prowadzący: mgr inż. Leszek Siwik

Podobne prezentacje


Prezentacja na temat: "Bazy Danych II prowadzący: mgr inż. Leszek Siwik"— Zapis prezentacji:

1 Bazy Danych II prowadzący: mgr inż. Leszek Siwik
Temat referatu: Integralność danych Magdalena Kwiatkowska Małgorzata Strycharz

2 Integralność danych Zbiór reguł określających, które stany bazy danych są poprawne, a więc zarazem jakie operacje prowadzące do modyfikacji danych są dozwolone

3 Zagadnienia: Deklaracje kluczy Zakresy wartości atrybutów
Więzy referencyjne Asercje Triggery

4 Relacje Relacja jest zbiorem krotek posiadających taką samą strukturę, lecz różne wartości. Każda krotka odpowiada jednemu wierszowi tablicy. Każda krotka posiada co najmniej jeden atrybut odpowiadający pojedynczej kolumnie tablicy.

5 Relacje Każda relacja (tablica) posiada następujące własności:
- krotki (wiersze) – są unikalne - atrybuty (kolumny) – są unikalne - kolejność krotek (wierszy) – nie ma znaczenia - kolejność atrybutów (kolumn) – nie ma znaczenia - wartości atrybutów (pól) – są atomowe

6 Dziedzina (domain) Definiujemy dziedzinę jako nazwany zbiór wartości
skalarnych. Wszystkie te wartości muszą być tego samego typu. Dziedziny są więc zestawami wartości, z których są wybierane faktyczne wartości atrybutów. CREATE DOMAIN nazwa-dziedziny typ-danych; DESTROY DOMAIN nazwa-dziedziny;

7 Klucze Klucze kandydujące Klucze główne Klucze alternatywne
Klucze obce

8 Klucze kandydujące Klucz kandydujący w relacji R jest podzbiorem K zbioru atrybutów relacji R, mającym: - Własność jednoznaczności: (Żadne dwie różne krotki R nie mają tej samej wartości dla K) - Własność nieredukowalności: (Żaden właściwy podzbiór K nie ma własności jednoznaczności)

9 Klucze główne i alternatywne
Jeśli dana relacja może mieć więcej niż jeden klucz kandydujący model relacyjny wymaga, aby jeden z nich został wybrany jako klucz główny Pozostałe klucze nazwane są kluczami alternatywnymi

10 Przykład tworzenia klucza głównego i kandydującego
CREATE TABLE Aktorzy ( id_aktora INT PRIMARY KEY, nazwisko CHAR (30), imie CHAR (20) ); id_aktora INT, nazwisko CHAR (30), imie CHAR (20), UNIQUE (id_aktora)

11 Klucze obce Aby można było uznać bazę za zintegrowaną wprowadza się klucze obce. Dana wartość atrybutu jednej z relacji jest wartością klucza głównego w innej. Klucze obce, podobnie jak klucze kandydujące zdefiniowane są jako zbiory atrybutów

12 Reguły klucza obcego Na etapie projektowania projektant musi dla każdego klucza obcego określić nie tylko atrybut, czy kombinację atrybutów, składającą się na ten klucz i na powiązaną z nim relację docelową, ale także reguły klucza obcego, które należy stosować w tym przypadku.

13 Opcje klucza obcego Opcje:
RESTRICTED – operacja aktualizacji (usuwania) jest „ograniczona” dla przypadków, w których nie istnieją powiązania (w przeciwnym razie operacja jest odrzucana) CASCADES – operacja aktualizacji (usuwania) „kaskadowo” propaguje aktualizację (usuwanie) także powiązanych atrybutów.

14 Więzy referencyjne Problemem zapewnienia, by baza danych nie zawierała żadnych niedopuszczalnych wartości klucza obcego, nazywa się problemem integralności referencyjnej Więzy referencyjne określają warunek, aby wartości danego klucza obcego zgadzały się z wartościami odpowiadającego mu klucza kandydującego Integralność referencyjna – w bazie danych nie mogą występować żadne niedopasowane wartości kluczy obcych

15 Diagram referencyjny Więzy referencyjne można przedstawić za pomocą diagramu referencyjnego: Każda strzałka oznacza, że w relacji, z której strzałka wychodzi jest, istnieje klucz obcy, który odwołuje się do klucza głównego relacji, na którą strzałka wskazuje. Każdą strzałkę diagramu można oznaczyć nazwą atrybutu (lub atrybutów) tworzącego dany klucz obcy.

16 Przykład więzów integralności referencyjnej
CREATE TABLE Aktorzy ( id_aktora INT PRIMARY KEY, nazwisko CHAR (30), imie CHAR (20) ); CREATE TABLE Role ( id_roli INT PRIMARY KEY, nazwa CHAR(20), id_aktora INT REFERENCES Aktorzy (id_aktora), ON DELETE SET NULL, ON UPDATE CASCADE

17 Problem brakującej informacji - null
Pojęcie znacznika null jest podstawą rozwiązania problemu brakującej informacji Reguła integralności encji Żaden składnik klucza głównego relacji podstawowej nie może akceptować null

18 Klasyfikacja reguł integralności
SQL dzieli reguły integralności na trzy kategorie: Reguły dziedzin Reguły tabel bazowych Ogólne reguły („asercje”)

19 Więzy dziedziny Polegają na zadeklarowaniu ograniczeń dla dziedziny atrybutu, a następnie przypisaniu tej dziedziny typowi atrybutu CREATE DOMAIN DziedzinaPłci CHAR(1) CHECK (VALUE IN (‘K’, ‘M’));

20 Reguły tabel bazowych Kategoria ta obejmuje różne specyfikacje klucza kandydującego, klucza głównego i klucza obcego, a także „więzy CHECK” Więzy typu CHECK nakładają bardzo proste warunki na wartości atrybutów np. zawierają listę poprawnych lub niepoprawnych wartości

21 Asercje Do schematu bazy danych można dołączyć asercje jako element schematu, korzystając ze słowa kluczowego CHECK oraz określenia warunku CREATE ASSERTION <nazwa> CHECK (<warunek>) Asercje są sprawdzane zawsze wtedy, kiedy następuje jakakolwiek modyfikacja relacji, która może naruszać warunek asercji.

22 Wyzwalacze (triggers)
Procedura wyzwalana, to taka, która ma być wywołana, kiedy zostanie spełniony określony warunek wyzwalacza np. naruszenie więzów integralności m.in. podczas aktualizacji danych Celem procedury wyzwalanej jest przeprowadzenie pewnego działania mającego z powrotem przywrócić bazę do stanu spójności.

23 Literatura J.D. Ullman J. Widom
„Podstawowy wykład z systemów baz danych C.J.Date „Wprowadzenie do systemów baz danych”

24 Pytania Własności relacji
Rodzaje kluczy i związane z nimi reguły integralności Problem brakującej informacji – znacznik „null” Więzy typu CHECK Asercje Triggery student.uci.agh.edu.pl/~strychar/referat


Pobierz ppt "Bazy Danych II prowadzący: mgr inż. Leszek Siwik"

Podobne prezentacje


Reklamy Google