一个关于数据库设计的基础问题

skyinfi 2010-01-29 10:26:23
小弟近日进行数据库设计练习的时候。遇到以下三个实体之间的关系:
专业 和 课程: 一个专业有多个课程。同时一个课程也可以属于多个专业。也就是 (专业 多对多 课程)

老师 和 课程:一个老师可以教多个课程,同时一门课程也可以由多个老师教。同样 (老师 多对多 课程)

请问数据库表改如何设计才能展示出某个专业下某个老师所教的课程:
table major table course table teacher
( ( (
id int primary key, id int primary key, id int primary key,
XXX XXXXX xxxxx
) ) )

table major_course table teacher_course
( (
major_id foreign key ref(major.id), course_id foreign key ref(sourse.id),
course_id foreigh key ref(course.id) teacher_id foreigh key ref(teacher.id)
) )

以上是我的设计,也就是两个多对多关系,不知道是否会出问题这样设计,哪位兄弟能详细讲解一下,或者是否有更好的设计,小弟不胜感激!在此先谢过!
...全文
40 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yananguo_1985 2010-02-02
  • 打赏
  • 举报
回复
没有问题,符合数据库第三范式。
ACMAIN_CHM 2010-01-29
  • 打赏
  • 举报
回复
没有问题,这是标准设计,符合3NF。

唯一可以补充的是,可以major_course(major_id,course_id) 设置为主键。
相关推荐
发帖
其他数据库

2202

社区成员

其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
帖子事件
创建了帖子
2010-01-29 10:26
社区公告
暂无公告