|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Membre émérite
![]() Administrateur systèmes et réseaux Inscription : avril 2006 Messages : 969 ![]() |
Bonjour à tous,
j'ai : une table catégorie | idcat | nomcat | parentcat | une table procedure | idproc | listidcat | titreproc | contenu | date | je suis en train de crée une knowledge base en style wiki avec un référencement par tag (categorie), chaque procedure est rattaché à un nombre n de catégories, je voudrais connaitre le moyen le plus simple de stocker les catégories rattacher (dans le champs listcat )à une procédure puis de les retrouver quant j'ai besoin de les requêter je pensais sinon à une solution utilisant une logique binaire en ajoutant un champs "valeurbinaire" dans ma table categorie : catégorie 1 = 1 catégorie 2 = 2 catégorie 3 = 4 catégorie 4 = 8 puis de stocké un cumul de cette valeur ce qui donnerais une valeur unique pour chaque combinaison de categorie. mais je dois avoué ne pas savoir comment m'y prendre pour incrémenter cette valeur lors de la création d'une catégorie, Citation:
Code :
merci d'avance pour votre aide |
|||
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Citation:
C'est une erreur de modélisation qui vous conduit aujourd'hui à vous torturer le cerveau pour traiter cette liste de catégories ! ![]() Reprenons la dernière phrase que j'ai citée et qui est la moitié d'une règle de gestion des données : Citation:
" Une procédure est rattachée à une à plusieurs catégories et une catégorie peut se voir rattacher plusieurs procédures. " De cette règle de gestion, on tire le Modèle Conceptuel de Données (MCD, de la méthode Merise) suivant : Procedure -1,n----Rattacher----0,n- Categorie Et ce MCD entraîne la création d'une table associative : procedure (idproc, titreproc, contenuproc, dateproc) categorie (idcat, nomcat, parentcat) rattachement (idproc, idcat) Remarque : J'ai changé le nom de la colonne "date" en "dateproc" car "date" est un mot réservé du langage SQL et il ne faut pas appeler un objet de la base de données de l'un de ces mots. Les identifiants des tables "procedure" et "categorie" seront de type entier auto-incrémenté. Les deux colonnes formant la clé primaire de la table associative "rattachement" seront de type entier et feront bien sûr référence aux identifiants des deux autres tables. J'espère qu'il n'est pas trop tard pour mettre ce modèle en place.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#3 | ||
|
Membre émérite
![]() Administrateur systèmes et réseaux Inscription : avril 2006 Messages : 969 ![]() |
Yeh ! On viens de me donner la même réponse en bien moins complète, je venais l'inscrire mais la tienne est juste parfaite ^^Citation:
Citation:
![]() juste perfect
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com