Mysql
 sql >> Base de données >  >> RDS >> Mysql

conception de base de données pour quiz avec différentes langues

La conception de la base de données doit suivre un modèle de conception de l'information plus général dérivé d'un modèle d'information conceptuel , de préférence sous la forme de diagrammes de classes UML (du fait de leur expressivité). Voici un modèle conceptuel d'informations pour votre problème :

Un tel modèle doit encore être enrichi avec des attributs d'identifiant standard appropriés et des types de données pour obtenir un modèle de conception d'information. En éliminant les associations et les compositions (en les remplaçant par des propriétés de référence), nous obtenons le modèle de classe OO suivant, qui peut être utilisé comme base pour coder Java/C#/PHP/etc. cours :

Notez que nous avons ajouté la prise en charge des quiz multilingues dans ce modèle de classe OO en ajoutant un IsoLanguageCode énumération et un TextItem classe avec une clé primaire en deux parties composée d'un ID d'élément de texte et d'un code de langue de sorte que les quiz, les questions et les options de réponse utilisent un ID d'élément de texte pour référencer les éléments de texte utilisés comme titre, texte de question et texte de réponse. Notez également que le Quiz la classe a une propriété dérivée \availableLanguages qui peut être calculé à l'aide d'une requête récupérant toutes les langues pour lesquelles les éléments de texte pour toutes les questions d'un quiz, et toutes leurs options de réponse, sont disponibles.

Un modèle de conception de base de données SQL peut être dérivé d'un tel modèle de classe OO en remplaçant les propriétés de référence par les attributs de clé étrangère correspondants :