2017-08-23 2 views
0

Nous avons besoin de créer un type d'application tutoriel, où il y aura une liste de sujets et chaque sujet aurait sous-sujets. L'utilisateur peut s'inscrire à un sujet, passer en revue les sous-sujets et marquer les sous-sujets comme «Terminé». Nous optons pour utiliser MySql DB relationnelle.Conception de base de données pour une application Web tutoriel

Donc. il y a généralement 3 tables de maître,

  1. utilisateurs
  2. sujets
  3. sub_topics

Nous prévoyons de poursuivre l'approche en faisant des tables de correspondance pour 'utilisateurs et sujets' soit ' user_topics 'où il contient en tant que colonne user_id, topic_id, is_enrolled Et une autre table de correspondance pour suivre l'état d'achèvement des sous-thèmes, peut être « user_sub_topics » où il contient user_id, sub_topic_id, topic_id, is_completed

Est-ce la meilleure façon de concevoir DB? ou tout autre travail autour peut être fait?

Voici les quelques questions dont nous avons besoin pour obtenir les données

  1. Liste des sujets affichera la liste des sujets avec étiquette terminée si l'utilisateur a terminé tous les sous-thèmes (requête de jointure contribuerait)
  2. Sujet page détail afficherait la liste des sujets complétés sous trop

S'il vous plaît suggérer

Répondre

0

vous devez d'abord concevoir ce rela base de données rationnelle en trouvant les relations entre les entités et de le faire étudier un peu sur ER ou ER diagramme étendu (Entity Relation), puis convertir votre diagramme en tableaux.

il existe une méthode étape par étape qui montre comment faire et à la fin vous pouvez vérifier la forme normale de vos tables et vérifier si elle répond à votre objectif et quelle est votre conception.

Je vous suggère fortement Principes fondamentaux de systèmes de base de données par Ramez Elmasri il fournira d'excellentes informations sur la conception de base de données