多对多关系优化
Many to many relationship optimization
我正在开发一个系统,其中我有一个 table 用于存储学生语言能力来管理它,我们创建了以下架构:
table STD_LANGUAGE_COMPETENCIES 表示关联实体。
STD_LANGUAGE(法语、英语、阿拉伯语...)table 和 STD_LANGUAGE_SKILL(阅读、口语、写作、教学)之间的多对多关系的问题是 STD_LANGUAGE 和 STD_LANGUAGE_SKILL 不是由系统的普通用户(学生)更新的,它们是由系统管理员添加的,当我尝试为学生获取语言能力时,体系结构迫使我加入两个table为了得到语言的名字和技能的名字。
无论如何要优化这个架构。
如语言技能如:"reading"、"writing"、"conversation"等,无姓名复写,无技能时间限制,管理客户端模块, 你可以直接把描述放在 STD_LANGUAGE_COMPETENCE table 中,去掉外键约束,同时保留 table 组合项的技能分配或搜索(通过文本)。
这样你就可以避免连接..
如果您有一对多关系或多对多关系。您无法避免加入 SQL.
中的规范化结构
我正在开发一个系统,其中我有一个 table 用于存储学生语言能力来管理它,我们创建了以下架构:
table STD_LANGUAGE_COMPETENCIES 表示关联实体。 STD_LANGUAGE(法语、英语、阿拉伯语...)table 和 STD_LANGUAGE_SKILL(阅读、口语、写作、教学)之间的多对多关系的问题是 STD_LANGUAGE 和 STD_LANGUAGE_SKILL 不是由系统的普通用户(学生)更新的,它们是由系统管理员添加的,当我尝试为学生获取语言能力时,体系结构迫使我加入两个table为了得到语言的名字和技能的名字。 无论如何要优化这个架构。
如语言技能如:"reading"、"writing"、"conversation"等,无姓名复写,无技能时间限制,管理客户端模块, 你可以直接把描述放在 STD_LANGUAGE_COMPETENCE table 中,去掉外键约束,同时保留 table 组合项的技能分配或搜索(通过文本)。
这样你就可以避免连接..
如果您有一对多关系或多对多关系。您无法避免加入 SQL.
中的规范化结构