|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() |
bonjour
je pense que j'ai fais une erreur dans la définition de l'association entre les deux entités pharmacie et administrateur (ex : utilisateur), et entre l'entité secteur (ex: division) et administrateur. pour expliquer la situation, il y a deux types d'administrateurs : administrateur système : il n'appartient à aucun secteur, il s'occupe de la gestion des administrateurs_secteurs (ajouter un administrateur secteur, désactiver son accée ...) et la gestion des secteurs (ajouter un secteur, supprimer un secteur..) administrateur secteur : il appartient à un secteur, il s'occupe de la gestion des pharmacies qui appartient au même secteur que lui et de leurs gardes.(ajouter une pharmacie, mettre a jour les informations d'une pharmacie, lui attribuer une garde, supprimer une garde....) voilà MCD que j'ai fait ![]() que dois modifier dans mon MCD pour quel répondre à ces règles de gestion ? est ce je dois supprimer l'association entre pharmacie et administrateur ? ( parce que je pense que la relation n'existe pas entre administrateur_secteur et la pharmacie de façon direct mais en passant par le secteur) |
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Citation:
Est-ce incompatible avec cette notion de non appartenance à un secteur ? Si c'est le cas, il faut passer les cardinalités à (0,1 - 0,n), ce qui, en toute rigueur, entraînerait la création d'une table associative. Citation:
Tes explications sont ambigües par rapport aux verbes employés dans les associations de ton MCD. Précise mieux tes règles de gestion et tu sauras comment corriger ton MCD.
__________________
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
|
|
|
#3 | |
|
Nouveau Membre du Club
![]() |
Citation:
voilà, j'ai reformulé les règles de gestion : - une pharmacie est géré par un ou plusieurs administrateur_secteur, un administrateur_secteur gère plusieurs pharmacie (en effet seulement les pharmacies de son secteur). - un administrateur peut se situe dans un seul secteur, dans un secteur se situer un ou plusieurs administrateur. - une pharmacie est localisé dans un seul secteur, dans un secteur se localise une ou plusieurs pharmacies. |
|
|
|
00
|
|
|
#4 | |
![]() ![]() |
Citation:
J'ai l'impression que par cette "situation" tu veux en fait signifier qu'un administrateur peut administrer un secteur et qu'un secteur peut être administré par plusieurs administrateurs. Si ce n'est pas ça, et qu'il s'agit bien d'une situation géographique - là où habite ou travaille l'administrateur - pourquoi ne pas situer l'administrateur système ?
__________________
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
|
|
|
#5 | |
|
Nouveau Membre du Club
![]() |
Citation:
|
|
|
|
00
|
|
|
#6 |
![]() ![]() |
Alors dans ce cas, je pense que tu n'as pas besoin de préciser l'administration des pharmacies par les administrateurs puisqu'on les retrouve à travers l'administration du secteur.
Sauf si ce ne sont que certaines pharmacies du secteur qui sont attribuées à un administrateur et qu'il ne peut pas administrer toutes les pharmacies du secteur.
__________________
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
|
|
|
#7 | |
|
Nouveau Membre du Club
![]() |
Citation:
voilà je viens de mettre à jour et compléter le MCD et je pense que avec ce nouveau MCD il est devenu impossible pour un administrateur d'administrer une pharmacie appartenant à un secteur différent de celui qui l'administre. (vous pouvez le confirmer ?)
|
|
|
|
00
|
|
|
#8 | |
![]() ![]() |
Citation:
Grâce à ce MCD, on pourra n'afficher à l'administrateur que les pharmacies de son secteur. Bien sûr, il faut que le programme applicatif contienne la bonne requête ou fasse appel à la bonne vue de la BDD. Quelques remarques complémentaires sur ton MCD : 1) La clé primaire de l'entité type Administrateur devrait être de type entier. Idem pour l'entité type Langue. 2) Tu devrais externaliser la fonction de l'administrateur dans une autre entité de référence. 3) Pourquoi ce choix de clé primaire multi-colonnes pour l'entité-type Garde ? Avec ta clé primaire, rien n'empêche une pharmacie de faire plusieurs gardes aux mêmes dates mais à des périodes différentes. Estc-e cohérent ? 4) Éventuellement, reconsidère le type Entier long de certaines clés primaires. N'est-ce pas un peu grand ? Ça dépend aussi peut-être du SGBD que tu vas utiliser. 5) L'association "être géré" suggère qu'un administrateur est administré par un à plusieurs administrateurs et vice-versa. Y a t-il plusieurs administrateurs système qui peuvent gérer tous les autres administrateurs ? De plus, rien n'interdit dans ton modèle un administrateur "de base" de gérer un autre administrateur "de base", voire même un administrateur de base gérer un administrateur système ! Je pense qu'en toute rigueur il faudrait faire un héritage pour distinguer les aministrateurs de base des administrateurs système.
__________________
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
|
|
|
#9 | |
|
Nouveau Membre du Club
![]() |
Citation:
2)5) en effet il y a un lien entre l'association etre-gerer et l'attrubit fonction (fonction peut avoir comme valeur "administrateur_système" ou "administrateur_secteur") 3)une pharmacie peut faire plusieurs gardes, une garde est faite par une ou pusieurs pharmacies. une garde est definie par deux dates (debut et fin) et par son type (garde jour ou garde nuit) (dans les même dates une pharmacie peut faire une garde de jour et une garde de nuit) 4)c'est ok, et pour SGBD je vais utiliser MySQL |
|
|
|
00
|
|
|
#10 | |
|
Nouveau Membre du Club
![]() |
Citation:
je viens de lire un article sur l'héritage histoire de rafraîchir mes connaissances sur cette manière de modélisation, mais ça m'a pas aidé bq à voir comment je peux implémenter l'héritage dans le cas de mon système. |
|
|
|
00
|
|
|
#11 |
![]() ![]() |
Tu as des personnes qui sont soit des administrateurs système, soit des gestionnaires de secteur.
Apparemment, toutes leurs propriétés sont communes mais leurs associations sont différentes. En toute rigueur, il conviendrait donc de faire un héritage. administrateur -(1,1)----être----0,1- personne | | 0,n | | | | | administrer | | | | | 1,1 | | | gestionnaire -(1,1)----être----0,1------| | ----------0,n----gérer----1,1---- secteur
__________________
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
|
|
|
#12 | |
|
Nouveau Membre du Club
![]() |
Citation:
1) un administrateur est un personne, un personne peut être un administrateur 2) un gestionnaire est un personne, un personne peut être un gestionnaire 3) un administrateur administre plusieurs gestionnaires, un gestionnaire est administré par un seul administrateur 4) un gestionnaire gère plusieurs secteurs, un secteur est gérer par un seul gestionnaire remarques : 1,2) Ok 3) quel est la règle de gestion la plus proche de la réalité ? un gestionnaire est administré par tous les administrateur ou un gestionnaire est administré par un seul administrateur ?? 4) un gestionnaire gère un et un seul secteur, un secteur est gérer par 1 ou plusieurs gestionnaires |
|
|
|
00
|
|
|
#13 | ||
![]() ![]() |
Citation:
3) Un administrateur peut administrer plusieurs gestionnaires et un gestionnaire est administré par un seul administrateur. 4) Un gestionnaire peut gérer plusieurs secteurs et un secteur est géré par un seul gestionnaire. Citation:
Mais au fait, que signifie cette notion d'administration d'un gestionnaire de secteur ? S'agit-il seulement d'enregistrer le fait que l'administrateur X a créé dans la BDD le gestionnaire Y ? Cette information est-elle si importante qu'elle doive être sauvegardée ? Ou bien s'agit-il seulement de gérer les droits sur l'application, les administrateurs ayant plus de pouvoirs que les gestionnaires ?
__________________
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
|
|
|
#14 | |
|
Nouveau Membre du Club
![]() |
Citation:
vos remarques et suggestions sont les bienvenues
|
|
|
|
00
|
|
|
#15 |
![]() ![]() |
Il s'agit bien d'une gestion de droits des utilisateurs à faire telle ou telle action à l'aide du logiciel mais est-il important pour les données de savoir que c'est Gaston qui a enregistré la pharmacie Longtarin à l'emplacement du commissariat de Police de Ouagadougou ?
C'est ce que permet de savoir le MCD tel que nous l'avons construit mais est-ce important pour le client de l'application de le savoir ? À vous de le dire.
__________________
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
|
|
|
#16 | |
|
Nouveau Membre du Club
![]() |
Citation:
|
|
|
|
00
|
|
|
#17 |
|
Nouveau Membre du Club
![]() |
voilà je viens de mettre à jour le MCD, et je me demande si j'ai bien fait pour la relation entre Administrateur,Gestionnaire et Personne ?
et pour l'association "être" le fait d'utiliser le même nom deux fois ça pose pas problème ?
|
|
|
00
|
|
|
#18 |
![]() ![]() |
Ça semble pas mal mais attention au piège de l'héritage !
Je ne sais pas quel est ton logiciel de modélisation mais tu ne devrais pas avoir d'identifiant propre dans les entités types filles. L'identification de celles-ci se fait relativement à l'entité type mère "Personne". Ainsi, lors du passage au MLD, la clé primaire de la table fille est récupérée via une éclé étrangère référençant l'identifiant de la table mère. Reprends mon schéma du 04/02, les cardinalités 1,1 sont entre parenthèses pour signifier l'identification relative.
__________________
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
|
|
|
#19 | |
|
Nouveau Membre du Club
![]() |
Citation:
![]() 2) j'utilise PowerAMC comme logiciel de modélisation, et voilà le MPD qu'il m'a généré
|
|
|
|
00
|
|
|
#20 |
![]() ![]() |
Tu dois avoir une option pour empêcher la reprise des colonnes de la table mère dans les tables filles.
Tel que je vois le MLD, j'ai l'impression que le code SQL qui sera généré créera les mêmes colonnes dans les trois tables. Normalement, les tables filles ne devraient comprendre que l'identifiant hérité de la table mère.
__________________
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 ! |
|
20
|
Copyright © 2000-2012 - www.developpez.com