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

Langage SQL Discussion :

[Debutant] Contrainte CHECK


Sujet :

Langage SQL

  1. #1
    TeQ
    TeQ est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [Debutant] Contrainte CHECK
    Bonjour à tous,

    Tout dabors bravo pour votre site ainsi que le forum, je compte squatter ici.

    Voilà donc j'ai un projet de base de données, je dois faire une contrainte CHECK mais je ne suis pas sur de la syntaxe.

    Voici la table en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    CREATE TABLE EMP_PAT (
     
       NIP                   INTEGER,
       n_emp                 INTEGER NOT NULL,
       E_P_date_E            DATE,
       E_P_date_S            DATE,
     
       CONSTRAINT NIP_n_emp PRIMARY KEY(NIP,E_P_date_E),
     
       FOREIGN KEY (NIP) REFERENCES PATIENTS (NIP),
       FOREIGN KEY (n_emp) REFERENCES EMPLACEMENTS (n_emp)
     
       /*contrainte check*/
    );
    On doit entre autre gérer l'occupation des lits dans un hopital, je ne considère pas les lits mais les emplacements, donc il faut empêcher qu'on place quelqu'un dans un emplacement déjà occupé (-> où E_P_date_S=NULL). Cependant il faut conserver un historique du passage des patients c'est pourquoi on garde chaque tuple avec la date où le patient est arrivé dans cet emplacement et sa date de départ.

    La contrainte doit ressembler à ça mais je ne suis pas sur de moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CHECK (E_P_date_S) IN (SELECT E_P_date_S FROM EMP_PAT WHERE n_emp=VALUE ????) IS NULL)
    Merci d'avance.

    Edit : c'est sous PostGreSQL.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 770
    Points : 52 726
    Points
    52 726
    Billets dans le blog
    5
    Par défaut
    Ce n'est pas du tout comme cela que tu dois modéliser ta base dans ce cas. Jette un coup d'oeuil à cet article :
    http://sqlpro.developpez.com/Planning/SQL_PLN.html

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    TeQ
    TeQ est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Arf. :o

    OK merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. contraintes check
    Par djeman dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 10/01/2009, 18h33
  2. [SQL Server 2000] Contrainte check
    Par batosai dans le forum Langage SQL
    Réponses: 3
    Dernier message: 24/04/2006, 16h16
  3. Contrainte CHECK Conditionnelle...
    Par Moskito dans le forum Langage SQL
    Réponses: 3
    Dernier message: 26/02/2006, 23h09
  4. Modification d'une contrainte Check
    Par linou dans le forum Oracle
    Réponses: 7
    Dernier message: 03/10/2005, 11h25
  5. [debutant] Contraintes d'intégrité définies sur un objet
    Par maysa dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/05/2004, 14h57

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