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

Slides:



Advertisements
Podobne prezentacje
Procedury wyzwalane Procedura wyzwalana (ang. trigger) - stanowi kod użytkownika przechowywany wewnątrz bazy i uruchamiany w określonych sytuacjach np.
Advertisements

Projektowanie bazy danych
Relacyjny model danych
SQL – Strukturalny język zapytań
Relacyjny model danych
WPROWADZENIE DO BAZ DANYCH
MS Access 2000 Normalizacja Paweł Górczyński 2005.
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 7: Relacje i ograniczenia integralnościowe Język definiowania danych - DDL (Data Definition.
Relacyjny Model Danych
Język definicji danych (Data Definition Language)
Język definicji danych (Data Definition Language)
POWTÓRZENIE Metodologia : Pojęcia:
Projektowanie relacyjnych baz danych
Modele baz danych - spojrzenie na poziom fizyczny
Projektowanie - wprowadzenie
Język SQL (Structured Query Language) DDL (Data Definition Language)
Projektowanie struktury logicznej (schematu) relacyjnych baz danych
Bezpieczeństwo baz danych
Teoria relacyjnych baz danych
OPERACJA DZIELENIA W SQL
Zależności funkcyjne.
PROJEKTOWANIE TABEL W PROGRAMIE: ACCESS
SQL – Structured Query Language (3)
Bazy danych.
Instrukcje: CREATE, INSERT, UPDATE, DELETE, DROP
SQL – Structured Query Language (1)
Bazy danych podstawowe pojęcia
Systemy baz danych Wykład 1
Budowanie tabel i relacji
Informatyka Relacyjne bazy danych.
Andrzej Macioł Bazy danych – model relacyjny – cz. 1 Andrzej Macioł
SQL - Structured Query Language
Jak zacząć w MS SQL? USE master; GO IF DB_ID (Nbaza') IS NOT NULL DROP DATABASE baza; GO CREATE DATABASE baza; GO USE baza; GO.
Wybrane zagadnienia relacyjnych baz danych
WPROWADZENIE DO BAZ DANYCH
Model relacyjny.
Bazy danych 1 Literatura: Paul Benon-Davies – Systemy baz danych
Komendy SQL do pracy z tabelami i bazami
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
dr Łukasz Murowaniecki T-109
Projektowanie bazy danych
Łódź 2008 Banki danych WYKŁAD 2 dr Łukasz Murowaniecki T-109.
1 SBD, L.Banachowski Podstawy SQL - języka relacyjnych i obiektowo-relacyjnych baz danych (SQL2, SQL'1999, Oracle) Powtórzenie wyk ł adu 3.
Systemy Baz Danych Wykład III
Temat 3: Integralność danych. Integralność danych, określana również mianem spójności danych, jest to funkcja SZBD, która gwarantuje, że dane nie zostaną.
Michał Krawczykowski kl. IIIB
Definiowanie kluczy w tabelach RBD
Model obiektowy bazy danych
Slajd 1© J.Rumiński Jacek Rumiński  Bazy danych Kontakt: Katedra Inżynierii Biomedycznej, pk. 106, tel.: , fax: ,
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Projektowanie relacyjnych baz danych – diagramy związków encji
1 SBD, L.Banachowski Oprogramowanie strony serwera cz. 1 Powtórzenie wyk ł adu 6.
Komendy SQL do pracy z danymi
Projektowanie bazy danych z użyciem diagramów UML Obiektowe projektowanie relacyjnej bazy danych Paweł Jarecki.
1 Wykład Asercje, wyzwalacze i prawa. 2 Elementy aktywne bazy Chcielibyśmy, aby baza danych zapewniała nam pewne własności lub niezmienniki.
Projektowanie postaci formularza:
Modelowanie model związków encji
Bazy Danych Wprowadzenie
1 W wykładzie 2 zaprezentowana jest podstawowa metoda tworzenia schematu relacyjnej bazy danych. Jest ona dwustopniowa. W pierwszej fazie projektujemy.
Bazy danych. Baza danych (database) – magazyn danych – informacji powiązanych tematycznie, umożliwiający ich wyszukiwanie według zadanych kryteriów Baza.
Temat: Tworzenie bazy danych
Transformacja modelu EER do modelu relacyjnego
Indeksy.
Nieprawidłowo zaprojektowana tabela
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Technologie Informacyjne Bazy danych
Własności relacji: Baza danych jest zbiorem relacji, o następujących własnościach: każda relacja w bazie danych jest jednoznacznie określona przez swoją.
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

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

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

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

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.

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

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;

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

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)

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

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)

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

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.

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.

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

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.

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

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

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”)

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’));

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

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.

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.

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

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