我计划使用以下模式开发一个闪存卡应用程序:
user(id, name, email)
flashcard_group(id, user_id, group_name, group_tag)
flashcard(id, group_id, question, solution)
guess(id, user_id, flashcard_id, is_correct)我想最终计算的一些事情是:
这听起来合理吗?否则,我怎么才能用逻辑的方式捕捉猜测呢?
发布于 2012-09-20 13:08:52

注:UserTopicAttempt为序列号(1,2,3 .)对于每个(USerID,TopicID)。
发布于 2012-09-20 00:17:52
试下表
用户(user_id(Pk),姓名,电子邮件)
flashcard_group(group_name(pk),group_tag)
闪存卡(flashcard_id(Pk),问题,解决方案)
flashcard_groupings(group_name(fk),flashcard_id(fk)) <-将闪存卡加入组
猜测(guess_id,user_id(fk),flashcard_id(fk),is_correct) <- user_id和flashcard_id是唯一的键。
以上假设有1到1组猜测,闪存卡分组是将闪存卡分组在一起(即卡a、b和c以及绿色组,等等)。如果一个用户在这里可以有多个go,那么您需要添加另一个表来保存猜测和用户之间的会话信息,这有点像表flashcard_groupings的作用。
要获得所需的查询,请根据需要加入表以获得所需的分组。对于猜测百分比,只需连接表用户和猜测。要使闪存卡加入用户,猜测和闪存卡。诸若此类。
https://dba.stackexchange.com/questions/24553
复制相似问题