-
Ma table Patient ?
Bonjour à tous,
create database PatienGer
create table Garde_Patient
(
mat_gp varchar (5) primary key,nom_gp char (20),prn_gp char (20),
sexe_gp char (10),age_gp int,lien_fam_gp char (10),
typ_pid char (10), n_pid int,
dat_pid datetime,lieu_pid char (20)
)
create table Mod_Adm
(
cod_adm char (10) primary key,
nom_adm char (10)
)
create table Service
(
code_serv varchar (2)primary key,
Nom_serv char (20)
)
create table Unite
(
cod_unite int primary key,
un_code_serv varchar(2) references Service (code_serv))
create table Salle
(
[s_cod_unite references Unite (cod_unite),n_salle]int primary key,
n_lit int
) {"salle"étant une entité faible,donc possédant une double clé primaire}
create table Mode_Sortie
(code_sortie varchar (3)primary key,
nom_sortie char (10)
)
C'est là que je me heurte au problème:
create table Patient
(
n_pat int primary key,nom_pat char (20),prn_pat char (20),
sexe_pat char (10),dn_pat datetime,ln_pat char (20),
prn_per_pat char (20), nom_mer_pat char (20),
prn_mer_pat char (20),nat_pat char (10), adr_pat char (50),
sit_fam_pat char (10),nom_epou_pat char (20),
cont_pat char (20),tel_cont int,adr_cont char (50),nom_prn_acc char (20),
sexe_acc char (10),age_acc int,lien_fam_acc char (10),
tel_acc int,dat_adm datetime, heure_adm datetime,dat_sortie datetime,
heure_sortie datetime,
p_cod_adm char (10) references Mod_Adm (cod_adm),
[p_(s_cod_unite references Unite (cod_unite),n_salle)]int references Salle (cod_unite,n_salle),
p_code_sortie varchar(3) references Mode_Sortie (code_sortie),
p_mat_gp varchar (5) referencesGarde_Patient (mat_gp)
)
Voilà ce que j'obtiens quand j’exécute dans Query:
Server: Msg 8140, Level 16, State 1, Line 1
More than one key specified in column level FOREIGN KEY constraint, table 'Patient'.
Je suis nouveau dans SQL server,et je n'arrive pas à résoudre le problème,merci de m'aider à le faire.
-
Bonjour,
L'erreur se situe ici :
Code:
[p_(s_cod_unite references Unite (cod_unite),n_salle)] int references Salle (cod_unite,n_salle),
Vous donnez une colonne et déclarez la contrainte de clé étrangère sur deux colonnes, ce qui ne peut pas fonctionner : la clé primaire de la table Salle n'a qu'une seule colonne supportant sa clé primaire ;)
D'autre part il y a de nombreuses erreurs dans votre modèle de données et par le non respect des conventions de nommage, particulièrement des colonnes : celle-ci ne doivent pas contenir d'espaces (mais aussi d'autres signes diacritiques et de ponctuation). Vous pouvez rechercher une convention de nommage de vos contraintes qui vous rendra la lecture d'une violation de contrainte très facile ;)
@++ ;)