厄........
你到底需要些哪些业务都不说怎么帮你啊
我把之前回答给另一个人的答案给你参考下好了
不过不是图 是直接的表
课程表 (
课程编号 主键
课程名称
以及其他课程信息
)
教师表(
教师编号 主键
教师名字
教师职称
其他信息
)
学生表
(
学生编号 即学号 主键
学生名字
性别
其他信息
)
学科表
(
学科编号 主键
所学课程编号 外键 引用课程编号
学者编号 外键 引用学号编号
)
授课表
(
授课编号 主键
授课教师编号 外键 引用教师编号
所授课程编号 外键 引用课程编号
)
而要获取信息的时候就需要用到表连接
获取教师授课信息则需要连接:教师 课程 及授课表 三张表
获取学生所修课程信息则需要连接:学生 课程 及 学科表
须知 数据库设计所满足的范式越高 操作越复杂 如非必要 尽量减少表的数量
若完全按三大范式则应该还多1 2 张表
学生 及教师 其实可以合成一张表
叫:
人员信息表
(
人员编号
姓名
性别
人员身份编号 外键 引用身份表
其他信息
)
+
身份信息表
(
身份编号 主键
身份 如:教师 \学生 \ 校长 \教务主任 甚至是清洁工 都可以
权限 如果需要做比较大的什么校园管理系统之类的系统可以用到 但小一点就用不到了
)
这样一来 所满足的范式就更高了 相应的 数据库操作也就更复杂 所以建议 学生及教师不合成一张表
就按之前所说建立表较为恰当 除非 你要做的系统管的对象比较多
以上仅为建议