重构——数据库设计

    重构工作开始没有几天,就遇到了困难,数据库该如何设计?

    以前用的数据库都是现成的,或者说整个数据库结构都设计好了,我们只要照葫芦画瓢,或者干脆增加几个表就好了,可是这次真的要彻彻底底的自己设计一个数据库了。


分析需求

    有了第一遍机房收费系统的经验,分析需求的工作对我们来说就变的简单起来了,因为我们很清楚整个系统是如何运作的,有哪些需求,甚至系统有哪些窗体。下面我来简单说一下。

    卡:

重构——数据库设计_第1张图片



 

     上机:

重构——数据库设计_第2张图片

    财务:

重构——数据库设计_第3张图片 

 

    用户信息:

重构——数据库设计_第4张图片

 

 

抽象实体

    根据需求我抽象出来的实体:

        学生、卡、上下机、数据、用户、使用记录、账单。


ER图

重构——数据库设计_第5张图片

    图形分析:

         图中的实体有:学生、卡、上下机、数据、用户、使用记录、账单

         根据数据库相关知识,关系中为M:N关系的联系也要建立关系模式:充值、退卡、

 

关系模式

    根据ER图,会产生9个关系模式,如下:

        学生(学号、姓名、性别、系别、年级、班级、备注)

        (卡号、学号、初始金额、操作员、状体、是否结账、购卡日期、购卡时间、类型、机器名)

        上下机(卡号、学号、学生姓名、系别、性别、日期、时间、消费金额、余额、状态、机器名、类型)

         数据(固定用户、临时用户、递增单位时间、至少上机时间、准备时间、最少金额、设定人、时间、日期、状态)

         退卡(卡号、学号、退还金额、注销日期、注销时间、操作员、是否结账)

         结账(操作员ID、上期余额、充值金额、退卡金额、总金额、结账日期)

         上下机(卡号、学号、学生姓名、系别、性别、日期、时间、消费时间、消费金额、余额、状态、机器名、类型)

         充值(卡号、学号、充值金额、充值日期、充值时间、操作员、是否结账)

         用户(账号、姓名、密码、用户级别、机器名、开户人)

 

生成表

重构——数据库设计_第6张图片


   至此,数据库设计完成,如果在重构的过程中发现数据库有可以改进的地方,可以再进行修改。

你可能感兴趣的:(数据库,重构,设计)