重构工作开始没有几天,就遇到了困难,数据库该如何设计?
以前用的数据库都是现成的,或者说整个数据库结构都设计好了,我们只要照葫芦画瓢,或者干脆增加几个表就好了,可是这次真的要彻彻底底的自己设计一个数据库了。
有了第一遍机房收费系统的经验,分析需求的工作对我们来说就变的简单起来了,因为我们很清楚整个系统是如何运作的,有哪些需求,甚至系统有哪些窗体。下面我来简单说一下。
卡:
上机:
财务:
用户信息:
根据需求我抽象出来的实体:
学生、卡、上下机、数据、用户、使用记录、账单。
图形分析:
图中的实体有:学生、卡、上下机、数据、用户、使用记录、账单
根据数据库相关知识,关系中为M:N关系的联系也要建立关系模式:充值、退卡、
根据ER图,会产生9个关系模式,如下:
学生(学号、姓名、性别、系别、年级、班级、备注)
卡(卡号、学号、初始金额、操作员、状体、是否结账、购卡日期、购卡时间、类型、机器名)
上下机(卡号、学号、学生姓名、系别、性别、日期、时间、消费金额、余额、状态、机器名、类型)
数据(固定用户、临时用户、递增单位时间、至少上机时间、准备时间、最少金额、设定人、时间、日期、状态)
退卡(卡号、学号、退还金额、注销日期、注销时间、操作员、是否结账)
结账(操作员ID、上期余额、充值金额、退卡金额、总金额、结账日期)
上下机(卡号、学号、学生姓名、系别、性别、日期、时间、消费时间、消费金额、余额、状态、机器名、类型)
充值(卡号、学号、充值金额、充值日期、充值时间、操作员、是否结账)
用户(账号、姓名、密码、用户级别、机器名、开户人)
至此,数据库设计完成,如果在重构的过程中发现数据库有可以改进的地方,可以再进行修改。