《数据库课程设计-学生宿舍管理系统(共29页).docx》由会员分享,可在线阅读,更多相关《数据库课程设计-学生宿舍管理系统(共29页).docx(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上数据库课程设计-学生宿舍管理系统目 录一、需求分析 11 确定用户 12 功能需求分析 13 数据需求 34 数据字典 35 系统功能结构图 96 数据流图 10二 、 概念设计 12 1 分E-R图 12 2 合E-R图 14三、 逻辑结构设计 16 1 学生信息表 16 2 外部人员出入登记表 16 3 大物品出入登记表 164. 电费管理表 16 5 报修管理表 16 6 宿舍管理员基本信息表 167 宿舍违规信息管理表 16 8 宿舍基本信息管理表 16四、 数据库的实现 16 1 表的建立 162 数据的插入 193、建立触发器 244、建立存储过程 245
2、、建立索引 256、建立视图 267、功能的实现 27五、参考文献 28学生宿舍管理系统一、需求分析1、确定用户该系统的主要用户有宿舍管理员,老师及在校学生.2、功能需求分析 可以根据用户的不同来确定不同的功能需求:1)、宿舍管理员:(1)、能输入学生学号、姓名、宿舍号来查询相关数据,如查询的宿舍的入住人数;(2)、当学生信息发生改变时,能及时的修改变动的信息,;(3)、当学生出现离校或退学等情况时,能及时清除该学生的住宿信息;(4)、当有学生报修时,能及时根据报修信息联系相关的维修人员;(5)、当有大物品出入时,能及时记录物品名、进入时间、离开时间、携带者、携带者宿舍号等相关信息;(6)、当
3、有符合条件的外部人员进入时,能及时记录进入时间、访问宿舍号、访问对象、离开时间、人员名字等数据:(7)、当有学生购电时,能实时记录购电量、购电时间、强开时间、强开次数、购电数量、剩余电量、电费单价等;(8)、能及时查询自己的工作编号、姓名、工作类型、性别、联系方式、工作时间等;2)、学生的需求:(1)、能查询与自己相关的信息,如携带物品进出次数、违规次数等;(2)、当有物品需要维修时,能及时上报;(3)、购电时间、强开时间、强开次数、购电数量、剩余电量、电费单价等;3)、老师的需求:(1)、能查询学生的相关信息,;(2)、能查询并修改宿管的工作编号、姓名、工作类型、性别、联系方式、工作时间等。
4、3、数据需求本系统主要包括八个基本表,各个表中的数据如下:(1)学生信息管理表:包括学号、院系、姓名、性别、籍贯、生日、入学时间、所学专业、所在班级、所在宿舍号、违规记录等数据;(2)外部人员出入登记表:包括进入时间、访问宿舍号、访问对象、离开时间、人员名字、ID号等数据;(3)大物品出入登记表:包括物品编号、物品名、进入时间、离开时间、携带者、携带者宿舍号等数据;(4)电费管理表:包括购电序列号、购电时间、强开时间、强开次数、购电数量等、剩余电量、电费单价、购电者学号等数据;(5)报修管理表:包括报修序列号、报修人、宿舍号、报修时间、报修物件名、维修人姓名、维修时间等数据;(6)宿舍管理员基
5、本信息表:包括工作编号、姓名、工作类型、性别、联系方式、工作时间等数据;(7)宿舍违规信息管理表:包括违规宿舍号、违规人学号、违规次数等数据;(8)宿舍基本信息管理表:入住人数、住宿人学号、住宿人名字、宿舍号、凳子数量、桌子数量、电脑数量、电视数量等数据;4、数据字典该系统中要用到的主要数据如下:41学生信息管理表中的数据项有:(1)、数据项:学号数据类型:char(8)处理过程:由宿舍管理员从老师处得到信息并输入系统数据存储:存储在学生信息管理表(2)、数据项:院系数据类型:char(20)处理过程: 由宿舍管理员从老师处得到信息并输入系统数据存储:存储在学生信息管理表(3)、数据项:姓名数
6、据类型:char(8)处理过程:由宿舍管理员从老师处得到信息并输入系统数据存储:存储在学生信息管理表(4)、数据项:性别数据类型:char(2)处理过程:由宿舍管理员从老师处得到信息并输入系统数据存储:存储在学生信息管理表(5)、数据项:籍贯数据类型:char(10)处理过程:由宿舍管理员从老师处得到信息并输入系统数据存储:存储在学生信息管理表(6)、数据项:生日数据类型:char(8)处理过程:由宿舍管理员从老师处得到信息并输入系统数据存储:存储在学生信息管理表(7)、数据项:入学时间数据类型:char(8)处理过程:由宿舍管理员从老师处得到信息并输入系统数据存储:存储在学生信息管理表(8)
7、、数据项:所学专业数据类型:char(12)处理过程:由宿舍管理员从老师处得到信息并输入系统数据存储:存储在学生信息管理表(9)、数据项:所在班级数据类型:char(8)处理过程:由宿舍管理员从老师处得到信息并输入系统数据存储:存储在学生信息管理表(10)、数据项:宿舍号数据类型:char(8)处理过程:由宿舍管理员从老师处得到信息并输入系统数据存储:存储在学生信息管理表(11)、数据项:违规次数数据类型:char(4)处理过程:由宿舍管理员从老师处得到信息并输入系统数据存储:存储在学生信息管理表42外部人员出入登记表中的数据项有:(1)、数据项:进入时间数据类型:char(12)处理过程:由
8、宿舍管理员实时录入到外部人员出入登记表数据存储:存储在外部人员出入登记表中(2)、数据项:访问的宿舍号数据类型:char(10)处理过程:由宿舍管理员实时录入到外部人员出入登记表数据存储:存储在外部人员出入登记表中(3)、数据项:访问对象数据类型:char(8)处理过程:由宿舍管理员实时录入到外部人员出入登记表数据存储:存储在外部人员出入登记表(4)、数据项:离开时间数据类型:char(8)处理过程:由宿舍管理员实时录入到外部人员出入登记表数据存储:存储在外部人员出入登记表(5)、数据项:外部出入人员姓名数据类型:char()处理过程:由宿舍管理员实时录入到外部人员出入登记表数据存储:存储在外
9、部人员出入登记表(6)、数据项:外部出入人员ID号数据类型:char(20)处理过程:由宿舍管理员实时录入到外部人员出入登记表中数据存储:存储在外部人员出入登记表中43大物品出入登记表中的数据项有:(1)、数据项:物品名数据类型:char(8)处理过程:由宿舍管理员实时观察实时录入到系统数据存储:存储在大物品出入登记表中(2)、数据项:进入时间数据类型:char(8)处理过程:由宿舍管理员实时观察实时录入到系统数据存储:存储在大物品出入登记表中(3)、数据项:离开时间数据类型:char(8)处理过程:由宿舍管理员实时观察实时录入到系统数据存储:存储在大物品出入登记表中(4)、数据项:携带者学号
10、数据类型:char(8)处理过程:由宿舍管理员实时观察实时录入到系统数据存储:存储在大物品出入登记表中(5)、数据项:携带者宿舍号数据类型:char(8)处理过程:由宿舍管理员实时观察实时录入到系统数据存储:存储在大物品出入登记表中(6)、数据项:物品序列号数据类型:char(8)处理过程:由宿舍管理员按预定的标准生成数据存储:存储在大物品出入登记表中44电费管理表中的数据项有:(1)、数据项:购电时间数据类型:char(8)处理过程:由宿舍管理员实时录入到系统数据存储:存储在电费管理表中(2)、数据项:强开时间数据类型:char(8)处理过程:由宿舍管理员实时录入到系统数据存储:存储在电费管
11、理表中(3)、数据项:强开次数数据类型:char(4)处理过程:由宿舍管理员实时录入到系统数据存储:存储在电费管理表中(4)、数据项:购电数量数据类型:char(6)处理过程:由宿舍管理员实时录入到系统数据存储:存储在电费管理表中(5)、数据项:剩余电量数据类型:char(6)处理过程:由宿舍管理员实时录入到系统数据存储:存储在电费管理表中(6)、数据项:电费单价数据类型:char(6)处理过程:由宿舍管理员实时录入到系统数据存储:存储在电费管理表中(7)、数据项:购电者学号数据类型:char(8)处理过程:由宿舍管理员实时录入到系统数据存储:存储在电费管理表中(8)、数据项:序列号数据类型:
12、char(8)处理过程:由系统自动生成数据存储:存储在电费管理表中45报修管理表中用到的数据项有:(1)、数据项:报修人数据类型:char(8)处理过程:由学生录入到系统中数据存储:存储在报修管理表中(2)、数据项:宿舍号数据类型:char(6)处理过程:由学生录入到系统中数据存储:存储在报修管理表中(3)、数据项:报修时间数据类型:char(8)处理过程:由学生录入到系统中数据存储:存储在报修管理表中(4)、数据项:报修物件名数据类型:char(8)处理过程:由学生录入到系统中数据存储:存储在报修管理表中(5)、数据项:维修时间数据类型:char(8)处理过程:由学生录入到系统中,再由宿舍管
13、理员确认并安排维修人员数据存储:存储在报修管理表中(6)、数据项:维修人姓名数据类型:char(6)处理过程:由宿舍管理员确认并安排维修人员数据存储:存储在报修管理表中(7)、数据项:报修序列号数据类型:char(8)处理过程:由系统自动生成数据存储:存储在报修管理表中46宿舍管理员基本信息表中要用到的数据项有:(1)、数据项:工作编号数据类型:char(8)处理过程:由老师输入到系统中,老师、管理员、学生都可查询相关信息数据存储:存储在宿舍管理员基本信息表中(2)、数据项:姓名数据类型:char(8)处理过程:由老师输入到系统中,老师、管理员、学生都可查询相关信息数据存储:存储在宿舍管理员基
14、本信息表中(3)、数据项:工作类型数据类型:char(8)处理过程:由老师输入到系统中,老师、管理员、学生都可查询相关信息数据存储:存储在宿舍管理员基本信息表中(4)、数据项:性别数据类型:char(2)处理过程:由老师输入到系统中,老师、管理员、学生都可查询相关信息数据存储:存储在宿舍管理员基本信息表中(5)、数据项:联系方式数据类型:char(15)处理过程:由老师输入到系统中,老师、管理员、学生都可查询相关信息数据存储:存储在宿舍管理员基本信息表中(6)、数据项:工作时间数据类型:char(30)处理过程:由老师输入到系统中,老师、管理员、学生都可查询相关信息数据存储:存储在宿舍管理员基
15、本信息表中47宿舍违规信息管理表中要用到的数据项有:(1)、数据项:违规宿舍号数据类型:char(6)处理过程:由宿舍管理员录入到系统数据存储:存储在宿舍违规信息管理表中(2)、数据项:违规人学号数据类型:char(8)处理过程:由宿舍管理员录入到系统数据存储:存储在宿舍违规信息管理表中 (3)、数据项:违规次数数据类型:char()处理过程:由宿舍管理员录入到系统数据存储:存储在宿舍违规信息管理表中48宿舍基本信息管理表中包含的数据项有:(1)、数据项:入住人数数据类型:char(2)处理过程:由宿舍管理员实地查看、根据老师提供的信息如实录入到系统中数据存储:存储在宿舍基本信息管理表中(2)
16、、数据项:住宿人学号数据类型:char(8)处理过程:由宿舍管理员实地查看、根据老师提供的信息如实录入到系统中数据存储:存储在宿舍基本信息管理表中(3)、数据项:住宿人名字数据类型:char()处理过程:由宿舍管理员实地查看、根据老师提供的信息如实录入到系统中数据存储:存储在宿舍基本信息管理表中(4)、数据项:宿舍号数据类型:char(6)处理过程:由宿舍管理员实地查看、根据老师提供的信息如实录入到系统中数据存储:存储在宿舍基本信息管理表中(5)、数据项:凳子数量数据类型:char(2)处理过程:由宿舍管理员实地查看、根据老师提供的信息如实录入到系统中数据存储:存储在宿舍基本信息管理表中(6)
17、、数据项:桌子数量数据类型:char(2)处理过程:由宿舍管理员实地查看、根据老师提供的信息如实录入到系统中数据存储:存储在宿舍基本信息管理表中(7)、数据项:电脑数量数据类型:char(2)处理过程:由宿舍管理员实地查看、根据老师提供的信息如实录入到系统中数据存储:存储在宿舍基本信息管理表中(8)、数据项:电视数量数据类型:char(2)处理过程:由宿舍管理员实地查看、根据老师提供的信息如实录入到系统中数据存储:存储在宿舍基本信息管理表中5、系统功能结构图:如图1-1添加查询修改报修管理用户外部人员出入管理学生信息管理宿舍居住信息宿管信息管理大物品出入登记表添加显示全部信息删除按条件查找显示
18、全部信息删除查看强开次数进入界面电费管理添加添加显示全部删除按条件查找插入显示全部删除修改插入显示全部删除宿舍查找违规管理查看添加修改删除 图1-1 系统结构图 6、数据流图第0层数据流图如图1-2: 数据流图1-2第一层数据流图如图1-3: 数据流图1-3二、概念设计 1、专业生日性别籍贯班级学号宿舍号违规次数院系入学时间分E-R图: (1)实体学生的E_R图如图2-1所示: 学生 图2-1 实体学生的E_R图 凳子数量入住人数电脑数量学生学号宿舍号 宿舍桌子数量专业(2)、实体宿舍的E_R图如图2-2所示:姓名 图2-2 实体宿舍的E_R图(3)、实体管理员的E_R图如图2-3所示:工作编
19、号姓名工作时间管理员 工作方式联系方式性别 图2-3实体管理员的E_R图(4)、实体外部人员的E_R图如图2-4所示:ID号进入时间访问宿舍号外部人员离开时间人员姓名访问对象 图2-4实体外部人员的E_R图(5)、实体大物品的E_R图如图2-5所示:物品编号物品名离开时间进入时间大物品宿舍号携带者姓名 图2-5实体大物品的E_R图2、合E-R图系统的合E-R图如图2-6所示:ID号学生宿舍楼管宿舍楼入住1组成m1管理1n出入外部人员出入大物品mnmnm电费缴纳物品编号物品名宿舍号学号班级宿舍号楼号工作编号姓名联系方式图2-6 系统的合E-R图三、逻辑结构设计根据分E-R图和合E-R图的关系将E
20、-R图转换为如下的关系模型,关系的码用下横线标出:1、学生信息表(学号、院系、姓名、性别、籍贯、生日、入学时间、所学专业、所在班级、所在宿舍号、违规记录)2、外部人员出入登记表(进入时间、访问宿舍号、访问对象、离开时间、人员名字、ID号等数据)3、大物品出入登记表(物品编号、物品名、进入时间、离开时间、携带者、携带者宿舍号等数据)4、电费管理表(购电序列号、购电时间、强开时间、强开次数、购电数量等、剩余电量、电费单价、购电者学号等数据)5、报修管理表(报修序列号、报修人、宿舍号、报修时间、报修物件名、维修人姓名、维修时间)6、宿舍管理员基本信息表(工作编号、姓名、工作类型、性别、联系方式、工作
21、时间)7、宿舍违规信息管理表(违规宿舍号、违规人学号、违规次数)8、宿舍基本信息管理表(入住人数、住宿人学号、住宿人名字、宿舍号、凳子数量、桌子数量、电脑数量、电视数量)四、数据库的实现1、表的建立 1、1创建学生信息管理表create table 学生信息管理表( 学号char(8) primary key, 院系char(20), 姓名char(10), 性别char(2), 籍贯char(10), 生日datetime, 入学时间datetime, 所学专业char(20), 所在班级char(20), 所在宿舍号char(8), 违规次数记录char(6);1、2创建外部人员出入登记表
22、create table 外部人员出入登记表( ID号char(20) primary key, 进入时间datetime, 访问宿舍号char(20), 访问对象名字char(6), 离开时间datetime, 人员姓名 char(6);1、3创建大物品出入登记表create table 大物品出入登记表( 物品编号char(20) primary key, 物品名char(10), 进入时间datetime, 离开时间datetime, 携带者char(8), 携带者宿舍号char(6);1、4创建电费管理表create table 电费管理表( 购电序列号char(20) primary
23、 key, 购电时间datetime, 强开时间datetime, 强开次数char(10), 购电数量char(4), 剩余电量char(4), 电费单价char(4), 购电者学号char(8);1、5 报修管理表create table 报修管理表( 报修序列号char(20) primary key, 报修人char(8), 宿舍号char(4), 报修时间datetime, 报修物件名char(6), 维修人姓名char(8), 维修时间datetime);1、6创建宿舍管理员基本信息表create table 宿舍管理员基本信息表( 工作编号char(10) primary key
24、, 姓名char(10), 工作类型char(20), 性别char(10), 联系方式char(12), 工作时间char(20);1、7创建宿舍违规信息管理表create table 宿舍违规信息管理表( 违规宿舍号char(4), 违规人学号char(20) primary key, 违规次数char(20);1、8创建宿舍基本信息管理表create table 宿舍基本信息管理表( 入住人数char(10), 住宿人一学号char(10), 住宿人一姓名char(10), 住宿人二学号char(10), 住宿人二姓名char(10), 住宿人三学号char(10), 住宿人三姓名cha
25、r(10), 住宿人四学号char(10), 住宿人四姓名char(10), 宿舍号char(20) primary key, 凳子数量char(20), 桌子数量char(20), 电脑数量char(20), 电视数量char(20);2、数据的插入-1、向学生信息管理表中插入数据insert into 学生信息管理表values(,软件学院,胡保呈,男,江西,1990-6-12,2010-8-29,软件工程,329,0);insert into 学生信息管理表values(,软件学院,杨文斌,男,江西,1991-6-20,2010-8-29,软件工程,332,0);insert into
26、学生信息管理表values(,材料学院,廖荣华,男,江西,1991-6-12,2010-8-29,金属材料,505,0);insert into 学生信息管理表values(,测光学院,王绪文,男,江西,1990-4-23,2010-8-29,无损检测,723,0);insert into 学生信息管理表values(,经管学院,陈文涛,男,江西,1991-6-12,2010-8-29,会计,315,1);insert into 学生信息管理表values(,软件学院,何成健,男,江西,1990-6-12,2010-8-29,软件工程,334,0);insert into 学生信息管理表val
27、ues(,软件学院,曾其昌,男,江西,1990-6-12,2010-8-29,软件工程,334,0);-2、向外部人员出入登记表中插入数据insertinto 外部人员出入登记表values(,2012-6-21 8:21:12,334,何成健,2012-6-21 10 :21:23,张三);insertinto 外部人员出入登记表values(,2012-5-23 9:12:30,329,王少平,2012-5-23 10 :21:59,李四);insertinto 外部人员出入登记表values(,2010-7-21 12:21:12,419,刘嵘,2010-7-21 15 :21:23,王
28、五);insertinto 外部人员出入登记表values(,2011-8-21 8:10:12,334,曾其昌,2011-8-21 10 :21:23,王平);insertinto 外部人员出入登记表values(,2011-8-21 8:10:12,334,肖明,2011-8-21 10 :21:23,肖峰);-3、向大物品出入登记表中插入数据insertinto 大物品出入登记表values(,电脑,2012-07-27 10:12:00,2012-08-25 12:10:00,何成健,334);insertinto 大物品出入登记表values(,被子,2012-06-19 12:12
29、:00,2012-06-21 12:10:00,杨文斌,332);insertinto 大物品出入登记表values(,电脑,2012-06-20 10:12:00,2012-08-25 12:10:00,刘嵘,419);insertinto 大物品出入登记表values(,凳子,2012-07-27 10:12:00,2012-08-25 12:10:00,小明,332);-4、向电费管理表中插入数据insertinto 电费管理表values(2,2010-08-29 10:13:12,2010-08-28,1,16,-5,0.6,);insertinto 电费管理表values(9,20
30、10-07-29 10:13:12,2010-07-28,2,20,0,0.6,);insertinto 电费管理表values(9,2010-09-21 13:13:12,2010-09-20,0,30,-1,0.6,);insertinto 电费管理表values(0,2010-09-21 13:13:12,2010-09-20,3,50,-1,0.6,);-5、向报修管理表中插入数据insertinto 报修管理表values(2,何成健,334,2010-08-29 10:15:12,防盗门,魏须海,2010-08-30 12:10:00);insertinto 报修管理表values
31、(4,曾其昌,334,2010-09-15 10:15:12,洗漱池,王少平,2010-09-30 12:10:00);insertinto 报修管理表values(4,胡保呈,329,2010-10-08 10:15:12,水龙头,刘嵘,2010-10-30 12:10:00);insertinto 报修管理表values(8,曾峰,329,2010-10-08 10:15:12,桌子,方天华,2010-10-30 12:10:00);insertinto 报修管理表values(9,张娜,329,2010-10-08 10:15:12,电脑,李丽,2010-10-30 12:10:00);
32、-6、向宿舍管理员基本信息表中插入数据insertinto 宿舍管理员基本信息表values(,张林华,宿管,男,08:00:00-21:00);insertinto 宿舍管理员基本信息表values(,李大风,楼长,男,21:00:00-08:00:00);insertinto 宿舍管理员基本信息表values(,王静,宿管,女,21:00:00-08:00:00);insertinto 宿舍管理员基本信息表values(,李娜,宿管,女,8,21:00:00-08:00:00);insertinto 宿舍管理员基本信息表values(,王西,宿管,女,21:00:00-08:00:00);
33、-7、向宿舍违规信息表中插入数据insertinto 宿舍违规信息管理表values(329,1);insertinto 宿舍违规信息管理表values(334,1);insertinto 宿舍违规信息管理表values(332,1);insertinto 宿舍违规信息管理表values(330,2);insertinto 宿舍违规信息管理表values(723,0);-8、向宿舍基本信息管理表中插入数据insertinto 宿舍基本信息管理表values(4,何成健,魏须海,曾其昌,刘嵘,334,4,2,4,1);insertinto 宿舍基本信息管理表values(2,廖荣华,陈文涛,32
34、9,4,2,4,1);insertinto 宿舍基本信息管理表values(1,王绪文,723,4,2,4,1);insertinto 宿舍基本信息管理表values(4,廖荣华,王绪文,陈文涛,刘嵘,711,4,2,4,1);3、建立触发器create trigger insert_or_updateon 学生信息管理表 for updateasDeclare num char(20),no char(10)select num=违规次数记录,no=学号from insertedupdate 宿舍违规信息管理表set 违规次数=numwhere 违规人学号=noreturn create t
35、rigger insert_or_updaton 学生信息管理表 for insertasDeclare num char(20),no char(10),宿舍号char(10)select num=违规次数记录,no=学号,宿舍号=所在宿舍号from insertedinsert into 宿舍违规信息管理表values(宿舍号,no,num)return4、建立存储过程-创建查询学生信息存储过程create procedure 查询学生信息存储过程asselect *from 学生信息管理表goexecute 查询学生信息存储过程-创建插入学生信息存储过程create procedure
36、插入学生信息存储过程(学号char(20),院系char(20),姓名char(20),性别char(20),籍贯char(20),生日char(20),入学时间datetime,所学专业char(20),所在班级char(20),所在宿舍号char(20),违规次数记录char(20)asinsert into 学生信息管理表values(学号,院系,姓名,性别,籍贯,生日,入学时间,所学专业,所在班级,所在宿舍号,违规次数记录)goexecute 插入学生信息存储过程学号= ,院系=软件学院 ,姓名=刘云 ,性别=女 ,籍贯=湖北,生日=,入学时间=2010-08-23 ,所学专业=教育技
37、术学 ,所在班级=,所在宿舍号=723 ,违规次数记录=2-统计软件学院总人数create procedure 统计软件学院总人数(学院char(20),总人数int output)as select 总人数=count(学号)from 学生信息管理表where 院系=学院declare 总人数int;exec 统计软件学院总人数软件学院, 总人数outputselect 总人数5、建立索引-在学生信息管理表中创建学号索引create unique index 学号索引on 学生信息管理表(学号desc);-在宿舍基本信息管理表中创建宿舍号索引create unique index 宿舍号索引on 宿舍基本信息管理表(宿舍号desc);-在电费管理表中创建学号索引create unique index 学号索引on 电