[RESOLU] Ce MLD est il correct ?

Eléphant du PHP | 229 Messages

05 juil. 2013, 06:16

Bonjour,

Ce MLD est il correct ?

Image

Uploaded with ImageShack.us

D'avance merci.

ViPHP
ViPHP | 2577 Messages

05 juil. 2013, 10:01

Bonjour,

Il me semble que pour les 3 relations cree, modifie et supprime une seule suffit avec un type d'action.

Un administrateur n'est pas un utilisateur ?

Ton entité infraction me semble être une entité sous-catégorie. Par contre la relation "saisie les interventions du mois" pourrai devenir une entité infraction. Ceci dans la mesure ou une infraction est bien quelque chose de géré par l'application (quelque chose de centrale ?)

Cette infraction :
- appartiendra à une sous-catégorie
- sera saisie par un utilisateur (qui appartient à une brigade ?)
- concernera une ville
- ???

Eléphant du PHP | 229 Messages

06 juil. 2013, 05:43

Merci, je vais retravailler ca.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

06 juil. 2013, 16:06

salut,

les sous catégorie n'ont pas besoin d'être dans une autre table que la table catégorie, il te suffit d'avoir une auto jointure sur la table catégorie.

la relation appartient par de catégorie et va vers catégorie.
cela se termine par une colonne "id_parent" qui est une clef étrangère (nullable) vers id_catégorie, tu peux ainsi facilement trouver les enfants et avoir des sous catégorie multiple ;)

ensuite oui un administrateur c'est un utilisateur particulier, donc soit un héritage d'utilisateur (mais cela n'a pas d’intérêt si tu n'apporte pas d'info en plus) soit un "type d'utilisateur" qui sera un domaine simple (admin, normal) (si le type peu être décliner "à l'infini" ce sera une entité à part et une FK).

modifie / créer / supprime, c'est pour avoir un historique des action ?

sinon, comme mazarini, c'est la même relation (disons action) avec une date et un type. La relation sera entre utilisateur et utilisateur ;)

ensuite je ne comprend pas bien la chose, parce que pour moi c'est les utilisateurs qui appartiennent à une brigade et pas les infractions ?

pour moi la relation "saisie des infractions du mois" devrais être une entité.
Pourquoi ? parce que (si j'ai bien compris le but) il s'agit d'avoir le nombre d'infraction par catégorie et brigade sur un mois données, il s'agit donc d'une entité à part entière avec ses propriété (mois et nombre d'infraction). je vais l'appeler stat.
elle aura comme relation :
- saisir : relation avec utilisateur => utilisateur N -> 1 stat (une stat est saisie par un utilisateur
- appartenir à la brigade => brigade N -> 1 stat (une stat est pour une brigade)
- appartient à la catégorie => catégorie N -> 1 stat (une stat apprtient à une catégorie)

du coup ville à une relation avec brigade ? (a moins qu'une brigade puisse être sur plusieurs ville au quel cas on ajoute une relation entre 1N ente stat et ville).


Pour la date limite, je comprend l'utilité (restreindre la durée de saisie) mais pour moi elle devrait être lié aux catégorie et nom à la relation de saisie.
Ceci simplement parce que l'on souhaite restreindre la saisie d'une catégorie d'infraction à une certaine date.

Sur le même principe on peu ajouter une relation avec brigade pour permettre des dates de saisie différentes suivant les brigades.

sans plus d'info sur le cahiers des charges je ne peux pas dire grand chose de plus, hors mis que l'on accepte maximum, une relation ternaire et qu'il y a très souvent des possibilités de réduire ces relations (dans le but de simplifier le modèle ;) )


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 229 Messages

08 juil. 2013, 20:55

Merci pour cette analyse.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

09 juil. 2013, 21:27

de rien
Il en faut peu pour être heureux ......