数据库设计说明书
本文档描述了机房收费系统的数据库的设计,提供了数据库的设计的理论支持,应用与机房收费系统开发前期,为后期的数据库设计指引了方向,也为系统程序设计提供借鉴与参考。
预期读者:数据库设计师,数据库管理员
A.软件名称:机房收费系统
B.任务提出者:米新江教授
开发者:何丽杰
用户:机房管理员,在校学生,在校教师
C.实现该软件的计算中心或计算机网络:学校机房,廊坊师范学院校园网
D.该软件系统同其他系统或其他机构的基本的相互来往关系:由廊坊师范学院信息技术提高班做技术上的支持。
1.数据库设计说明书(GB8567——88)
2.《软件工程知识体系指南》(2004版)蒋遂平 编著
表名 |
名称 |
描述 |
基本数据设定 |
BasicData_Info |
基本数据信息 |
退卡 |
CancelCard_Info |
退卡信息 |
日结帐单 |
CheckDay_Info |
日结帐单信息 |
周结帐单 |
CheckWeek_Info |
周结帐单信息 |
正在上机 |
Online_Info |
正在上机信息 |
上机信息 |
Line_Info |
上机信息 |
正在值班 |
Onwork_Info |
正在值班信息 |
值班信息 |
Worklog_Info |
值班信息 |
充值 |
ReCharge_Info |
充值信息 |
学生信息 |
Student_Info |
学生信息 |
用户信息 |
User_Info |
用户信息 |
表名 |
名称 |
描述 |
应用程序 |
版本号 |
基本数据设定 |
BasicData_Info |
基本数据信息 |
管理员模块 |
1.0 |
退卡 |
CancelCard_Info |
退卡信息 |
操作员模块 |
1.0 |
日结帐单 |
CheckDay_Info |
日结帐单信息 |
管理员模块 |
1.0 |
周结帐单 |
CheckWeek_Info |
周结帐单信息 |
管理员模块 |
1.0 |
正在上机 |
Online_Info |
正在上机信息 |
操作员模块 |
1.0 |
上机信息 |
Line_Info |
上机信息 |
操作员模块 |
1.0 |
正在值班 |
Onwork_Info |
正在值班信息 |
操作员模块 |
1.0 |
值班信息 |
Worklog_Info |
值班信息 |
管理员模块 |
1.0 |
充值 |
ReCharge_Info |
充值信息 |
操作员模块 |
1.0 |
学生信息 |
Student_Info |
学生信息 |
一般用户模块 |
1.0 |
用户信息 |
User_Info |
用户信息 |
管理员模块 |
1.0 |
机房收费系统共建立了11个表,具体如下:
1.用户表(User_Info)
描述 |
字段名 |
数据类型 |
长度 |
用户名 |
User ID |
int |
|
用户真实姓名 |
User Name |
Char |
10 |
密码 |
PWD |
Char |
8 |
用户级别 |
Level |
Char |
10 |
注册人员 |
Head |
Char |
8 |
2.退卡表(CancelCard_Info)
描述 |
字段名 |
数据类型 |
长度 |
学号 |
StudentNo |
Char |
10 |
卡号 |
CardNo |
Char |
10 |
退卡金额 |
CancelCash |
numeric |
(18,1) |
日期 |
Date |
date |
|
时间 |
Time |
time |
|
用户名 |
UserID |
Char |
10 |
状态 |
Status |
Char |
10 |
3.基本数据表(BasicData_Info)
描述 |
字段名 |
类型 |
长度 |
固定用户收费标准 |
Rate |
numeric |
(19,4) |
临时用户收费标准 |
TmpRate |
numeric |
(19,4) |
收费递增时间 |
unitTime |
Int |
|
至少上机时间 |
leastTime |
Int |
|
准备时间 |
PrepareTime |
Int |
|
至少上机金额 |
LimitCash |
numeric |
(19,4) |
注册人 |
Head |
Char |
10 |
日期 |
Date |
date |
|
时间 |
Time |
time |
|
4.日结账单(CheckDay_Info)
描述 |
字段名 |
类型 |
长度 |
上期金额 |
RemainCash |
numeric |
(18,0) |
今日充值金额 |
RechargeCash |
numeric |
(18,0) |
今日消费金额 |
ConsumeCash |
numeric |
(18,0) |
今日退卡金额 |
CancelCash |
numeric |
(18,0) |
今日总金额 |
AllCash |
numeric |
(18,0) |
日期 |
Date |
date |
|
5.周结帐单(CheckWeek_Info)
描述 |
字段名 |
类型 |
长度 |
上期金额 |
RemainCash |
numeric |
(18,0) |
本期充值金额 |
RechargeCash |
numeric |
(18,0) |
本期消费金额 |
ConsumeCash |
numeric |
(18,0) |
本期退卡金额 |
CancelCash |
numeric |
(18,0) |
本期总金额 |
AllCash |
numeric |
(18,0) |
日期 |
Date |
date |
|
6.上机信息(Line_Info)
描述 |
字段名 |
类型 |
长度 |
卡号 |
CardNo |
char |
10 |
学号 |
StudentNo |
char |
10 |
姓名 |
StudentName |
char |
10 |
系别 |
Department |
char |
10 |
性别 |
Sex |
char |
6 |
上机日期 |
Ondate |
date |
|
上机时间 |
Ontime |
time |
|
下机日期 |
Offdate |
date |
|
下机时间 |
Offtime |
time |
|
消费时间 |
ConsumeTime |
char |
10 |
消费金额 |
Consume |
numeric |
(18,1) |
余额 |
Cash |
numeric |
(18,1) |
状态 |
Status |
char |
8 |
使用客户端 |
Computer |
char |
10 |
7.正在上机记录表(Online_Info)
描述 |
字段名 |
类型 |
长度 |
卡号 |
CardNo |
char |
10 |
卡的类型 |
Cardtype |
char |
10 |
学号 |
StudentNo |
char |
10 |
学生姓名 |
StudentName |
char |
10 |
系别 |
Department |
char |
10 |
性别 |
Sex |
char |
6 |
上机日期 |
Ondate |
date |
|
上机时间 |
Ontime |
time |
|
使用客户端 |
Computer |
char |
10 |
日期 |
Date |
Datetime |
|
8.正在值班记录表(Onwork_Info)
描述 |
字段名 |
类型 |
长度 |
用户名 |
UserID |
Char |
10 |
用户类型 |
Level |
Char |
10 |
值班日期 |
LoginDate |
Date |
|
值班时间 |
LoginTime |
Time |
|
值班客户端 |
Computer |
Char |
10 |
9.值班记录表(Worklog_Info)
描述 |
字段名 |
类型 |
长度 |
序列号 |
Serial |
Numeric |
(18,0) |
用户名 |
UserID |
Char |
10 |
用户级别 |
Level |
Char |
10 |
值班日期 |
LoginDate |
Date |
|
值班时间 |
LoginTime |
Time |
|
下班日期 |
LogoutDate |
Date |
|
下班时间 |
LogoutTime |
Time |
|
值班客户端 |
Computer |
Char |
10 |
状态 |
Status |
Char |
10 |
10.学生信息表(Student_Info)
描述 |
字段名 |
类型 |
长度 |
卡号 |
CardNo |
char |
10 |
学号 |
StudentNo |
char |
10 |
姓名 |
StudentName |
char |
10 |
性别 |
Sex |
char |
6 |
系别 |
Department |
char |
10 |
年级 |
Grade |
char |
10 |
班级 |
Class |
char |
10 |
金额 |
Cash |
numeric |
(10,3) |
备注 |
Explain |
varchar |
50 |
注册老师用户名 |
UserID |
char |
10 |
使用状态 |
Status |
char |
10 |
结账状态 |
Ischeck |
char |
10 |
注册日期 |
Date |
date |
|
注册时间 |
Time |
time |
|
用户类型 |
Type |
char |
10 |
11.充值表(ReCharge_Info)
描述 |
字段名 |
类型 |
长度 |
卡号 |
CardNo |
Char |
11 |
学号 |
StudentNo |
Char |
10 |
充值金额 |
Addmoney |
Numeric |
(19,4) |
充值日期 |
Date |
Date |
|
充值时间 |
Time |
Time |
|
充值教师 |
UserID |
Char |
10 |
使用状态 |
Status |
Char |
10 |
可参考资料:软件工程哈工大耿建玲视频
数据库设计规范
软件名称 |
版本号 |
主要功能 |
Visual Basic |
6.0企业版 |
可视化高级开发语言 |
SQL Server |
2008 |
数据库的简历和管理 |
3.1.1数据实体——关系图
3.1.2 数据实体描述
表名 |
名称 |
描述 |
基本数据设定 |
BasicData_Info |
基本数据信息 |
退卡 |
CancelCard_Info |
退卡信息 |
日结帐单 |
CheckDay_Info |
日结帐单信息 |
周结帐单 |
CheckWeek_Info |
周结帐单信息 |
正在上机 |
Online_Info |
正在上机信息 |
上机信息 |
Line_Info |
上机信息 |
正在值班 |
Onwork_Info |
正在值班信息 |
值班信息 |
Worklog_Info |
值班信息 |
充值 |
ReCharge_Info |
充值信息 |
学生信息 |
Student_Info |
学生信息 |
用户信息 |
User_Info |
用户信息 |
3.1.3实体关系描述
1.一般用户:学生信息(1:N)
关系描述:一般用户负责对学生及上机情况的查询
2.操作员:学生信息(1:N)
关系描述:一个操作员可以对个学生进行注册、充值、退卡活动
3.管理员:操作员(1:N)
管理员:一般用户(1:N)
关系描述:一个管理员可以增删多个操作员和一般用户
4.操作员:工作记录(1:1)
关系描述:一个操作员对应一条自己的工作记录
5.管理员:基本数据(1:1)
关系描述:管理员负责设定系统的基本数据
6.管理员:账单(1:N)
关系描述:管理员每天结账并且查询任意时间段的账单情况
机房收费系统共建立了11个表,具体如下:
1.用户表(User_Info)
描述 |
字段名 |
数据类型 |
长度 |
用户名 |
User ID |
int |
|
用户真实姓名 |
User Name |
Char |
10 |
密码 |
PWD |
Char |
8 |
用户级别 |
Level |
Char |
10 |
注册人员 |
Head |
Char |
8 |
2.退卡表(CancelCard_Info)
描述 |
字段名 |
数据类型 |
长度 |
学号 |
StudentNo |
Char |
10 |
卡号 |
CardNo |
Char |
10 |
退卡金额 |
CancelCash |
numeric |
(18,1) |
日期 |
Date |
date |
|
时间 |
Time |
time |
|
用户名 |
UserID |
Char |
10 |
状态 |
Status |
Char |
10 |
3.基本数据表(BasicData_Info)
描述 |
字段名 |
类型 |
长度 |
固定用户收费标准 |
Rate |
numeric |
(19,4) |
临时用户收费标准 |
TmpRate |
numeric |
(19,4) |
收费递增时间 |
unitTime |
Int |
|
至少上机时间 |
leastTime |
Int |
|
准备时间 |
PrepareTime |
Int |
|
至少上机金额 |
LimitCash |
numeric |
(19,4) |
注册人 |
Head |
Char |
10 |
日期 |
Date |
date |
|
时间 |
Time |
time |
|
4.日结账单(CheckDay_Info)
描述 |
字段名 |
类型 |
长度 |
上期金额 |
RemainCash |
numeric |
(18,0) |
今日充值金额 |
RechargeCash |
numeric |
(18,0) |
今日消费金额 |
ConsumeCash |
numeric |
(18,0) |
今日退卡金额 |
CancelCash |
numeric |
(18,0) |
今日总金额 |
AllCash |
numeric |
(18,0) |
日期 |
Date |
date |
|
5.周结帐单(CheckWeek_Info)
描述 |
字段名 |
类型 |
长度 |
上期金额 |
RemainCash |
numeric |
(18,0) |
本期充值金额 |
RechargeCash |
numeric |
(18,0) |
本期消费金额 |
ConsumeCash |
numeric |
(18,0) |
本期退卡金额 |
CancelCash |
numeric |
(18,0) |
本期总金额 |
AllCash |
numeric |
(18,0) |
日期 |
Date |
date |
|
6.上机信息(Line_Info)
描述 |
字段名 |
类型 |
长度 |
卡号 |
CardNo |
char |
10 |
学号 |
StudentNo |
char |
10 |
姓名 |
StudentName |
char |
10 |
系别 |
Department |
char |
10 |
性别 |
Sex |
char |
6 |
上机日期 |
Ondate |
date |
|
上机时间 |
Ontime |
time |
|
下机日期 |
Offdate |
date |
|
下机时间 |
Offtime |
time |
|
消费时间 |
ConsumeTime |
char |
10 |
消费金额 |
Consume |
numeric |
(18,1) |
余额 |
Cash |
numeric |
(18,1) |
状态 |
Status |
char |
8 |
使用客户端 |
Computer |
char |
10 |
7.正在上机记录表(Online_Info)
描述 |
字段名 |
类型 |
长度 |
卡号 |
CardNo |
char |
10 |
卡的类型 |
Cardtype |
char |
10 |
学号 |
StudentNo |
char |
10 |
学生姓名 |
StudentName |
char |
10 |
系别 |
Department |
char |
10 |
性别 |
Sex |
char |
6 |
上机日期 |
Ondate |
date |
|
上机时间 |
Ontime |
time |
|
使用客户端 |
Computer |
char |
10 |
日期 |
Date |
Datetime |
|
8.正在值班记录表(Onwork_Info)
描述 |
字段名 |
类型 |
长度 |
用户名 |
UserID |
Char |
10 |
用户类型 |
Level |
Char |
10 |
值班日期 |
LoginDate |
Date |
|
值班时间 |
LoginTime |
Time |
|
值班客户端 |
Computer |
Char |
10 |
9.值班记录表(Worklog_Info)
描述 |
字段名 |
类型 |
长度 |
序列号 |
Serial |
Numeric |
(18,0) |
用户名 |
UserID |
Char |
10 |
用户级别 |
Level |
Char |
10 |
值班日期 |
LoginDate |
Date |
|
值班时间 |
LoginTime |
Time |
|
下班日期 |
LogoutDate |
Date |
|
下班时间 |
LogoutTime |
Time |
|
值班客户端 |
Computer |
Char |
10 |
状态 |
Status |
Char |
10 |
10.学生信息表(Student_Info)
描述 |
字段名 |
类型 |
长度 |
卡号 |
CardNo |
char |
10 |
学号 |
StudentNo |
char |
10 |
姓名 |
StudentName |
char |
10 |
性别 |
Sex |
char |
6 |
系别 |
Department |
char |
10 |
年级 |
Grade |
char |
10 |
班级 |
Class |
char |
10 |
金额 |
Cash |
numeric |
(10,3) |
备注 |
Explain |
varchar |
50 |
注册老师用户名 |
UserID |
char |
10 |
使用状态 |
Status |
char |
10 |
结账状态 |
Ischeck |
char |
10 |
注册日期 |
Date |
date |
|
注册时间 |
Time |
time |
|
用户类型 |
Type |
char |
10 |
11.充值表(ReCharge_Info)
描述 |
字段名 |
类型 |
长度 |
卡号 |
CardNo |
Char |
11 |
学号 |
StudentNo |
Char |
10 |
充值金额 |
Addmoney |
Numeric |
(19,4) |
充值日期 |
Date |
Date |
|
充值时间 |
Time |
Time |
|
充值教师 |
UserID |
Char |
10 |
使用状态 |
Status |
Char |
10 |
1.用户表(User_Info)
数据项编号 |
描述 |
字段名 |
数据类型 |
长度 |
001 |
用户名 |
User ID |
int |
|
002 |
用户真实姓名 |
User Name |
Char |
10 |
003 |
密码 |
PWD |
Char |
8 |
004 |
用户级别 |
Level |
Char |
10 |
005 |
注册人员 |
Head |
Char |
8 |
2.退卡表(CancelCard_Info)
数据项编号 |
描述 |
字段名 |
数据类型 |
长度 |
006 |
学号 |
StudentNo |
Char |
10 |
007 |
卡号 |
CardNo |
Char |
10 |
008 |
退卡金额 |
CancelCash |
numeric |
(18,1) |
009 |
日期 |
Date |
date |
|
010 |
时间 |
Time |
time |
|
011 |
用户名 |
UserID |
Char |
10 |
012 |
状态 |
Status |
Char |
10 |
3.基本数据表(BasicData_Info)
数据项编号 |
描述 |
字段名 |
类型 |
长度 |
013 |
固定用户收费标准 |
Rate |
numeric |
(19,4) |
014 |
临时用户收费标准 |
TmpRate |
numeric |
(19,4) |
015 |
收费递增时间 |
unitTime |
Int |
|
016 |
至少上机时间 |
leastTime |
Int |
|
017 |
准备时间 |
PrepareTime |
Int |
|
018 |
至少上机金额 |
LimitCash |
numeric |
(19,4) |
019 |
注册人 |
Head |
Char |
10 |
020 |
日期 |
Date |
date |
|
021 |
时间 |
Time |
time |
|
4.日结账单(CheckDay_Info)
数据项编号 |
描述 |
字段名 |
类型 |
长度 |
022 |
上期金额 |
RemainCash |
numeric |
(18,0) |
023 |
今日充值金额 |
RechargeCash |
numeric |
(18,0) |
024 |
今日消费金额 |
ConsumeCash |
numeric |
(18,0) |
025 |
今日退卡金额 |
CancelCash |
numeric |
(18,0) |
026 |
今日总金额 |
AllCash |
numeric |
(18,0) |
027 |
日期 |
Date |
date |
|
5.周结帐单(CheckWeek_Info)
数据项编号 |
描述 |
字段名 |
类型 |
长度 |
028 |
上期金额 |
RemainCash |
numeric |
(18,0) |
029 |
本期充值金额 |
RechargeCash |
numeric |
(18,0) |
030 |
本期消费金额 |
ConsumeCash |
numeric |
(18,0) |
031 |
本期退卡金额 |
CancelCash |
numeric |
(18,0) |
032 |
本期总金额 |
AllCash |
numeric |
(18,0) |
033 |
日期 |
Date |
date |
|
6.上机信息(Line_Info)
数据项编号 |
描述 |
字段名 |
类型 |
长度 |
034 |
卡号 |
CardNo |
char |
10 |
035 |
学号 |
StudentNo |
char |
10 |
036 |
姓名 |
StudentName |
char |
10 |
037 |
系别 |
Department |
char |
10 |
038 |
性别 |
Sex |
char |
6 |
039 |
上机日期 |
Ondate |
date |
|
040 |
上机时间 |
Ontime |
time |
|
041 |
下机日期 |
Offdate |
date |
|
042 |
下机时间 |
Offtime |
time |
|
043 |
消费时间 |
ConsumeTime |
char |
10 |
044 |
消费金额 |
Consume |
numeric |
(18,1) |
045 |
余额 |
Cash |
numeric |
(18,1) |
046 |
状态 |
Status |
char |
8 |
047 |
使用客户端 |
Computer |
char |
10 |
7.正在上机记录表(Online_Info)
数据项编号 |
描述 |
字段名 |
类型 |
长度 |
048 |
卡号 |
CardNo |
char |
10 |
049 |
卡的类型 |
Cardtype |
char |
10 |
050 |
学号 |
StudentNo |
char |
10 |
051 |
学生姓名 |
StudentName |
char |
10 |
052 |
系别 |
Department |
char |
10 |
053 |
性别 |
Sex |
char |
6 |
054 |
上机日期 |
Ondate |
date |
|
055 |
上机时间 |
Ontime |
time |
|
056 |
使用客户端 |
Computer |
char |
10 |
057 |
日期 |
Date |
Datetime |
|
8.正在值班记录表(Onwork_Info)
数据项描述 |
描述 |
字段名 |
类型 |
长度 |
058 |
用户名 |
UserID |
Char |
10 |
059 |
用户类型 |
Level |
Char |
10 |
060 |
值班日期 |
LoginDate |
Date |
|
061 |
值班时间 |
LoginTime |
Time |
|
062 |
值班客户端 |
Computer |
Char |
10 |
9.值班记064录表(Worklog_Info)
数据项描述 |
描述 |
字段名 |
类型 |
长度 |
063 |
序列号 |
Serial |
Numeric |
(18,0) |
064 |
用户名 |
UserID |
Char |
10 |
065 |
用户级别 |
Level |
Char |
10 |
066 |
值班日期 |
LoginDate |
Date |
|
067 |
值班时间 |
LoginTime |
Time |
|
068 |
下班日期 |
LogoutDate |
Date |
|
069 |
下班时间 |
LogoutTime |
Time |
|
070 |
值班客户端 |
Computer |
Char |
10 |
071 |
状态 |
Status |
Char |
10 |
10.学生信息表(Student_Info)
数据项描述 |
描述 |
字段名 |
类型 |
长度 |
072 |
卡号 |
CardNo |
char |
10 |
073 |
学号 |
StudentNo |
char |
10 |
074 |
姓名 |
StudentName |
char |
10 |
075 |
性别 |
Sex |
char |
6 |
076 |
系别 |
Department |
char |
10 |
077 |
年级 |
Grade |
char |
10 |
078 |
班级 |
Class |
char |
10 |
079 |
金额 |
Cash |
numeric |
(10,3) |
080 |
备注 |
Explain |
varchar |
50 |
081 |
注册老师用户名 |
UserID |
char |
10 |
082 |
使用状态 |
Status |
char |
10 |
083 |
结账状态 |
Ischeck |
char |
10 |
084 |
注册日期 |
Date |
date |
|
085 |
注册时间 |
Time |
time |
|
086 |
用户类型 |
Type |
char |
10 |
11.充值表(ReCharge_Info)
数据项编号 |
描述 |
字段名 |
类型 |
长度 |
087 |
卡号 |
CardNo |
Char |
11 |
088 |
学号 |
StudentNo |
Char |
10 |
089 |
充值金额 |
Addmoney |
Numeric |
(19,4) |
090 |
充值日期 |
Date |
Date |
|
091 |
充值时间 |
Time |
Time |
|
092 |
充值教师 |
UserID |
Char |
10 |
093 |
使用状态 |
Status |
Char |
10 |
不同级别的用户,使用系统的权限也不相同:
|
一般用户 |
操作员 |
管理员 |
学生信息查询 |
√ |
√ |
√ |
学生信息管理 |
|
√ |
√ |
收支账目信息 |
|
√ |
√ |
系统信息管理 |
|
|
√ |
用户信息管理 |
|
|
√ |