Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

SQL – JDD (DDL) Język definicji danych (Data Definition Language)

Podobne prezentacje


Prezentacja na temat: "SQL – JDD (DDL) Język definicji danych (Data Definition Language)"— Zapis prezentacji:

1 SQL – JDD (DDL) Język definicji danych (Data Definition Language)

2 18 marzec 2004SQL - język definicji danych2 Elementy bazy danych Dziedziny Tabele, perspektywy Indeksy Więzy ogólne (asercje) Wyzwalacze i procedury użytkownika Użytkownicy, role, uprawnienia Zbiory znaków, zestawienia, translacje

3 18 marzec 2004SQL - język definicji danych3 Dziedzina standardowa Logiczna (TRUE, FALSE, UNKNOWN); Znakowe: char(n) lub character(n), varchar(n) lub character varying(n); Bitowe: bit(n), bit varying(n); Liczowe dokładne: int lub integer, shortint, numeric(n,p), decimal(n,p); Liczbowe zmiennopozycyjne: float(p), real, double; Daty i czasu: date, time, timestamp [WITH TIME ZONE] Przedziały czasu: interval p to k; Inne: text lub clob, blob.

4 18 marzec 2004SQL - język definicji danych4 Dziedzina użytkownika CREATE DOMAIN AS [DEFAULT ][ ] ::= | NULL | ::= [CONSTRAINT ] CHECK ( VALUE { IN (v1,v2,...,vk) | IS NOT NULL | | BETWEEN AND | IN ( ) })

5 18 marzec 2004SQL - język definicji danych5 Tabela CREATE TABLE ( [ ], [ ],... )

6 18 marzec 2004SQL - język definicji danych6 Więzy kolumny [CONSTRAINT ] NOT NULL | DEFAULT | PRIMARY KEY | UNIQUE | REFERENCES ( ) [ ] [ ] | CHECK

7 18 marzec 2004SQL - język definicji danych7 Akcja referencyjna ON { DELETE | UPDATE } { RESTRICT | NO ACTION | CASCADE | SET NULL | SET DEFAULT }

8 18 marzec 2004SQL - język definicji danych8 Integralność referencyjna Domyślnie – jeżeli jakaś kolumna klucza obcego jest pusta, to integralność referencyjna nie jest kontrolowana; MATCH FULL – jeśli wszystkie kolumny klucza obcego są puste, to integralność referencyjna nie jest kontrolowana; przeciwnie – musi istnieć odpowiedni rekord w tabeli nadrzędnej; MATCH PARTIAL – rekord podrzędny pasuje do rekordu nadrzędnego, jeśli zgadza się z nim na niepustych polach klucza obcego.

9 18 marzec 2004SQL - język definicji danych9 Więzy relacji [CONSTRAINT ] PRIMARY KEY ( ) | UNIQUE ( ) | FOREIGN KEY ( ) REFERENCES ( ) [ ][ ]| CHECK

10 18 marzec 2004SQL - język definicji danych10 Więzy – moment kontroli Spełnienie więzu może być kontrolowane natychmiast po wprowadzeniu, aktualizacji rekordu z tabeli (IMMEDIATE) Może być jednak odroczone do momentu wypełnienia transakcji (DEFERRED)

11 18 marzec 2004SQL - język definicji danych11 Perspektywa (tabela wirtualna) CREATE VIEW [,...] AS [ WITH [CASCADED|LOCAL] CHECK OPTION]

12 18 marzec 2004SQL - język definicji danych12 Perspektywa - implementacja Perspektywa materializowana – zapytanie definiujące perspektywę jest wyliczane i przechowywane jako tabela przez SZBD. Zapytania do perspektywy są realizowane przez wgląd w tę tabelę. Modyfikacje perspektywy mogą być przeprowadzane przez: –ponowne obliczenie zapytania; –aktualizację tylko tych rekordów, które dotknęła modyfikacja.

13 18 marzec 2004SQL - język definicji danych13 Perspektywa – implementacja Rozkład – jest metodą polegającą na przekształceniu zapytania dotyczącego perspektywy tak, by dotyczyło tabel bazowych, a warunki wyboru pochodzące z definicji perspektywy zostały włączone w definicję tabeli.

14 18 marzec 2004SQL - język definicji danych14 Perspektywa - modyfikacje Perspektywa jest modyfikowalna, gdy dotyczy jednej tabeli i występują w niej wszystkie kolumny niepuste (z nałożonym warunkiem NOT NULL lub PRIMARY KEY) z tej tabeli. Własność modyfikowalności można rozciągnąć na perspektywy powstałe z kilku tabel, o ile w tabeli wynikowej występują kolumny kluczy i kolumny niepuste z wszystkich tabel, które są złączane w celu utworzenia perspektywy.

15 18 marzec 2004SQL - język definicji danych15 Perspektywa - modyfikacje Perspektywa nie może być modyfikowalna, gdy: zawiera operator DISTINCT; zwraca kolumnę wyliczaną; jest definiowana przez zapytanie grupujące; jest definiowana przez zapytanie zawierające UNION, EXCEPT lub INTERSECT; w warunku WHERE zapytania definiującego występuje odwołanie do tabeli występującej w klauzuli FROM.

16 18 marzec 2004SQL - język definicji danych16 Perspektywa – WITH CHECK OPTION WITH CHECK OPTION –rekord wstawiony poprzez perspektywę musi należeć do perspektywy; –rekord zmodyfikowany poprzez perspektywę nadal musi należeć do perspektywy. CASCADED – wstawienie lub modyfikacja rekordu do perspektywy lub perspektywy na jej podstawie zdefiniowanej, nie może spowodować zniknięcia rekordu z danej perspektywy; LOCAL – rekord może zniknąć po modyfikacji z perspektywy, o ile zniknie z tabeli, na podstawie której jest zdefiniowana perspektywa.

17 18 marzec 2004SQL - język definicji danych17 Indeks CREATE [UNIQUE] INDEX ON ( ) [USING { HASH | BTREE | RTREE }]

18 18 marzec 2004SQL - język definicji danych18 Zmiany w schemacie BD DROP – usunięcie danego obiektu (DOMAIN, TABLE, VIEW, INDEX) z opcją RESTRICT lub CASCADE ALTER – modyfikacja definicji; możliwe operacje, to: – [DROP | ADD ] COLUMN] – [DROP | ADD ] CONSTRAINT – [DROP | SET ] [DEFAULT...][CHECK...]

19 18 marzec 2004SQL - język definicji danych19 Więzy ogólne – asercje CREATE ASSERTION CHECK

20 18 marzec 2004SQL - język definicji danych20 Przykład CREATE DOMAIN TNazwa AS VARCHAR(20) DEFAULT ???; CREATE DOMAIN TPłeć AS CHAR DEFAULT ? CHECK VALUE IN (K, M);

21 18 marzec 2004SQL - język definicji danych21 Przykład cd. CREATE TABLE Osoba ( nazwisko Tnazwa NOT NULL, imię Tnazwa, KM Tpłeć, PESEL CHAR(11) UNIQUE NOT NULL, PRIMARY KEY (nazwisko, imię));

22 18 marzec 2004SQL - język definicji danych22 Przykład cd.2 CREATE TABLE Samochód (nrRej VARCHAR(10) PRIMARY KEY, marka Tnazwa, właściciel CHAR(11) REFERENCES Osoba(pesel) ON DELETE SET NULL ON UPDATE CASCADE);

23 18 marzec 2004SQL - język definicji danych23 Przykład cd.3 CREATE VIEW WW AS SELECT nazwisko, imię FROM Osoba JOIN Samochód ON pesel=właściciel; CREATE VIEW WX AS SELECT nazwisko, imię FROM WW WHERE marka IN (BMW,Opel); CREATE INDEX samWgWłaściciel ON Samochód(Właściciel)


Pobierz ppt "SQL – JDD (DDL) Język definicji danych (Data Definition Language)"

Podobne prezentacje


Reklamy Google