数据库设计说明书
1引言
1.1编写目的
本文档描述了机房收费系统数据库的设计,提供了数据库设计的可视性以及软件支持所需的信息,应用于机房收费系统开发前期,为后期的数据库设计指引方向,也可以为系统程序设计提供借鉴与参照。 预期读者为数据库设计师、数据库管理员。
1.2背景
待开发软件名称:机房收费系统
1.3定义
注册 | 消费金额 | 充值 | 值班 | 退卡 |
Login | Consume | Recharge | On work | Cancel |
结账 | 基本数据 | 购卡 | 上机 | 下机 |
Statement | Basic_date | Buycard | Login | logout |
1.4参考资料
[1]《软件工程事务》刘学俊 李继芳 刘汉中 编著 浙江大学出版社
[2]数据库设计说明书(GB8567——88)
2外部设计
2.1标识符和状态
联系用途,详细说明用于唯一地标识该数据库的代码、名称或标识符,附加的描述性信息亦要给出。如果该数据库属于尚在实验中、尚在测试中或是暂时使用的,则要说明这一特点及其有效时间范围。
如下图:
表名 | 名称 | 描述信息 | 状态 |
基本数据设定 | BasicData_Info | 基本数据信息 | 暂时使用 |
退卡 | CancelCard_Info | 退卡信息 | 实验中 |
日结账单 | CheckDay_Info | 日结账信息 | 实验中 |
周结账单 | CheckWeek_Info | 周结账信息 | 实验中 |
上机 | Online_Info | 上机信息 | 实验中 |
充值 | Recharge_Info | 充值信息 | 实验中 |
学生信息 | Student_Info | 学生信息 | 暂时使用 |
用户信息 | User_Info | 用户信息 | 暂时使用 |
值班 | WorkLog_Info | 值班信息 | 实验中 |
2.2使用它的程序
列出将要使用或访问此数据库的所有应用程序,对于这些应用程序的每一个,给出它的名称和版本号。
应用程序 | 名称 | 版本号 |
学生信息查询 | 一般用户模块 | 1.0 |
学生信息管理 | 操作员模块 | 1.0 |
系统管理 | 管理员模块 | 1.0 |
2.3约定
1)基本数据设定(BasicData_Info)
前缀 | 说明 |
HalfCharge | 半小时费用 |
IncreaseTime | 递增时间 |
LeastTime | 最少上机时间 |
ReadyTime | 上机准备时间 |
LeastCash | 卡内最少余额 |
2)退卡信息(CancelCard_Info)
前缀 | 说明 |
StudentNo | 学号 |
CardNo | 卡号 |
CancelCash | 退卡金额 |
Date | 日期 |
Time | 时间 |
UserID | 用户名 |
Status | 状态 |
3)日结账单(CheckDay_Info)
前缀 | 说明 |
RemainCash | 余额 |
RechargeCash | 充值金额 |
ConsumeCash | 消费金额 |
CancelCash | 退卡金额 |
AllCash | 所有金额 |
Date | 日期 |
Time | 时间 |
4)周结账单(CheckWeek_Info)
前缀 | 说明 |
RemainCash | 余额 |
RechargeCash | 充值金额 |
ConsumeCash | 消费金额 |
CancelCash | 退卡金额 |
AllCash | 所有金额 |
Date | 日期 |
Time | 时间 |
5)上机信息(Online_Info)
前缀 | 说明 |
CardNo | 卡号 |
CardType | 卡的类型 |
StudentNo | 学号 |
StudentName | 学生姓名 |
Department | 系别 |
Sex | 性别 |
OnDate | 上机日期 |
OnTime | 上机时间 |
Computer | 电脑 |
6)充值记录(Recharge_Info)
前缀 | 说明 |
StudentNo | 学号 |
CardNo | 卡号 |
AddMoney | 充值金额 |
Date | 日期 |
Time | 时间 |
UserID | 用户名 |
Status | 状态 |
7)学生信息(Student_Info)
前缀 | 说明 |
StudentNo | 学号 |
CardNo | 卡号 |
StudentName | 学生姓名 |
Department | 系别 |
Sex | 性别 |
Grade | 年级 |
Class | 班级 |
Cash | 金额 |
Explain | 备注 |
UserID | 用户名 |
Status | 状态 |
IsCheck | 是否结账 |
8)用户信息(User_Info)
前缀 | 说明 |
UserID | 账号 |
PWD | 密码 |
Level | 级别 |
UserName | 用户名 |
9)值班信息(WorkLog_Info)
前缀 | 说明 |
UserID | 用户名 |
Level | 级别 |
LoginDate | 登录日期 |
LogoutTime | 登录时间 |
LogoutDate | 注销日期 |
2.4专门指导
向准备从事此数据库的生成、从事此数据库的测试、维护人员提供专门的指导,例如将被送入数据库的数据的格式和标准、送入数据库的操作规程和步骤,用于产生、修改、更新或使用这些数据文卷的操作指导。如果这些指导的内容篇幅很长,列出可参阅的文件资料的名称和章条。
可参考的资料:软件工程哈工大耿建玲视频
数据库设计规范
2.5支持软件
软件名称 | 版本号 | 主要功能 |
Visual Basic | 6.0企业版 | 可视化高级开发语言 |
SQL Server | 2008 | 数据库的建立和管理 |
3结构设计
3.1概念结构设计
3.1.1数据实体—关系图
3.1.2数据实体描述
数据实体名称 | 数据表名 | 数据实体描述 |
用户 | User_Info | 用户信息 |
学生 | Student_Info | 学生信息 |
基本数据 | BasicData_Info | 基本数据设定 |
上机 | Online_Info | 上机信息 |
充值 | Recharge_Info | 充值记录 |
退卡 | CancelCard_Info | 退卡信息 |
值班 | Onwork | 值班信息 |
日结账 | CheckDay | 日结账信息 |
周结账 | CheckWeek | 周结账信息 |
3.1.3实体关系描述
1. 一般用户:学生信息(1:N)
关系描述:一般用户负责对学生及上机情况的查询
2. 操作员:学生信息(1:N)
关系描述:一个操作员可以对个学生进行注册、充值、退卡活动
3. 管理员:操作员(1:N)
管理员:一般用户(1:N)
关系描述:一个管理员可以增删多个操作员和一般用户
4. 操作员:工作记录(1:1)
关系描述:一个操作员对应一条自己的工作记录
5. 管理员:基本数据(1:1)
关系描述:管理员负责设定系统的基本数据
6. 管理员:账单(1:N)
关系描述:管理员每天结账并且查询任意时间段的账单情况
3.2逻辑结构设计
机房收费系统共建立了10个表,具体如下:
1)基本数据设定(BasicData_Info)
描述 | 字段名 | 数据类型 | 长度 |
半小时费用 | HalfCharge | Char | 10 |
递增时间 | IncreaseTime | Char | 10 |
最少上机时间 | LeastTime | Char | 10 |
上机准备时间 | ReadyTime | Char | 10 |
卡内最少余额 | LeastCash | Char | 10 |
日期 | Date | Char | 10 |
时间 | Time | Char | 10 |
2)退卡信息(CancelCard_Info)
描述 | 字段名 | 数据类型 | 长度 |
学号 | StudentNo | Char | 10 |
卡号 | CardNo | Char | 10 |
退卡金额 | CancelCash | numeric | (18,1) |
日期 | Date | Char | 10 |
时间 | Time | Char | 10 |
用户名 | UserID | Char | 10 |
状态 | Status | Char | 10 |
3)日结账单(CheckDay_Info)
描述 | 字段名 | 数据类型 | 长度 |
余额 | RemainCash | numeric | (18,0) |
充值金额 | RechargeCash | numeric | (18,0) |
消费金额 | ConsumeCash | numeric | (18,0) |
退卡金额 | CancelCash | numeric | (18,0) |
所有金额 | AllCash | numeric | (18,0) |
日期 | Date | Char | 10 |
时间 | Time | Char | 10 |
4)周结账单(CheckWeek_Info)
描述 | 字段名 | 数据类型 | 长度 |
余额 | RemainCash | numeric | (18,0) |
充值金额 | RechargeCash | numeric | (18,0) |
消费金额 | ConsumeCash | numeric | (18,0) |
退卡金额 | CancelCash | numeric | (18,0) |
所有金额 | AllCash | numeric | (18,0) |
日期 | Date | Char | 10 |
时间 | Time | Char | 10 |
5)上机信息(Online_Info)
描述 | 字段名 | 数据类型 | 长度 |
卡号 | CardNo | Char | 10 |
卡的类型 | CardType | Char | 10 |
学号 | StudentNo | Char | 10 |
学生姓名 | StudentName | Char | 10 |
系别 | Department | Char | 10 |
性别 | Sex | Char | 10 |
上机日期 | OnDate | Char | 10 |
上机时间 | OnTime | Char | 10 |
电脑 | Computer | Char | 10 |
6)充值记录(Recharge_Info)
描述 | 字段名 | 数据类型 | 长度 |
学号 | StudentNo | Char | 10 |
卡号 | CardNo | Char | 10 |
充值金额 | AddMoney | Numeric | 10 |
日期 | Date | Char | (19,4) |
时间 | Time | Char | 10 |
用户名 | UserID | Char | 10 |
状态 | Status | Char | 10 |
7)学生信息(Student_Info)
描述 | 字段名 | 数据类型 | 长度 |
学号 | StudentNo | Char | 10 |
卡号 | CardNo | Char | 10 |
学生姓名 | StudentName | Char | 10 |
系别 | Department | Char | 10 |
性别 | Sex | 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 | Char | 10 |
时间 | Time | Char | 10 |
8)用户信息(User_Info)
描述 | 字段名 | 数据类型 | 长度 |
账号 | UserID | Char | 10 |
密码 | PWD | Char | 10 |
级别 | Level | Char | 8 |
用户名 | UserName | Char | 10 |
9)值班信息(WorkLog_Info)
描述 | 字段名 | 数据类型 | 长度 |
用户名 | UserID | Char | 10 |
级别 | Level | Char | 10 |
登录日期 | LoginDate | Char | 10 |
登录时间 | LogoutTime | Char | 10 |
注销日期 | LogoutDate | Char | 10 |
注销时间 | LogoutTime | Char | 10 |
电脑名 | Computer | Char | 10 |
状态 | Status | Char | 10 |
3.3物理结构设计
4运用设计
4.1数据字典设计
1)基本数据设定(BasicData_Info)
数据项编号 | 数据项名 | 存储结构 | 别名 |
001 | 半小时费用 | Char(10) | HalfCharge |
002 | 递增时间 | Char(10) | IncreaseTime |
003 | 最少上机时间 | Char(10) | LeastTime |
004 | 上机准备时间 | Char(10) | ReadyTime |
005 | 卡内最少余额 | Char(10) | LeastCash |
006 | 设定日期 | Char(10) | Date |
007 | 设定时间 | Char(10) | Time |
2)退卡信息(CancelCard_Info)
数据项编号 | 数据项名 | 存储结构 | 别名 |
010 | 退卡金额 | Numeric(18,1) | CancelCash |
3)日/周结账单(CheckDay_Info)
数据项编号 | 数据项名 | 存储结构 | 别名 |
012 | 所有金额 | numeric(18,0) | AllCash |
4)上机信息(Online_Info)
数据项编号 | 数据项名 | 存储结构 | 别名 |
013 | 上机日期 | Char(10) | OnDate |
014 | 上机时间 | Char(10) | OnTime |
015 | 电脑名 | Char(10) | Computer |
5)充值记录(Recharge_Info)
数据项编号 | 数据项名 | 存储结构 | 别名 |
016 | 充值金额 | Numeric(10) | AddMoney |
6)学生信息(Student_Info)
数据项编号 | 数据项名 | 存储结构 | 别名 |
017 | 学号 | Char(10) | StudentNo |
018 | 卡号 | Char(10) | CardNo |
019 | 学生姓名 | Char(10) | StudentName |
020 | 系别 | Char(10) | Department |
021 | 性别 | Char(10) | Sex |
022 | 年级 | Char(10) | Grade |
023 | 班级 | Char(10) | Class |
024 | 金额 | Numeric(10,3) | Cash |
025 | 备注 | Varchar(50) | Explain |
026 | 用户名 | Char(10) | UserID |
027 | 状态 | Char(10) | Status |
028 | 是否结账 | Char(10) | IsCheck |
029 | 注册日期 | Char(10) | Date |
030 | 注册时间 | Char(10) | Time |
7)用户信息(User_Info)
数据项编号 | 数据项名 | 存储结构 | 别名 |
031 | 账号 | Char(10) | UserID |
032 | 密码 | Char(10) | PWD |
033 | 级别 | Char(10) | Level |
034 | 用户名 | Char(10) | UserName |
8)值班信息(WorkLog_Info)
数据项编号 | 数据项名 | 存储结构 | 别名 |
035 | 登录日期 | Char(10) | LoginDate |
036 | 登录时间 | Char(10) | LogoutTime |
037 | 注销日期 | Char(10) | LogoutDate |
038 | 注销时间 | Char(10) | LogoutTime |
4.2安全保密设计
系统主要有三个管理用户级别,分别拥有不同的管理权限。具体如下:
一般用户 | 操作员 | 管理员 | |
学生信息管理 | √ | √ | √ |
用户信息管理 | √ | ||
收支账目管理 | √ | √ | |
系统信息管理 | √ |