Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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

Podobne prezentacje


Prezentacja na temat: "Bazy Danych II prowadzący: mgr inż. Leszek Siwik Temat referatu: Integralność danych Magdalena Kwiatkowska Małgorzata Strycharz."— 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 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 Deklaracje kluczy Zakresy wartości atrybutów Zakresy wartości atrybutów Więzy referencyjne Więzy referencyjne Asercje Asercje Triggery 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 - krotki (wiersze) – są unikalne - atrybuty (kolumny) – są unikalne - atrybuty (kolumny) – są unikalne - kolejność krotek (wierszy) – nie ma znaczenia - kolejność krotek (wierszy) – nie ma znaczenia - kolejność atrybutów (kolumn) – nie ma znaczenia - kolejność atrybutów (kolumn) – nie ma znaczenia - wartości atrybutów (pól) – są atomowe - 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) ); CREATE TABLE Aktorzy ( id_aktoraINT, nazwiskoCHAR (30), imieCHAR (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: Opcje: RESTRICTED – operacja aktualizacji (usuwania) jest ograniczona dla przypadków, w których nie istnieją powiązania (w przeciwnym razie operacja jest odrzucana) 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. 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_roliINTPRIMARY KEY, nazwaCHAR(20), id_aktoraINT 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: SQL dzieli reguły integralności na trzy kategorie: Reguły dziedzin Reguły dziedzin Reguły tabel bazowych Reguły tabel bazowych Ogólne reguły (asercje) Ogólne reguły (asercje)

19 Więzy dziedziny Polegają na zadeklarowaniu ograniczeń dla dziedziny atrybutu, a następnie przypisaniu tej dziedziny typowi atrybutu Polegają na zadeklarowaniu ograniczeń dla dziedziny atrybutu, a następnie przypisaniu tej dziedziny typowi atrybutu CREATE DOMAIN DziedzinaPłci CHAR(1) 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 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 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 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 CHECK ( ) Asercje są sprawdzane zawsze wtedy, kiedy następuje jakakolwiek modyfikacja relacji, która może naruszać warunek asercji. 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 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. 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 Temat referatu: Integralność danych Magdalena Kwiatkowska Małgorzata Strycharz."

Podobne prezentacje


Reklamy Google