房产管理系统15页word文档.docx
《房产管理系统15页word文档.docx》由会员分享,可在线阅读,更多相关《房产管理系统15页word文档.docx(15页珍藏版)》请在冰豆网上搜索。
房产管理系统15页word文档
软件学院
其实,任何一门学科都离不开死记硬背,关键是记忆有技巧,“死记”之后会“活用”。
不记住那些基础知识,怎么会向高层次进军?
尤其是语文学科涉猎的范围很广,要真正提高学生的写作水平,单靠分析文章的写作技巧是远远不够的,必须从基础知识抓起,每天挤一点时间让学生“死记”名篇佳句、名言警句,以及丰富的词语、新颖的材料等。
这样,就会在有限的时间、空间里给学生的脑海里注入无限的内容。
日积月累,积少成多,从而收到水滴石穿,绳锯木断的功效。
课程设计报告书
家庭是幼儿语言活动的重要环境,为了与家长配合做好幼儿阅读训练工作,孩子一入园就召开家长会,给家长提出早期抓好幼儿阅读的要求。
我把幼儿在园里的阅读活动及阅读情况及时传递给家长,要求孩子回家向家长朗诵儿歌,表演故事。
我和家长共同配合,一道训练,幼儿的阅读能力提高很快。
课程名称数据库原理及应用课程设计
宋以后,京师所设小学馆和武学堂中的教师称谓皆称之为“教谕”。
至元明清之县学一律循之不变。
明朝入选翰林院的进士之师称“教习”。
到清末,学堂兴起,各科教师仍沿用“教习”一称。
其实“教谕”在明清时还有学官一意,即主管县一级的教育生员。
而相应府和州掌管教育生员者则谓“教授”和“学正”。
“教授”“学正”和“教谕”的副手一律称“训导”。
于民间,特别是汉代以后,对于在“校”或“学”中传授经学者也称为“经师”。
在一些特定的讲学场合,比如书院、皇室,也称教师为“院长、西席、讲席”等。
设计题目房产管理系统
专业班级软件09-6
学号092019014
姓名吕明远
指导教师孙宁
2019年6月
1设计时间2
2设计目的2
3设计任务2
4设计内容2
4.1需求分析2
4.2系统设计3
4.2.1概念结构设计3
4.2.2逻辑结构设计4
4.2.3物理结构设计4
4.3系统实施5
4.3.1数据库实现5
4.3.2数据载入8
4.4运行与测试9
4.4.1运行与测试9
4.4.2分析11
5总结与展望12
参考文献13
1设计时间
2019年6月13~2011年6月17日
2设计目的
数据库原理及应用课程设计是软件工程专业集中实践性环节之一,是学习完《数据库原理及应用》课程后进行的一次全面的综合练习。
其目的在于加深对数据库基础理论和基本知识的理解,掌握使用数据库进行软件设计的基本方法,提高运用数据库解决实际问题的能力,最终实现对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。
同时,此次设计对于同学将来的毕业设计和具体工作实践将有重要的意义。
3设计任务
设计一个房产管理系统。
该系统应具有分房、调房、退房和咨询统计功能。
4设计内容
4.1需求分析
房产科把用户申请表(按照统一的格式由用户填写)输入系统后,系统首先检查申请表的合法性,对不合法的申请表系统拒绝接受,对合法的申请表根据类型分别进行处理。
如果是分房申请,则根据申请者的情况计算其分数,当分数高于阈值分数时,按分数高低将申请单插到分房队列的适当位置。
每月最后一天进行一次分房活动,从空房文件中读出空房信息,把好房优先分配给排在分房队列前面的符合该登记住房条件的申请者,从空房文件中删除掉这个房号的信息,从分房队列中删除申请单,并把此房号的信息和住户信息一起写到住房文件中,输出住房分配单给住户,同时计算房租并将算出的房租写到房租文件中。
如果是退房申请,则从住房文件和房租文件中删除有关的信息,再把此房号的信息写到空房文件中。
如果是调房申请,则根据申请者的情况确定其住房等级,然后在空房文件中查找属于给等级的空房,退掉原住房,再进行与分房类似的处理。
住户可向系统询问目前分房的阈值分数,居住某类房屋的条件,某房号的单位面积房租等信息。
房产科可以要求系统打印出住房情况的统计表,或更改某类房屋的居住条件、单位面积房租等。
4.2系统设计
4.2.1概念结构设计
房产标准E-R图
住户E-R图
房产E-R图
总体E-R图
4.2.2逻辑结构设计
房产标准表(面积,最低住房分数)
房产表(房号,面积,每平方米房租,分配标志)
住户表(姓名,部门,职称,家庭人口,住房分数,分配标志)
入住表(姓名,房号)
4.2.3物理结构设计
表格1房产标准表
字段名称
中文名称
类型(长度)
取值范围
是否非空
主关键字
备注
面积
面积
SMALLINT
50-150
N
Y
最低住房分数
最低住房分数
SMALLINT
0-100
N
N
表格2入住表
字段名称
中文名称
类型(长度)
取值范围
是否非空
主关键字
外键
姓名
姓名
CHAR(10)
N
Y
住户表(姓名)
房号
房号
SMALLINT
10001-10100
N
N
房产表(房号)
表格3房产表
字段名称
中文名称
类型(长度)
取值范围
是否非空
主关键字
备注
房号
房号
SMALLINT
10001-10100
N
Y
面积
面积
SMALLINT
50-150
N
N
每平方米房租
每平方米房租
SMALLINT
30-50
N
N
分配标志
分配标志
SMALLINT
0,1,2
N
N
0:
未分配
1:
换房
2:
已分配
表格4住户表
字段名称
中文名称
类型(长度)
取值范围
是否非空
主关键字
备注
姓名
姓名
CHAR(10)
N
Y
部门
部门
CHAR(20)
N
N
职称
职称
CHAR(20)
N
N
家庭人口
家庭人口
SMALLINT
1-10
N
N
住房分数
住房分数
SMALLINT
0-100
N
N
分配标志
分配标志
SMALLINT
0,1,2
N
N
0:
未分配1:
换房
2:
已分配
4.3系统实施
4.3.1数据库实现
1.创建数据库
CREATEDATABASEdb
2.创建房产标准表
CREATETABLE房产标准表(
面积SMALLINTPRIMARYKEYCHECK(50<=面积AND面积<=150),
最低住房分数SMALLINTCHECK(0<=最低住房分数AND最低住房分数<=100)NOTNULL,
)
3.创建房产表
CREATETABLE房产表(
房号SMALLINTPRIMARYKEYCHECK(10001<=房号AND房号<=10100),
面积SMALLINTCHECK(50<=面积AND面积<=150)NOTNULL,
每平方米房租SMALLINTCHECK(30<=每平方米房租AND每平方米房租<=50)NOTNULL,
分配标志SMALLINTCHECK(分配标志IN(0,1,2))NOTNULL
)
4.创建住户表
CREATETABLE住户表(
姓名CHAR(10)PRIMARYKEY,
部门CHAR(20)NOTNULL,
职称CHAR(20)NOTNULL,
家庭人口SMALLINTCHECK(1<=家庭人口AND家庭人口<=10)NOTNULL,
住房分数SMALLINTCHECK(0<=住房分数AND住房分数<=100)NOTNULL,
分配标志SMALLINTCHECK(分配标志IN(0,1,2))NOTNULL
)
5.创建入住表
CREATETABLE入住表(
姓名CHAR(10),
房号SMALLINT,
PRIMARYKEY(姓名,房号),
FOREIGNKEY(姓名)REFERENCES住户表(姓名),
FOREIGNKEY(房号)REFERENCES房产表(房号)
)
6.创建房产视图
CREATEVIEW房产视图
AS
SELECTTOP100PERCENT房号,最低住房分数
FROM房产表,房产标准表
WHERE房产表.面积=房产标准表.面积AND(分配标志=0OR分配标志=1)
ORDERBY最低住房分数DESC
7.创建申请视图
CREATEVIEW申请视图
AS
SELECTTOP100PERCENT姓名,住房分数
FROM住户表
WHERE分配标志=0OR分配标志=1
ORDERBY住房分数DESC
8.创建入住情况统计视图
CREATEVIEW入住情况统计视图(房号,面积,每平方米房租,最低住房分数,姓名,部门,职称,家庭人口,住房分数,房租)
AS
SELECT入住表.房号,房产表.面积,每平方米房租,最低住房分数,入住表.姓名,部门,职称,家庭人口,住房分数,(房产表.面积*每平方米房租)
FROM房产表,房产标准表,住户表,入住表
WHERE房产表.面积=房产标准表.面积AND住户表.姓名=入住表.姓名AND入住表.房号=房产表.房号
创建表及视图完成
4.3.2数据载入
住户表
房产标准表房产表
申请视图房产视图
4.4运行与测试
4.4.1运行与测试
在“房产标准表”、“房产表”、“住户表”中输入正确数据并置“房产表”、“住户表”中分配标志为0(表示未分配)。
这时在“申请视图”(未分配住房)、“房产视图”(未被分配房产)中按照住房分数降序排列。
(1)分房申请
在“申请视图”中选第一行申请者详细信息,把“住房分数”与“房产视图”第一行“最低住房分数”比较,如果“住房分数”>=“最低住房分数”则把当前住房分配给当前申请者并进行下一申请者分配住房比较,否则当前申请者“住房分数”与下一住房“最低住房分数”比较。
如果分配成功,则置当前申请者和当前住房的“分配标志”为2。
并把申请者“姓名”,被分配住房“房号”写入“入住表”。
SQL语句:
INSERT
INTO入住表
VALUES(“姓名”,“房号”)
(2)换房申请
如果用户申请换房,则置当前住户和当前住房的“分配标志”为1,此住户和住房会被重新分配,重复分房申请功能。
分房成功后修改入住表信息。
SQL语句:
UPDATE住户表
SET分配标志=1
WHERE姓名=@姓名
UPDATE房产表
SET分配标志=1
WHERE房号=@房号
UPDATE入住表
SET房号=@房号
WHERE姓名=@姓名
(3)退房申请
如果住户申请退房,则把当前住户在“住户表”、“入住表”中相应数据删除,置当前住房“分配标志”为0,此房会被重新分配。
SQL语句:
DELETE
FROM住户表
WHERE姓名=@姓名
DELETE
FROM入住表
WHERE姓名=@姓名
UPDATE房产表
SET分配标志=0
WHERE房号=@房号
(4)查询目前分房的最低住房分数
SQL语句:
SELECT房号,最低住房分数
FROM入住情况统计视图
WHERE姓名=@姓名
(5)查询居住某类房屋的条件
SQL语句:
SELECT房号,面积,每平方米房租,最低住房分数
FROM入住情况统计视图
WHERE房号=@房号
(6)更改某房屋的面积、每平方米房租
SQL语句:
UPDATE房产表
SET面积=@面积,每平方米房租=@每平方米房租
WHERE房号=@房号
(7)输出入住情况统计表
SQL语句:
SELECT*
FROM入住情况统计视图
4.4.2分析
遇到问题:
在设计数据库中遇到数据冗余度大,进行单次插入、修改、删除操作代价过高。
解决方法:
在“用户表”和“房产表”中各加一个分配标志,把住户数据直接写入用户表中并置分配标志为0,表示未被分配。
改进设想:
由于地区及季节不同,房产数据中每平方米租金也不尽相同,所在房产数据应该有动态调整功能。
5总结与展望
本次课程设计综合考察了我们对数据库知识的掌握熟练程度和实际运用能力。
其间,涉及到了数据库中的绝大多数的知识点,如数据库SQL语句的建表,插入,删除,修改等操作。
刚开始学的时候确实有很多地方我很不理解,每次上课时老师都会给我们出不同的设计题目,对于我们一个初学者来说,无疑是一个具大的挑战,撞了几次壁之后,我决定静下心来,仔细去学习。
老师会给我们需要的内容一些讲解,顺着老师的思路,来完成自己的设计,可是好多处的错误让人看的可怕,还看不出到底是哪里出现了错误,但是程序还是得继续下去,我多次请教了老师和同学,逐渐能自己找出错误,并加以改正。
其实现在想起来,收获还真是不少,虽然说以前非常不懂这门课程,在它上面花费了好多心血,觉得它很难,是需用花费了大量的时间学习。
现在真正的明白了很多。
只要努力去学习,就会灵活的去应用它。
参考文献
[1]王珊,萨师煊.数据库系统概论[M].第四版,高等教育出版社,2019
[2]屈武江,梁霞.SQLServer2019数据库实用教程[M].第一版,大连理工大学出版社,2019
成绩评定
成绩教师签字