Wstęp do baz danych


Utrzymanie integralności bazy danych



Pobieranie 8.37 Mb.
Strona27/97
Data29.10.2017
Rozmiar8.37 Mb.
1   ...   23   24   25   26   27   28   29   30   ...   97

Utrzymanie integralności bazy danych


Integralność (integrity) łączy w sobie formalną poprawność bazy danych i procesów przetwarzania, poprawność fizycznej organizacji danych, zgodność ze schematem bazy danych, zgodność z ograniczeniami integralności oraz z regułami dostępu. Integralność nie oznacza, ze baza danych prawidłowo odwzorowuje sytuację i procesy opisanego przez nią świata zewnętrznego. Odpowiednim terminem tu jest spójność (consistency).

Rozpatrzymy model logiczny bazy danych „Biblioteka”. Model odwzorowuje rzeczywisty proces otrzymania czytelnikiem książki i jej zwracania. Ten proces podtrzymuje się za pomocą atrybutów encji: „Copies of the book” (Egzemplarzy książek), „The readers” (Czytelnicy) oraz związków pomiędzy encjami. Jeżeli czytelnik wypożyczył książkę, to w tabeli „Copies of the book” w rekordzie odpowiadającemu temu egzemplarzowi, powinna być ustawiona wartość „False” w polu „Is_or_not”, co oznacza nieobecność egzemplarza książki w bibliotece. Poza tym, w polu „Num_document” powinien być wpisany numer legitymacji (indeksu) czytelnika.

Jeżeli pole „Is_or_not” ma wartość („False”), a pole „Num_document” nie zawiera numeru legitymacji czytelnika, to oznacza niepoprawność bazy danych.

Modele danych powinny mieć środki dla utrzymania integralności. Utrzymanie integralności zawiera środki wyznaczające ograniczenia, które są potrzebne dla koordynacji wartości atrybutów różnych tabel. Istnieją następne typy ograniczeń, które wykorzystują się dla utrzymania integralności:



  • obowiązkowa obecność danych;

  • wartość atrybutów;

  • integralność encji (entity integrity);

  • integralność odwołań (referential integrity);

Wszystkie ograniczenia określają się w instrukcjach CREATE oraz ALTER TABLE języka SQL.

Ograniczenia obowiązkowej obecności danych


Te ograniczenia potrzebują, żeby w każdym rekordzie tabeli była obecna konkretna wartość dla atrybutu wyznaczonego. Na przykład, w encji „Staff” (Personel) dla każdego rekordu powinien być wyznaczony atrybut „Position” (Stanowisko):

CREATE TABLE "Staff" (

Num varchar(12),

Last_name varchar(20),

First_name varchar(10),

Birth_date date,



Position varchar(10) NOT NULL,

Sex varchar(1)

);

Ograniczenia wartości atrybutów


Te ograniczenia wyznaczają dopuszczalne wartości atrybutów. Każda kolumna w tabeli może mieć wartość z dopuszczalnego zbioru wartości. Ten zbiór może być zadany w warunku CHEK:

create table "Staff" (

Num varchar(12),

Last_name varchar(20),

First_name varchar(10),

Birth_date date,

Position varchar(10) NOT NULL,

Sex varchar(1) NOT NULL CHECK ( Sex IN (‘M’,’F’))

);

Integralność encji (entity integrity)


Każda tabela w bazie normalizowanej powinna mieć klucz pierwotny (główny), który powinien być unikalnym w każdym rekordzie. Ta integralność może być zadana za pomocą „primary key…” oraz „not null” :

create table Books (

ISBN varchar(12),

Name varchar(30),

Autor varchar(15),

Publishing varchar(15),

City varchar(15),

Year date,

"Amount of pages" numeric,

primary key (ISBN)

);

Jeżeli danej kolumnie nałożyliśmy warunek primary key, DBMS automatycznie nałoży jej warunki not null i unique.


Warunek UNIQUE


Za pomocą warunku UNIQUE definiujemy tzw. Klucz unikalny tabeli. W kolumnach, na których nałożymy ten warunek, DBMS będzie przechowywał wyłącznie niepowtarzalne (unikalne) wartości. W ramach jednej tabeli można zdefiniować dowolną liczbę warunków UNIQUE.

Aby utworzyć tabelę TYP, napiszemy :

CREATE TABLE TYP

( ID_TYPU Integer PRIMARY KEY,

NAZWA Char(50) UNIQUE,

OPIS VARCHAR(100));

W tabeli TYP nie mogą znajdować się rekordy z nie ustaloną wartością dla kolumny NAZWA.

Integralność odwołań (referential integrity)


Klucz obcy - to jedna lub więcej kolumn tabeli odwołujących się do kolumny lub kolumn klucza pierwotnego (głównego) w innej tabeli. Klucze obce są wykorzystywane do utrzymania integralności referencyjnej (integralności odwołań) w bazie danych. Tworząc klucz obcy, definiujemy związek między tabelą klucza pierwotnego i tabelą klucza obcego. Związek taki powstaje podczas połączenia kolumn tych samych typów danych z każdej tabeli. Łączenie tabel przy pomocy łączenie odpowiednich kolumn chroni dane z tabeli klucza obcego przez „osieroceniem”, jakie mogłoby nastąpić w wyniku usunięcia odpowiadających im danych z tabeli klucza pierwotnego. Definiowanie kluczy obcych jest po prostu sposobem łączenia danych przechowywanych w różnych tabelach bazy danych.

W relacyjnych bazach danych integralność odwołań dotyczy sytuacji, kiedy tablica A zawiera klucz obcy (foreign key) będący równocześnie kluczem pierwotnym tablicy B. Warunek integralności odwołań ustala, że dla każdego wiersza tablicy A musi istnieć taki wiersz w tablicy B, że wartości kluczy obcego i pierwotnego są jednakowe. Np. dla każdej wartości kolumny „ISBN”( klucz obcy) w tablicy „Copies_of_the_book” musi istnieć taka sama wartość w kolumnie„ISBN”( klucz pierwotny) tablicy „Books”.

Deklarować klucz obcy można tak:

CREATE TABLE "Copies of the book" (

ISBN varchar(12) not null,

Num_inv varchar(10) not null,

Num_document varchar(10),

Is_or_not binary(1),

Capture_date date,

Return_date date,

PRIMARY KEY (ISBN, Num_inv)

);

ALTER TABLE "Copies of the book"



ADD FOREIGN KEY "FK_COPIES O_INCLUDES_BOOKS" (ISBN)

REFERENCES BOOKS (ISBN)

ON UPDATE RESTRICT

ON DELETE RESTRICT;

_­­­­­­­­­­____________________________________________________________

W tablicy „Copies of the book", która jest stworzona w instrukcji CREATE TABLE za pomocą klauzuli ALTER TABLE deklaruje się klucz obcy:

ADD FOREIGN KEY "FK_COPIES O_INCLUDES_BOOKS" (ISBN),

który jest połączony z kluczem pierwotnym tablicy „Books”:

REFERENCES Books (ISBN).

Predykat „ON UPDATE RESTRICT” anuluje uaktualnienia wartości (ISBN) w kolumnie macierzystej, jeżeli na nią odwołają się rekordy tablic potomnych.

Predykat „ON DELETE RESTRICT” anuluje skasowanie wartości (ISBN) w kolumnie macierzystej, jeżeli na nią odwołają się rekordy tablic potomnych.

Jeżeli ostatnie dwie frazy wyznaczyć tak:

ON DELETE CASCADE

ON UPDATE CASCADE,

to w pierwszym przypadku będą skasowane wszystkie połączone w tablicach rekordy. W przypadku drugim będą uaktualnione wszystkie połączone w tablicach rekordy. Takie możliwości mają nie wszystkie środowiska DBMS.

Dostęp do baz danych

Standard ODBC (Open Database Connectivity)


Różne DBMS mogą realizować różne wersje SQL dla realizacji języków definicji danych (DDL) i manipulacji danymi (DML). Interfejsy bezpośredniego dostępu do tych DBMS, stworzone przez różnych producentów, też mogą się różnić. Wskutek tego konsekwentności zapytań SQL do różnych baz danych, różnych serwerów SQL mogą też się różnić. To znaczy, np., że dla bazy danych w środowisku „ORACLE” trzeba konstruować inne konsekwentności zapytań SQL niż dla tej samej bazy w środowisku „INFORMIX”.

W celu usunięcia tej wady firma MICROSOFT w 1992r opracowała standard ODBC (Open Database Connectivity). Technologia ODBC wprowadza jedyny interfejs dostępu do różnych typów baz danych. Język SQL jest wykorzystywany jako główny uniwersalny dialekt wszystkich baz danych. Standard ODBC pozwala realizować technologię „Klient – Serwer”, która realizuje główne operacji przetwarzania danych na serwerze, a klient tylko otrzymuje rezultaty.



Architektura ODBC jest pokazana na rys. 33.

Aplikacje nie są połączone z konkretnym interfejsem jakikolwiek DBMS, a realizują jedyny standard zapytań do menedżera ODBC – sterowników (ODBC-drivers). Menedżer ODBC podłącza potrzebny ODBC – sterownik, który jest stworzony przez producenta konkretnej DBMS. Dla podłączenia ODBC – sterownika trzeba stworzyć profile ODBC w trybie (Source ODBC…) panelu sterowania systemu operacyjnego.

Teraz istnieją ponad 50 typów ODBC – sterowników dla różnych DBMS.

Standard ODBS pozwala realizować zapytania SQL bezpośrednio z programów użytkownika. W tym celu można wykorzystywać dynamiczny SQL.



N
a rys 34. jest pokazany schemat pracy różnych narzędzi programowych przy realizacji architektury „ Klient – Serwer” w sieci lokalnej. Aplikacja na stancji klienta realizuje zapytania do baz danych przez ODBC Manager. Zapytania mogą być dla lokalnej bazy danych lub do baz danych umieszczonych na innych serwerach sieci lokalnej. Na rys.34 są pokazane trasy wszystkich zapytań.

Główne wady technologii dostępu do baz danych przez ODBC:



  • Aplikacje są przystosowane do platformy MS Windows

  • Wzrasta czas obróbki zapytań dzięki dodatkowej warstwie programówJest potrzebna uprzednia instalacja ODBC – sterownika, profile ODBC dla każdej stacji. Parametry tej instalacji jest statyczne i użytkownik nie może ich zmienić.




Pobieranie 8.37 Mb.

Share with your friends:
1   ...   23   24   25   26   27   28   29   30   ...   97




©operacji.org 2020
wyślij wiadomość

    Strona główna
warunków zamówienia
istotnych warunków
przedmiotu zamówienia
wyboru operacji
Specyfikacja istotnych
produktu leczniczego
oceny operacji
rozwoju lokalnego
strategii rozwoju
kierowanego przez
specyfikacja istotnych
Nazwa przedmiotu
Karta oceny
ramach działania
przez społeczno
obszary wiejskie
dofinansowanie projektu
lokalnego kierowanego
Europa inwestująca
Regulamin organizacyjny
przetargu nieograniczonego
kryteria wyboru
Kryteria wyboru
Lokalne kryteria
Zapytanie ofertowe
Informacja prasowa
nazwa produktu
Program nauczania
Instrukcja obsługi
zamówienia publicznego
Komunikat prasowy
programu operacyjnego
udzielenie zamówienia
realizacji operacji
opieki zdrowotnej
przyznanie pomocy
ramach strategii
Karta kwalifikacyjna
oceny zgodno
Specyfikacja techniczna
Instrukcja wypełniania
Wymagania edukacyjne
Regulamin konkursu
lokalnych kryteriów
strategia rozwoju
sprawozdania finansowego
ramach programu
ramach poddziałania
kryteriów wyboru
operacji przez
trybie przetargu