sql >> Databáze >  >> RDS >> Mysql

návrh databáze pro kvíz s různými jazyky

Návrh databáze by měl vycházet z obecnějšího modelu návrhu informací odvozené z koncepčního informačního modelu , nejlépe ve formě diagramů tříd UML (kvůli jejich expresivitě). Následuje koncepční informační model pro váš problém:

Takový model je ještě třeba obohatit o vhodné standardní atributy identifikátorů a datové typy pro získání modelu návrhu informací. Odstraněním asociací a kompozic (jejich nahrazením referenčními vlastnostmi) získáme následující model třídy OO, který lze použít jako základ pro kódování Java/C#/PHP/atd. třídy:

Všimněte si, že jsme přidali podporu pro vícejazyčné kvízy v tomto modelu třídy OO přidáním IsoLanguageCode výčet a TextItem třída s dvoudílným primárním klíčem, který se skládá z ID textové položky a kódu jazyka, takže kvízy, otázky a možnosti odpovědí používají ID textové položky pro odkazování na textové položky používané jako jejich název, text otázky a text odpovědi. Všimněte si také, že Quiz třída má odvozenou vlastnost \availableLanguages které lze vypočítat pomocí dotazu, který načte všechny jazyky, pro které jsou k dispozici textové položky pro všechny otázky kvízu a všechny možnosti jejich odpovědí.

Návrhový model databáze SQL lze odvodit z takového modelu třídy OO nahrazením referenčních vlastností odpovídajícími atributy cizího klíče:



  1. MySql:nastavte proměnnou se seznamem

  2. Hibernate + PostgreSQL + Typ síťové adresy (inet, cdir)

  3. Jak změním datový typ importované tabulky v mysql?

  4. Vazba modelu trasy nefunguje