Database Reference
In-Depth Information
Contrainte d'exclusivité ( suite )
Jeu d'essai ( suite )
AND syndicat IS NULL
AND nbheuressupp IS NULL)
OR
(projet IS NULL AND nbhmois IS NULL
AND prime IS NOT NULL
AND syndicat IS NULL
AND nbheuressupp IS NULL)
OR
(projet IS NULL AND nbhmois IS NULL
AND prime IS NULL
AND syndicat IS NOT NULL
AND nbheuressupp IS NOT NULL));
ORA-02290: check constraint (SOUTOU.CK_
PARTITION) violated
-- invalide (commercial et adminstratif par
exemple)
INSERT INTO personnel VALUES
(104,'M. Denizot',457,1500,NULL,NULL,'C.F
.D.T.',17);
*
ERROR at line 1:
ORA-02290: check constraint (SOUTOU.CK_
PARTITION) violated
Contrainte de totalité
La contrainte de totalité permet des multiqualiications mais interdit les personnels non quali-
iés. Le tableau suivant décrit l'écriture de cette contrainte avec deux insertions invalides : la
première du fait d'un personnel non qualiié, la seconde à cause d'une double qualiication. La
contrainte doit signiier que les colonnes spéciiques ne doivent pas être nulles simultanément
(ce qui n'interdit pas des nullités partielles).
Tableau 3-14 : Contrainte de totalité pour l'héritage push-up
Contrainte de totalité
Jeu d'essai
-- valide (commercial et adminstratif par
exemple)
INSERT INTO personnel VALUES
(104,'M. Denizot',457,1500,NULL,NULL,'C.F
.D.T.',17);
1 row created.
ALTER TABLE personnel
ADD CONSTRAINT ck_totalite
CHECK
((projet||nbhmois||prime
||syndicat||nbheuressupp) IS NOT NULL);
-- aucune qualiication
INSERT INTO personnel VALUES
(103,'C. Bravo',457,NULL,NULL,NULL,NULL,
NULL);
*
ERROR at line 1:
ORA-02290: check constraint (SOUTOU.CK_
TOTALITE) violated
Absence de contrainte
Si l'héritage ne présente pas de restriction, aucune contrainte SQL n'est à mettre en œuvre.
 
Search WWH ::




Custom Search