先看图:已知如下:
学段表:stage(小学、初中、高中……)
年级表:grage(一年级、二年级……)
学科表:subject(语文、数学、英语……)
版本表:versions(人教版、苏教版……)可能存在情况是: 小学-一年级下面只有语文、数学,而且可能只有人教版提供教材,
而高中-一年级下面就可能有语文、数学、英语、物理等,而且可能人教版、苏教版等都提供教材支持,
像这种多级级联多对多表关系,表结构怎么设计好呢扩展一、
基于以上情况,新表
知识点:knowledge(看图识字、背影……) [stageid,gradeid,subjectid,versionid]
资源:resource(云的概念、雾的认识……) [stageid,gradeid,subjectid,versionid,knowledgeid]已知需求,根据最上面四张表能筛选知识点,也能筛选资源,
那么问题是: 假设资源表需要加一个属性(类型[普通资源、专题资源……],在上图中是没有该属性的)
类型表:catalog(普通资源、专题资源、用户创建更多)
这个分类是资源的属性, 只是资源加上这个属性以后,由普通资源与上面四张表的关联变成了动态,
假设普通资源包含上面所有表的外键引用,而专题资源可能就只需要其中一个(不确定到底那一个),比如学科,
换句说, 普通的资源可能有学科、学段、版本等属性,  但专题资源,可能就只能这其中某一个或多个属性,但具体那几个是用户决定的那么以上表该如何设计好呢,
要求: 类型可能不是固定的“专题资源”,可支持动态添加,而且关联的上面的学段、学科、年级都支持动态配置初略设计如下:
字段表:id,名称
年级表:id,名称
学科表:id,名称
版本表:id,名称
总表:以上四张表关联中间表:id,字段表id,年级表id,学科表id,版本表id,[[分类ID]]
知识点:knowledge[stageid,gradeid,subjectid,versionid]
类型:catalog(id,名称)
资源:resource[stageid,gradeid,subjectid,versionid,knowledgeid,catalogid]解决问题:
问题一、通过总表,在以上四张表中,已知某一属性(比如学段)能知道关联的其他属性(比如年级,最终找到小学关联1-6年级)
问题二、通过总表跟分类表关联,可以找到某一分类下,资源关联的属性。
问题三、通过总表,方便查找资源,可配合视图查询。
问题四、建立资源分类表,资源表引用其外键,增加分类不影响其他关联关系各位高手轻拍,留下你的宝贵意见吧!数据设计结构表结构设计