机房收费系统数据库设计--ER图

来源:互联网 发布:mysql truncate 权限 编辑:程序博客网 时间:2024/05/01 23:40

   开始机房重构了,第一步得先建个数据库吧,之前第一次机房的数据表冗余很多,所以这次需要自己建数据库,正好联系上了最近复习的数据库系统原理第二章关系模型--ER模型到关系模型的转换,所以开工试试咯~~

  一开始画ER图是没有头绪的,然后就先在纸上瞎画着玩,画着画着觉得有点上道了,然后刹不住车了,越画越大,暂时想到的都画进去了,以后想到再补充。

一、机房收费系统ER图:



二、ER模型到关系模型的转换:


第一步:将六个实体转换成六个模式

学生(学号,姓名,性别,专业,班级,年级)

卡(卡号,类型,余额,使用状态)

用户(UserID,Password,UserName,级别)

基本数据(固定用户价,临时用户价,单位时间,最少上机时间,设定日期,设定时间)

账单(账单编号,本期充值金额,本期退卡金额,本期消费金额)

电脑(名称

 

第二步:加入外键

1:1关系:

学生与卡之间是1:1关系,将“学生”模式中加入“卡号”做外键。在“卡”模式中加入“学号”

学生(学号,姓名,性别,专业,班级,年级,卡号

卡(卡号,类型,余额,使用状态,学号

基本数据(固定用户价,临时用户价,单位时间,最少上机时间,设定日期,设定时间,UserID

 

1:N关系:

将1对应的主键加入到N作为外键

没有1:N关系先略过。

 

第三步--将M:N关系生成新的关系模式:

上下机(卡号电脑号,学号,上机日期,上机时间,下机日期,下机时间,消费金额)

工作日志记录(UserID,电脑名,登录日期,登录时间,退出日期,退出时间)

结账(UserID,账单编号,结账日期,结账时间)

注册(卡号,UserID,学号,注册日期,注册时间)

充值(卡号,UserID,学号,充值日期,充值时间,充值金额,结账状态)

退卡(卡号,UserID,学号,退卡提起,退卡时间,结账状态)

激活(卡号,UserID,学号,激活日期,激活时间)

 

最终转换成关系模式如下:

学生(学号,姓名,性别,专业,班级,年级,卡号

卡(卡号,类型,余额,使用状态,学号

基本数据(固定用户价,临时用户价,单位时间,最少上机时间,设定日期,设定时间,UserID

账单(账单编号,上期余额,本期充值金额,本期退卡金额,本期消费金额,本期全部金额)

电脑(名称

上下机(卡号电脑号,学号,上机日期,上机时间,下机日期,下机时间,消费金额,余额,在线状态)

工作日志记录(UserID,电脑名,登录日期,登录时间,退出日期,退出时间,在线状态)

结账(UserID,账单编号,结账日期,结账时间)

用户(UserID,Password,级别,开户人,注册日期,注册时间)

充值(卡号,UserID,学号,充值日期,充值时间,充值金额,结账状态)

退卡(卡号,UserID,学号,退卡金额,退卡日期,退卡时间,结账状态)

激活(卡号,UserID,学号,激活日期,激活时间)


总结:

   自考里面学的很多理论知识还是需要拿出来用用,不然的话就仅仅是学过而已,不能算是自己的知识。实践出真知,学以致用。

0 0