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

Schéma Discussion :

Gestion d'articles et de documents


Sujet :

Schéma

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 4
    Points : 6
    Points
    6
    Par défaut Gestion d'articles et de documents
    Bonjour, Je débute dans la réalisation d'un MCD, je me suis donc aidé des documentations. J'ai une problématique au niveau du choix à prendre pour concevoir le MCD et j'aimerai vos conseils. Je me suis aidé d'un post de conception par héritage que je pense allait très bien pour mon modèle.

    Voici tout d'abord un début des règles du projet :

    L'utilisateur sera soit inscrit ou invité.

    Les différents types d'utilisateurs inscrit :
    - Les membres
    - L'admin
    - Les rédacteurs

    Un document peut être :
    -Une image
    -Un message
    -Un article

    L' utilisateur inscrits peut poster un document de type Images ou Message.
    L'utilisateur ne peut pas poster d'article.

    L'utilisateur inscrits peut aimer/commenter un document.
    Un document peut etre aimer/commenter par plusieurs utilisateurs.

    L'utilisateur inscrits peut sauvegarder un article.
    Un article peut être sauvegardé par plusieurs utilisateurs.

    Un rédacteur possède un article.
    Un article est associé à un seul rédacteur.

    Un rédacteur peut éditer son article.

    Un admin peut modérer un document.

    Un article est attaché à une seule catégorie.
    Une catégorie possède plusieurs sous-catégories.

    Problématique :

    Je me demande si le mieux n'est pas de séparer l'entité Articles de l'héritage de l'entité documents. L'entité Articles est dans l'héritage de l'entité Documents juste pour les simplifier les actions Aimer/Commenter. Cette séparation rendra peut être le modèle un peut plus complexe ?

    Je vous remercie d'avance pour vos réponses.

    Voici Le graphique :


  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    J'ai effectué quelques modifications :

    Ajouts :

    - Un utilisateur inscrit peut s'abonner à un autre utilisateur inscrit.
    - Un utilisateur inscrit peut envoyer des messages à un autre utilisateur inscrit.
    - Un Rédacteurs possède 2 types de fonction ( Expert / Débutant / ou les 2 )

    Modifications :

    - J'ai ajouté l'entité "sauvegarde_article" contenant la liste des articles sauvegardé par un utilisateur ( Un utilisateur inscrits peut sauvegarder un article )

    - J'ai enlevé des associations avec l'entité non-invité ( je pense que ce n'est pas nécessaires, est ce que je me trompe? )


    Voici le nouveau graphique :


  3. #3
    Membre éclairé
    Avatar de Oppenheimer
    Homme Profil pro
    Certificat Fédéral de Capacité en informatique - orientation bases de données (conception)
    Inscrit en
    Mars 2012
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Certificat Fédéral de Capacité en informatique - orientation bases de données (conception)
    Secteur : Services de proximité

    Informations forums :
    Inscription : Mars 2012
    Messages : 235
    Points : 891
    Points
    891
    Par défaut
    Bonjour Spawnrad,

    Je vous invite à prendre exemple sur un sujet similaire, qui a été bien défini en titre, quoique mal posé en message (en effet, si une règle d'or y est opposée aux règles imposées, alors la règle d'or comme remède miracle n'existe pas) :
    http://www.developpez.net/forums/d79...evoir-bon-mcd/

    Je vais - non pas résoudre votre MCD jusqu'au MPD - mais vous répondre de manière générale (en principe, on va du général au particulier).

    Citation Envoyé par Spawnrad Voir le message
    Un document peut être :
    -Une image
    -Un message
    -Un article
    -en ce cas, il faut vous interroger sur: "Qu'est-ce qu'un document ?"
    sans exemple, je dirais:
    • un auteur,
    • un message,
    • une date (d'édition),
    • un lieu (d'édition).

    et là, ça devient très fun, parce que votre document pourrait être:
    un contrat (à condition de permettre au moins trois auteurs (deux contractants et un notaire)),
    ou un message,
    ou un article.

    Et si vous incluez un champs [image] à votre document, alors une image se résumera à un document sans message !

    En fait, vous avez cerné la pierre d'achoppement dès la pose de votre problème, et pourtant vous l'avez oubliée, puisque vous aviez dit dans un premier temps qu'un document pouvait être un article, et qu'ensuite vous avez séparé l'article dans votre modèle.

    Qu'on soit clair: vous voulez bien parler de relations, et non du modèle par héritage (soit: "arbre") en vogues au début des années '80s ?


    -Et puis je n'ai pas vu d'entité "Personne" (en général, un document est bien écrit par une personne (au moins)), qui pourrait être quant à elle, tant un individu, qu'une entreprise (soit: une personne morale), puisqu'une entreprise peut très bien éditer, par exemple, un règlement interne !



    Enfin, sur la méthode, je sais que je ne vais pas faire plaisir à Fsmrel, mais je ne vois pas de dichotomie entre Normalisation et MERISE (à quoi appartient en principe le MCD).

    Donc:
    • établir vos tables par objets les plus généraux possible (dans une mesure du bon sens: une table "Matière" pour parler d'un document papier n'aurait aucun sens),
    • Normaliser au stade souhaité - en gardant à l'esprit que: Plus c'est normalisé, plus on évite les problèmes d'ingérence par la suite;
    • Une fois vos entités d'objets obtenues, vous pouvez vous occuper des liens entre tables (et non entre attributs eux-mêmes) qui sont l'objet du MCD.
    • Et si ça peut vous aider pour la suite (comme je vois que vous avez déjà un premier jet de schémas) : pour le MLD il faudra s'arranger de transformer les liens "plusieurs-à-plusieurs" en lien maximum "un-à-plusieurs" par l'insertion d'une table intermédiaire idoine; et
    • préciser les attributs liés spécifiquement (jointures).


    Voilà, j'espère que cette méthode et son introduction vous aideront.
    "La physique n'est pas tout" - Robert J. Oppenheimer

  4. #4
    Membre éclairé
    Avatar de Oppenheimer
    Homme Profil pro
    Certificat Fédéral de Capacité en informatique - orientation bases de données (conception)
    Inscrit en
    Mars 2012
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Certificat Fédéral de Capacité en informatique - orientation bases de données (conception)
    Secteur : Services de proximité

    Informations forums :
    Inscription : Mars 2012
    Messages : 235
    Points : 891
    Points
    891
    Par défaut
    En fait, ce qui m'étonne dans l'histoire, c'est que vous parlez déjà d'héritage, alors que vous titrez votre sujet par "choix de la modélisation".

    À savoir qu'un tel choix intervient en principe (par définition) avant tout modèle.
    "La physique n'est pas tout" - Robert J. Oppenheimer

  5. #5
    Membre éclairé
    Avatar de Oppenheimer
    Homme Profil pro
    Certificat Fédéral de Capacité en informatique - orientation bases de données (conception)
    Inscrit en
    Mars 2012
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Certificat Fédéral de Capacité en informatique - orientation bases de données (conception)
    Secteur : Services de proximité

    Informations forums :
    Inscription : Mars 2012
    Messages : 235
    Points : 891
    Points
    891
    Par défaut Je me permets d'insister sur la notion d'entité généralisées aux diverses définitions du dictionnaire.
    Spawnrad,

    En fait, le problème dans votre inspiration depuis une méthode "héritée", à mon sens, c'est que vous pouvez sans souci doubler la liste d'exemples de vos documents, qu'elle ne sera jamais exhaustive comme prévention de ce qui peut arriver.

    C'est pourquoi je me permets d'insister sur le caractère "généralisé" des entités.

    Dans le cas du document, et je ne me moque aucunement: Prenez la définition du dictionnaire... et appliquez là! Sans aucune considération pour des exemples particuliers qui deviendront bientôt insuffisants.

    Mais on peut se demander pourquoi "Matière" ne serait pas une entité pertinente pour parler d'un document matériel. Parce que son type de support n'influe nullement sur son message (quoique certains ont une certaine affinité pour le papier... dont moi! Mais en termes d'information formelle, cela n'intervient pas).

    Citation Envoyé par Oppenheimer Voir le message
    -Et puis je n'ai pas vu d'entité "Personne" (en général, un document est bien écrit par une personne (au moins)), qui pourrait être quant à elle, tant un individu, qu'une entreprise (soit: une personne morale), puisqu'une entreprise peut très bien éditer, par exemple, un règlement interne !
    Et j'ai eu pour ma part eu l'occasion de constater qu'en entreprise, ce genre de considération a tendance à être oublié. M'occupant une fois de conception - c'est à dire au stade conceptuel - de base de données, je constatai à regret que mon responsable n'entendit rien.

    Ca veut dire que même dans le monde professionnel, on a tendance à se mettre un mur.

    Mais c'est important d'avoir des entités larges, très important!

    On peut encore être amené à accepter de nouveaux types d'objets, voire à interagir avec de nouvelles bases de données, il faut tout prévoir !


    Dans le cas de la personne, je ne vois pour ma part que deux définitions essentielles, l'une ramenant à l'individu, l'autre à une entreprise. Mais peut-être qu'il y en a d'autres, allez savoir.


    N.B.:
    Ces considérations ont peut-être l'air naïves ou perfectionnistes, mais il s'agit non seulement de la survie de votre projet, mais plus encore de l'évolutivité de votre modèle pour des projets ultérieurs !
    "La physique n'est pas tout" - Robert J. Oppenheimer

  6. #6
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 7 966
    Points : 30 778
    Points
    30 778
    Billets dans le blog
    16
    Par défaut
    Bonsoir,


    Spawnrad, il faudrait que vous fassiez figurer les attributs (propriétés au sens merisien) des entités-types de votre MCD. Qui plus est, ces attributs doivent figurer là où ils sont strictement pertinents, c'est-à-dire obligatoires. Par exemple, si l’adresse de courriel ne vaut que pour les seuls utilisateurs inscrits, alors l’attribut AdrCourriel correspondant n’est pas pertinent pour les invités et doit figurer non pas dans l’entité-type UTILISATEUR (parce que les invités en hériteraient à tort), mais dans l’entité-type UTILISATEUR_INSCRIT figurant ci-dessous.

    Quels attributs communs d’une part, spécifiques d’autre part caractérisent les utilisateurs inscrits et invités ?

    Reprenons votre diagramme en zoomant sur les utilisateurs. Ci-dessous je fais figurer par des points de suspension les attributs manquants (à cette occasion je précise que l’identifiant est artificiel, c'est-à-dire invariant et dépourvu de signification). A vous de remplacer par les attributs pertinents.



    A noter que dans ce diagramme les pointes de flèches vont du sous-type (par exemple UTILISATEUR_INSCRIT) vers le surtype (UTILISATEUR) : votre MCD est à corriger en ce sens.

    Selon ce diagramme, je dirais qu’un rédacteur est à même de rédiger des articles et aucune autre catégorie de personnes n'a le droit de le faire, notamment les administrateurs. Est-ce bien ce que vous voulez ?


    Citation Envoyé par Spawnrad Voir le message
    Un utilisateur inscrit peut s'abonner à un autre utilisateur inscrit.
    Qu’entendez-vous par s’abonner à un autre utilisateur ? abonnement à un article ? un message ? Une discussion ? (sujet non encore évoqué...)


    Citation Envoyé par Spawnrad Voir le message
    Un utilisateur inscrit peut envoyer des messages à un autre utilisateur inscrit.
    Prenez l’habitude d’énoncer les règles de gestion correspondantes. Par exemple, par référence à la messagerie privée de Developpez.com :
    R150 - Un utilisateur inscrit peut envoyer plusieurs messages ;
    R151 - Un message est émis par au moins un et au plus un utilisateur inscrit ;
    R152 - Un message est destiné à au moins et au plus plusieurs utilisateurs inscrits ;
    R153 - Un utilisateur inscrit peut être destinataire de (recevoir) plusieurs messages.


    Ce diagramme serait à aménager si par exemple la règle R152 devenait :
    R152 - Un message est destiné à au moins et au plus un autre utilisateur inscrit.
    Par la suite (pour le moment il n’y a pas le feu), il faudra penser à représenter la contrainte correspondant à la règle de gestion s’il y a lieu (elle ne vaut pas pour Developpez.com) :
    R154 - l’émetteur d’un message ne peut pas en être destinataire.


    Citation Envoyé par Spawnrad Voir le message
    Un Rédacteurs possède 2 types de fonction ( Expert / Débutant / ou les 2).
    Sur la base de quels critères ? En relation avec quoi ?


    Citation Envoyé par Spawnrad Voir le message
    J'ai ajouté l'entité "sauvegarde_article" contenant la liste des articles sauvegardé par un utilisateur (Un utilisateur inscrits peut sauvegarder un article )
    Si tout utilisateur inscrit peut sauvegarder un article, au vu de votre diagramme il y a un problème, car on ne sait pas qui a sauvegardé. Voici ce que dit votre représentation à propos des sauvegardes :
    Un article peut faire l’objet de plusieurs sauvegardes et une sauvegarde peut concerner plusieurs articles.
    Si donc tout utilisateur inscrit peut sauvegarder un article donné, le diagramme correspondant serait plutôt le suivant :



    Citation Envoyé par Spawnrad Voir le message
    J'ai enlevé des associations avec l'entité non-invité ( je pense que ce n'est pas nécessaires, est ce que je me trompe?
    Tout dépend des règles de gestion que vous souhaitez mettre en œuvre. Il est temps que vous les fournissiez de façon exhaustive (à l’image de celles que j’ai fournies ci-dessus : R150, etc.), car votre diagramme actuel risque fort de ne pas leur correspondre (voyez par exemple les sauvegardes d’articles et l’émission des messages).


    Citation Envoyé par Spawnrad Voir le message
    Un article est attaché à une seule catégorie.
    Une catégorie possède plusieurs sous-catégories.
    Qu’en est-il des relations entre les articles et les sous-catégories ? L’association « relation_3 » mérite d’être expliquée de façon précise.


    Citation Envoyé par Spawnrad Voir le message
    L'utilisateur inscrits peut aimer/commenter un document.
    Commenter un message, un article, d’accord, mais qu’en est-il si le document est une image ?


    Citation Envoyé par Spawnrad Voir le message
    Un admin peut modérer un document.
    Que cela vaille pour les messages, d’accord, mais qu’en est-il des articles ? des images ?


    Conclusion : il faudra que nous disposions de règles complètes et plus précises et que vous répondiez aux questions ci-dessus. A défaut, on ne sait pas si la spécialisation des utilisateurs est acceptable en l’état. En ce qui concerne l’entité-type DOCUMENT, la spécialisation risque d’en prendre un coup (commenter, modérer des images, c'est bizarre...) En revanche, si on arrive à ce qu’un document soit ou bien un article ou bien un message, alors on pourra établir une association entre DOCUMENT et IMAGE. Par exemple, à supposer qu’une image appartienne à un seul document (à vous de préciser la règle) :



    N’hésitez pas à utiliser la touche « F4 » pour prendre connaissance des erreurs signalées par l’AGL.

    A suivre (surtout pas de panique !)
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  7. #7
    Membre éclairé
    Avatar de Oppenheimer
    Homme Profil pro
    Certificat Fédéral de Capacité en informatique - orientation bases de données (conception)
    Inscrit en
    Mars 2012
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Certificat Fédéral de Capacité en informatique - orientation bases de données (conception)
    Secteur : Services de proximité

    Informations forums :
    Inscription : Mars 2012
    Messages : 235
    Points : 891
    Points
    891
    Par défaut Je ne vois toujours pas pourquoi on distingue un document d'un article.
    Bonjour Fsmrel !

    J'espère que vous ne m'en avez pas voulu pour mes questions sur la normalisation.

    Je ne me serait pas permis de discuter à cette heure, d'implémentation d'un projet, à savoir que je n'ai accompli que relativement peu de bases jusqu'au MPD jusqu'à aujourd'hui.

    Puis-je me permettre une question également ? Les symboles arrondis sont bien des "OU", et ceux-ci comportant une crois des "OU exclusifs" à l'instar des circuits logiques ?

    Si c'est le cas, alors je n'y suis pas, ou pas encore.

    Toutes mes excuses à Spawnrad, j'avais lu comme titre "Problématique: Choix de la modélisation", mais je crois que ça a été correctement renommé par la modération.
    ------
    N.B.:
    La distinction entre un document et une "variante de document comme un article" a quoi comme vertu exactement, (je ne vois pas cet aspect dans votre réponse Fsmrel, quoiqu'ayant lu le paragraphe sur le document), c'est d'éviter ce qu'on appelle vulgairement de potentielles "valeurs vides" ?
    "La physique n'est pas tout" - Robert J. Oppenheimer

Discussions similaires

  1. gestion des articles avec un indice
    Par cladsam dans le forum SAP
    Réponses: 10
    Dernier message: 13/02/2008, 12h14
  2. Gestion des variables d'un document
    Par philben dans le forum Contribuez
    Réponses: 1
    Dernier message: 12/01/2008, 22h47
  3. Réponses: 10
    Dernier message: 23/10/2006, 12h01
  4. Réponses: 2
    Dernier message: 11/08/2006, 11h17

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