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 :

Contrainte d'intégrité


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 13
    Points
    13
    Par défaut Contrainte d'intégrité
    Salut tout le monde,

    Voici mon problème :

    J'ai uen table planification qui a comme attributs un identifiant, un numero de créneau, un numero d'activité et la date de planification.

    Pour le créneau 4, l'activité 3 est interdite. Comment puis-je faire pour exprimer cette contrainte à l'aide d'un CHECK() ou du moins lors de la création de la table ?

    Merci d'avance,
    PS : je bosse sous postgresql 8 et plpgsql n'est pas installé sur le serveur sur lequel je travaille...

    Merci

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 109
    Points : 28 436
    Points
    28 436
    Par défaut
    Est-ce la seule contrainte de ce type ?
    Si oui, tu peux créer une contrainte "en dur" au niveau de la table.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CHECK NOT (Creneau = 4 AND Activite = 3)
    Si non, tu as peut être intérêt à créer une table de référence qui liste les incompatibilités entre Creneau et Activite.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CHECK NOT EXISTS
        (   SELECT  1 
            FROM    incompatibilite i 
            WHERE   i.creneau = creneau 
                AND i.activite = activite
        )

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Je vais voir ça !

    Merci pour la rapidité de la réponse. Et oui, c'est la seule contrainte de ce type.

Discussions similaires

  1. Merise : Contrainte d'intégrite fonctionnelle
    Par new_wave dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 22/06/2022, 11h51
  2. contrainte d'intégrité super dur a gérer !
    Par RockLee69 dans le forum Oracle
    Réponses: 3
    Dernier message: 30/11/2005, 15h02
  3. Réponses: 5
    Dernier message: 26/10/2005, 14h43
  4. [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
  5. Question sur les contraintes d'intégrités
    Par eGGyyS dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 27/04/2004, 13h51

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