其实从寒假开始我就开始进行敲代码的打算,无奈“无规矩不成方圆”,既然我们学习了软工,就必须得按着步骤来进行!先设计数据库,再画图,再文档!这不就对于数据库的设计,关于ER图,研究了近1天,才算是建出合格的数据库了!
ER图:
那么自考时候学的数据库知识就用到了!
先看这个图有学生,卡和操作员,管理员这四个实体,但是操作员和管理员的属性相同,所以可以看做用户实体。这样表就出来了:
用户表(UserInfo):(用户名(UserID),密码(Password),姓名(UserName),级别(Level))
卡(CardInfo):(卡号(CardNO),学号(StudentNO),用户名(UserID),余额(Balance),注册日期(RegistDate),注册时间(RegistTime),类型(Style),状态(State),是否结账(IsNoCheck))
学生(StudentInfo):(学号(StudentNO),姓名:(StudentName),性别(Sex),学院(College),专业(Professional),年级(Grade))
由于注册,充值,退卡和结账这四个联系都产生了额外的属性产物,所以又可以生成表:RechargeInfo(充值表),BackCardInfo(退卡表),结账表(SettleAccountsInfo)。
这样,由ER图可以得出这6个表。但是由需求分析我们可以知道,这个机房收费系统还必须得有查询的功能。也就是我们对学生上下机,和对用户登录和注销这个系统都得有一个记录才行,不然怎么对老师和学生进行管理呢?
就这样又出来了一个表:正在上机表(OnLineInfo)和上下机表(OnOffLineInfo)以及关于用户的工作状态表(OnWorkInfo)和工作记录表(WorkLogInfo)。于是就出来了各个表。(以下表仅供参考)
卡表:
用户表:
学生表:
充值表:
好了就给这几个吧!
小结:
其实数据库的设计不仅仅是一个系统做的好不好的关键,更不仅仅只是建几个表这么简单。在实现系统的过程中还涉及到在数据库中建立视图,存储过程以及事务的运用等!接下来让我们在重构中一步一步完善这个数据库!