设为首页 加入收藏

TOP

重构机房收费系统―数据库设计
2015-11-21 01:52:48 来源: 作者: 【 】 浏览:0
Tags:重构 机房 收费系统 数据库 设计

弄完了三层的例子后,机房重构早就该开始了,但是自己一直不想动,万事开头难,机房收费的重构,先是数据库的设计问题,开始包括ER图的设计。然后设计数据库,设计表.......

现在想想自己数据库的设计。首先先想一想上下机的整个流程,一个学生拿着卡来到老师面前,老师讲学生的卡激活,学生在拿着卡去找机子上机,假如学生没有卡,老师可以给学生注册新卡,如果卡里没有钱,也可以给学生充值,如果学生不想要卡了,还有注销等等,而学生和卡之间就是拥有的关系。最后就是学生上完机,然后再拿着卡去找老师下机,老师在从基本数据表中得到数据计算学生的消费金额,让学生下机。当然还有一个可以记录用户工作记录的表。

下图是自己设计的数据ER图

在数据库ER图转换成关系模型的时候,我们要遵循三范式。

第一范式:关系模式中的每一个属性不可以在细分。比如一个关系模式有一个地址属性,属性可以从中国――>河北省――>廊坊市等等,这样属性不是单一的,就不满足第一范式。

第二范式:关系模式R在满足1NF后,每个非主属性完全依赖于候选键。其实就是不存在局部依赖。比如现在有一个关系模式R(StudentNO、CourseNO、Score、TeacherNO、Title)的属性分别代表学生的学号、课程号、分数、教师号、教师的职称。显然里面的候选键是(StudentNO、CourseNO),他俩就可以将这个关系模式中所有的属性信息都能推出来,但是在候选键CourseNO中,它可以将(TeacherNO,Title)推出来,这就叫存在非主属性对候选键的局部依赖。用一个比喻来说,小两口过得好好的,但是其中有一个有了外遇。

第三范式:每个非主属性都不传递依赖关系模式R的候选键。前提是R满足1NF和2NF。比如关系模式R中,A是候选键,A――>B 、B――>C、 A――>C,最后一个就是一个传递依赖的例子。这样就不满足3NF。

小结

机房重构让我回头复习了数据的设计,数据库的三范式等等知识,回头看看挺好的,学习嘛就是一个反复的过程。万事开头难,给自己加油吧!!

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇判断表(临时表),存储过程是否.. 下一篇学习数据库笔记四

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: