Je suis ici pour concevoir un schéma de base de données relationnelle modélisant l'interrogation et les utilisateurs. Chaque catégorie peut comporter une ou plusieurs questions. Chaque utilisateur peut participer seulement une fois à chaque catégorie, et peut interroger (ou non) exactement une fois sur chaque question. Chaque sondage est oui, non ou s'abstient (pas de vote).Suggestion pour un meilleur schéma relationnel DB
J'ai conçu mon schéma avec quatre tables:
users, [userId, IP]
category, [catId, catTitle]
question, [queId, queTitle]
polls [pollId, queId, userId, answer]
est meilleur ou
users, [userId, IP]
category, [catId, catTitle]
question, [queId, queTitle]
polls [pollId, catId, userId]
pollAnswers [pollAndId, queId, pollId, answer]
Je voudrais savoir quel est le meilleur et pourquoi? Par moi depuis que j'ai des informations supplémentaires sur les sondages, je suis directement rejoindre les utilisateurs et les questions avec réponse.
je aussi besoin de trouver combien d'utilisateurs ont été abstiendra a) tout b catégorie de questions) catégorie particulière c) question particulière
Je moi comme pour le choix d'un schéma:...
select U1.*, Q1.*, P2.*, C1.*
from
(users U1,
questions Q1)
Left outer Join polls P2 on
Q1.queId = P2.queId AND U1.userId = P2.userId
Left Outer Join category C1 on
Q1.catId = C1.catId
J'essaye d'inquiéter utilisant la question ci-dessus avec la jointure croisée entre les utilisateurs et la question perdra mon exécution ou pas?
Si le deuxième schéma est meilleur, pouvez-vous suggérer des options pour mes résultats?
cela ne permet pas vraiment votre schéma, mais je pense Les noms de champs abrégés sont épouvantables. Aussi, pourquoi préfixer chaque nom de champ avec le nom de la table? Pourquoi pas les utilisateurs (id, ip), les questions (id, body), les sondages (id, question_id, user_id, answer)? –
thxn pour suggestion de supprimer les noms de champs abrégés. Ensuite, je vais vous dire "cela n'aide pas vraiment votre schéma" qu'est-ce que cela signifie – KoolKabin
ils signifient enlèvement des préfixes n'aide pas votre schéma mais il le rend plus lisible. Et vous devriez utiliser "ne pas" au lieu de "dun". – User123342234