机房重构之数据库设计


一、画ER

E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联 系的方法,用来描述现实世界的概念模型。

绘制方法:

⑴确定所有的实体集合

⑵选择实体集应包含的属性

⑶确定实体集之间的联系

⑷确定实体集的关键字,用下划线在属性上表明关键字的属性组合

⑸确定联系的类型,在用线将表示联系的菱形框联系到实体集时,在线旁注明是1n(多)来表示联系的类型


二、将ER图转化成关系模式

1:1 :例如 CardInfo StudentInfo 1:1的关系

      CardInfoCardNo,Balance,CardState

  StudentInfo(StuID,StuName,StuDept,StuSex,StuClass,,StuState)

  转化后

  StudentInfo(StuID,CardNo,StuName,StuDept,StuSex,StuClass,,StuState)

  或

      CardInfoCardNo,StuNo,Balance,CardState

      即把主键加入到任一方均可

1:n : 例如UserInfo 和 CardInfo 是在注册方面是1n的关系   

          UserInfoUserID,Password,UserName,UserLevel

          CardInfoCardNo,Balance,CardState

          转换后

          CardInfoCardNo,UserID,Balance,CardState

          即把主键放到n

n:m :例如UserInfo 和 CardInfo 是在充值方面是nm的关系(一个用户可以充值多   张卡,一张卡可以被多个用户充值)

          CardInfoCardNo,Balance,CardState

          UserInfoUserID,Password,UserName,UserLevel

          

           转化后          

          CardInfoCardNo,Balance,CardState

          UserInfoUserID,Password,UserName,UserLevel

          Recharge(CardNo,UserID,Money,OpTime)

          加入一个新的关系模式并把两个的主键分别加入到新的关系模式中

          

三、用三范式规范数据库

 

    1、第一范式(原子性)

本系统中没有找到很好的例子,随便举一个例子说明问题

非第一范式关系

系名称

高级职称人数

教授

副教授

计算机系

6

10

信息管理系

3

5

 

第一范式关系

系名称

教授人数

副教授人数

计算机系

6

10

信息管理系

3

5

第一个表中“高级职称人数”不是原子属性,他还包括两个子值

2、第二范式(不存在局部依赖)

 

   Recharge(CardNo,UserID,Money,OpTime)

 

在这个充值关系中,CardNo,UserID  决定 OpTime,所以他俩组合做主键,但是CardNo 自己就可以决定Money,因此存在局部依赖。

优化为

Recharge(CardNo,UserID,OpTime)

Balance(CardNo,Money)

即满足第二范式要求

 

3、第三范式(不含传递依赖)

没有在此系统中找到合适的例子,举其他例子说明此问题

StudentStuNo,StuDept,StuDeptTeacher

stuNo 可以决定stuDept

StuDept可以决定 StuDeptTeacher

这样就存在传递依赖

优化后

StudentStuNo,StuDept

Dept(StuDept,StuDeptTeacher)

4、三范式的关系


满足第三范式必须满足第一和第二范式

评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值