IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Ma table Patient ?


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2011
    Messages : 7
    Par défaut 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.

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    L'erreur se situe ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [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

    @++

Discussions similaires

  1. passage d'un nom de table dans une procédure stockée
    Par thierry V dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 26/07/2010, 17h48
  2. Réparation table/entête endommagée
    Par tbesrour dans le forum Paradox
    Réponses: 15
    Dernier message: 27/11/2007, 11h42
  3. [ADO] Tester l'existence d'une table
    Par nd25 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 05/09/2002, 14h55
  4. Newbie......compilateur et table de caractères
    Par Cyberf dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 21/08/2002, 15h29
  5. [Comparatifs] Limites nombres tables et quantité de données
    Par benj63 dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 13/06/2002, 22h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo