2009-07-26 8 views
0

J'ai lu mes notes et je ne suis pas sûr des clés.Pour obtenir les clés primaires et étrangères à droite dans ERD

Mon logigramme

alt text http://files.getdropbox.com/u/175564/db/db-11.png

Ce tableau doit être conforme à la physique suivante ERD

alt text http://files.getdropbox.com/u/175564/db/db-22.png

Je n'ai qu'une clé étrangère dans la table Question.

Je voudrais savoir

  • si le question-id et question-tag dans le tableau Question-tag-xref ET question-id et answer dans le tableau Réponses être aussi les clés étrangères?

Répondre

1

Masi - modèles logiques ne contiennent généralement pas de type de données (chaîne, int, etc.) informations, mais indiquent si l'attribut (devient une colonne dans le modèle physique) est facultatif (pouvant être nul ou non). Cela dit, oui - les colonnes QUESTION-ID et QUESTION-TAG seraient des clés étrangères dans la table QUESTION-TAG-XREF.Voici une vue physique QUESTION-TAG-XREF:

QUESTION-TAGS-XREF

  • QUESTION-ID (pk, relation fk avec table QUESTIONS)
  • QUESTION-TAG-CODE (pk , fk relation avec la table QUESTION-TAG)

Les deux colonnes sont les pk pour vous assurer que vous ne pouvez pas avoir d'étiquettes en double pour une question donnée.

Vous avez raison que QUESTION-ID soit une clé étrangère dans la table ANSWERS, en référence à la table QUESTION.

+0

Qu'est-ce que 'QUESTION-TAG-CODE'? --- Voulez-vous dire que nous devrions avoir une table supplémentaire pour les questions-tags? –

+1

Oui. QUESTION-TAG-XREF ne contient que des clés étrangères; Vous avez besoin d'une table pour contenir les valeurs codées QUESTION-TAG. –

+0

J'ai mis à jour mes photos pour indiquer comment je comprends votre réponse. –

1

regardant les deux ERD, voici les clés étrangères, je voudrais mettre en place:

Première ERD: Question-Tag-xref (question-id) doivent se référer à la question (question- id). Les réponses (question-id) doivent se référer à Question (id-question). La question (identifiant de l'utilisateur) doit se référer à Utilisateur (identifiant de l'utilisateur).

Deuxième ERD: Question-Tag-xref (question-id) doit se référer à Question (question-id). Les réponses (question-id) doivent se référer à Question (id-question). La question (identifiant de l'utilisateur) doit se référer aux informations de l'utilisateur (identifiant de l'utilisateur).

Je reçois également une seule clé étrangère dans le tableau des questions.

En réponse à votre question: La question-id de colonne dans Question-tag-xref devrait avoir une référence de clé étrangère à Question (id-question). La colonne question-id dans la table des réponses devrait avoir une référence clé étrangère à la question (question-id)

K

+0

S'il vous plaît, voir mon edit de ma question. J'ai mis à jour les images pour vous montrer comment je comprends votre réponse. –

+0

Les modèles ERD logiques et physiques représentent le même modèle - il n'y a qu'une seule ERD à commenter ici. Les ERD logiques ne contiennent pas d'informations sur le type de données, mais indiquent si un attribut de table est facultatif (pouvant être nul ou non). Les attributs dans un modèle logique sont convertis en colonnes de table dans le physique, mais ce n'est pas toujours une relation 1 à 1. –

+0

@rexem: Pourriez-vous donner un exemple où je devrais ajouter «null» ou «not»? –

Questions connexes