陈斌彬的技术博客

Stay foolish,stay hungry

关系数据库规范化

1

img img img img

解析:零件号有多个,如选择零件号010023,有两条记录,无法单靠零件号为主键,零件号与供应商是多对多关系,零件号+供应商可以作为主键。零件号决定零件名称,所以查找各种零件的SQL语句时,要选择零件号+零件名称,得到的结果才是每一种零件的查询结果,比如010023+P2,得到的结果就有两条记录,010024+P3得到的结果有两条,010022+P1得到的结果有两条,共分为3组。
因为(零件号,供应商)为主键,零件号->零件名称,供应商->供应商所在地,因为,存在冗余,要进行分离,P1(零件号,零件名称),P2(供应商,供应商所在地),P3(零件号,供应商,单价,库存量),这样根据P1表的零件号,就可以得到零件名称,根据P2表的供应商,就可以得到供应商所在地,再加上P3表的单价和库存量,就可以得到唯一的一条记录。

img

2

img img img

一对多的关系,将1端的码并入到多端

3

img img img

(53)中,职工姓名可能有重名的,所以先排除B,D

4

img img img img

5

img

6

img img

7

img

8

img img

9

img img

10

img img

11

img

12

img

13

img

14

img

15

img

16

img

17

img