求问如何设计数据库中的表。
我们公司是做 课程线上学习的,我目前遇到如下需求:
班型(基础班,特色班,精讲班。。。)
课程(语文,数学,英语。。。)
单元(第一单元,第二单元,第三单元。。。)
节(第一节,第二节,第三节。。。)
我们 一节课一节课 的录制视频。
我们推出的产品 举例:①英语科基础班100元(包含英语课所有单元的第一节)
②英语科精讲班300元(包含英语课所有单元的所有节)
③文综精讲班(历史,地理,政治三科的精讲班,但是价钱要比三科单买便宜)
我都应该设计多少表,表的关系?
------解决方案--------------------你分析过是一对一、一对多、多对多的关系吗?
------解决方案--------------------那就每两个实体都要加一个关系表,比如A,B为实体表,然后C表是A与B的关系表,这样每次改动只需要改动C表即可,也比较灵活,这是多对多的典型设计
------解决方案--------------------班型(基础班,特色班,精讲班。。。)
课程(语文,数学,英语。。。)
单元(第一单元,第二单元,第三单元。。。)
节(第一节,第二节,第三节。。。)
再加2个表:
价格表 里面放:某种班、某个课程、价格、规则id,比如:基础班,英语,规则1,300
规则表 里面放:规则id,规则1,单元id,节id
------解决方案--------------------把综合班独立出来做一个科目
------解决方案--------------------你可能要再加一个标识列,标识是否组合课程,然后再处理
------解决方案--------------------综合班独立出来做一个科目? 然后再组合章节?
------解决方案--------------------
就是多一个表,比如是科目表:
文综精讲班,历史
文综精讲班,地理,
文综精讲班,政治,
英语课精讲班,英语,
英语课基础班,英语
------解决方案--------------------班型(基础班,特色班,精讲班。。。)
课程(语文,数学,英语。。。)
单元(第一单元,第二单元,第三单元。。。)
节(第一节,第二节,第三节。。。)
就是多一个表,比如是科目表:
文综精讲班,历史
文综精讲班,地理,
文综精讲班,政治,
英语课精讲班,英语,
英语课基础班,英语
价格表:
价格表 里面放:科目、价格、规则id,
比如:文综精讲班,规则1,300
规则表 里面放:
规则1,单元1,节1
规则1,单元2,节1
规则1,单元3,节1
规则2,单元1,节1
------解决方案--------------------最简单的做法:
3个表
单门表:
字段为:
id
班型(基础班,特色班,精讲班。。。)
课程(语文,数学,英语。。。)
单元(第一单元,第二单元,第三单元。。。)
节(第一节,第二节,第三节。。。)
单价
组合表:
组合id
说明(如:文综精讲班 历史,地理,政治三科的精讲班)
总价
关系表:
组合id
单门id
如:文综精讲班 历史,地理,政治三科的精讲班
在组合表里有1条记录
在关系表里有3条记录