SQL基础E-R图画法(三)

来源:互联网 发布:python淘宝抢购脚本 编辑:程序博客网 时间:2024/04/28 09:41

设某教学管理系统,其查询模块需要提供如下功能:

Ⅰ.查询系信息,列出各系编号、系名和系办公电话;

Ⅱ.查询某系教师的信息,列出教师号、教师名、工资和聘用日期;

Ⅲ.查询某教师讲授的课程信息,列出课程号、课程名和学分;

Ⅳ.查询讲授某门课程的教师信息,列出教师名和职称;

Ⅴ.查询某门课程的先修课程信息,列出先修课程号和先修课程名。

系统有如下业务规则:

Ⅰ.一个系可聘用多名教师,一名教师只能受聘于一个系;

Ⅱ.一名教师可讲授多门课程,一门课程可由多名教师讲授;

Ⅲ.一门课程可以有多门先修课程,也可以没有先修课程

(1)根据以上查询功能与业务规则,用E-R图描述该系统的概念模型。

(2)将ER图转换为满足3NF的关系模式,并说明每个关系模式的主码和外码。

一个系可以聘用多名教师,一名教师只能受聘于一个系,所以系实体与教师实体有联系;

一名教师可以讲授多门课程,一门课程可由多名教师讲授,所以教师实体与课程实体有联系;

一门课程可以有多门先修课程,所以课程间也有联系。

所以我们可以作出以下E-N图:


第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项
第二范式(2NF)要求数据表里的所有数据都要和该数据表的主键有完全依赖关系
第三范式(3NF)每个非关键字列都独立于其他非关键字列,并依赖于关键字,第三范式指数据库中不能存在传递函数依赖关系

所以:

系(系编号,系名,系办公电话)无外码 
教师(教师号,教师名,工资,聘用日期,职称,系编号)外码:系编号 
课程(课程号,课程名,学分,教师号)外码:教师号 
先修(先修课程号,先修课程名,课程号)外码:课程号



1 0