|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2012 Messages : 5 ![]() |
Bonjour,
Je suis en train de faire mon MCD pour un site Internet que je souhaiterais développer. Je ne m’y connais pas en développement. Je me suis aidé des cours et des autres MCD que j’ai vu sur Internet pour faire mon MCD. Pour que vous puissiez comprendre un peu le site que je souhaite développer. Il s’agit d’un site Internet permettant à des personnes de se rencontrer pour regarder un programme sportif télévisé ensemble dans les locaux de l’une des personnes. Les « Viewers » sont ceux qui se déplaceront pour aller voir le programme sportif chez une personne dite « Organizer ». - Pour être « Viewers » ou « Organizer » il faut s’inscrire sur le site - Après cela, via le site, les « Viewers » pourront chercher des « Organizers » près de chez eux et leur envoyer des messages pour fixer un rendez vous et vice versa - Les « Viewers » par l’intermédiaire de leurs comptes utilisateur pourront changer de statut (pour être Organizer) et vice versa - Les internautes pourront partager le site sur Facebook 1) Pourriez vous svp me dire si le MCD est correcte ? Si vous voyez des failles dans mon MCD ? Des critiques ? 2) Quelles sont les prochaines étapes une fois la MCD validée ? Il me semble que je dois développer en Sql ma base de donnée, n’est ce pas ? Merci d’avance pour votre aide Voici mon MCD : |
|
|
00
|
|
|
#2 |
|
Invité régulier
![]() Julien SOURGETAdministrateur systèmes et réseaux Inscription : août 2011 Messages : 15 ![]() |
Bonjour,
Tes tables organizer et viewer ne sont qu'une seul et même table car un adhérant de ton site peut être tour à tour viewer ou organizer. Tes associations pointes sur la même table et tu viens écrire dans l'asso qui convient suivant le cas. Si tu comptes stocker l'adresse IP de la personne qui s'inscrit, je tinvite à te rapprocher de la CNIL pour connaitre les démarches de déclaration de ton fichier au même titre que ta base va stocker des données personnelles et donc doit être déclaré. Une fois, ton mcd clair, tu fais ton modèle logique de données et une fois cela fait, tu passes à la création de ta base de données. Mais avant valide bien ton mcd. As tu déjà choisi ton sgbd ? |
|
|
00
|
|
|
#3 | |
![]() ![]() |
Citation:
Je suis d'accord avec Julien33 ; tes organizers et tes viewers sont les mêmes personnes. D'ailleurs tu vois bien que tu as créé deux entités types identiques. Par contre, il faut que tu modélises les événements programmés par les internautes (organizers) et auxquels peuvent se rendre d'autres internautes (viewers). Plutôt que de répéter X fois le nom de la ville, au risque de l'écrire plusieurs fois différemment, externalise la dans une table de référence des villes.
__________________
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
|
|
|
#4 | |
|
Invité de passage
![]() Inscription : février 2012 Messages : 5 ![]() |
Bonjour,
Merci Julien 33 et CinePhil. En effet, j’ai modifié le MCD comme vous me l’avez conseillé. Qu’en pensez vous désormais ? @Julien 33 : Pour les IP, je ne sais pas si c’est une pratique courante de répertorier ses internautes par IP mais je l’ai mis pour avoir une clé pour la table. Connaitrais tu d’autres pratiques ? Je vais me rapprocher de la CNIL de toute façon car je serai en futurs possession d’adresses email etc… Merci du conseil J’ai l’impression en regardant sur Internet que le modèle logique de données (MLD) est la même chose que le MCD. En fait, lorsque je lis ce qui ce dit sur les MLD, ils disent qu’ils faut mettre le MCD sous forme de « table », hors, pour moi, ce que j’ai fait dans mon MCD, représente déjà des tables (de plus le google images de MLD et MCD me parait bien similaire). Quelle est la vrai différence ? Je voudrais utiliser Mysql comme SGBD. Je sais qu’il existe des choses plus simples mais je voudrais mieux connaître le code et comment le mêler plus tard au PHP. Des conseils ? Merci beaucoup @CinePhil Citation:
J’ai fait une table pour la référence aux villes qu’en penses tu ? Merci beaucoup pour votre aide |
|
|
|
00
|
|
|
#5 | |||
![]() ![]() |
Citation:
En résumé, dans un MCD, on représente des entités types et des associations entre les entités types, sans préjuger de le schéma sera implémenté. Dans le MLD, on transforme le modèle conceptuel en un modèle qui ressemble à la manière dont sera construite la base de données. Les entités types deviennent des tables et certaines associations deviennent aussi des tables. On fait cette fois apparaître toutes les colonnes des tables, y compris les clés étrangères qui ne doivent pas figurer dans un MCD. Par exemple, soit le MCD suivant : personne -1,1----habiter----0,n- ville Avec les propriétés suivantes dans les entités types : personne (prs_id, prs_nom, prs_prenom, prs_date_naissance) ville (vil_id, vil_code_insee, vil_nom) Passage au MLD : personne <--------------------------- ville Et on fait apparaître la clé étrangère référençant l'identifiant de la ville dans la table personne : ville (vil_id, vil_code_insee, vil_nom) personne (prs_id, prs_id_ville, prs_nom, prs_prenom, prs_date_naissance) Citation:
En plus rigoureux et pas beaucoup plus complexe, tu as Postgresql. Citation:
Cependant, si tu peux avoir dans ta BDD des internautes non inscrits, alors il suffit de faire un héritage : inscrit -(1,1)----être----0,1- internaute internaute (int_id, int_ip...) inscrit (ins_id_internaute, ins_nom, ins_prenom, ins_date_inscription...) J’ai fait une table pour la référence aux villes qu’en penses tu ?[/QUOTE] J'en pense que tu te complique énormément la vie ! internaute -1,1----habiter----0,n- ville Ou bien, en cas d'héritage : inscrit -1,1----habiter----0,n- ville ville (vil_id, vil_nom) inscrit (ins_id_internaute, ins_id_ville, ins_nom, ins_prenom, ins_date_inscription...) Et pour le reste aussi. Je te conseille la lecture de mon billet sur les règles de gestion. Exemples... Règle de gestion : Un inscrit peut proposer plusieurs événements et un événement est proposé par un seul inscrit. MCD : inscrit -0,n----proposer----1,1- evenement Tables : inscrit (ins_id_internaute, ins_id_ville, ins_nom, ins_prenom, ins_date_inscription...) evenement (evt_id, evt_id_proposant, evt_date_heure, evt_libelle...) Règle de gestion : Un inscrit peut voir plusieurs événements et un événement peut être vu par plusieurs inscrits. MCD : inscrit -0,n----voir----0,n- evenement Tables : inscrit (ins_id_internaute, ins_id_ville, ins_nom, ins_prenom, ins_date_inscription...) evenement (evt_id, evt_id_proposant, evt_date_heure, evt_libelle...) ins_voir_evenement (ive_id_inscrit, ive_id_evenement) Bon courage !
__________________
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 ! |
|||
|
10
|
|
|
#6 |
|
Invité de passage
![]() Inscription : février 2012 Messages : 5 ![]() |
Bonjour,
Merci pour cette réponse très complète. J’ai réadapté mon MCD en fonction. J’ai : -enlevé le « Changement de statut » comme relation avec le site Internet -enlevé la relation « envoie de message via Contact » entre l’internaute et le site Internet -enlevé le site Internet -fait un héritage pour les internautes non inscrits « Organizer/Viewer----Etre----Internaute » -mis en place la base de donnés « Ville » avec relation « Habiter » avec « Internaute » et « Oreganizer /Viewer » Je n’ai pas : -rajouté d’entités « inscrits » puisque je considère que ce sont les « Organizers/Viewers » -mis « inscrit -0,n----proposer----1,1- evenement » puisque c’est en fait « Organizers/Viewers- - -1,n---Organisent et visionnent---0,n—Evénement télévisé » J’y vois plus claire entre les MCD et le MLD merci pour ces explications. Merci pour le conseil d’utiliser Postgresql je prends note. Je vais également lire ton billet sur les règles de gestion. Voici ma dernière version du MCD n’hésite pas à critiquer. Merci beaucoup |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : février 2012 Messages : 5 ![]() |
Billet sur les règles de gestion lu ! Au top Merci n'hésites pas pour toute critique
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com