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

Requêtes MySQL Discussion :

contrainte de clef étrangère valeur NULL


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 11
    Points : 8
    Points
    8
    Par défaut contrainte de clef étrangère valeur NULL
    Bonjour,
    J'ai une table 'salles' et une table 'matchs'.
    Dans la table 'matchs', j'ai une colonne id_salle qui permet de stipuler dans quelle salle s'est déroulé le match.
    Les matchs peuvent se dérouler en dehors d'une salle. Autrement dit, la colonne id_salle de la table 'matchs' peut avoir NULL comme valeur.
    Je voulais créer une contrainte de clef étrangère sur la colonne matchs.id_salle qui serait liée à la colonne salles.id. Est-ce possible et judicieux ?
    Merci

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    C'est possible, mais ce qui serait plus judicieux serait d'éliminer le bonhomme NULL !

    Règle de gestion :
    Une salle peut accueillir plusieurs matches et un match peut être accueilli dans une seule salle.

    MCD :
    salle -0,n----accueillir----0,1- match

    Comme je le précise dans mon blog, de telles cardinalités entraînent normalement - afin justement de ne pas voir le fameux bonhomme NULL polluer les tables - la création d'une table associative dont la clé primaire est constituée de la clé étrangère référençant le match :

    Tables :
    te_salle_sll (sll_id...)
    te_match_mtc (mtc_id...)
    tj_sll_accueillir_mtc (sam_id_match, sam_id_salle...)
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Merci bien pour la réponse dont j'ai tout juste compris qu'elle répondait bien à mon problème. Je vais donc étudier tout cela ainsi que le blog en question. Je reviendrai mieux armé !

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 11
    Points : 8
    Points
    8
    Par défaut C'est bon !
    Je pense que je viens de comprendre. C'est très intéressant.
    Voilà ce que j'ai trouvé:
    A) salles 0,n ----accueillir------> 0,1 matchs B) = table associative
    A) matchs 2,2 ----participer------> 0,n membres B) = 2 clés étrangères
    A) matchs 1,1 ----pratiquer------> 0,n disciplines B) = 1 clé étrangère
    Le blog est dans mes marques pages, vraiment instructif ! Merci bien

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

Discussions similaires

  1. Suppression d'une ligne avec contraintes de clef étrangère
    Par freeway57 dans le forum Requêtes
    Réponses: 3
    Dernier message: 23/05/2014, 11h34
  2. Suppression et contrainte de clef étrangère
    Par PerfectSlayer dans le forum Hibernate
    Réponses: 0
    Dernier message: 21/01/2011, 14h13
  3. [EJB3 Entity] Contrainte de clef étrangère
    Par Invité(e) dans le forum Java EE
    Réponses: 2
    Dernier message: 22/07/2008, 16h34
  4. Contrainte ujnique avec multiple valeurs NULL
    Par dev-man dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/06/2008, 23h39
  5. contrainte d'unicité et valeurs nulles
    Par marc85 dans le forum Informix
    Réponses: 2
    Dernier message: 30/11/2007, 21h47

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