|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : juin 2006 Messages : 38 ![]() |
Bonjour tout le monde,
j'ai un petit problème au niveau de mes cardinalités : J'ai une centaines d'objets et 4 plateaux. Les objets se positionnent sur les plateaux. A un instant t, un objet A ne peut se trouver que sur un seul plateau (logique) Cependant, à l'instant t+1, il peut très bien se trouver sur un des trois autres plateaux Ainsi, la cardinalité qui relie objet à plateau est -elle : -- (0, n) --> un objet peut se trouver sur plusieurs plateaux, ou bien -- (0, 1) --> un objet peut se trouver sur 0 ou 1 plateau ????? Car je ne sais pas si la cardinalité se calcule à l'instant t ou pour un tps infini. Merci de votre aide |
|
|
00
|
|
|
#2 |
|
Invité régulier
![]() Inscription : juin 2006 Messages : 38 ![]() |
Et si la cardinalité est (0,1), quelqu'un sait comment je pourrait archiver les compositions de chaque plateau ?
En fait je voulais avoir un attribut : "date_objet_plateau" qui indiquerai a quelle(s) date(s) se trouve l'objet X sur le plateau Y. Mais si ma cardinalité est (0,1) je ne peut pas mettre cette attribut dans l'association qui aurait pu relier les deux tables. comment faire pour garder un historique de tout ca ??? Aidez moi please, je me perd !!! |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : juin 2006 Messages : 38 ![]() |
Re Salut,
en fait j'ai lu ça sur le site de Developpez.com (http://mhubiche.developpez.com/Acces...s/bases/#LII-1) : "Donc, lorsque nous sommes en présence d’une association plusieurs à plusieurs, il convient de toujours se poser les questions relatives aux données complémentaires, et tout particulièrement les données historiques. " Ma question est : Lorsque nous sommes en présence d'une association 0 (ou 1) à plusieurs, est-ce que les Historiques de ces données pourront être automatiquement retrouvés ? ou faut il que je le modélise explicitement ? |
|
|
00
|
|
|
#4 | |
|
Inactif
Inscription : décembre 2003 Messages : 1 946 ![]() |
Il te faut 3 entités :
Citation:
|
|
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : juin 2006 Messages : 38 ![]() |
Salut,
merci bcp pour ta réponse. En fait j'avais essayé de faire ceci auparavant : Modèle Conceptuel des Données3.doc, est-ce ca pourrait aller, compte tenu de mes exigences ? Est-ce qu'avec ce schéma là, je pourrai plus tard faire un historique sur les différentes versions des plateaux (ex : retrouver la version du plateau X à la date Y, ou encore, sortir ttes les versions du plateau X contenant l'objet O ?). ??? |
|
|
00
|
|
|
#6 | |
|
Inactif
Inscription : décembre 2003 Messages : 1 946 ![]() |
Citation:
|
|
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : juin 2006 Messages : 38 ![]() |
Ok, ne bouge pas, je vais essayer de faire comme tu m'as dit.
Apres je te montre, Merci, ca m'aide beaucoup, |
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Inscription : juin 2006 Messages : 38 ![]() |
Voilà, j'ai changé : j'ai rajouté une table pour la position des objets, indépendamment de leur N°de série et autres caractéristique.
Modèle Conceptuel des Données4.doc, peux tu me dire si avec ca y a moyen de faire historique sur les version des plateau et un historique sur les objet et leurs différentes positions ? D'avance merci, PS: si tu as des critiques à faires ou d'autres idées n'hésites pas ... |
|
|
00
|
|
|
#9 |
|
Inactif
Inscription : décembre 2003 Messages : 1 946 ![]() |
Je n'ai pas beaucoup de temps maintenant, mais regarde là :
http://www.developpez.net/forums/sho...d.php?p=516217 |
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Inscription : juin 2006 Messages : 38 ![]() |
Merci c'est cool,
je vais essayer de me concentrer sur le paragraphe enorme que tu as écrit. Par contre le document :"Un MCD pour servir d'exemple" je n'arrive pas à le lire. Est-ce que tu pourrais essayer de me le renvoyer par hasard. Merci beaucoup. Je reviens des que j'ai une autre question ! Je pense bientot |
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Inscription : juin 2006 Messages : 38 ![]() |
En fait, par rapport à ce que tu a écrit sur l'autre discussion que tu m'a envoyé, je pense que mon pb correspond a un historique.
En effet, l'outil que je dois mettre en place doit pouvoir : -- sortir l'historique des l'ensemble des versions d'un plateau Exemple 1: sortir la configuration du plateau A à la date du 10 juin 2002 -- sortir l'historique d'un composant Exemple 2: sortir la liste de l'ensemble des versions de plateau utilisant une carte XY 2.03. aurais-tu des cours la dessus, et encore mieux des exemples de schemas de modélisation avec ce genre d'historique ? Merci bcp, ton aide m'est tres précieuse, sans ca je suis perdu dans mon stage. |
|
|
00
|
|
|
#12 | ||||
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
Vous faites tous la même erreur de modélisation qui se répête de décennies en décennie... Vous oubliez que DATE est une entité que l'on pourrait apeller PLANNING !
Donc le modèle conceptuel se résume à : Code :
avec des liens identifiants (1,1) pour objet et planning. Ce qui conduit au modèle physique : Code :
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
||||
|
00
|
|
|
#13 |
|
Inactif
Inscription : décembre 2003 Messages : 1 946 ![]() |
Pour gérer l'historique des plateaux, des objets et de l'appartenance :
|
|
|
00
|
|
|
#14 |
|
Invité régulier
![]() Inscription : juin 2006 Messages : 38 ![]() |
Salut !
Pour répondre à SQLpro (merci de ton aide) j'ai essayer de faire ce schéma du coup : MCD5.doc, Par contre j'ai pas compris les cardinalités. Peux tu me les réexpliquer please Et par rapport à ce schéma penses tu que ceci répondra à mes exigneces d'historiques que j'ai cité un peu plus haut dans la discussion ? Merci beaucoup. Quand à toi Mediat, merci également, je vais essayer de faire un autre schéma en me basant sur le tien. Par contre je n'ai pas compris pourquoi tu a mis une version objet (qu'est-ce que je doit mettre de plus que ds objet ?), et je n'ai pas compris non plus comment lire les cardinalité Je suis désolé d'etre un boulet mais j'ai vraiment besoin de votre aide ! Encore merci. |
|
|
00
|
|
|
#15 |
|
Inactif
Inscription : décembre 2003 Messages : 1 946 ![]() |
VersionObjet est là pour garder l'historique des changements dans la définition des objets, si tu n'en a pas besoin, il suffit de l'enlever.
Pour les cardinalités : s'il y a une patte : maxi = 1 s'il y a 3 pattes : maxi = n S'il y a une flèche : relation identifiante (la clé migrée fait partie de la clé) si le trait est barré par un 0 : mini = 0 si le trait est barré par un I : mini = 1 |
|
|
00
|
|
|
#16 |
|
Invité régulier
![]() Inscription : juin 2006 Messages : 38 ![]() |
Salut Mediat,
j'ai tenté de faire le schéma suivant par rapport à ce que tu m'a dit : MCD6.doc. Je ne suis pas sure des cardinalités entre position et objet. Peux tu m'expliquer, si tu as le tps, en quoi ce schéma peux répondre à mes exigences et gérer les historiques des versions des plateaux et des appartenances des objets aux différentes versin du plateau. Merci bcp. |
|
|
00
|
|
|
#17 |
|
Inactif
Inscription : décembre 2003 Messages : 1 946 ![]() |
C'est de ma faute, je suis allé trop vite :
les cardinalités entre "Objet" et "POSITION OBJET DANS UNE VERSION DE PLATEAU" doivent être interverties. Du coup Date début ne sera plus dans Objet, ObjetId sera dans "POSITION OBJET DANS UNE VERSION DE PLATEAU" Presence_objet est inutile, je ne comprend pas connexion_objet dans "POSITION OBJET DANS UNE VERSION DE PLATEAU" |
|
|
00
|
|
|
#18 |
|
Invité régulier
![]() Inscription : juin 2006 Messages : 38 ![]() |
En fait l'outil doit me sortir un fichier pour chaque version de chaque plateau.
Ce fichier est représenté sous forme d'un tableau. La 1ere colonne du tableau liste l'ensemble des objet présents sur le plateau (plateau A, par exemple). Les autres colonnes correspondent à la réference de chaque objet, leur N° de série, ... et encore d'autres colonnes dont les colonnes : -- présence_sur_plateau : qui indique si l'objet est présent sur le plateau A -- connection_au_plateau : qui indique si l'objet est connecté au plateau A (connecté à d'autres objets du plateau A), indépendamment de sa présence. Car un objet peut etre présent sur le plateau A sans pour autant être utilisé. Un objet peut également etre connecté aux objets d'un plateau A (via des cables) tout en étant présent sur le plateau B !! C'est compliqué je l'avoue. Mais c'est pas moi qui est posé les regles Penses tu que je suis sur la bonne voie pour le schéma ? |
|
|
00
|
|
|
#19 |
|
Invité régulier
![]() Inscription : juin 2006 Messages : 38 ![]() |
En fait les attributs "présence" et "connection" sont des boolean.
C'est l'attribut "position" qui indique la position de l'objet s'il est présent. |
|
|
00
|
|
|
#20 |
|
Inactif
Inscription : décembre 2003 Messages : 1 946 ![]() |
Un enregistrement dans "POSITION OBJET DANS UNE VERSION DE PLATEAU" indique que l'objet x est présent dans le plateau A à partir de telle date, le booléen présence_sur_plateau sera donc toujours à TRUE, il ne sert donc à rien !
Change les cardinalités comme je te l'ai dit avant et cela devrait coller (même solution que ma première réponse, avec l'historique en plus) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com