65226 ullman199 (2)

65226 ullman199 (2)



404 6. WIĘZY r wyzwalacze w języku soi.

404 6. WIĘZY r wyzwalacze w języku soi.

Więzy należy określać nazwami

Pamiętajmy o tym, iż nazywanie więzów jest sensowne, nawet gdy nie przewiduje się, że będzie to kiedykolwiek potrzebne. Jeśli więzy zostaną zdefiniowane bez nazwy, to już nigdy nie uda się ich zmienić i gdyby się okazało, że są na przykład niepotrzebne, wówczas trzeba definiować na now'o schemat.


6.5.3.    Zmiany wiązów dziedziny

Dołączanie i usuwanie więzów dziedziny polega na tym samym co modyfikowanie więzów krotkowych typu CHECK. Aby usunąć więzy dziedziny, stosuje się instrukcje ALTER i słowo kluczowe DROP, po którym podaje się nazwę więzów. Przy dołączaniu nowych więzów za słowem ALT ER występuje słowo kluczowe ADD, nazwa więzów oraz warunek CH2CK określający więzy.

PRZYKŁAD 6.14

Więzy dziedziny, które ograniczają numery' certyfikatów' do liczb sześciocyfrowych, można usunąć w sposób następujący:

ALTER DOMAIN DziedzinaCort DROP CONSTRAINT sześćCyfr;

Przywraca je natomiast następująca instrukcja:

ALTER DOMAIN DziedzinaCert ADD CONS7RAINT szcśćCyfr CHECK (VALUE >= 100000);

6.5.4.    Modyfikowanie asercji

Asercję można usunąć, stosując instrukcję złożona ze słowra kluczowego drop ASSERTION, po którym podaje się nazwę asercji.

PRZYKŁAD 6.15

Asercję z przykładu 6.15 można usunąć, podając następujące polecenie:

DROP ASSERTION BogatyPrezes;

Aby przywrócić tę asercję, deklaruje się ją ponownie, tak jak to zrobiono w' przy kładzie 6.10.

6.5.5. Ćwiczenia do podrozdziału 6.5

Ćwiczenie 6.5.1. Dla pnrykładu filmowego:

Film (tytuł, rok, długość, czyKolor, nazwaStudia, producentem

GwiazdyW (tytuiFilmu, rokFilmu, nazwiskoGwiazdy) GwiazdaFilmowa (nazwisko, adres, płeć, dataUrodzenie) FilmDyr(nazwisko, adres, cert#, cenaSieci)

Studio(nazwisko, adres prezC#)

należy pokazać, w jaki sposób do schematu wprowadzić następujące zmiany:

*a) Atrybuty tytuł i rok mają stać się kluczem relacji Film.

b)    Nałożyć więzy integralności referencyjnej, które polegają na tym. że każdy producent jest zapisany w relacji Fi lmDyr.

c)    Nałożyć więzy, które polegają na tym, że żaden film nie może trwać krócej niż 60 minut ani dłużej niż 250 minut.

*!d) Narzucić warunek polegający na tym, żeby żadne nazwisko nie było równocześnie nazwiskiem gwiazdy filmowej i dyrektora produkcji (te więzy nie powinny być sprawdzane w przypadku usuwania krotek).

!e) Dwa różne studia nie mogą mieć tego samego adresu.

Ćwiczenie 6.5.2. Dla przykładu „okręty”:

Klasy (klasa, typ, kraj, liczbaDział, działo, wyporność) Okręt (nazwa, klasa, wodowanie)

Bitwa (nazwa, data}

Rezultat (okręt, bitwa, wynik)

należy określić następujące krolkowc więzy typu CH5CK:

a)    Klasa i kraj tworzą klucz w relacji Klasy.

b)    Każdy okręt, który występuje w relacji Bitwa, występuje także w relacji

Okręt.

c)    Każdy okręt, który występuje w relacji Rezultat, występuje także w relacji Okręt.

d)    Żaden okręt nic ma więcej niż 14 dział.

!c) Nie dopuszczać okrętów, które uczestniczą w bitwach, zanim zostaną zwodowane.

6.6. Wyzwalacze w języku SQL3

Rozmaite więzy opisane w bieżącym rozdziale są zawarte w standardzie SQL2. Z modelu realizacji tych więzów wynika, że są one wykonywane zawsze wtedy, kiedy ma nastąpić zmiana wartości elementu, który jest przez, nie


Wyszukiwarka

Podobne podstrony:
ullman195 (2) 396 6. WIĘZY l WYZWALACZE W JEŻYKU SQl. nyrni”. Podczas gdy pozostałe typy więzów są t
ullman197 (2) 4UU 6 WIĘZY I WYZWALACZE W JĘZYKU SOL  GwiazdyW(tytułFilmu, rokFilmu,
ullman201 (2) 408 6. WIĘZY I WYZWALACZE W JĘZYKU SQL 1 1)    CREATE TRIGGER Cena
ullman204 (2) 414 6. WIĘZY 1 WYZWALACZE W JĘZYKU SQL ♦    Więzy kratkowe typu CIIEC.K
ullman202 (2) 410 6. WIĘZY IWYZWALACZE W JĘZYKU SQL 1)    CREATE TRIGGER WyzwąlaczśrC
55786 ullman196 (2) 398 6. WIĘZY l WYZWALACZE W JĘZYKU SOL Mimo że ascrcja obejmuje dwie relacje, to
43500 ullman192 (2) -> 7U 6 WIĘZY 1 WYZWALAĆ/.!- W JĘZYK U SQL6.3.2. Więzy CHECK W deklaracji atr
ullman190 (2) ~>oO 6. WIĘZY I WY7.WAl.ACZt W JĘZYKU 5gi.Procedura kaskadowa Obok standardowej pro

więcej podobnych podstron