1、 1 数据库系统原理课程设计报告数据库系统原理课程设计报告 -小型数据库系统设计小型数据库系统设计 2012-12-28 2 题题 目目 实验室网上预约管理信息系统 需求需求 分析分析 数据需求:数据需求: 1) 用户数据:用户登录需要有用户名、密码,忘记密码时要以密码提示问题来重置密码; 2) 实验室数据:用户需要得知各实验室所包含的设备器材、能进行的实验、开放时间等数据 以及实验室所属的学院; 3) 预约表数据:预约表存放的是实验室的代号、使用者代号以及使用者邮箱地址(用于管理 员发送审核通过邮件) 、使用时间等。 处理处理需求:需求: 1) 用户:对实验室信息进行查看、对自身信息进行修改
2、以及注册时将个人信息插入用户表; 2) 管理员:拥有对用户信息、实验室信息进行查看、修改、删除等权限,以及对预约表的查 看、删除权限。 安全性:安全性: 1) 新建登录名 U1,U2,U3,测试登录通过 2) 创建数据库用户 U1,U2,U3,他们分别通过登录名 U1,U2,U3 登陆 shiyanshiyuyue 数据库。 3) 为用户 U1 设置对 student 表的权限, 让它对 student 表有 select, insert 权限, 更新除了 SID 之外的其他字段 4) 为用户 U2 设置对 teacher 表的权限,让它对 teacher 表有 select 权限,更新除了
3、TID 之外 的其他字段 5) 为用户 U3 设置对所有表的权限,让它可以对所有表,视图,存储过程等进行增删查改操 作 6) 设置数据库角色 A1,即预约者角色,把此角色赋予 U1,U2,A1 能查询实验室信息相应 视图,查改预约情况视图,execute 各个存储过程 7) 设置数据库角色 A2,即管理预约角色,把此角色赋予 U3,A2 可以对所有表,视图,存 储过程等进行增删查改操作 总而言之,登录名 U1 使用于学生模块,登录名 U2 使用于教师模块,登录名 U3 使用于管 理员模块, 保证不同角色登陆数据库所能操作的权限不同, 不会对本模块以外的表等造成影响, 保证数据库的安全性 完整性
4、控制:完整性控制: (1) student 表中的 SID 为主键 ,teacher 表中的 TID 为主键,实验室信息表中 LID 为主键 (2) 预约表中 UID 为主键,其中外键 OID 参照 student 表的 SID 与 teacher 表的 TID,外键 LID 参照实验室信息表 (3) student 表中属性“邮箱”必须填写为? 属性“密码提示问题”默认赋值为“?” (4) 预约表中属性“预约”的值 List Of Values 为“1”,“2”,“3” 预约表中属性“时间”的值 List Of Values 为“上午”,“下午”,“晚上” 预约表中属性“日期”数据显示格式为
5、 yy-MM-dd 预约表中属性“邮箱”必须填写为%.com 数据数据 流图流图 根据系统描述,教师与学生通过查看实验室相关信息选择预约实验室,提交预约申请相关 3 信息预约实验室,产生预约表提交给管理员审核,管理员审核后返回预约情况给学生或老师, 如下: 对系统进行细化,描述出系统的主要功能,产生一层细化数据流程图,如图所示: 4 数据数据 字典字典 数据字典把数据流程图上所有数据都加以定义,并按特定格式予以记录,以备随时查询和 修改。 因此数据字典是数据流程图的辅助资料, 对数据流程图起注解作用。 结构化系统分析中, 数据字典主要用于描述数据流和数据存储的逻辑内容, 以及外部实体和处理过程
6、的某些数据特 性。 处理逻辑编号:P1 处理逻辑名称:实验室管理 简述:完成对实验室的分类处理 处理功能:实验室的分类、实验室信息的输入 输入的数据流:实验室 输出的数据流:实验室分类和基本信息,实验室信息发布 处理逻辑编号:P2 处理逻辑名称:注册登陆 简述:进行学生用户的注册和登陆 处理功能:对学生用户的注册和登陆 输入的数据流:学生信息 输出的数据流:学生信息 处理逻辑编号:P3 5 处理逻辑名称:学生预约实验室 简述:完成学生对实验室的预约 处理功能:根据学生信息进行实验室的预约 输入的数据流:学生预约信息 输出的数据流:学生预约信息 处理逻辑编号:P4 处理逻辑名称:学生预约查询 简述:学生对实验室预约进行查询 处理功能:根据实验室查询信息完成学生对实验室预约进行查询 输入的数据流:预约查询信息 输出的数据流:学生实验室预约记录 处理逻辑编号:P5 处理逻辑名称:学生信息修改 简述:进行相应的学生信息修改 处理功能:对学生信息进行修改 输入的数据流:学生信息 输出的数据流:学生信息 处理逻辑编号:P6 处理逻辑名称:教师信息修改 简述:进