数据库基础与应用课程设计物业管理系统_第1页
数据库基础与应用课程设计物业管理系统_第2页
数据库基础与应用课程设计物业管理系统_第3页
数据库基础与应用课程设计物业管理系统_第4页
数据库基础与应用课程设计物业管理系统_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、苏苏 州州 市市 职职 业业 大大 学学 课课程程设设计计说说明明书书 名称 物业管理系统 2010 年 06 月 20 日 至 2010 年 06 月 24 日 共 1 周 院 系 计算机工程系 班 级 10 软件测试 姓 名 张莹 22 系主任 教研室主任 指导教师 目录 1.课程设计的目的与要求课程设计的目的与要求 .3 2.题目说明题目说明 .3 3.需求分析和数据库设计需求分析和数据库设计 .3 4.表和索引的创建及数据完整性表和索引的创建及数据完整性 .9 5.数据库结构的实现数据库结构的实现 .9 6.遇到的问题和解决方法遇到的问题和解决方法 .11 7.课程设计总结课程设计总结

2、 .11 8.参考文献参考文献 .12 1.课程设计的目的与要求课程设计的目的与要求 数据库基础与应用课程设计是计算机专业集中实践性环节之一,是学习完数据库系 统概论课程后进行的一次全面的综合练习。其目的在于加深对数据库基础理论和基本知 识的理解,掌握使用 vb、c、c+、powerbuilder 等进行数据库开发的全过程,提高运用 数据库解决实际问题的能力。 2.题目说明题目说明 物业管理系统; 2.1、设计要求: 进行需求分析,设计数据库的概念模型; 楼盘信息管理:楼盘信息的添加、编辑和查询; 住户信息管理:住户信息的添加、编辑和查询; 报修事项管理:报修事项的添加、编辑和查询; 投诉信息

3、管理:投诉信息的添加、编辑和查询; 报表管理:输出楼盘信息、住户信息、报修信息和投诉信息。 2.2、本课题设计的基本要求:、本课题设计的基本要求: 必须提交系统分析报告,包括系统的功能分析、系统的功能模块设计、数据库的数据字典, 数据库的概念结构(er 图),数据库中的表、视图(如果使用)、存储过程(如果使用) 的结构和定义(可以用 sql 脚本提供); 系统的源程序,包括数据库脚本程序。 3.需求分析和数据库设计需求分析和数据库设计 3.1 信息收集和需求分析信息收集和需求分析 楼盘信息:包括的数据项有:楼盘编号,楼盘名称,楼层数,面积,户型,地址 住户信息:包括的数据项有:业主编号,姓名,

4、性别,电话,门牌号,面积,身份证 报修事项:包括的数据项有:报修事项编号,报修名称,业主,电话,门牌号,维修状态, 日期,受理人 投诉信息:包括的数据项有:投诉事项编号,投诉名称,业主,电话,门牌号,解决状态, 日期,受理人 报表管理:楼盘信息,户主信息,报修信息,投诉信息 3.2 概念设计概念设计e-r 图图 概念模型用于信息世界的建模。概念模型不依赖于某一个数据库管理系统(dbms), 但可以方便的转换为计算机上某一 dbms 所支持的特定的数据模型。通过对用户对数据的需 求进行综合、归纳与抽象,将形成一个完善的概念模型,可以用 e-r(实体联系)图来表示。 e-r 图是对现实世界的一种抽

5、象,它的主要成份是实体、属性和联系。 1.实体:客观存在并可以互相区分的事物称为实体,是现实世界中各种事物的抽象。 如本案例中一个班级为一个实体。一般来说,每个实体都相当于数据库中的一个 表。实体用一个矩形框来表示。 2.属性:属性是实体所具有的某些特征,通过属性对实体进行刻画。实体是由属性 组成的,如班级有班级名称、创建人等属性。一个实体本身具有许多属性,能够 唯一标识实体的属性称为该实体的码。属性用一个椭圆来表示,本案例中,为使 e-r 图清晰直观,我们将属性内置于实体的矩形框中。 3.联系:现实世界的事物内部或事物之间都有联系,这些联系在信息世界里反映为 实体内部或实体之间的联系,如班级

6、属于某个学校,那么班级和学校之间是“属 于”联系。联系有一对一联系,一对多联系和多对多联系,分别用 1:1、1:n 和 m:n 来表示。如一个登录用户名只能填写一份个人资料,那么登录用户和个人 资料就是一对一联系;一个班级只能属于一个学校,而一个学校可以拥有多个班 级,学校和班级之间就是一对多联系;一个班级可以有多张相片,而一张相片也 可为多个班级所拥有,所以班级和相片之间是多对多联系。联系用菱形表示,并 用线段联接相关的两个或多个实体,在菱形两端线段上标明联系的类型。 本系统的实体有:楼盘实体、住户实体、保修事项、投诉事项。各个实体具体的描述 e-r 图如图 1-1 到图 1-5 所示。 楼

7、盘 楼盘编号 楼盘名称楼层数 面积 住户 户型地址 面积 身份证 性别 门牌号 姓名电话 业主编号 报修 报修编号 报修名称报修业主 报修时间 图 1-3 保修事项实体属性图 电话维修状态 门牌号受理人 图 1-1 楼盘实体属性图 图 1-2 住户实体属性图 投诉 投诉编号 投诉编号投诉编号 投诉编号 图 1-4 投诉实体属性图 电话 处理状态 门牌号 受理人 住户楼盘居住 申 请 报修 提 出 投诉 1 1 图 1-5 实体之间关系 er 图 3.3 逻辑设计逻辑设计 概念设计的结果得到一个与计算机、软硬件的具体性能无关的全局概念模式。数据库 逻辑设计的任务是将概念结构转换成特定 dbms

8、所支持的数据模型(如关系模型)的过程。 本案例中我们将其转换为关系模型。 将 e-r 图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为 关系模式,这种转换一般遵循如下原则: 一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的关键字就是关系的关 键字。 一个 1:1 联系可以转换为一个独立的关系模式,也可以与任意一端实体所对应的关系 合并,在被合并关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个 实体的码。 一个 1:n 联系可以转换为一个独立的关系模式,也可以与 n 端对应的关系模式合并。 如果转换为一个独立的关系模式,则与该联系相连的各实体的码以

9、及联系本身的属性均转 换为关系的属性,而关系的码为 n 端实体的码。如果与 n 端的关系模式合并则在 n 端实体 集中增加新属性,新属性由联系对应的 1 端实体集的码和联系自身的属性构成,新增属性 后原关系的码不变。 一个 m:n 联系转换为一个关系模式,与该联系相连的各实体的码以及联系本身具有的 属性均转换为关系的属性,而关系的码为各实体码的组合。 现在需要将上面的数据库概念结构转化为 sql server 2000 数据库系统所支持的实际数据 模型,也就是数据库的逻辑结构。 物业管理系统数据库中各个表格的设计结果如下面的几个表所示。每个表表示在数据库中 的一个数据表。 表 1-1 hous

10、es-info 楼盘基本信息表 列名数据类型是否为空说明 houseidchar(2)not null楼盘编号(主键) housenamevarchar (10)not null楼盘名称 floorsint(4)null楼层数 housestylevarchar(10)not null户型 addresschar(20)not null地址 areavarchar(10)null面积 表 1-2 complains-info 投诉基本信息表 列名数据类型是否为空说明 complainidint(4)not null投诉编号(主键) complainnamevarchar(20)null投诉名称

11、 ownernamevarchar(20)not null业主姓名 datedatetimenot null日期 dooridchar(6)null门牌号(外键) conductconditionchar(10)not null处理状态 phonechar(20)null联系电话 agentnamevarchar(10)not null受理人 complaindetialsvarchar(50)null投诉细节 表 1-3 repairs-info 维修基本信息表 列名数据类型是否为空说明 repairidint(4)not null维修编号(主键) repairnamevarchar(10)

12、null维修名称 ownernamevarchar(10)not null业主姓名 datedatetimenot null日期 dooridchar(6)not null门牌号(外键) agentnamevarchar(10)not null受理人 repairconditionchar(10)not null维修状态 repairdetailsvarchar(50)null维修内容 phonechar(11)not null联系电话 表 1-4 owner-info 业主基本信息表格 列名数据类型是否为空说明 houseidchar(2)not null楼盘编号 owneridint(4)

13、not null业主编号 ownernamevarchar(10)not null业主姓名 sexchar(2)not null性别 dooridchar(6)not null门牌号(主键) phonechar(11)not null联系电话 idnochar(18)not null身份证(唯一) areavarchar(10)not null面积 4.表和索引的创建及数据完整性表和索引的创建及数据完整性 1)建表。根据关系模式设计表,为表的各属性选择合适的数据类型以及属性可否为空。 2)设置主键,为数据库 schoolmates 的每个表设置主键。每个表都应该具有主键,主键的存在就代表着 表

14、结构的完整性,表的记录必须得有唯一区分的字段,主键主要是用于与其他表的外键关联,本记 录的修改与删除,如果没有主键,这些操作会变的非常麻烦。(提示:可以使用自动编号作为主键, 就是新建一个 id 字段,自动增长) 3)设置外键。例如,班级表中的属性所属学校,引用学校表的学校编号,所以应该将班级表的所属学 校设置为外键。 4)设置其他约束。根据系统的实际要求,设置约束。例如,用户资料中的性别只能为男或女,则可对 性别设置 check 约束;用户注册日期如果为空,就默认为当前时间,则可设置 default 约束; 图片表中的图片如果不允许重复,则可设置 unique 约束,等等。 5)建立索引。考

15、虑系统对表的查询频率,为查询次数较多的表的字段建立索引。例如,进入班级相册 时,系统会自动检索出相片的评论信息显示出来,系统通常是按照发表评论的时间检索,则可为评 论表的评论时间建立聚集索引。(提示:为表设置主键时,数据库会自动为主键建立聚集索引,如 果要在其他属性上建立聚集索引,可先将主键去除,再使用 alter table tablename add constraint pk_tablefield primary key nonclustered)修改主键索引为非聚集索引, 再在相关属性上建立聚集索引) 5.数据库结构的实现数据库结构的实现 经过前面的需求分析和概念结构设计以后,得到数据

16、库的逻辑结构。现在就可以在 sql servr 2000 数据库系统中实现该逻辑结构。这是利用 sql server 2000 数据库系统中 sql 查询分析器实现的。下面给出创建这些表格的 sql 语句。 5.1 创建楼盘基本信息表创建楼盘基本信息表 create table houses ( houseid char(2) not null primary key, housename varchar(10) not null, floors int not null, area varchar(6) not null, adress varchar(20)null, housestyle

17、 varchar(8)null ) go insert houses values(01,紫荆,20,1234,干将路号,小户型) insert houses values(02,希望,33,989,华阳路号,中户型) insert houses values(03,忆乐,24,897,崇明路号,大户型) 5.2 创建住户基本信息表创建住户基本信息表 create table owners ( ownerid int not null primary key, ownername varchar(6)not null, sex char(2)not null, idno char(18) nu

18、ll unique, phone char(11)not null, doorid int not null, houseid int not null, area varchar(6)null ) go insert owners values(1,李宁,1111,1,76) insert owners values(2,李丽,1112,2,99) insert owners values(3,张翼,男,321198198070627816,1897653789

19、8,1113,3,109) go 5.3 创建投诉基本信息表创建投诉基本信息表 create table complains ( complianid int not nullprimary key, complianname varchar(30) null, ownername varchar(10) not null, phone char(11) not null, doorid int foregin key references houses(doorid) , complaindetails varchar(20)not null, date datetime not null,

20、 agentname varchar(20)not null, compliancondition varchar(10)not null ) go insert complains values(201,物业管理费用问题,李宁1111,已解决, 2010.01.01,尹婷,收费不明) insert complains values(202,环境卫生问题,李丽1112,待解决 ,2010.01.01,阴乡,花园垃圾多) 5.4 创建维修基本信息表创建维修基本信息表 create table repairs ( repairid int not

21、 null primary key, repairname varchar(10)null, ownername varchar(6)not null, phone char(11) not null, agentname varchar(6)not null, repairdetails varchar(20) null, doorid int foregin key references houses(doorid), repaircondition varchar(10)not null, date datetime not null ) insert repairs values(10

22、1,漏水问题,张翼杨毅,自来水漏水严重,1113,维 修中2009-09-08) go 5.5 报表管理报表管理 create view 报表管理 as select houses.houseid,owners.ownername,repairs.doorid,complains.complaindeta ils from houses,owners,repairs,complains where complains.doorid=owners.doorid and complains.doorid=repairs.doorid and houses.houseid=

23、owners.houseid and owners.ownername=李宁 5.6 创建索引创建索引 use 物业管理 go create nonclustered index wy1 on houses (houseid,housestyle) go create nonclustered index wy2 on owners (doorid,ownername) go create nonclustered index wy3 on repairs (doorid,repaircondition) go create nonclustered index wy4on complains

24、 (doorid,compliancondition,complaindetails) 5.7各查询语句各查询语句 按照housestyle=小户型,sex=男,complainid=201,repairid=101 use 物业管理 go select* from houses where housestyle=小户型 use 物业管理 go select* from owners where sex=男 use 物业管理 go select* from complains where complianid=201 use 物业管理 go select* from repairs where repairid=101 6.遇到的问题和解决方法遇到的问题和解决方法 1.有些语法不会,查书了解以及向他人请教。 2.对于物业管理相关知识

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论