机房重构之--数据库设计说明书

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/fightfaith/article/details/49976335

  前言:机房重构,需要按照三层架构的理念来设计程序,需要重新设计数据库,而数据库设计说明书则是数据库设计的依据。

现摘录部分数据库设计说明书内容如下:

1、数据库总表:

表名

名称

描述信息

状态

基本数据设定

T_BasicData

基本的消费使用信息

使用

退卡

T_Cancelcard

退卡信息

使用

账单表

T_Bill

记录所有账单的信息

使用

上机

T_Line

记录上机信息,包括上机信息和正在上机学生的信息

使用

充值

T_Recharge

记录充值信息

使用

学生信息

T_Student

学生信息

使用

用户信息

T_User

用户信息

使用

工作记录表

T_Work

记录工作员的工作记录

使用

卡表

T_Card

记录所有注册的卡的信息

使用


2、约定

  (1)数据库名

    数据库名采用首字母大写,避免系统保留的表名。此次使用ChargeSystem

  (2) 数据库表

    使用T_表名,表名采用首字母大写。例如用户表:T_User

  (3)表字段

    第一个字母小写,后面的单词或拼音,采用第一个字母大写,命名规则只来自于业务,尽量表达出列的含义。命名一般为名词或形容词。

  (4)主键

     主键名 = PK + “_”+ 表名

  (5)外键

    外键名 = FK + “_” + 表名

  (6)索引

    索引名 = IDX + “_” + 表名 + 相关字段/索引含义。

3、结构设计

  (1)ER图:

 
  (2)表信息

    学生表详细信息:

 
    卡表详细信息:

 
    用户表详细信息:

 
    基本数据详细信息: 


    充值表详细信息: 


    退卡表详细信息: 


    账单表详细信息: 


    上机表详细信息: 


    
工作表详细信息:


4、逻辑结构设计

  用户基本信息表(用户ID、姓名、用户级别、密码、开户日期、开户时间、开户人、状态、是否结账)

  学生基本信息表(学号、姓名、性别、系别、年级、班级、备注、注册日期、注册时间、用户ID)

  卡基本信息表(卡号、类型、状态、是否结账、学号、用户ID、余额、注册日期、注册时间)

  系统基础数据表(固定用户每小时费用、临时用户每小时费用、递增单位时间、最少上机时间、上机准备时间、最少消费金额、设定日期、设定时间、设定人)

  上机记录表(卡号、学号、上机日期、上机时间、下机日期、下机时间、消费时间、消费金额、余额、状态、卡类型、是否在线、电脑信息、开户人ID)

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

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

  账单表(结账日期、上期卡余额、当日充值金额、当日消费金额、当日退卡金额、本期卡余额、用户ID)

  操作员工作日志表(教师ID、工作教师级别、登录日期、登录时间、注销日期、注销时间、机器号、是否正在值班)

5、数据库表设计

  用户表T_User:充值、退卡、注册时的操作者都必须已在用户表中注册,主要用于添加删除用户;登录验证、还有充值、退卡、注册业务时操作者的身份验证等业务。与充值、退卡、学生表相关联

表名:T_UseUserrInfo

字段名

字段说明

数据类型

允许空

是否主键

 

id

用户名

int

N

Y

 

password

密码

varchar(20)

N

 

 

level

用户级别

varchar(8)

N

 

name

真实姓名

varchar(10)

N

 

 

managerUser

开户人

int

N

 

 

registerDate

开户日期

varchar(10)

N

 

 

registerTime

开户时间

varchar(10)

N

 

 

state

状态

varchar(6)

N

 

 

isCheck

是否结账

varchar(6)

N

 

 

  学生表T_Student:主要用于学生注册、退卡、上机、充值等业务。与卡表相关联

表名:T_StuInfo

字段名

字段说明

数据类型

允许空

是否主键

 

id

学号

int

N

Y

 

name

姓名

varchar(10)

N

 

 

sex

性别

varchar(2)

N

 

 

department

系别

varchar(20)

N

 

 

grade

年级

varchar(20)

N

 

 

class

班级

varchar(20)

N

 

 

remark

备注

varchar(100)

Y

 

 

registerDate

注册日期

varchar(10)

N

 

 

registerTime

注册日期

varchar(10)

N

 

 

userId

开户人

int

N

 

 

  卡表T_Card:所有与卡相关的业务在进行前,都必须先验证“卡号”是否已注册,主要用于上下机业务和一些验证操作等。与充值记录、上机记录、退卡记录、学生表相关联

表名:T_CardInfo

字段名

字段说明

数据类型

允许空

是否主键

 

id

卡号

int

N

Y

 

type

卡类型

varchar(8)

N

 

 

cash

卡余额

numeric (6,1)

N

 

 

state

卡状态

varchar(6)

N

 

 

isCheck

是否结账

varchar(6)

N

 

 

studentId

使用该卡的学号

int

N

 

 

userId

卡注册操作员

int

N

 

 

registerDate

卡注册日期

varchar(10)

N

 

 

registerTime

卡注册时间

varchar(10)

N

 

 

  系统基础数据表T_BasicData:主要用于下机结账时计算消费时间和消费金额的业务

表名:T_BasicDataInfo

字段名

字段说明

数据类型

允许空

是否主键

 

rate

固定用户单位时间费用

numeric (6, 1)

N

 

 

temporaryRate

临时用户单位时间费用

numeric(6,1)

N

 

 

unitTime

递增单位时间

int

N

 

 

limTime

最低消费时间

numeric (6, 1)

N

 

 

prepareTime

上机准备时间

numeric (6, 1)

N

 

 

limCash

最低消费金额

numeric (6, 1)

N

 

 

managerUser

修改教师

int

N

 

 

setDate

修改日期

varchar(10)

N

 

 

setTime

修改时间

varchar(10)

N

 

 

   上机记录表T_Line:主要用于上机业务,查询上机记录,与用户表、卡表相关联 

表名:T_OnlineRecord

字段名

字段说明

数据类型

允许空

是否主键

 

cardId

卡号

int

N

 

 

studentId

学号

int

N

 

 

onDate

上机日期

varchar(10)

N

 

 

onTime

上机时间

varchar(10)

N

 

 

offDate

下机日期

varchar(10)

Y

 

 

offTime

下机时间

varchar(10)

Y

 

 

consumeTime

消费时间

numeric(6,1)

Y

 

 

consume

消费金额

numeric(6,1)

Y

 

 

Cash

余额

numeric(6,1)

Y

 

 

state

状态

varchar(6)

N

 

 

cardType

卡类型

varchar(8)

N

 

 

isOn

是否在线

varchar(2)

N

 

 

computer

机器号

varchar(30)

N

 

 

userId

开户人ID

int

N

 

 

  充值记录表T_Recharge:主要用于充值业务,查询充值记录,与用户表、卡表相关联

表名:T_RechargeRecord

字段名

字段说明

数据类型

允许空

是否主键

 

studentId

学号

int

N

 

 

cardId

充值卡号

int

N

 

 

addCash

充值金额

Numeric(6,1)

N

 

 

rechargeDate

充值日期

varchar(10)

N

 

 

rechargeTime

充值时间

varchar(10)

N

 

 

managerUser

充值教师

int

N

 

 

isCheck

是否结账

varchar(6)

N

 

 

  退卡记录表T_CancelCard:主要用于退卡业务,查询退卡记录,与卡表相关联

表名:T_RebackRecord

字段名

字段说明

数据类型

允许空

是否主键

 

studentId

学号

int

N

 

cardId

退卡卡号

int

N

 

 

cancelDate

退卡日期

varchar(10)

N

 

 

cancelTime

退卡时间

varchar(10)

N

 

 

cancelCash

退卡金额

numeric (6,1)

N

 

 

managerUser

退卡操作员

int

N

 

 

isCheck

是否结账

varchar(6)

N

 

 

   账单表T_Bill:主要用于消费记录的查询,用于查看日结账单、周结账单业务

表名:T_CheckWeekDay

字段名

字段说明

数据类型

允许空

是否主键

 

billDate

结账日期

varchar(10)

N

 

priorCash

上期余额

numeric(6,1)

N

 

 

rechargeCash

当天充值金额

numeric(6,1)

N

 

 

consumeCash

当天消费金额

numeric(6,1)

N

 

 

cancelCash

当天退卡金额

numeric(6,1)

N

 

 

cash

本期卡余额

numeric(6,1)

N

 

 

userId

用户ID

int

N

 

 

  工作日志表T_Work:主要用于操作员工作记录查询业务

表名:T_DutyWorklog

字段名

字段说明

数据类型

允许空

是否主键  

 

userId

工作者用户名

int

N

Y

 

userLevel

工作者级别

varchar(8)

N

 

 

loginDate

登录日期

varchar(10)

N

 

 

loginTime

登陆时间

varchar(10)

N

 

 

logoutDate

注销日期

varchar(10)

Y

 

 

logoutTime

注销时间

varchar(10)

Y

 

 

computer

机器号

varchar(30)

N

 

 

isOn

是否值班

varchar(2)

N

 

 

  小结:数据库是程序设计的基础,一个良好的数据库设计是系统逻辑清晰、良好运行的保障。


展开阅读全文

没有更多推荐了,返回首页