数据库设计说明书(GB8567——88)
1引言
1.1编写目的
说明编写这份数据库设计说明书的目的,指出预期的读者。
本文档描述了机房收费系统数据库的设计,提供了数据库设计的可视性以及软件支持所需的信息,应用于机房收费系统开发前期,为后期的数据库设计指引方向,也可以为系统程序设计提供借鉴与参照。
预期读者:数据库设计师,数据库管理员
1.2背景
A.软件名称:机房收费系统
C.实现该软件的计算中心或计算机网络:学校机房,廊坊师范学院校园网
D.该软件系统同其他系统或其他机构的基本的相互来往关系:由廊坊师范学院信息技术提高班做技术上的支持。
1.3定义
列出本文件中用到的专门术语的定义、外文首字母组词的原词组。
VB语言:Visual Basic 是一种由 Microsoft 公司开发的结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。
SQL语言:结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。结构化查询语言是高级的非过程化编程语言。
1.4参考资料
[1]《软件工程事务》刘学俊 李继芳刘汉中 编著 浙江大学出版社
[2]数据库设计说明书(GB8567——88)
2外部设计
2.1标识符和状态
联系用途,详细说明用于唯一地标识该数据库的代码、名称或标识符,附加的描述性信息亦要给出。如果该数据库属于尚在实验中、尚在测试中或是暂时使用的,则要说明这一特点及其有效时间范围。
标明 | 名称 | 描述信息 | 状态 |
基本数据设定 | BasicData_Info | 基本数据信息 | 暂时使用 |
退卡 | CancelCard_Info | 退卡信息 | 实验中 |
日结账单 | CheckDay_Info | 日结账单信息 | 实验中 |
周结帐单 | checkWeek_Info | 周结帐单信息 | 实验中 |
上机 | Line_Info | 上机信息 | 实验中 |
正在上机 | OnLine_Info | 正在上机信息 | 实验中 |
充值 | ReCharge_Info | 充值信息 | 实验中 |
学生信息 | Student_Info | 学生信息 | 暂时使用 |
正在值班 | OnWork_Info | 正在值班信息 | 实验中 |
值班 | Worklog_Info | 值班信息 | 实验中 |
用户信息 | User_Info | 用户信息 | 暂时使用 |
2.2使用它的程序
列出将要使用或访问此数据库的所有应用程序,对于这些应用程序的每一个,给出它的名称和版本号。
应用程序 | 名称 | 版本号 |
学生信息查询 | 一般用户模块 | 1.0 |
学生信息管理 | 操作员模块 | 1.0 |
系统管理 | 管理员模块 | 1.0 |
2.3约定
陈述一个程序员或一个系统分析员为了能使用此数据库而需要了解的建立标号、标识的约定,例如用于标识数据库的不同版本的约定和用于标识库内各个文卷、、记录、数据项的命名约定等。
(1)基本数据设定(BasicData_Info)
字段名 | 说明 |
LeastTime | 最少上机时间 |
Prepare Time | 上机准备时间 |
LimitCash | 卡内最少余额 |
Date | 日期 |
Time | 时间 |
unitTime | 递增单位时间 |
Halfcharge | 半小时费用 |
(2)退卡信息(CancelCard_Info)
字段名 | 说明 |
StudentNo | 学号 |
cardNo | 卡号 |
CancelCash | 退还金额 |
Date | 日期 |
Time | 时间 |
Status | 状态 |
UserID | 用户名 |
(3)日结账单(CheckDay_Info)
字段名 | 说明 |
RemainCash | 余额 |
RechargeCash | 充值金额 |
ConsumeCash | 消费金额 |
CancelCash | 退卡金额 |
AllCash | 所有金额 |
Date | 日期 |
(4)周结帐单(checkWeek_Info)
字段名 | 说明 |
RemainCash | 余额 |
RechargeCash | 充值金额 |
ConsumeCash | 消费金额 |
CancelCash | 退卡金额 |
AllCash | 所有金额 |
Date | 日期 |
(5)上机信息(Line_Info)
字段名 | 说明 |
StudentNo | 学号 |
cardNo | 卡号 |
studentName | 学生姓名 |
Department | 系别 |
Sex | 性别 |
Ondate | 上机日期 |
Ontime | 上机时间 |
Offdate | 下机日期 |
Offtime | 下机时间 |
ConsumeTime | 消费时间 |
Consume | 消费金额 |
Cash | 余额 |
Status | 状态 |
computer | 电脑 |
(6)正在上机表(OnLine_Info)
字段名 | 说明 |
StudentNo | 学号 |
cardNo | 卡号 |
Cardtype | 类型 |
studentName | 学生姓名 |
Department | 系别 |
Sex | 性别 |
Ondate | 上机日期 |
Ontime | 上机时间 |
Computer | 电脑 |
Date | 日期 |
(7)充值表(ReCharge_Info)
字段名 | 说明 |
StudentNo | 学号 |
Cardno | 卡号 |
AddMoney | 充值金额 |
Date | 日期 |
Time | 时间 |
UserID | 用户名 |
Status | 状态 |
(8)学生表(Student_Info)
字段名 | 说明 |
StudentNo | 学号 |
cardNo | 卡号 |
studentName | 学生姓名 |
Department | 系别 |
Sex | 性别 |
Grade | 年级 |
Class | 班级 |
Cash | 金额 |
Explain | 备注 |
UserID | 用户名 |
Status | 状态 |
IsCheck | 是否结账 |
Date | 日期 |
Time | 时间 |
(9)正在值班表(OnWork_Info)
字段名 | 说明 |
UserID | 用户名 |
Level | 级别 |
loginDate | 登录日期 |
LoginTime | 登录时间 |
Computer | 电脑 |
(10)值班表(Worklog_Info)
字段名 | 说明 |
UserID | 用户名 |
Level | 级别 |
LoginDate | 登陆日期 |
LoginTime | 登陆时间 |
LogoutDate | 注销日期 |
LogoutTime | 注销时间 |
Computer | 电脑 |
Status | 状态 |
(11)用户表(User_Info)
字段名 | 说明 |
UserID | 账号 |
PWD | 密码 |
Level | 级别 |
UserName | 用户名字 |
2.4专门指导
向准备从事此数据库的生成、从事此数据库的测试、维护人员提供专门的指导,例如将被送入数据库的数据的格式和标准、送入数据库的操作规程和步骤,用于产生、修改、更新或使用这些数据文卷的操作指导。如果这些指导的内容篇幅很长,列出可参阅的文件资料的名称和章条。
可参考的资料:软件工程哈工大耿建玲视频
数据库设计规范
2.5支持软件
简单介绍同此数据库直接有关的支持软件,如数据库管理系统、存储定位程序和用于装入、生成、修改、更新数据库的程序等。说明这些软件的名称、版本号和主要功能特性,如所用数据模型的类型、允许 的数据容量等。列出这些支持软件的技术文件的标题、编号及来源。
软件名称 | 版本号 | 主要功能 |
Visual Basic | 6.0企业版 | 开发语言 |
SQL Server | 2008 | 数据库的建立和管理 |
3结构设计
3.1概念结构设计
说明本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,包括各数据项、记录、系、文卷的标识符、定义、类型、度量单位和值域,建立本数据库的每一幅用户视图。
3.2逻辑结构设计
说明把上述原始数据进行分解、合并后重新组织起来的数据库全局逻辑结构,包括所确定的关键字和属性、重新确定的记录结构和文卷结构、所建立的各个文卷之间的相互关系,形成本数据库的数据库管理员视图。
(1)基本数据(准备时间、至少上机时间、固定用户、临时用户、递增时间、最少金额)
(2)学生上机记录(卡号 上机时间 下机时间上机日期 下机日期 余额 备注)
(3)正在值班教师(教师号 登录日期 登录时间 机器名)
(4)学生(卡号 学号 班级 年级 注册时间 注册日期 性别)
(5)充值记录(卡号 教师号 充值日期 充值时间 充值金额结账状态)
(6)退卡记录(卡号 教师号 退还日期 退还时间 退还金额 结账状态)
(7)日结账单(上期金额 本期消费 本期退卡 本期充值 本期汇总 结账时间)
3.3物理结构设计
建立系统程序员视图,包括:
a. 数据在内存中的安排,包括对索引区、缓冲区的设计;
b. 所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分;
c. 访问数据的方式方法。
4运用设计
4.1数据字典设计
对数据库设计中涉及到的各种项目,如数据项、记录、系、文卷、模式、子模式等一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。在本节中要说明对此数据字典设计的基本考虑。
(1)基本数据设定
数据项编号 | 字段名 | 数据项名 | 存储结构 |
001 | LeastTime | 最少上机时间 | Char(10) |
002 | Prepare Time | 上机准备时间 | Char(10) |
003 | LimitCash | 卡内最少余额 | Char(10) |
004 | Date | 日期 | Char(10) |
005 | Time | 时间 | Char(10) |
006 | unitTime | 递增单位时间 | Char(10) |
007 | Halfcharge | 半小时费用 | Char(10) |
(2)退卡信息
数据项编号 | 字段名 | 数据项名 | 存储结构 |
008 | CancelCash | 退卡金额 | Numeric(18,0) |
(3)日/周结账单
数据项编号 | 字段名 | 数据项名 | 存储结构 |
009 | RemainCash | 余额 | Numeric(18,0) |
(4)上机信息
数据项编号 | 字段名 | 数据项名 | 存储结构 |
010 | Ondate | 上机日期 | Char(10) |
011 | OnTime | 上机时间 | Char(10) |
012 | Computer | 电脑名 | Char(10) |
(5)充值记录
数据项编号 | 字段名 | 数据项名 | 存储结构 |
013 | AddMoney | 充值金额 | Numeric(18,0) |
(6)学生信息
数据项编号 | 字段名 | 数据项 | 存储结构 |
014 | StudentNo | 学号 | Char(10) |
015 | cardNo | 卡号 | Char(10) |
016 | studentName | 学生姓名 | Char(10) |
017 | Department | 系别 | Char(10) |
018 | Sex | 性别 | Char(10) |
019 | Grade | 年级 | Char(10) |
020 | Class | 班级 | Char(10) |
021 | Cash | 金额 | Numeric(18,0) |
022 | Explain | 备注 | VarChar(50) |
023 | UserID | 用户名 | Char(10) |
024 | Status | 状态 | Char(10) |
025 | IsCheck | 是否结账 | Char(10) |
026 | Date | 日期 | Char(10) |
027 | Time | 时间 | Char(10) |
(7)用户信息
数据项编号 | 字段名 | 数据项名 | 存储结构 |
028 | UserID | 账号 | Char(10) |
029 | PWD | 密码 | Char(10) |
030 | Level | 级别 | Char(10) |
031 | UserName | 用户名 | Char(10) |
(8)值班信息
数据项编号 | 字段名 | 数据项名 | 存储结构 |
032 | LoginDate | 登录日期 | Char(10) |
033 | LoginTime | 登录时间 | Char(10) |
034 | LogoutDate | 注销日期 | Char(10) |
035 | LogoutTime | 注销时间 | Char(10) |
4.2安全保密设计
说明在数据库的设计中,将如何通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密的设计考虑。
| 一般用户 | 操作员 | 管理员 |
学生信息管理 | √ | √ | √ |
用户信息管理 |
|
| √ |
收支账目管理 |
| √ | √ |
系统信息管理 |
|
| √ |