房产管理系统数据库课程设计.docx
《房产管理系统数据库课程设计.docx》由会员分享,可在线阅读,更多相关《房产管理系统数据库课程设计.docx(14页珍藏版)》请在冰点文库上搜索。
房产管理系统数据库课程设计
中国石油大学(北京)远程教育学院
期末考试
《数据库课程设计》
课程名称数据库课程设计
设计题目房产管理系统
学习中心北京直属
学号087597
姓名代文波
2018年6月
1设计时间...............................................1
2设计目的...............................................1
3设计任务...............................................1
4设计内容...............................................1
4.1需求分析.............................................1
4.2系统设计.............................................2
4.2.1概念结构设计.......................................2
4.2.2逻辑结构设计.......................................7
4.3数据库表空间和表结构设计..............................8
4.4系统实施............................................10
4.5创建其它数据库对象...................................12
5总结与展望............................................13
设计时日2012011设计目其目的在于加深数据库原理及应用课程设计是软件工程专业集中实践性环节之一数据库基础理论和基本知识的理解,掌握使用数据库进行软件设计的基本方法,提高运数据库解决实际问题的能力,最终实现对于给定的应用环境,构造最优的数据库模式,立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要和处理要求。
同时,此次设计对于同学将来的毕业设计和具体工作实践将有重要的意义近年来,随着计算机技术的发展和电脑的普及,特别是企业上网工程和办公自动化的进机完成复杂的日P越来越多的企业在管理部门纷纷采迅猛MI通过办公室的一更多的国有大中型企业从中受益在这样的背景下业务处理从而减少工作量提高效率通常这样的企业存在部门多,业务杂,数据流量大的特点,如果在各个部门使用一个针,无疑是能起到事半功倍的效果性强,操作简单而数据处理功能强大MI设计任房产管理系统应具有分房、调房、退房和咨询统计功能,同时应能对房产信息、住信息、住户基本信息及住户家庭信息等进行管理,并建立住房和住户之间的对应关系。
这些信息应能进行方便快捷的新增、修改和删除等操作,另外还能快速找到所需的信息需要查询功这个就设计内房产管理系统系统主要功能如下分房,调房,退房询,咨统12用户可以查询房产信息,住房信息,住户信息,住户家庭信删除,修改,新增信34.需求分房产科把用户申请表(按照统一的格式由用户填写)输入系统后,系统首先检查申表的合法性,对不合法的申请表系统拒绝接受,对合法的申请表根据类型分别进行处理。
如果是分房申请,则根据申请者的情况计算其分数,当分数高于阈值分数时,按分数
高低将申请单插到分房队列的适当位置。
每月最后一天进行一次分房活动,从空房文件读出空房信息,把好房优先分配给排在分房队列前面的符合该登记住房条件的申请者,空房文件中删除掉这个房号的信息,从分房队列中删除申请单,并把此房号的信息和住信息一起写到住房文件中,输出住房分配单给住户,同时计算房租并将算出的房租写到租文件中如果是调房申请,则根据申请者的情况确定其住房等级,然后在空房文件中查找属给等级的空房,退掉原住房,再进行与分房类似的处理如果是退房申请,则从住房文件和房租文件中删除有关的信息,再把此房号的信息到空房文件中
住户可向系统询问目前分房的阈值分数,居住某类房屋的条件,某房号的单位面积租等信息。
房产科可以要求系统打印出住房情况的统计表,或更改某类房屋的居住条件单位面积房租等系统设4.概念结构设4.2.
)用
E-用4-1
)申请表(2
图4-2申请表E-R图-分配住房(3)房产科-
图房产科分配住房E-R图4-3
m)(1:
一个房产科分配多套住房
):
(一套住房只被一个房产科分配11
调)管
E-4-4房产科管理调一个房产科管理多个调房请
一个调房请求由一个房产科管分)管
房产科管理分E-4-5
一个房产科管理多个分房请一个分房请求由一个房产科管)
退房6)管理-(
图房产科管理退房E-R图4-6
m)(1:
一个房产科管理多个退房请求
1)(1:
一个退房请求由一个房产科管理
)视图集成(7模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。
全ER所有局部模式,而且必须合理地表示一个完整、一致的数据库ER局概念结构不仅要支持所有局部概念结构。
1)确定公共实体类型
模式的合并提供开始合并的基础,首先要确定各局部结构中的公为了给多个局部ER共实体类型。
ER局部模式的合并2)合并的原则是:
首先进行两两合并;先和合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。
消除冲突3)
冲突分为三类:
属性冲突、结构冲突、命名冲突。
模式的优化全局ER4)ER为了提高数据库系统的效率,还应进一步依据处理需求对ER在得到全局模式后,模式,除能准确、全面地反映用户功能需求外,还应满模式进行优化。
一个好的全局ER足下列条件:
实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型所示:
4.3.7的全局ER模式如图间联系无冗余。
综上所述,“图书管理系统”
E-R4-7图综合图
逻辑结构设计4.2.2
从所支持的数据模型的过程。
数据库逻辑设计的任务是将概念结构转换成特定DBMS的性能、具体的数据模型特DBMS此开始便进入了“实现设计”阶段,需要考虑到具体的点。
所支持的数据模型,DBMS从E-R图所表示的概念模型可以转换成任何一种具体的如网状模型、层次模型和关系模型。
这里只讨论关系数据库的逻辑设计问题,所以只介绍图如何向关系模型进行转换。
E-R图则是由实体,实体的属性和实体E-R关系模型的逻辑结构是一组关系模式的集合。
实体的属性图转换为关系模型实际上就是要将实体,所以将E-R间的联系三个要素组成。
和实体间的联系转换为关系模式。
转换原则如下。
:
一个实体型转换成一个关系模式。
实体的属性就是关系的属性,1.实体类型的转换实体的码就是关系的码。
2.联系类型的转换,根据不同的情况做不同的处理。
的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关:
11)一个1(系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。
如果与某一端实体对则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的应的关系模式合并,属性。
端对应的关系NN的联系可以转换为一个独立的关系模式,也可以与
(2)一个1:
模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身N端实体的码。
的属性均转换为关系的属性,而关系的码为联系转换为一个关系模式。
与该联系相连的各实体的码为各实体码N)一个3M:
(的组合。
)三个或三个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联4(而关系的码为各实体码的系相连的各实休的码以及联系本身的属性均转换为关系的属性,组合。
)具有相同码的关系模式可合并。
(5E-R3.根据学生宿舍管理系统的图转换为关系模型如下。
将每一个实体转换成一个关系(关系就是给出关系名,属性就是实体属性,并标明该关系的主键用下划线来表示)关系模式:
用户信息表(户主,部门,职称,人口,房号)住房要求(户主,要求)住房标准(面积,最低分数)房产文件(房号,住房面积,分配标志,房租)住房文件(户主,职称,部门,人口,分数,房号,住房面积)分房要求(户主,部门,职称,人口,分数,要求面积)退房要求(部门,房号)调房要求(户主,部门,职称,人口,分数,面积,房号,申请面积)。
以上关系模式均为3NF数据库表空间和表结构设计4.3loca-in
登陆信息表表4.3.1备注长度存储代码类型属性名
20charLocal-id账号登陆账号20charLocal-p密码登陆密码10
char
Local-r
登陆角色角色4.3.2用户信息表表user_info备注长度存储代码属性名类型
20charhuzhu户主户主姓名20bumenchar工作部门部门
10charzhicheng职称职称8renkouchar房号所住房号8
fanghao
int
人口家庭人口4.3.3住房要求表user_q备注长度类型属性名存储代码
20charhuzhu户主姓名户主
10
yaoqiu
char
申请要求要求
zhu_b
4.3.4住房标准表备注长度存储代码属性名类型
Intmianji
住房面积面积zuidifenshu
Int最低分数最低住房分数
zhu_w
住房文件表4.3.5备注类型存储代码长度属性名
20charhuzhu户主户主姓名10charzhicheng职称户主职称20charbumen工作部门部门
fenshuInt住房分数分数
renkouInt家庭人口人口
4charfanghao
房间号码房号int
zhufangmianji
现住面积住房面积
fang_w
4.3.6房产文件表备注类型长度属性名存储代码
4fanghao
char房间号码房号
4charfenpeibiaozhi是否分配(是)分配标志fangzu
Int每平方米房租房租
zhufangmianji
Int住房面积住房面积
fang_q
分房要求表4.3.7备注长度属性名存储代码类型
harCHuzhu20户主申请人姓名
Bumen20Char部门工作部门Zhicheng10Char职称户主职称intrenkou家庭人口人口intFenshu住房分数分数int
yaoqiumianji要求面积要求住房面积
tiao_q
4.3.8调房要求表备注长度存储代码属性名类型
20huzhuChar户主申请人姓名
20bumenchar部门工作部门
10zhichengchar职称户主职称
IntRenkou人口家庭人口IntFenshu分房分数分数
MianjiInt原住房面积面积
4Fanghao
char房号原房号shenqingmianji
int
申请面积申请面积
tui_q
4.3.9退房要求表备注类型存储代码属性名长度
20Charbumen部门工作部门
4
char
fanghao
房号要退房号
4.4系统实施loca-in登录信息、1loca-increatetable
(
Local-idchar(20)notnull,
notnull)Local-pchar(20
Local-rchar(10)notnull
)
tablespacesusyhe_data;
用户信息表user_info2、createtableuser_info
(
notnull,primarykey(huzhu)
)(20huzhucharbumenchar(20)notnull,
zhichengchar(10)notnull,
renkouchar(8),
fanghaoint
)
tablespacesushe_data;
住房要求user_q、3createtableuser_q
(
char(20)notnull,foreignkeyreferencesfaculty(huzhu),huzhuchar(10)notnull,yaoqiu)
tablespacesushe_data;
住房标准4、zhu_b
createtablezhu_b
(
notnull,primarykey(huzhu),
mianjiint
notnull,zuidifenshuint
)
tablespacesushe_data;
住房文件zhu_w
、5createtablezhu_w
(
huzhuchar(20)notnull,primarykey(huzhu)
zhichengchar(10)notnull,
bumenchar(20)notnull,foreignkeyreferencesmajor(bumen),
fenshuintnotnull,
renkouint
fanghaochar(4)
zhufangmianjiint
)tablespacesushe_data;
房产文fang_w
createtablefang_w
(
fanghaochar(4)primarykey,
fenpeibiaozhichar(4)notnull,
fangzuintnotnull,
zhufangmianjiintnotnull,
)
Tablespacesushe_data;
fang_分房要fang_createtable
(
huzhuchar(20)primarykeynotnull,
bumenchar(20)notnull,
zhichengchar(10)notnull,
renkouintnotnull,
fenshuintnotnull,
yaoqiumianjiintnotnul
)
tablespacesushe_data;
tiao_q调房要tiao_createtable
(
huzhuchar(20)notnull,primarykey
bymenchar(20)notnull,
zhichengchar(10)notnull
renkouintnotnull
fenshuintnotnull
mianjiintnotnull
fanghaochar(4)notnull
shenqingmianjiintnotnull
)
tablespacesushe_data;
tui_q
退房要tui_qcreatetable
(
bumenchar(20)primarykey,
fanghaochar(4)notnull,
)
tablespacesushe_data;
4.5创建其它数据库对象视图的创建:
创建视图用于查寻用户信息
CREATEVIEWyhxx
AS
SELECTyaoqiu,zhufangmianji
FROMuser_infoJOINuser_qONuser_info.huzhu=user_q.huzhu
JOINzhu_wONuser_q.huzhu=zhu_w.huzhu
触发器的创建:
,使得在退房要求表中执行退房申请时,则从住房文件和房租文件zfq创建触发器中删除有关的信息,再把此房号的信息写到空房文件中CREATETRIGGERzfq
ONtui_q
FORdelect
AS
BEGIN
delecttui_q
SETbumen,fanghaotofang_w
END
存储过程的创建:
(一个输入变,输入房号,返回分配标志,房租,住房面积。
创建一个存储过程fang_w1量,三个输出变量)CREATEPROCfang_w1
@fanghaochar(4),@fenpeibiaozhichar(4)output,@fangzuintoutput,@zhufangmianjiintoutput,
AS
住房面积,@fangzu=房租,@zhufangmianji=分配标志SELECT@fenbeibiaozhi=FROMfang_w
=@fangha房号WHERE
总结与展望5
本次课程设计综合考察了我们对数据库知识的掌握熟练程度和实际运用能力。
其间,语句的建表,插入,删除,修改等SQL涉及到了数据库中的绝大多数的知识点,如数据库操作。
刚开始学的时候确实有很多地方我很不理解,每次上课时老师都会给我们出不同的设计题目,对于我们一个初学者来说,无疑是一个具大的挑战,撞了几次壁之后,我决定静下心来,仔细去学习。
老师会给我们需要的内容一些讲解,顺着老师的思路,来完成自己的设计,可是好多处的错误让人看的可怕,还看不出到底是哪里出现了错误,但是程序还是得继续下去,我多次请教了老师和同学,逐渐能自己找出错误,并加以改正。
其实现在想起来,收获还真是不少,虽然说以前非常不懂这门课程,在它上面花费了好多心血,觉得它很难,是需用花费了大量的时间学习。
现在真正的明白了很多。
只要努力去学习,就会灵活的去应用它。
通过这次课程设计,认识到了自身的不足。
首先是知识的匮乏,仅仅通过课上学习的虽然能够勉强读懂程序但是到实际应用中就会看东西远远不够课下应该多阅览相关书籍。
到差距。
之前我只能勉强读懂简单程序甚至不能分析运行结果,通过这次实际应用才明白自身知识的匮乏。
在这次设计过程中,体现出自己单独设计程序的能力以及综合运用知识的能力,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。