我有三种类型的问题:
question:answer
对代表)question:[list, of, answers]
表示)question:answer
代表 - 其中值为.oog
/ .wav
音频文件。 我在这里避免使用术语key:value
,因为我不确定字典是否可以存储音频。
我的问题:
如何将这组表格建模为可管理的设计?
languages lessons lesson_types
========= ======== ============
lang_id lesson_id lt_id
lang_name lang_id lt_name
lesson_name lt_desc
lt_id
这就是简单的部分。
我理解的部分是如何在python中序列化不同类型的对象以克服每种类型的问题提出的差异。在严格的,仅限DBMS的方法中,我会为每种类型的问题使用单独的表(因为BLOB持有音频,语法问题可以有多达十几个部分来描述其时态,性别等)。我很高兴看到sqlalchemy
能够在简化数据库结构方面做些什么。
我如何设计一个questions
表,它可以处理字典以及作为可序列化,sqlite3
友好的音频格式?
答案 0 :(得分:1)
表格有什么问题问题(question_id, question_text)
,表格Answers (question id, answer_text)
和表格Audio_Answers (question_id, audio_blob)
? (即:每个答案行包含一个问题ID,一个答案。如果问题有多个答案,则该问题的答案表将有多个条目。适用于与Audio_Answers表完全相同的方式。)
这将允许您以最大的灵活性对所有三种类型的问题进行建模。具有单个或多个答案的问题可以以完全相同的方式处理。两个答案表包含所有答案,每行一个答案。