Desain basis data harus mengikuti model desain informasi yang lebih umum diturunkan dari model informasi konseptual , sebaiknya dalam bentuk UML Class Diagram (karena ekspresivitasnya). Berikut ini adalah model informasi konseptual untuk masalah Anda:
Model seperti itu masih harus diperkaya dengan atribut pengenal standar dan tipe data yang sesuai untuk mendapatkan model desain informasi. Dengan menghilangkan asosiasi dan komposisi (menggantinya dengan properti referensi), kami memperoleh model kelas OO berikut, yang dapat digunakan sebagai dasar untuk pengkodean Java/C#/PHP/dll. kelas:
Perhatikan bahwa kami telah menambahkan dukungan untuk kuis multibahasa dalam model kelas OO ini dengan menambahkan IsoLanguageCode
enumerasi dan TextItem
kelas dengan kunci utama dua bagian yang terdiri dari ID item teks dan kode bahasa sehingga kuis, pertanyaan, dan opsi jawaban menggunakan ID item teks untuk merujuk item teks yang digunakan sebagai judul, teks pertanyaan, dan teks jawaban. Perhatikan juga bahwa Quiz
class memiliki properti turunan \availableLanguages
yang dapat dihitung dengan bantuan kueri yang mengambil semua bahasa yang item teksnya untuk semua pertanyaan kuis, dan semua opsi jawabannya, tersedia.
Model desain database SQL dapat diturunkan dari model kelas OO seperti itu dengan mengganti properti referensi dengan atribut kunci asing yang sesuai: