Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

design de banco de dados para quiz com diferentes idiomas


O design do banco de dados deve seguir um modelo de design de informações mais geral derivado de um modelo de informação conceitual , preferencialmente na forma de diagramas de classe UML (por causa de sua expressividade). Veja a seguir um modelo de informação conceitual para o seu problema:



Tal modelo ainda precisa ser enriquecido com atributos de identificador padrão e tipos de dados adequados para obter um modelo de design de informação. Ao eliminar as associações e composições (substituindo-as por propriedades de referência), obtemos o seguinte modelo de classe OO, que pode ser usado como base para codificar Java/C#/PHP/etc. Aulas:



Observe que adicionamos suporte para questionários multilíngues neste modelo de classe OO adicionando um IsoLanguageCode enumeração e um TextItem class com uma chave primária de duas partes que consiste em um ID de item de texto e um código de idioma, de modo que questionários, perguntas e opções de resposta usem um ID de item de texto para fazer referência aos itens de texto usados ​​como título, texto de pergunta e texto de resposta. Observe também que o Quiz classe tem uma propriedade derivada \availableLanguages que pode ser calculado com a ajuda de uma consulta recuperando todos os idiomas para os quais os itens de texto de todas as perguntas de um questionário e todas as opções de resposta estão disponíveis.

Um modelo de design de banco de dados SQL pode ser derivado de um modelo de classe OO substituindo as propriedades de referência pelos atributos de chave estrangeira correspondentes: