Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1500 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Mysql : Question sur les relations

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Mysql : Question sur les relations

n°2121625
hyptnos
GT : Gui iom
Posté le 16-01-2012 à 13:59:08  profilanswer
 

Bonjour à tous.
 
En vu de préparer mon nouveau projet professionnel, je suis en train d'établir les schéma fonctionnel et conceptuel. Et j'en suis à me poser une question que je n'ai jamais pensé à la problématique avant.
 
Je viens de configurer mon Mysql de façon à bien prendre en compte les clé étrangère est les suppression en cascade dans le cas d'une liaison genre 1:n.
Cependant j'en viens à me demander dans le cas suivant  
2 table : 1 auteur et 1 article
 
Nous sommes d'accord qu'un auteur peut avoir plusieurs article, de ce fait une clé étrangère id_auteur sera présente dans la table article en relation avec la table auteur pointant sur l'id de celle ci.
Grâce à cette id de l'auteur nous avons donc à notre disposition le nom / prénom enfin tout le tralala des informations associées.
 
Cependant si un jour l'auteur d'un ou plusieurs articles déjà présente en BDD se voit pour une raison ou pour une autre supprimer de la base de donnée, l'id de l'auteur enregistrer dans la base de donnée ira pointer vers un auteur inconnu et la vient le problème.
 
Comment vous vous gérer cela ? J'ai pris un exemple auteur / article mais cela peut très bien être tout autre style de cas.
 
J'aurais tendance à dire de ne JAMAIS supprimer un auteur et seulement le désactiver (ce que je fais habituellement dans mes table j'ai toujours un champs active que je passe à 0 ou 1 pour désactiver ou activer un champs). Mais doit bien y avoir d'autre solution et je voudrais bien savoir donc comment vous gérez cette problématiques
 
Car dans le cas de table Article / commentaire aucun soucis je met une contrainte si l'article est supprimer ou supprime en cascade tous les commentaires liée ce qui est normal, mais dans le cas auteur / article cela ne fonctionne pas pareil.
 
merci par avance d'éclaircir cette zone d'ombre.
 
Cordialement
 
Guillaume

mood
Publicité
Posté le 16-01-2012 à 13:59:08  profilanswer
 

n°2121627
flo850
moi je
Posté le 16-01-2012 à 14:01:56  profilanswer
 

on ne supprime pas les infos si elles peuvent etre utiles, et pouvoir connaître l'auteur d'un article est utile pour toute la vie de l'article.
Donc tu ajoutes une colonne actif

n°2121631
hyptnos
GT : Gui iom
Posté le 16-01-2012 à 14:24:54  profilanswer
 

Merci d'avoir répondu donc ce que je faisais jusqu'à maintenant est correcte
 
cependant maintenant vient une question technique si je reprend l'exemple article / auteur / commentaire. (Exemple bidon pour me familiarisé)
 
Cela donne cela pour le moment
 
http://img337.imageshack.us/img337/7633/84143941.jpg
 
On voit bien que la liaison article / commentaire à générer une clé étrangère et dans le code sql il y à bien a liaison
 
pour la table commentaires

Code :
  1. KEY `commentaire_FK` (`articles_id`)


 
mais dans la table article aucune relation FK n'est mentionné, alors que la liaison est bien présente sur le schéma et que l'id de l'auteur est bien en (FK) mais lors de la génération du SQL elle n'y est pas.
 
une explication ?  
Ai je oublier quelque chose ?

n°2121638
flo850
moi je
Posté le 16-01-2012 à 14:50:49  profilanswer
 

c'est lié a ton outil
tu as testé mysql workbench ?

n°2121639
hyptnos
GT : Gui iom
Posté le 16-01-2012 à 14:59:36  profilanswer
 

J'utilise DB Designer 4
et non pas tester mysql Workbench j'avoue que je connais pas trop les outils de modélisation.
 
D'ailleur c'est un peu un domaine que je laissais de coté (sans forcement le vouloir) car souvent projet demander à la va vite, sans cahier des charges sans rien etc... et pas de chef compétent pour m'encadrer tout cela vient de changer et je replonge dans mes vieux souvenir et me re auto-forme à MERISE.
 
Donc si tu as d'autre outils à me conseiller je suis preneur. Mais gratuit si possible.
Je regarde mysql Workbench

n°2121641
flo850
moi je
Posté le 16-01-2012 à 15:01:26  profilanswer
 

il buggue un peu des fois, pense a sauvegarder régulièrement
mais au moins il génère un bon code sql et peut meme partir d'nue base de données existante

n°2121642
hyptnos
GT : Gui iom
Posté le 16-01-2012 à 15:04:42  profilanswer
 

Je te remercie beaucoup :)
 
Bon bah allez go on plonge dans le support de cours Merise et enfin pouvoir partir sur de bonne base :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Mysql : Question sur les relations

 

Sujets relatifs
noob question = subtilités d'un forum[Résolu] Pb de tri sur un varchar (Mysql)
[Résolu][MySQL] Cast d'un integer vers un champ time[MySQL] Indexes et jointures : optimiser les perfs
[MySQL] update une partie d'un champ ?Mysql procedure stockee : boucle infinie
PB export dans MySQL[MYSQL] Date du jour - 1
insertion de données csv dans mysqlMenu déroulant PHP et MySQL
Plus de sujets relatifs à : Mysql : Question sur les relations


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR