Précédent   Forum des professionnels en informatique > Général Développement > Conception > Modélisation > Schéma
Schéma Modélisation Relationnelle (Dépendances Fonctionnelles, Formes Normales, Entité-relation, MCD, MPD ...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/02/2012, 18h54   #1
Invité de passage
 
Homme
Inscription : février 2012
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Seine Saint Denis (Île de France)

Informations forums :
Inscription : février 2012
Messages : 5
Points : 0
Points : 0
Par défaut Programme TV sport

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 :
Images attachées
Type de fichier : jpg MCD-0.1.jpg (61,8 Ko, 13 affichages)
BruceN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 11h23   #2
Invité régulier
 
Homme Julien SOURGET
Administrateur systèmes et réseaux
Inscription : août 2011
Messages : 15
Détails du profil
Informations personnelles :
Nom : Homme Julien SOURGET
Localisation : France

Informations professionnelles :
Activité : Administrateur systèmes et réseaux

Informations forums :
Inscription : août 2011
Messages : 15
Points : 9
Points : 9
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 ?
julien_33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 12h23   #3
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
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 : 11 029
Points : 18 331
Points : 18 331
Envoyer un message via MSN à CinePhil
Citation:
MCD pour un site Internet que je souhaiterais développer
Pourquoi modéliser le site internet dans le MCD puisqu'il n'y en a qu'un ?

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 !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 16h43   #4
Invité de passage
 
Homme
Inscription : février 2012
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Seine Saint Denis (Île de France)

Informations forums :
Inscription : février 2012
Messages : 5
Points : 0
Points : 0
Par défaut Merci beaucoup voici mes modifications

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:
Pourquoi modéliser le site internet dans le MCD puisqu'il n'y en a qu'un ?
Pour répondre à cela, il me semblait qu’il fallait que je représente le site internet. Si je l’enlève je crois que je ne pourrais plus relier les internautes avec leurs inscriptions au site Internet et aussi les envoies de messages via Contact ?

J’ai fait une table pour la référence aux villes qu’en penses tu ?

Merci beaucoup pour votre aide
Images attachées
Type de fichier : jpg MCD_0.2.jpg (63,6 Ko, 4 affichages)
BruceN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 17h09   #5
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
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 : 11 029
Points : 18 331
Points : 18 331
Envoyer un message via MSN à CinePhil
Citation:
Envoyé par BruceN Voir le message
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 ?
Le livre de Michel Diviné t'apprendra tout sur la modélisation Merise et les différences entre MCD et MLD.

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:
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
Parmi les SGBD les plus répandus, MySQL est parmi les plus simple, mais souffre de nombreux défauts.
En plus rigoureux et pas beaucoup plus complexe, tu as Postgresql.

Citation:
@CinePhil
Pour répondre à cela, il me semblait qu’il fallait que je représente le site internet. Si je l’enlève je crois que je ne pourrais plus relier les internautes avec leurs inscriptions au site Internet et aussi les envoies de messages via Contact ?
Une simple date d'inscription dans la table des internautes suffit !

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 !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/02/2012, 16h38   #6
Invité de passage
 
Homme
Inscription : février 2012
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Seine Saint Denis (Île de France)

Informations forums :
Inscription : février 2012
Messages : 5
Points : 0
Points : 0
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
Images attachées
Type de fichier : jpg MCD_0.3.jpg (54,2 Ko, 2 affichages)
BruceN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 17h22   #7
Invité de passage
 
Homme
Inscription : février 2012
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Seine Saint Denis (Île de France)

Informations forums :
Inscription : février 2012
Messages : 5
Points : 0
Points : 0
Billet sur les règles de gestion lu ! Au top Merci n'hésites pas pour toute critique
BruceN est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h56.


 
 
 
 
Partenaires

Hébergement Web