2012-07-18 1 views
0

Supposons que nous avons une table pour Cours et deux tables pour Questions à choix multiples (QCM) et Questions normales (NQ) .conception DB pour un scénario de cours-examen avec la capacité de garder la trace des types d'examen

Chaque cours peut avoir plusieurs MCQ et NQ. Je suis censé garder une trace de leurs numéros à montrer aux étudiants et aussi être utilisé à des fins statistiques.

Comment puis-je les connecter? Je devais utiliser une table du milieu (par exemple Exam Label) entre les questions et le cours pour garder une trace de chaque type d'examen, mais un ami m'a dit d'utiliser Séquences (par exemple dans Postgres), etc.

Que recommandez-vous?

Répondre

1

Est-ce que chaque MCQ et NQ peuvent apparaître pour plus d'un cours? Si c'est le cas, vous avez besoin d'une table de correspondance contenant les clés étrangères des questions et des cours. Si une question donnée ne peut être utilisée que par un cours, il suffit qu'elle contienne la clé étrangère du cours dans le tableau des questions.

Je ne vois pas l'applicabilité d'une séquence dans ce scénario ...

+0

La structure du cours est censée être hiérarchique (MPTT pour être plus précis.) Par hiérarchique, je veux dire qu'il y a des sujets, sous-thèmes, leçons, etc. Et oui .. Peut-être qu'une question appartient au "niveau standard Biologie" et "Biology Higher level" ... Donc, en dressant la table, vous les hommes, cette table du milieu que j'avais dans mon esprit? – Soask

+1

À peu près. Ce serait une table qui mappait juste la clé primaire d'un cours à une question. Étant donné que de nombreux cours peuvent avoir la même question, vous ne pouvez pas stocker le coursID avec la question elle-même. –

1

vous allez vouloir une autre table qui conserve les clés étrangères de la table des cours et la table de questions, et si tout ce que vous vouloir faire est de suivre le compte, ajouter une autre colonne que vous pouvez incrémenter. Avoir une des tables associatives pour chaque type de question de test.

1

Sequence est juste un générateur pour augmenter monotoniquement les nombres. Je ne vois pas comment cela s'appliquerait ici (sauf pour générer des valeurs PK de substitution).

Qu'est-ce que vous avez besoin est probablement similaire à ceci:

enter image description here

NOTE: Je ne les questions abordées dans ce modèle - réponses stockage exigerais structures de données supplémentaires.

Le symbole enter image description here indique la catégorie (héritages, sous-classements, hiérarchie de généralisation, etc.). Il y a 3 main strategies pour l'implémenter dans la base de données physique. Jetez un coup d'oeil au chapitre "Relations de sous-type" dans le ERwin Methods Guide pour plus d'informations.

+0

+1 pour "Mini guide des méthodes ERwin" plein d'inspiration – Soask

Questions connexes