设有如下所示的关系
R
:
(1)它为第几范式?为什么?
(2)是否存在插入操作异常?若存在,则说明是在什么情况下发生的。
(3)将它分解为3NF。
(1)1NF。如图所示,一名教员可能教授不同课程,比如教员蒋未;同一课程可能由不同老师在不同地址授课,比如C语言。另外,生活经验告诉我们,可能存在同名不同系的教员(但表中未体现,忽略!),授课地址一般不可能由某门课独占,一名教员肯定只能属于一个系。因此该关系的码为(教员编号, 授课名称),而教员编号->教员名称,故存在非主属性对码的部分函数依赖,不能是2NF。
(2)系主任未确定时,或者未给教员分配系时,或者未给教员配课时,出现插入异常。
(3)
系表
| 系名称 | 系主任 |
|---|---|
| 机电 | 无语 |
| 信息 | 马方 |
| 工商 | 培东 |
教员表
| 教员编号 | 教员名称 |
|---|---|
| 3001 | 蒋未 |
| 3002 | 继凯 |
| 3004 | 刘伟 |
| 3005 | 华芳 |
教系表
| 教员编号 | 系名称 |
|---|---|
| 3001 | 机电 |
| 3002 | 信息 |
| 3004 | 信息 |
| 3005 | 工商 |
授课表
| 教员编号 | 授课名称 | 授课地址 |
|---|---|---|
| 3001 | 机械制图 | D302 |
| 3001 | 动画技术 | M401 |
| 3002 | C语言 | M301 |
| 3004 | C语言 | M302 |
| 3005 | 企业管理 | A102 |
即新的关系
系(系名称, 系主任)
教员(教员编号, 教员名称)
教系(教员编号, 系名称)
授课(教员编号, 授课名称, 授课地址)