Définition d'une contrainte entre table
lostinoracle
-
DROE Messages postés 148 Date d'inscription Statut Membre Dernière intervention -
DROE Messages postés 148 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je travaille actuellement sur un projet de base de donnée d'un centre de plongée (sous Oracle 11g2). Afin de gérer les réservations, j'ai créer une table "Booking" comme suivant :
CREATE TABLE Booking
(
License_number NUMBER(6) NOT NULL,
Divesite_Name VARCHAR(20) NOT NULL,
Dive_Date DATE NOT NULL,
Divemaster_Number NUMBER(3),
PRIMARY KEY(License_number, Divesite_Name, Dive_Date),
FOREIGN KEY(License_number) REFERENCES Diver(DLicense),
FOREIGN KEY (Divesite_Name) REFERENCES Divesite(DSName),
FOREIGN KEY (Divemaster_Number) REFERENCES Divemasters(DMNumber)
);
En utilisant la table Diver :
Diver(DLicense, DName, DLevel, DMedical_Clearance)
Je voudrais pouvoir imposer la contrainte suivante sur la table booking:
CONSTRAINT Authorize CHECK (Diver.DMedical_Clearance='Y')
Y-a-t'il un moyen de créer cette contrainte entre table? Le fait qu'elle soit liée par la foreign key "DLicense" ne devrait pas permettre à Oracle de remonter à l'information requise pour le test?
Merci pour vos réponses.
Je travaille actuellement sur un projet de base de donnée d'un centre de plongée (sous Oracle 11g2). Afin de gérer les réservations, j'ai créer une table "Booking" comme suivant :
CREATE TABLE Booking
(
License_number NUMBER(6) NOT NULL,
Divesite_Name VARCHAR(20) NOT NULL,
Dive_Date DATE NOT NULL,
Divemaster_Number NUMBER(3),
PRIMARY KEY(License_number, Divesite_Name, Dive_Date),
FOREIGN KEY(License_number) REFERENCES Diver(DLicense),
FOREIGN KEY (Divesite_Name) REFERENCES Divesite(DSName),
FOREIGN KEY (Divemaster_Number) REFERENCES Divemasters(DMNumber)
);
En utilisant la table Diver :
Diver(DLicense, DName, DLevel, DMedical_Clearance)
Je voudrais pouvoir imposer la contrainte suivante sur la table booking:
CONSTRAINT Authorize CHECK (Diver.DMedical_Clearance='Y')
Y-a-t'il un moyen de créer cette contrainte entre table? Le fait qu'elle soit liée par la foreign key "DLicense" ne devrait pas permettre à Oracle de remonter à l'information requise pour le test?
Merci pour vos réponses.
A voir également:
- Définition d'une contrainte entre table
- Table ascii - Guide
- Table des matières word - Guide
- Table des caractères - Guide
- No bootable partition in table ✓ - Forum Windows
- Tableau croisé dynamique ou table de pilote - Guide
1 réponse
LostinOracle,
La condition d'une contrainte de vérification peut se référer à une colonne de la table, mais il ne peut pas faire référence aux colonnes des autres tables.
http://www.dba-ora.fr
La condition d'une contrainte de vérification peut se référer à une colonne de la table, mais il ne peut pas faire référence aux colonnes des autres tables.
http://www.dba-ora.fr