Utilisateur anonyme
-
12 juin 2008 à 14:55
Utilisateur anonyme -
13 juin 2008 à 09:34
Salut a tous.
Débutant dans le milieu professionel (stage), je suis un peux perdu face a un MCD que je dois réaliser. Nous avons survolé la méthode MERISE en cours mais le manque d'éxperience ne me permet pas d'être totalement autonome. Je poste ici afin d'avoir un peux d'aide de la par de la communauter si possible.
Je travail donc sur un petit projet d'application php/mysql censé via une googlemap et des marker, montrée tout les points de connexions du pays nivernais (Morvan). Voila les donnée que je doit traitées:
- Type de point (Hotspot wifi, cybercafé, cyberbase, cyberespace, etc)
- Nom (Mission numérique, Café du centre, etc)
- Adresse
- Ville
- CP
- N° télephone
- Longitude et Latitude (pour permettre au utilisateur de télecharger des fichier POI pour gps)
- Jours d'ouverture (pas d'heure, seulement les jours)
- Tarif (Gratuit ou payant seulement)
- Type de connection proposées (Cablé, sans fil, ou les deux)
Voici un debut de MCD que j'ai réaliser (j'éspere que ce sera compréhensible) :
Type_de_point:
- ID (cléf primaire, BIGINT)
- Intitulé (varchar de 50)
Coordonnées:
- ID (clef primaire, BIGINT)
- Longitude (double)
- Latitude (double)
points_de_connexion:
- ID (clef primaire, BIGINT)
- Nom (varchar de 100)
- Adresse (varchar de 100)
- CP (varchar de 5)
- Telephone (varchar de 10)
- Ville (varchar de 50)
- Payant (bool)
- Cable (bool)
- Sans_fil (bool)
- ID_type_point (BIGINT, clef étrangére -> Type_de_point) (note: j'ai chercher sur google mais il ne semble pas y avoir de clef étrangére dans mysql)
- ID_coordonnées (BIGINT, clef étrangére -> Coordonnées)
Et c'est là que je suis perdu :
- Pour les jours de la semaine, est-ce que je dois lister du lundi au dimanche dans ma table Point_de_connection, en spécifiant qu'il sont boolean (fermer - ouvert)
- la table Coordonnées devrait elle contenir Adresse, Ville et Code_postale
- Faut-il crée une table "connections_disponible" avec les champ Payant, Sans_fil et Cable ?
Désolé d'avoir ecrit un -presque- roman, et aide ou pas, mercie a la communauter de faire vivre codes-sources.
Romano58
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 12 juin 2008 à 18:54
Salut,
Manquent les relations, mais c'est vrai que là, c'est pas facile de les dessiner :o))
"Pour les jours de la semaine, est-ce que je dois lister du lundi au
dimanche dans ma table Point_de_connection, en spécifiant qu'il sont
boolean (fermer - ouvert)"
=> C'est un peu toi qui vois... Il n'y a pas de MCD qui soit une vérité absolue pour un cas donné : il peut y en avoir plusieurs, tout aussi valables ; cela dépend de contraintes de gestion imposées (par le contexte, un cahier des charges, ...), de ce qui te parait cohérent...
Tu peux tout à fait gérer les jours d'ouverture/fermeture dans une entité :
-------------
| ouverture |
-------------
| lundi |
| mardi |
| mercredi |
| jeudi |
| vendredi |
| samedi |
| dimanche |
-------------
Dans ta base de données, plus tard, chaque enregistrement sera un booléen (inutile de le préciser pour le moment, sauf dans le dictionnaire de données)
Mais tu peux faire autrement : coder les jours d'ouverture en binaire, en attribuant des puissances de 2 comme valeur aux jours de la semaine, et en additionnant ceux pour les jours ouverts.
Lundi : 1
Mardi : 2
Mercredi : 4
Jeudi : 8
Vendredi : 16
Samedi : 32
Dimanche : 64
Ouvert samedi et dimanche, ça ferait : 96
Ouvert tous les jours sauf le lundi, ça ferait : 127
"la table Coordonnées devrait elle contenir Adresse, Ville et Code_postale"
=> La gestion des adresses dans les bases de données est toujours un problème (c'en est même un cas d'école). Le problème, c'est que tu te poses déjà la question des tables. Et tu ne devrais pas. Tu devrais penser "entités". Les entités pourront devenir des tables après le MLD, mais pas uniquement : une relation n-aire deviendra aussi une table.
Tout dépend en fait de comment tu souhaites gérer les adresses.
L'adresse peut être décomposée (n°, étage, voie, complément, CP, ville, pays), ou non. Pour une facturation, la décomposition peut être utile. Dans ton cas, pas forcément.
Les adresses peuvent donc être une simple propriété de l'entité Point_de_connexion.
"Faut-il crée une table "connections_disponible" avec les champ Payant, Sans_fil et Cable"
=> J'ai pas le temps, de répondre, les collègues me mettent à la porte...
<hr size="2" width="100%" />Neige
N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...