数据库设计说明书
1引言
1.1编写目的
数据库的设计是为了以后编码、测试以及维护阶段的后台数据的存储做准备。应用于系统开发前期,为后期数据库设计指引方向。
预期的读者:系统开发人员、系统测试人员和系统维护人员
1.2背景
开发项目的名称:机房收费系统
数据库的名称:charge
数据库系统:SQL SERVER 2008
任务提出者:机房管理人员
用户:机房值班教师
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 描述:学生或教师上机日期 |
数据项条目 数据项名称:注册日期 别名:register_date 类型长度:datetime 描述:学生或教师注册日期 |
数据项条目 数据项名称:姓名 别名:name 类型长度:char(10) 描述:学生或教师的真实名字 |
数据项条目 数据项名称:性别 别名:sex 类型长度char(2): 描述:人员的性别 |
数据项条目 数据项名称:年级 别名:grade 类型长度:char(10) 描述:描述学生的年级 |
数据项条目 数据项名称:密码 别名:password 类型长度:char(11) 描述:教师登录系统密码 |
数据项条目 数据项名称:充值金额 别名:rechargemoney 类型长度:numeric(10,2) 描述:学生每次的充值钱数
|
数据项条目 数据项名称:退卡金额 别名:returnmoney 类型长度:numeric(10,2) 描述:学生每次的退卡钱数 |
2)数据结构:反应数据之间的组合关系
数据结构条目 数据结构名称:学生信息 含义说明:定义了有关学生相关信息 组成:年级 班级 性别 姓名 卡号 学号等 |
性别教师号 注册日期 注销日期
数据结构条目 数据结构名称:基本数据设定 含义说明:定义了有关学生消费的问题 组成:至少上机时间、至少金额等 数据结构条目 数据结构名称:教师信息 含义说明:定义了有关教师的相关信息 组成:性别 教师号 注册日期 注销日期等 |
数据结构条目 数据结构名称:退卡记录 含义说明:定义了有关学生退卡的记录 组成:卡号 退卡金额 退卡时间 退卡日期 |
数据结构条目 数据结构名称:充值卡记录 含义说明:定义了有关学生充值记录 组成:卡号 充值金额 充值日期 充值时间 |
3)数据流:是数据结构在系统内的传输路径
数据流条目 数据流名称:日结账单 简述:汇总了有关今天学生的消费情况 数据来源:充值卡记录、退卡记录 数据流向:周账单 数据结构:充值记录 退卡记录
|
4)数据存储:是数据结构停留或保存的地方,也是数据流的来源和去向之一。
数据存储条目 数据存储名称:日结账单表 描述:在每天结账的时候产生的 组成:卡号 上机时间 上机日期 |
数据存储条目 数据存储名称:学生上机记录表 描述:在学生上机后产生的表 组成:卡号 上机时间 上机日期 |
处理过程条目 处理过程名称:用户登录 输入数据:用户名 密码 输出数据:登录是否成功信息 处理逻辑:检测用户名和密码是否与数据库中的一致,如果不一致则给出相应的提示信息。 描述:在每天结账的时候产生的 组成:卡号 上机时间 上机日期 |
5)处理过程
处理过程条目 处理过程名称:学生信息维护 输入数据:学生的各种信息 输出数据:学生信息 处理逻辑:对学生信息修改,从而在数据库中更新 描述:在每天结账的时候产生的 组成:卡号 上机时间 上机日期 |
处理过程条目 处理过程名称:结账 输入数据:购卡数目 充值金额 退卡金额 消费金额 输出数据:本期金额汇总 处理逻辑:通过各种金额的消费和充值从而计算出最后的金额汇总 描述:在每天结账的时候产生的 组成:卡号 上机时间 上机日期 |
6)外部实体
外部实体条目 名称:管理员 说明:后台管理的主要实体 输入数据流:后台管理 输出数据流:各种检索信息
|
外部实体条目 名称:用户 说明:前台应用层面的主要实体 输入数据流:前台管理 输出数据流:各种检索结果 |
4.2 安全保密设计
表信息 | 权限 |
学生信息表 | 操作员、管理员 |
充、退金额 | 管理员 |
日、周账单 | 管理员 |
操作员信息 | 管理员 |
通过在对数据库中不同的表设置访问级别,来设置数据库的访问权限,从而保证数据库的安全性,防止被修改。