数据库1.docx
《数据库1.docx》由会员分享,可在线阅读,更多相关《数据库1.docx(11页珍藏版)》请在冰豆网上搜索。
数据库1
论文题目:
学生公寓数据库设计
引言及目的
随着教育产业化的进一步实施,高校体制进一步改革和深化,作为高等教育的一个重要组成部分——高职教育全面市场化和规模化,各高职院校成立了后勤服务中心,学生公寓的管理成为服务中心工作的重要组成部分。
随着学校办学规模填的不断扩大,每年招生的学生数量也在不断增大,学生的公寓管理工作也越来越繁重和琐碎。
传统的以人工方式或半自动化方式管理学生住宿的模式,已不能满足学校发展的要求,研制开发学生公寓管理系统已成必要。
本系统为学生公寓管理系统,具有公寓基本情况管理,收费管理,访客管理,维修管理和公寓论坛等功能。
本文档为开发人员,维护人员和用户之间提供共同的协议而创立基础,对软件功能的实现作描述。
需求分析
本系统的用户是学生公寓管理人员和负责老师,他们在日常公寓管理的主要工作有:
入住学生信息的查询与管理、寝室分配及调整、来访登记等。
根据上诉需求进行分析,本系统在实现应该具有如下功能:
1)学生基本信息管理,宝货学生姓名、学号、所属院系班级、公寓楼号、寝室号灯数据。
2)寝室的实验情况统计,例如房源使用情况、空床统计情况等。
3)学生每学期的注册登记,以及住宿费、电费等缴纳情况管理。
4)人员来访登记及结束访问的详细记录。
5)提供多条件查询功能,以方便用户对学生基本信息及楼房信息的查询。
6)添加、删除、修改用户账户的功能。
概念设计
在设计图书借阅管理系统的数据库时,依据对系统做出的数据和功能的需求分析,确定要存储的有关对象的信息和各个对象的基本属性信息,还需要确定这些对象之间的相互关系。
根据实现功能的不同可以将系统划分为4大模块:
系统管理模块、学生管理模块、公寓管理模块、来访登记模块。
系统的功能模块图如下图所示。
逻辑结构设
根据关系数据理论,对关系模式进行优化。
根据以上设计的学生公寓管理系统的概念模型和实际应用中的需要,为系统设计出的各数据表的数据结构和完整性约束条件如表所示
学生信息表的结构
列名
数据类型
是主键
非空/空
约束条件
学号
int
是
非空
不得重复
姓名
nvarchar
否
空
无
性别
char
否
空
值为:
男或女
专业
nvarchar
否
空
无
班级
nvarchar
否
空
无
联系方式
nvarchar
否
空
无
公寓号
nvarchar
否
空
无
寝室号
nvarchar
否
空
无
备注
nvarchar
否
空
无
公寓信息表的结构
列名
数据类型
是主键
非空/空
约束条件
公寓号
int
是
非空
楼层数
int
否
空
房间数
int
否
空
交费信息表的结构
列名
数据类型
是主键
非空/空
约束条件
ID
int
是
非空
公寓号
nvarchar
否
空
寝室号
nvarchar
否
空
交费时间
smalldatetime
否
空
交费类型
nvarchar
否
空
金额
float
否
空
寝室信息表的结构
列名
数据类型
是主键
非空/空
约束条件
ID
int
是
非空
记录编号
寝室号
nvarchar
否
空
无
可住人数
int
否
空
无
住宿费用
float
否
空
无
电话
nvarchar
否
空
无
公寓号
nvarchar
否
空
无
来访信息表的结构
列名
数据类型
是主键
非空/空
约束条件
被访者学号
int
是
非空
被访者姓名
nvarchar
否
空
来访人姓名
nvarchar
否
非空
人数
int
否
空
所属关系
nvarchar
否
空
来访时间
smalldatetime
否
空
结束时间
smalldatetime
否
空
事由
nvarchar
否
空
值班人
nvarchar
否
空
操作员信息表的结构
列名
数据类型
是主键
非空/空
约束条件
操作员ID
nvarchar
是
非空
操作员姓名
nvarchar
否
空
密码
nvarchar
否
空
权限
char
否
空
物理结构设计
关系名
主键表
主键字段
外键表
外键字段
学生信息—公寓信息
公寓信息
公寓号
学生信息
公寓号
学生信息—寝室信息
寝室信息
寝室号
学生信息
寝室号
寝室信息—公寓信息
公寓信息
公寓号
寝室信息
公寓号
数据库的创建
根据以上对数据库的概念设计、逻辑设计和物理设计,得出了数据库中各表的数据结构。
根据以上得出的各表设计结果,完成对各个数据表的数据结构创建。
建立表间的关联是维护数据的参照完整性和实现多表连接查询的基础。
根据学生公寓管理数据库的概念设计、逻辑设计,结合学生公寓管理系统的实际应用状况,建立各表之间的关系图。
代码如下:
createdatabase学生公寓管理
go
usedatabase学生公寓管理
go
createtable学生信息表
(学号int,
姓名char,
性别char,
专业nvarchar,
联系方式nvarchar,
公寓号nvarchar,
寝室号nvarchar,
primarykey(学号))
--***************************--
altertable学生信息表
addconstraintck_性别
check(性别in('男','女'))
--***************************--
createtable公寓信息表
(公寓号nvarchar,
楼层数int,
房间数int,
primarykey(公寓号))
--***************************--
createtable交费信息表
(IDint,
公寓号nvarchar,
寝室号nvarchar,
交费时间smalldatetime,
交费类型nvarchar,
金额float,
primarykey(ID))
--***************************--
altertable交费信息表
addconstraintck_交费类型
check(交费类型in('电费','住宿费'))
--***************************--
createtable寝室信息表
(IDint,
寝室号nvarchar,
可住人数int,
住宿费用float,
电话nvarchar,
公寓号nvarchar,
primarykey(ID))
--***************************--
createtable来访信息表
(
被访者学号int,
被访者姓名char,
来访人姓名char,
人数int,
来访时间smalldatetime,
结束时间smalldatetime,
事由char,
值班人char,
primarykey(被访者学号))
foreignkey(被访者学号)references学生信息表(学号),
--***************************--
createtable操作人员信息表
(
操作员IDint,
操作员姓名char,
职位char,
primarykey(操作员ID))
--***************************--
altertable操作人员信息表
addconstraintck_职位
check(职位in('普通员工','楼长','组长'))
表格如下: