


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库课程设计题目:学牛公寓管理系统学院:信息科学与技术学院专业:信息与计算科学姓名:雷帅徐爱娟学号:目录引言1.1课题背景1.2课程设计目的1.3课程设计任务需求分析错.误!未定义书签 错误!未定义书签 .错误!未定义书签 .错误!未定义书签错误!未定义书签系统数据库设计43.1概念结构设计 43.2逻辑结构设计7四数据库实现10五数据库运行与查询153.3物理结构设计8六人员分工17六谢辞17参考文献171引言1.1课题背景目前,校园内的学生住宿已经逐步开始进行公寓化管理。在管理过程中,入住学生信息、来访登记等各种信息内容复杂、 数据量大,传统的手工记录方式很 难完成快速、准确的查询、统计
2、等管理工作。开发学生公寓管理系统,利用计算 机实现管理的信息化,不仅可以节省人力、物力资源,提高管理人员的工作效率, 同时也加强了信息的安全性和可靠性。1.2课程设计目的(1)通过实践更加深入理解所学数据库理论, 通过实际操作巩固所学知识。(2)熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立 和调试以及系统评价。(3)实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信 息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、 系统调试、维护以及系统评价的一般过程,为毕业设计以及将来的系
3、统开发打下 基础。1.3课程设计任务本课程设计任务是通过开发一个数据库特价机票抢购系统,深入学习和理解 数据库系统的设计与开发,开发工具为SQL相关软件。通过对计算机硬件和软 件解决方案的论证,对应用领域进行调查分析,参考各种资料和进行数据库系统 开发实践。在指导老师的帮助下,已经基本上成功地实现了设计任务书的要求, 使得设计的数据库系统能够实现一般数据库的管理和查询功能等。2需求分析本系统的用户是学生公寓管理人员和负责老师, 他们在日常公寓管理的主要主要 工作有:入住学生信息的查询与管理、寝室分配及调整、来访登记等。根据上述 需求进行分析,本系统在实现上应该具有如下功能:学生基本信息管理,包
4、括学生姓名、学号、所属院系班级、公寓楼号、寝室号等数据。寝室使用情况统计,例如房源使用情况、空床统计情况等。学生每学期的注册登记,以及住宿费、电费等缴纳情况管理。人员来访登记及结束访问的详细记录。提供多条件查询功能,以及方便用户对学生基本信息及楼房信息的查询。添加、删除、修改用户账户的功能。根据上述分析,可以设计出此系统的系统体系结构图学生公寓管理系统来访登记管理公寓管理学生管理公 寓 楼 房 管 理公 寓 寝 室 管 理学 生 基 本 信 息 管 理学生缴费管理针对各模块功能不同的表实现添加记录、修改记录、删除记录以及查询显示记 录等功能学生公寓管理系统功能模块示意图开始重试读取用户类型管理
5、模块学生公管理自己的用户信息理模块管理自己的用户信息管理普通用户的用户信息系统流程分析图退出程序公寓楼管理信息学生信息管理缴费管理来访登记管理3系统数据库设计3.1概念结构设计根据需求分析抽象出信息结构,可得该系统的 E-R图(1)学生信息的E-R图,如图3.1所示图3.1学生信息E-R图(2)公寓信息的E-R图,如图3.2所示图3.2公寓信息E-R图(3)寝室信息的E-R图,如图3.3所示图3.3寝室信息E-R图 交费信息的E-R图,如图3.4所示图3.4交费信息E-R图图3.5来访信息E-R图图3.6操作员信息E-R图(7)根据分E-R图和需求分析,可得总的基本E-R图,我又通过分析实际情
6、况,对总的ER图继续进行优化,消除不必要的冗余以及我认为一些不必要的信息后得到最终总的E-R图,如图3.7所示图3.7系统总体结构E-R图3. 2逻辑结构设计(1)将图3.7总体概念结构E-R图转化成关系模型。关系模型:学生(学号,id,姓名,性别,出生日期,专业,班级,联系方式,公寓号,寝 室号)公寓(公寓号,id,楼层数,房间数,启用时间)寝室(寝室号,公寓号,id,可住人数,住宿费用,电话)交费(id,公寓号,寝室号,交费时间,交费类型,金额)来访(id,来访人姓名,人数,被访者姓名,所属关系,来访时间,结束时间, 事由)操作员(操作员ID,操作员姓名,密码,权限)(2)数据模型的优化
7、将转化的关系模式进行优化,最终达到 BCNF。 确定数据依赖学生(学号,id,姓名,性别,出生日期,专业,班级,联系方式,公寓号,寝 室号)学号 kid,学号姓名,学号性别,学号出生日期学专业,学号 班级,学号联系方式,学号公寓号学室号(均为完全函数依赖)公寓(公寓号,id,楼层数,房间数,启用时间)公寓号 id,公寓号楼层数,公寓号房间数公寓号 *启用时间(均为完全函数依赖)寝室(寝室号,公寓号,id,可住人数,住宿费用,电话)由于不同的公寓楼会有相同的寝室号,所以仅仅用寝室号是无法确定一个寝室的,而一个公寓楼里的寝室号是唯一的, 所以这里用公寓号和寝室号一起作主键(寝室号,公寓号)id,(
8、寝室号,公寓号)可住人数,(寝室号,公 寓号)住宿费用,(寝室号,公寓号)电话(均为完全函数依赖)交费(id,公寓号,寝室号,交费时间,交费类型,金额)Id公寓号 id寝室号,id 交费时间id交费类型,id金额(均为完全函数依赖)来访(id,来访人姓名,人数,被访者姓名,所属关系,来访时间,结束时间, 事由)id来访人姓名,id 人数,id被访者姓名,id属关系id 来访时间,id结束时间,id 事由(均为完全函数依赖)操作员(操作员ID,操作员姓名,密码,权限)操作员ID 操作员姓名,操作员ID k密码,操作员ID k权限(均为完 全函数依赖) 对各关系模式间数据依赖进行极小化处理,消除冗
9、余通过分析发现其关系中都没有数据的冗余:学生关系中学号Sno决定公寓号和寝室号,公寓关系中公寓号作为主键,而寝室关系中,虽然寝室是在公寓里的, 但是这里的寝室实体是指所有学生公寓里的寝室, 所以仅仅是寝室号无法唯一的 确定一个寝室,这里用(寝室号+公寓号)共同作为主键来唯一确定一个寝室, 交费关系中,这里用记录编号作为主键,每条记录对应一个寝室的交费信息, 同 样由于交费是以寝室为单元的,所以也可以用(寝室号 +公寓号)为主键。 消除传递依赖由以上分析可知各关系中的函数依赖都是完全函数依赖,而且没有传递函数依赖,所以此关系模型满足BCN F,尽管模型可以继续优化,但在实际中此模型已 经满足要求
10、。3. 3物理结构设计表3.1学生信息表的结构编号字符名称数据类型长度说明1idint4记录编号,不允许空2学号nv archar30学生学号,主键3姓名nv archar20允许空4性别char2不允许空5出生日期smalldatetim4允许空e6专业nv archar20允许空7班级nv archar20允许空8联系方式nv archar20允许空9公寓号nv archar10允许空10寝室号nv archar10允许空11备注nv archar50允许空表3.2公寓信息表的结构编号字符名称数据类型长度说明1idint4记录编号,不允许空2公寓号nv archar10公寓楼编号,主键3楼
11、层数int4允许空4房间数int4允许空5启用时间smalldatetime4允许空6备注nv archar50允许空表3.3寝室信息表的结构编号字段名称数据类型长度说明1idint4记录编号,不空2寝室号nv archar10主键3可住人数int4允许空4住宿费用float8允许空5电话nv archar10允许空6公寓号nv archar10主键7备注nv archar50允许空表3.4交费信息表的结构编号字段名称数据类型长度说明1idint4编号,主键2公寓号n varchar10允许空3寝室号n varchar10允许空4交费时间smalldatetim e4允许空5交费类型small
12、datetime10允许空6金额n varchar8允许空7备注n varchar50允许空表3.5来访信息表的结构编号字段名称数据类型长度说明1idint4记录编号,主键2来访人姓名nv archar10允许空3人数int4允许空4被访者姓名nv archar10允许空5所属关系nv archar10允许空6来访时间smalldatetime4允许空7结束时间smalldatetime4允许空8事由nv archar50允许空9值班人nv archar10允许空表3.6操作员信息表的结构编号字段名称数据类型长度说明1idint4编号,主键2操作员IDnv archar10允许空3操作员姓名n
13、v archar10允许空4密码nv archar10允许空5权限char6允许空6备注nv archar50允许空四数据库实现4.1创建学生信息表create table Stude nt(id int not nu II,Sno n varchar(30) primary key,Sn ame n varchar(20),Ssex char(2) not n ull”Sbirth smalldatetime,Sdept nvarchar(20),Sclass n varchar(20),Sphone n varchar(20),Sbuild nvarchar(10),Sroom n var
14、char(10),Sother n varchar(50),-创建学生信息表-记录编号,不空-学号,主键-姓名-性别-出生日期-专业-班级-联系方式-公寓号-寝室号-备注foreig n key(Sbuild) refere nces Buildi ng(Sbuild),-学生公寓关系FOREIGN KEY(Sroom,Sbuild) REFERENCES Dorm(Sroom,Sbuild),关系-学生寝室)4.2创建公寓信息表create table Buildi ng(id int not n ull,Sbuild n varchar(10) primary key,-公禺信息表-记录编
15、号,不空-公寓号,主键floornum int.-楼层数roomnum int,-房间数usetime smalldatetime,-启用时间Bother n varchar(50),-备注4.3创建寝室信息表create table Dorm-寝室信息表(id int not n ull,-记录编号Sroom n varchar(10),-寝室号Dnum int,-可住人数Dfee float(8),-住宿费用Dphone n varchar(10),-电话Sbuild nvarchar(10),-公寓号Dother n varchar(50),-备注primary key(Sroom,Sb
16、uild),-主键4.4创建交费信息表create table Pay-交费(id int primary key,-记录编号,主键Sbuild nvarchar(10),-公寓号Sroom n varchar(10),-寝室号paytime smalldatetime,-交费时间paytype n varchar(10),-父费类型Pfee float(8),-金额Pother n varchar(50),-备注foreign key(Sroom,Sbuild) references Dorm(Sroom,Sbuild),-交费公寓关系)4.5创建来访信息表create table Visi
17、t-来访登记表(id int primary key,-记录编号,主键Vn ame n varchar(10),-来访人姓名Vnum int,-来访人数Vn amed n varchar(10),-被访人姓名relat n varchar(10),-所属关系Vtime smalldatetime,-来访时间Vend smalldatetime,-结束时间reas on n varchar(50),-事由watch n varchar(10),-值班人)4.6创建操作员信息表create table Operator-操作员信息表(id int primary key,-记录编号,主键Oid n
18、varchar(10),-操作员idOn ame n varchar(10),-操作员姓名Opass nvarchar(IO),-密码Olimit char(6),-权限Oother nvarchar(50),-备注)4.7关系图如下VisitDormidSroomDnumDfee8DphoneSbuildDotherPayidSbuildSroompaytimepaytypePfeePotherBuildi ngStude ntidSnoSnameSsexSbirthSdeptSclassSphoneSbuildSroomSotherOOlidSbuildfloornumroomnumuse
19、timeBotheridSbuildfloornumroomnumusetime4.8插入数据-插入公寓楼in sert into Buildi ngvalues('0001','01','05','100','2000-1-2','无')in sert into Buildi ngvalues('0002','02','05','100','2001-4-2','无')in sert into Buil
20、di ng values('0003','03','06','150','2002-6-12','无')in sert into Buildi ng values('0004','04','05','100','2005-10-2','无')in sert into Buildi ng values('0005','05','05','100'
21、;,'2007-1-12','无')select * from Buildi ng-插入寝室信息无')无')无')in sert into Dorm values('0001','1-101','4','1000','45216535','01',' in sert into Dorm values('0002','2-101','4','1000','452165
22、34','01',' in sert into Dorm values('0003','1-101','4','1000','45256535','02',' in sert into Dormvalues('0004','2-101','4','1000','45816535','02',' in sert into Dormvalues('000
23、5','1-101','6','1000','45258735','03',' in sert into Dormvalues('0006','2-101','6','1000','41256535','03',' select * from Dorm-插入学生信息in sert into Stude nt无')无')无')values('0001',
24、9;20100001','张一','男','1991-1-2','')in sert into Stude ntvalues('0002','20100002','张二','男','1991-10-2'无')in sert into Stude ntvalues('0003','20100003','张三','男','1992-1-2',''
25、)in sert into Stude ntvalues('0004','20100004','张四','男','1994-1-12'无')in sert into Stude ntvalues('0005','20100005','张五','女','1991-5-2','信科','一班','45648922','01','1-101','
26、无信科','二班','45656922','01','2-101','通信','一班','45848922','02','1-101',' 无计本','三班','45588922','02','1-101','计本','一班','45658922','03','1-101','
27、无')in sert into Stude ntvalues('0006','20100006','张六','女','1991-11-2',无')in sert into Stude ntvalues('0007','20100007','张七','女','1990-4-2','')in sert into Stude ntvalues('0008','20100008',
28、'张八','女','1991-3-1','')in sert into Stude ntvalues('0009','20100009','张九','男','1991-2-9','')in sert into Stude ntvalues('0010','20100010','张十','男','1991-3-5','')select * fr
29、om Stude nt通信','一班','45468922','03','2-101','信科','一班','45596922','03','1-101',' 无信科','二班','45648542','03','2-101',' 无信科','一班','41248922','01','1-101
30、',' 无通信','一班','45641522','02','1-101',' 无-插入缴费信息in sert into Payvalues('0001','01','1-101','2010-5-1','水电费','86','无')in sert into Payvalues('0002','01','2-101','2010-5-
31、1','水电费','70','无')in sert into Payvalues('0003','02','1-101','2010-5-1','水电费','56','无')in sert into Payvalues('0004','03','1-101','2010-5-1','水电费','90','无')in s
32、ert into Payvalues('0005','03','2-101','2010-5-1','水电费','80','无')select * from Pay-插入来访信息玩','王五')玩','王五')in sert into Visitvalues('0001',' 李四','1','张四','朋友','2010-5-3','
33、;2010-5-3',' in sert into Visitvalues('0002',' 赵六','2','张二','同学','2010-7-3','2010-7-5',' select * from Visit-插入操作员信息in sert into Operatorvalues('0001','425001','李飞','001240',”,”)select * from Operator
34、4.9设置触发器create trigger In sert_or_Update_D numbefore in sert or update on Dormfor each rowas beg inif (new.Sbuild='O1') and (new.Dnum>4) thenn ew.D num :=4;end if;en d;对寝室人数设置触发器,当人数超过4时自动改为4,同样可对公寓楼02,03,04 设置,而对公寓楼05和06设置寝室人数为6.同时还可以对寝室费用的设置触发器,寝室费用都是 1000快,当输入数据不等于1000时,自动改为1000.五数据库运行喳询奉生张一的住宿信息H select; *f EQEH Sluder t;-where 5口测墟=张一1E select "*M宙结杲血肯烏SnamsSbirihSdESphooeSbuidSitoitSrthsr11 j托一卑1991-01-02(X1:00:00一肛4564 沁C11-101无懂询所有信科咅业的学生的性香信息酣近有语迦昔谓f roin S t-udeiit-where 5且皂卩匸=信科r白 sslect Snairefrom 吕匸udenr-whe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 手机连接器精密设计规范-编制说明(征求意见稿)
- 四年级上册数学口算题
- 二年级下册《混合运算》练习题-二年级下学期的混算题
- 高中语文第六册诉肺腑 第2课时旧人教版第二课时
- 公司返聘人员合同范例
- 介绍工地合同范例
- 人人车电子合同范例
- 公司股东质押合同范例
- 代维分包合同范例
- 人才房申购合同范例
- 2024老年人静脉血栓栓塞症防治专家共识(全文)
- 毕业设计(论文)-锤片式秸秆粉碎机设计
- 2022年江苏省五年制专转本考试英语真题(试卷+答案)
- 医疗器械公司发展规划
- 哮喘持续状态护理
- 【真题】2023年徐州市中考道德与法治试卷(含答案解析)
- 陕西省咸阳市实验中学2023-2024学年八年级下学期阶段性检测(一)语文试题
- 抖音本地生活培训课件
- 2024年城市轨道交通行车值班员(三级)考试题库汇总(附答案)
- 老药新用与用药创新趋势
- 《锐器伤应急处理》课件
评论
0/150
提交评论