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

Langage SQL Discussion :

ENTITE FAIBLE


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut ENTITE FAIBLE
    Bonjour,

    je dois modéliser la gestion d'un projet en SQL et un problème m'apparaît lorsque je veux utiliser des entités faibles :

    Un projet identifié par son nom est constitué de plusieurs phases. Une phases est identifié par un numéro de phase, et par le projet auquel elle est attaché. Je ne vois pas comment modéliser celà à la création de la table, car impossible d'utiliser PRIMARY KEY pour le numéro de phase, il est ensuite impossible d'avoir une phase 0 pour le projet A et une phase 0 pour le projet B. J'ai essayé aussi de rajouter un attribut nom en FOREIGN KEY avec comme valeur le projet auquel est rattaché la phase, mais là encore SQL me fait des misère à la création de plusieurs phases avec le meme numéro mais un projet différent.

    Voilà, la question est comment modéliser cela ?
    Merci d'avance.
    Patrick.




    Ah résolu, avec les deux attributs dans la meme primary key .
    Merci quand meme.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    De retour avec le même problème à un autre étage, car les phases de mon projet sont elle-même constituées de différentes Taches, qui est également une entité faible, mais entité faible qui se rapporte au numéro de phase(qui est lui meme une entité faible qui se rapporte au nom du projet, voir plus haut), et :

    Projet [nom] --> Phase [numéro_P, Projet.nom] --> Tache [numéro_T, Phase.numéro_P]


    Or lorsque j'applique la meme technique que pour Phase, SQL me dit :

    no matching unique or primary key for this column-list.


    HELP )




    je ne sais pas si mon problème est très clair, donc voici un autre exemple avec la meme idée :

    Prenons l'exemple d'un cinéma, et de ses salles. On peut considérer chaque salle comme une entité, dotée d'attributs comme la capacité, l'équipement en son Dolby, ou autre. Il est difficilement imaginable de représenter une salle sans qu'elle soit rattachée à son cinéma. C'est en effet au niveau du cinema que l'on va trouver quelques informations générales comme l'adresse ou le numéro de téléphone.
    Il est possible de représenter le lien entre un cinema et ses salles par une association classique, comme le montre la figure a. La cardinalité "1…1" force la participation d'une salle à un lien d'association avec un et un seul cinéma. Cette représentation est correcte, mais présente un inconvéniant : on doit créer un identifiant artificiel id pour le type d'entité Salle, et numéroter toutes les salles, indépendamment du cinema auquel elles sont rattachées.
    On peut considérer qu'il est beaucoup plus naturel de numéroter des salles par un numéro interne à chaque cinéma. La clé d'identification d'une salle est alors constituée de deux parties :
    - La clé de Cinéma, qui indique dans quel cinéma se trouve la salle
    - Le numéro de la salle au sein du cinéma

    En d'autre termes, l'entité salle ne dispose pas d'une identification absolue, mais d'une identification relative à une autre entité. Bien entendu cela force la salle à toujours être associée à un et un seul cinéma.

    Si maintenant, l'on rajoute dans chaque salle des chaises que l'on souhaite numéroter de 0 à x dans chaque salle, il s'agira d'identifé faible, dépendant à la fois de la salle et du cinéma, là est mon problème, comment modéliser cela.

  3. #3
    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
    Projet [nom] --> Phase [numéro_P, Projet.nom] --> Tache [numéro_T, Phase.numéro_P, Projet.nom]
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MCD] identification relative et entité faible
    Par erox44 dans le forum Schéma
    Réponses: 5
    Dernier message: 07/03/2008, 09h21
  2. Access et entités faibles et spécifiques ?
    Par maph1 dans le forum Modélisation
    Réponses: 6
    Dernier message: 20/02/2008, 18h33
  3. PB! entité faible sous MySQL
    Par Bugger24 dans le forum Requêtes
    Réponses: 0
    Dernier message: 10/10/2007, 20h50
  4. entité faible en sql
    Par MeKesTudi dans le forum Langage SQL
    Réponses: 3
    Dernier message: 07/12/2005, 17h23
  5. Générer un identifiant relatif > l'entité faible en prati
    Par vmolines dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 19/08/2005, 15h59

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