我在一个系统上工作,我有一个表来存储学生的语言能力来管理它,我们创建了以下架构:
STD_LANGUAGE_COMPETENCIES 表表示关联实体。 STD_LANGUAGE(法语,英语,阿拉伯语...)表和 STD_LANGUAGE_SKILL(阅读,口语,写作,教学)之间的多对多关系的问题是 STD_LANGUAGE 和 STD_LANGUAGE_SKILL 没有被系统的普通用户更新(学生) 它们是由系统管理员添加的,当我尝试获取学生的语言能力时,体系结构要求我对两个表进行联接,以获取语言名称和技能名称。 无论如何要优化这个架构。
最佳答案
如果语言技能是例如:“阅读”、“写作”、“ session ”等,没有名字的组合,没有技能时间限制,管理客户端模块,你可以直接把描述放在STD_LANGUAGE_COMPETENCE 表,并删除外键约束,同时保留组合项目的技能表以分配或搜索(按文本)。
这样你就可以避免连接..
关于mysql - 多对多关系优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38774531/