《学生宿舍管理系统》数据库设计报告
一、需求分析
学生宿舍管理系统需要实现以下功能:
(1) 用户注册:每位学生在系统中进行个人信息注册。以后登录系统都需输入用户名和密
码。
(2) 离返校信息登记:每位学生在离校前要在系统中提出离校申请:登记离校信息(包括
离校的起止日期、离校原因、联系方式等),经管理员审核通过后才能离校。学生返校 后要登记返校信息(返校时间)。
(3) 离校申请处理:管理员登陆系统审核学生提出的离校申请。
(4) 快件信息发布:管理员登陆系统发布快件信息(到件时间、快递公司、收件人等),学
生取件后及时更新取件信息。
(5) 信息查询:学生可以登录系统查询快件信息、离校申请的审核情况;管理员可以登录 系统查询学生的注册信息、返校情况、快件的领取情况等。
学生信息保存 保 存 注册
查询
学号 学生
离返 校信
离返校
离校信息
登记
到达
取件信 息更新
登 陆
查询快 件状态
登
陆
快件 快件信 息发布
登陆
取件 收件 人签名
登陆
管理员 信息 登陆
查询
登陆
更新 成功
登 陆
快件信息记录 审核
离校申
请处理 处理 通过 离返信息记录
审核状 态 查询
图 1 数据流图
二、概念结构设计
(1)用户注册:用户名 username、密码 pwd、学号 sno、姓名 sname、性别 sex、班级 class、 分院 sdep、寝室号 dorid、出生年月 borth
(2)离返校信息登记:离返校编号 leaveid、姓名 sname、学号 sno、分院 sdep、班级 class、离 校时间 leavetime、离校原因 leavesea、联系方式 tel、返校时间 backtime、审核状态 auditing (3)离校申请处理:用户名 username、密码 pwd
(4)快件信息发布:快件编号 express、到件时间 ontime、快递公司 company、收件人 consignee、班级 class、联系方式 tel、领取情况 orpull、取件时间 taketime
快递公司
到件时间
收件人
班级
密码
取件时间
快件编号
联系方式
用户名 学号
n
快件
领取情况
领取
分院 姓名
联系方式
返校时间
姓名
n
寝室号
班级
查询
出生年月 编号 离校原因
1
1 1 n
登记 学生
学号
分院
性别
离返校情况
审核状态
离校时间
n 1 n 查询
查询
1
1
管理员
密码
用户名
n
1
查询
图 2 ER 图
三、逻辑结构设计
转化后的关系模式(用表格的形式表示) register 用户名 密码 学号 sno 姓名 sname 性别 sex 班级 class 寝室号 dorid 出生年月 borth username pwd
BackSch 离返校编 号 leaveid
expnews 快件编号 express 学号 sno 姓名 sname 联系方 式 tel 班级 class 离校时间 leavetime 离校原因 leavesea 返校时间 backtime 审核状态 auditing 到件时 间 ontime 姓名 sname 联系方 式 tel 班级 class 快递公司 company 领取情况 orpull 取件时间 taketime sdept 分院 sdept
四、数据库实现
实现该数据库用到的 SQL 语句 1)建立学生信息表
create table register ( username char(20), pwd char(20),
sno char(9) primary key, sname char(10) unique, sex char(2), class char(20),
dorid char(5), borth datetime )
2)建立院别信息表
create table sdept ( sno char(9), sdept char(20))
3)建立离返校信息查询表
create table BackSch
( leaveid char(5) primary key, sname char(10), sno char(9), class char(20), leavetime datetime, tel smallint, backtime datetime, auditing char(2) )
4)建立快件查询表
create table expnews
( express char(10) primary key, ontime datetime, company char(10), sname char(10), class char(20), tel smallint, orpull char(2), taketime datetime )
建立视图的 SQL 语句
1) 学生可以登录系统查询快件信息、离校申请的审核情况
create view IS_stu(orpull,auditing) as
select orpull,auditing from register,expnews,BackSch
where register.sname=expnews.sname and register.sno=BackSch.sno
2) 管理员可以登录系统查询学生的注册信息、返校情况、快件的领取情况等
create view IS_admin
as
select register.sname,register.sno,register.sex,register.dorid, register.class,register.borth,expnews.express,expnews.taketime, company,expnews.orpull,expnews.tel,leaveid,leavetime,backtime from register,expnews,BackSch
where register.sname=expnews.sname and register.sno=BackSch.sno
五、心得体会
通过本次数据库设计的实验,我们更加明白了团队的重要性。一次高效率的实验和组内成员
分工明确是分不开的。同时,在技术上,我们对一些数据流图、ER 图的设计更加的熟悉和了解,
也逐渐对数据库的设计找到了一点感觉。《数据库系统概论》这门课所教予我们的大部分都是理
论和概念,而这次实验,则让我们有了实践的经验,帮助了我们更好的去理解这门课。当然,我
们也遇到了很多的困难,但我们通过询问老师,上网参考资料,最终完成了这次实验,都自我感
觉收获非常大。

