IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Décisions SGBD Discussion :

Cardinalité- modélisation base de données


Sujet :

Décisions SGBD

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut Cardinalité- modélisation base de données
    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

  2. #2
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    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 !!!

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    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 ?

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Il te faut 3 entités :

    Plateau (IdPlateau, Attributs définissant les plateaux...)
    Objet (IdObjet, Attributs définissant les objets, sans tenir compte des plateaux...)
    Position (IdObjet, DateDebut, IdPlateau, ...)
    Les clés sont soulignés, cela devrait te permettre d'en déduire les cardinalités.

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    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 ?).
    ???

  6. #6
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Citation Envoyé par LaFik
    est-ce ca pourrait aller, compte tenu de mes exigences ???
    Je en crois pas, un objet n'ayant qu'un seul Version_plateau, tu ne peux pas retrouver l'historique !

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    Ok, ne bouge pas, je vais essayer de faire comme tu m'as dit.
    Apres je te montre,
    Merci, ca m'aide beaucoup,

  8. #8
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    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 ...

  9. #9
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Je n'ai pas beaucoup de temps maintenant, mais regarde là :
    http://www.developpez.net/forums/sho...d.php?p=516217

  10. #10
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    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

  11. #11
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    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.

  12. #12
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 920
    Points : 51 712
    Points
    51 712
    Billets dans le blog
    6
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Plateau (IdPlateau (clef), Attributs définissant les plateaux...)
    Objet (IdObjet (clef), Attributs définissant les objets, sans tenir compte des plateaux...)
    Planning (DateHeure (clef))
    A partir de ces entité, la relation est :

    avec des liens identifiants (1,1) pour objet et planning.

    Ce qui conduit au modèle physique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Plateau (IdPlateau (clef), Attributs définissant les plateaux...)
    Objet (IdObjet (clef), Attributs définissant les objets, sans tenir compte des plateaux...)
    Planning (DateHeure (clef))
    Situé ((IdObjet (ce) , DateHeure (ce) clef), IdPlateau (ce))
    A +

  13. #13
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Pour gérer l'historique des plateaux, des objets et de l'appartenance :
    Images attachées Images attachées  

  14. #14
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    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 . (eh oui je débute, j'ai encore du mal).

    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.

  15. #15
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    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

  16. #16
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    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.

  17. #17
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    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"

  18. #18
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    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 ?

  19. #19
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    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.

  20. #20
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    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)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Modélisation base de donnée pour site web
    Par harris_macken dans le forum Modélisation
    Réponses: 4
    Dernier message: 16/08/2010, 17h08
  2. Modélisation base de données dans RSA?
    Par simon94600 dans le forum Outils
    Réponses: 0
    Dernier message: 20/05/2010, 19h15
  3. Cherche plugin de modélisation base de données et export
    Par hugo123 dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 28/09/2007, 11h23
  4. Modélisation base de données avec visio
    Par BIDA dans le forum Visio
    Réponses: 3
    Dernier message: 07/08/2007, 14h31
  5. modélisation base de données
    Par cotede2 dans le forum Schéma
    Réponses: 1
    Dernier message: 14/07/2007, 02h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo