数据库设计说明书
1引言
1.1编写目的
数据库的设计是为了以后编码、测试以及维护阶段的后台数据的存储做准备。应用于系统开发前期,为后期数据库设计指引方向。
预期的读者:系统开发人员、系统测试人员和系统维护人员
1.2背景
开发项目的名称:机房收费系统
数据库的名称:charge
数据库系统:SQL
任务提出者:机房管理人员
用户:机房值班教师
1.3定义
数据库:用来保存系统数据的后台应用软件。
字段:表中各个记录的名字
表:不同字段汇总成的集合。
1.4参考资料
[1]《软件工程事务》刘学俊 李继芳 刘汉中 编著 浙江大学出版社
[2]数据库设计说明书(GB8567——88)
2外部设计
2.1标识符和状态
表名 | 标识符或名称 | 描述信息 | 状态 |
basicdata | 无标识符 | 用来设定上机消费状况 | 暂时使用 |
online | Idcard | 用来保存学生上机信息 | 暂时使用 |
Onwork | Userid | 用来保存值班教师值班情况 | 暂时使用 |
student_information | Idcard | 学生个人信息 | 暂时使用 |
Userinfo | Userid | 保存值班教师个人信息 | 暂时使用
|
Recharge | Userid和idcard | 学生充值信息 | 暂时使用 |
Returninfo | Userid和 idcard | 学生退卡信息 | 暂时使用 |
Day | 无表示符 | 日账单汇总 | 暂时使用 |
2.2使用它的程序
应用程序 | 访问的数据库 | 版本号 |
系统登录 | Userinfo | 1.0 |
学生查看余额 | student_information | 1.0 |
修改密码 | student_information | 1.0 |
注册 | student_information | 1.0 |
退卡 | Returninfo | 1.0 |
充值 | Recharge和student_information | 1.0 |
收取金额查询 | Recharge | 1.0 |
学生基本信息维护 | student_information | 1.0 |
操作员工作记录 | Onwork | 1.0 |
结账 | Day | 1.0 |
周结账单 | Day | 1.0 |
日结账单 | Day | 1.0 |
基本数据设定 | Userinfo | 1.0 |
添加和删除用户 | Userinfo | 1.0 |
2.3约定
陈述一个程序员或一个系统分析员为了能使用此数据库而需要了解的建立标号、标识的约定,例如用于标识数据库的不同版本的约定和用于标识库内各个文卷、、记录、数据项的命名约定等。
2.4专门指导
向准备从事此数据库的生成、从事此数据库的测试、维护人员提供专门的指导
2.5支持软件
数据设计编辑工具”navicat for mysql
数据库自带工具”mysql command line client”
管理员工具:navicat for mysql
3结构设计
3.1概念结构设计
管理员
操作员
3.2逻辑结构设计
-
基本数据设定(准备时间、至少上机时间、固定用户、临时用户、递增时间、最少金额)
-
学生上机记录(卡号 上机时间 下机时间 上机日期 下机日期 余额 备注)
-
正在值班教师(教师号 登录日期 登录时间 机器名)
-
学生信息(卡号 学号 班级 年级 注册时间 注册日期 性别)
-
用户信息(教师号 用户名 用户级别 注册日期 注册时间 注销日期 注销时间 密码)
-
充值记录(卡号 教师号 充值日期 充值时间 充值金额结账状态)
-
退卡记录(卡号 教师号退还日期 退还时间 退还金额 结账状态)
-
日结账单(上期金额本期消费 本期退卡 本期充值 本期汇总 结账时间)
3.3物理结构
在数据库内部
字段 | 类型 |
日期 | Date |
信息 | Char(n) |
金额 | 货币 |
4 运用设计
4.1数据字典设计
1)数据项:是不可再分割的数据单位。
数据项条目
数据项名称:学生卡号
别名:idcard
类型长度:char(11)
描述:学生的编号
数据项条目
数据项名称:教师号
别名:useridinfo
类型长度:char(11)
描述:教师的编号
数据项条目
数据项名称:上机时间数据项条目
别名:login_time
类型长度:datetime
描述:学生或教师上机的时间
数据项条目
数据项名称:注册时间
别名:register_time
类型长度:datetime
描述:学生或教师注册时间
数据项条目
数据项名称:上机日期
别名:login_date
类型长度:datetime
描述:学生或教师上机日期
数据项条目
数据项名称:姓名
别名:name
类型长度:char(10)
描述:学生或教师的真实名字
数据项条目
数据项名称:注册日期
别名:register_date
类型长度:datetime
描述:人员的性别
描述:学生或教师注册日期数据项条目
数据项条目
数据项名称:性别
别名:sex
类型长度char(2):
数据项条目
数据项名称:密码
别名:password
类型长度:char(11)
描述:教师登录系统密码
数据项条目
数据项名称:退卡金额
别名:returnmoney
类型长度:numeric(10,2)
2)数据结构:反应数据之间的组合关系
数据结构条目
数据结构名称:学生信息
含义说明:定义了有关学生相关信息
组成:年级班级 性别 姓名卡号 学号等
性别教师号注册日期注销日期
数据结构条目
数据结构名称:基本数据设定
含义说明:定义了有关学生消费的问题
组成:至少上机时间、至少金额等
数据结构条目
数据结构名称:教师信息
含义说明:定义了有关教师的相关信息
组成:性别教师号 注册日期 注销日期等
数据结构条目
数据结构名称:退卡记录
含义说明:定义了有关学生退卡的记录
组成:卡号退卡金额退卡时间退卡日期
数据结构条目
数据结构名称:充值卡记录
含义说明:定义了有关学生充值记录
组成:卡号充值金额充值日期充值时间
3)数据流:是数据结构在系统内的传输路径
数据流条目
数据流名称:日结账单
简述:汇总了有关今天学生的消费情况
数据来源:充值卡记录、退卡记录
数据流向:周账单
数据结构:充值记录退卡记录
4)数据存储:是数据结构停留或保存的地方,也是数据流的来源和去向之一。
数据存储条目
数据存储名称:日结账单表
描述:在每天结账的时候产生的
组成:卡号上机时间上机日期
数据存储条目
数据存储名称:学生上机记录表
描述:在学生上机后产生的表
组成:卡号上机时间上机日期
处理过程条目
处理过程名称:用户登录
输入数据:用户名密码
输出数据:登录是否成功信息
处理逻辑:检测用户名和密码是否与数据库中的一致,如果不一致则给出相应的提示信息。
描述:在每天结账的时候产生的
组成:卡号上机时间上机日期
5)处理过程
处理过程条目
处理过程名称:学生信息维护
输入数据:学生的各种信息
输出数据:学生信息
处理逻辑:对学生信息修改,从而在数据库中更新
描述:在每天结账的时候产生的
组成:卡号上机时间上机日期
处理过程条目
处理过程名称:结账
输入数据:购卡数目充值金额 退卡金额消费金额
输出数据:本期金额汇总
处理逻辑:通过各种金额的消费和充值从而计算出最后的金额汇总
描述:在每天结账的时候产生的
组成:卡号上机时间上机日期
6)外部实体
外部实体条目
名称:管理员
说明:后台管理的主要实体
输入数据流:后台管理
输出数据流:各种检索信息
外部实体条目
名称:用户
说明:前台应用层面的主要实体
输入数据流:前台管理
输出数据流:各种检索结果
4.2安全保密设计
表信息 | 权限 |
学生信息表 | 操作员、管理员 |
充、退金额 | 管理员 |
日、周账单 | 管理员 |
操作员信息 | 管理员 |
通过在对数据库中不同的表设置访问级别,来设置数据库的访问权限,从而保证数据库的安全性,防止被修改。