データベース設計は、より一般的な情報設計モデルに従う必要があります。 概念情報モデルから派生 、できればUMLクラス図の形式で(表現度が高いため)。以下は、問題の概念的な情報モデルです。
このようなモデルは、情報デザインモデルを取得するために、適切な標準識別子属性とデータ型で強化する必要があります。関連付けと構成を削除する(参照プロパティに置き換える)ことで、次のOOクラスモデルを取得します。これは、Java / C#/ PHP/etcのコーディングの基礎として使用できます。クラス:
IsoLanguageCode
を追加することにより、このOOクラスモデルに多言語クイズのサポートが追加されたことに注意してください。 列挙とTextItem
クイズ、質問、回答オプションがタイトル、質問テキスト、回答テキストとして使用されるテキストアイテムを参照するためにテキストアイテムIDを使用するように、テキストアイテムIDと言語コードで構成される2つの部分からなる主キーを持つクラス。 Quiz
にも注意してください クラスには派生プロパティ\availableLanguages
があります これは、クイズのすべての質問のテキスト項目とそのすべての回答オプションが利用可能なすべての言語を取得するクエリを使用して計算できます。
SQLデータベース設計モデルは、参照プロパティを対応する外部キー属性に置き換えることにより、このようなOOクラスモデルから派生させることができます。