房屋销售管理系统的设计与实现_毕业设计论文(34页).doc
-房屋销售管理系统的设计与实现_毕业设计论文-第 29 页本科毕业设计(论文)题 目 _房屋销售管理系统的设计与实现_学生姓名 专业班级 学 号 院 (系) 指导教师(职称) ) 完成时间 2011 年 6月 1日 郑州轻工业学院毕业设计(论文)任务书主要内容、基本要求、主要参考资料等:主要内容:系统是用MVC设计模式+Oracle数据库所做的房屋销售管理系统,可实现房屋销售、查询统计、信息维护等功能。基本要求:1. 系统各基本功能都能实现。 2设计严谨、功能完备。 3界面美观大方,使用方便。主要参考资料:1 邬继成Struts与Hibernate实用教程M北京:清华大学出版社,2003年2 王俊标精通Java Web开发M北京:清华出版社,2006年3 文渊阁工作室网页制作高手HTML+CSS网页设计与布局M北京:人民邮电出版社,2007年4 朝延峰JavaScript核心对象参考手册M. 北京:人民邮电出版社,2007年完 成 期 限: 2010 年 6月 1日 指导教师签名: 专业负责人签名: 2010年 月 日房屋销售管理系统的设计与实现摘 要随着国务院出台“国八条”后,各地关于房地产的讨论再次升温。互联网技术的不断发展,网络技术在社会的各行各业都得到了很好的应用,也为房地产业提供了契机。论文对当前的房屋销售管理系统做了详细的分析和研究,完成了房屋销售和查询统计的构思和研究,为房屋销售管理提供了解决方案,并详细的描述了房屋销售管理系统的研究目标、设计思想、模块功能以及使用工具等。系统是基于B/S模式, 采用Struts、Spring结合的MVC设计模式、JSP和SUN公司开发的JAVA进行编辑;开发工具:MyEclipse6.0;数据库工具是Oracle10g。房屋销售管理系统的主要实现功能模块是:选购房屋、房屋销售、查询销售业绩、查询房屋资源、查询购买合同、房源信息维护、人员信息维护。关键词 房屋销售管理系统;Struts;Spring;Oracle10g;MyEclipseHOUSING SALES MANAGEMENT SYSTEMDESIGN AND REALIZEABSTRACT字典1. 名词 1. real estate2. estateI 的With the State Council promulgated the "National Eight", the discussion on real estate around the heating up again. Internet techology was used in all walks of life with its fast development and brings chances and challenges to morden enterprise. Based on the analysis and study of housing sales systems actuality in detail, the design and eseach of the system has been accomplished. The thesis provides the scheme to housing sales system management. It introduced the systems goal of reseach, design and thinking,module function and tools. This system is base on the mode of B/S mode, using Struts, Spring MVC design pattern combination, JSP, and SUN JAVA, developed for editing; development tools: MyEclipse6.0; Database tool is Oracle10g.The function of housing sales system has: choose housing module, housing sales module, sales inquiries module, query housing resources module, check the purchase contract module, housing information maintaining module, personnel information maintaining module。KEY WORDS Housing Sales Management System Design And Realize, Struts, Spring, Oracl10g,MyEclips1 引 言1.1 背景随着我国经济的持续增长,人民生活水平的不断提高,楼市已成为老百姓茶余饭后讨论的话题之一了。为了吸引大量的顾客,房地产商在不断设计出更符合民众意愿的房屋同时,如何提高服务质量、管理能力显得越来越重要。尤其是对于房屋销售的管理部门。对于销售管理,传统方式的手工管理已经不能满足信息爆炸的今天。面对如此众多的房屋销售信息,人工管理不仅效率低,而且存在着一定的不可预知性,这样会极大地影响到企业的形象。这样,一个能够实现房屋销售服务管理规范化、自动化的房屋销售管理系统就显得很必要了。房屋销售管理系统就是为了适应这种需求而设计的。通过这样的系统,可以做到信息规范化管理、科学统计和快速查询,从而减少管理方面的工作量。1.2 未来发展及意义未来的房地产逐步进入合理化,正规化,所以房屋销售管理系统的应用前景乐观。为了在激烈的市场上赢得筹码,房屋销售尤其是中小型企业必须通过现代技术,提高管理水平,降低运营成本。所以如何提高服务质量,便成为了首要问题。在其他基础硬件设施固定的前提下,只有通过改变自己的管理服务。一个好的管理系统可以解决销售过程中的一些不规范,是销售向着规范化、简单化、有效化的方向发展。同时还可以解放更多的人力及物力资源,来达到降低运营成本的目的。所以在目前的情形以及未来的初步分析中得到显而易见的结果,房屋销售管理系统会极大的提高房屋销售管理水平;一个好的房屋销售管理系统还会提高企业的形象,给企业带来更多的利润。2 实现技术系统采用MVC设计模式,用到Struts、Spring、JSP、Ajax、JQuery、JavaScript等技术。其中M(业务层)层的实现类用Spring实现。显示层V用JSP、Ajax、JQuery等实现。控制层C用Struts是想。数据库采用Oracle。2.1 MVC简介MVC(Model View Controller)模型视图控制器 。MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC copyright: Apple Inc.的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。 模型视图控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎。模型视图控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。图2-1 MVC简易图视图:视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services.如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。模型:模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制器:控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。2.2 JSP简介JSP是JavaServer Pages的简写。JSP技术能让Web开发者和网页设计者快速地开发容易维护的动态Web主页。 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。在传统的网页 HTML文件(*.htm, *.html)中加入Java程序片段 (Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp),Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、可以重新定向网页、可以发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端仅是得到的结果,对客户浏览器的要求最低,可以实现 No Plugin,No ActiveX,,No Java Applet,甚至 No Frame。事实证明, Java Servlet 是一种开发 Web应用的理想构架。 JSP 以 Servlet 技术为基础,又在许多方面作了改进。利用跨平台运行的 JavaBean 组件,JSP为分离处理逻辑与显示样式提供了卓越的解决方案。 JSP必将成为ASP技术的有力竞争者。2.3 Struts简介Struts是一个为开发基于模型(Model)视图(View)控制器(Controller)(MVC)模式的应用架构的开源框架,是利用Java Servlet和JSP构建Web应用的一项非常有用的技术。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,因而吸引了众多的开发人员的关注。首先事件是指从客户端页面(浏览器)由用户操作触发的事件,Struts使用Action来接受浏览器表单提交的事件,这里使用了Command模式,每个继承Action的子类都必须实现一个方法execute。Struts重要的表单对象ActionForm是一种对象,它代表了一种应用,这个对象中至少包含几个字段,这些字段是JSP页面表单中的input字段,因为一个表单对应一个事件,所以,当我们需要将事件粒度细化到表单中这些字段时,也就是说,一个字段对应一个事件时,单纯使用Struts就不太可能,当然通过结合JavaScript也是可以转弯实现的。Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。2.4 Spring简介Spring是一个开源的JavaJava EE全功能栈(full-stack)的应用程序框架,该框架基于 Expert One-on-One Java EE Design and Development(ISBN 0-7645-4385-7)一书中的代码,最初由 Rod Johnson 和 Juergen Hoeller等开发。Spring Framework 提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。Spring 中包含的关键特性:·强大的基于 JavaBeans 的采用控制翻转(Inversion of Control,IoC)原则的配置管理,使得应用程序的组建更加快捷简易。·一个可用于从 applet 到 Java EE 等不同运行环境的核心 Bean 工厂。·数据库事务的一般化抽象层,允许声明式(Declarative)事务管理器,简化事务的划分使之与底层无关。·内建的针对 JTA 和 单个 JDBC 数据源的一般化策略,使 Spring 的事务支持不要求 Java EE 环境,这与一般的 JTA 或者 EJB CMT 相反。·JDBC 抽象层提供了有针对性的异常等级(不再从SQL异常中提取原始代码),简化了错误处理,大大减少了程序员的编码量。再次利用JDBC时,你无需再写出另一个 '终止' (finally) 模块。并且面向JDBC的异常与Spring 通用数据访问对象(Data Access Object)异常等级相一致。·以资源容器,DAO实现和事务策略等形式与 Hibernate,JDO和 iBATIS SQL Maps集成。利用众多的翻转控制方便特性来全面支持,解决了许多典型的Hibernate集成问题。所有这些全部遵从Spring通用事务处理和通用数据访问对象异常等级规范。·灵活的基于核心 Spring 功能的 MVC 网页应用程序框架。开发者通过策略接口将拥有对该框架的高度控制,因而该框架将适应于多种呈现(View)技术,例如 JSP,FreeMarker,Velocity,Tiles,iText 以及 POI。值得注意的是,Spring 中间层可以轻易地结合于任何基于 MVC 框架的网页层,例如 Struts,WebWork,或 Tapestry。·提供诸如事务管理等服务的面向方面编程框架。在设计应用程序Model时,MVC 模式(例如Struts)通常难于给出一个简洁明了的框架结构。Spring却具有能够让这部分工作变得简单的能力。程序开发员们可以使用Spring的 JDBC 抽象层重新设计那些复杂的框架结构。2.5 JavaScript简介JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。JavaScript是Sun公司的注册商标。 Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,字节顺序记号。Netscape公司在最初将其脚本语言命名为LiveScript来Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java。但JavaScript的主要设计原则源自Self和Scheme.JavaScript与Java名称上的近似,是当时网景为了营销考虑与Sun公司达成协议的结果。为了取得技术优势,微软推出了JScript来迎战JavaScript的脚本语言。为了互用性,Ecma国际(前身为欧洲计算机制造商协会)创建了ECMA-262标准(ECMAScript)。现在两者都属于ECMAScript的实现。尽管JavaScript作为给非程序人员的脚本语言,而非作为给程序人员的编程语言来推广和宣传,但是JavaScript具有非常丰富的特性。能够具有交互性,能够包含更多活跃的元素,就有必要在网页中嵌入其它的技术。如:Javascript、VBScript、Document Object Model(DOM,文档对象模型)、Layers和 Cascading Style Sheets(CSS,层叠样式表),这里主要讲Javascript。那么Javascript是什么东东?Javascript就是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于Internet网页制作上。 Javascript是由 Netscape公司开发的一种脚本语言(scripting language),或者称为描述语言。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。 运行用Javascript编写的程序需要能支持Javascript语言的浏览器。Netscape公司 Navigator 30以上版本的浏览器都能支持 Javascript程序,微软公司 Internet Explorer 30以上版本的浏览器基本上支持Javascript。微软公司还有自己开发的Javascript,称为JScript。 Javascript和Jscript基本上是相同的,只是在一些细节上有出入。 Javascript短小精悍, 又是在客户机上执行的,大大提高了网页的浏览速度和交互能力。 同时它又是专门为制作Web网页而量身定做的一种简单的编程语言。 JavaScript 使网页增加互动性。JavaScript 使有规律地重复的HTML文段简化,减少下载时间。JavaScript 能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由 CGI 验证。JavaScript 的特点是无穷无尽的,只要你有创意。2.6 Ajax简介AJAX 指异步JavaScript及XML(Asynchronous JavaScript And XML)。国内使用ajax 构建应用程序内翻译常为“阿贾克斯”和阿贾克斯足球队同音。Web应用的交互如Flickr, Backpack和Google在这方面已经有质的飞跃。这个术语源自描述从基于Web的应用到基于数据的应用的转换。在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用一样。AJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web 应用程序的技术。 通过 AJAX,您的 JavaScript 可使用 JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信。通过这个对象,您的 JavaScript 可在不重载页面的情况与 Web 服务器交换数据。AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。 AJAX 可使因特网应用程序更小、更快,更友好。AJAX 是一种独立于 Web 服务器软件的浏览器技术。AJAX 基于下列 Web 标准: JavaScript XML HTML CSS 在 AJAX 中使用的 Web 标准已被良好定义,并被所有的主流浏览器支持。AJAX 应用程序独立于浏览器和平台。Web 应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。不过,因特网应用程序并不像传统的桌面应用程序那样完善且友好。通过 AJAX,因特网应用程序可以变得更完善,更友好。2.7 JQuery简介Jquery是继prototype之后又一个优秀的Javascrpt框架。它是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。3 需求分析3.1 功能需求分析作为一个管理类型的系统,本系统主要功能是对房屋销售以及各种信息的管理。由于以往的管理系统都以C/S模式为主,所以实现本系统具有一定的挑战性。3.1.1房屋销售预订房屋:顾客挑选房屋是一件比较重要的事情,从销售员的口头介绍,看模型图,到具体的房屋,都需要花费很多时间,在确定了房屋后,最后从系统中找出来进行房屋的预定。房屋销售:本系统的重要功能。首先查找预定的房屋信息,选择预定好的房屋信息,进行合同的签售,这就是销售的过程。3.1.2 查询统计销售业绩:管理员可以对所有的销售信息进行查询,员工只能对自己所销售的房屋进行查询。但都可以对查询到的信息导出Excel。还能统计出所有房屋,售出房屋,以及被预定房屋的数量。房屋资源:查看可用房屋的资源,就是没有售出以及没有被预定的房屋资源。并且也可以导出成Excel。购买合同:可以根据各种组合条件查询签售的合同,比如按起始日期查询、结束日期查询。查询出的结果能够导出成Excel。销售走势:设想的功能,根据数据给出动态的走势图,此功能具有一定的难度。3.1.3 信息维护房源信息:对房屋进行,增、删、改、查操作。增加房源可以根据提示填写相应信息进行增加。删除和修改房源信息仅能对可用房屋资源操作,对于已售出和已预订的房屋只能查看,不能删除和修改。查询可以按姓名、户型、所属区查询,也可以按上述列出条件的组合查询。人员信息:对人员进行,增、删、改、查操作。增加人员可以根据提示填写相应信息进行增加。删除和修改根据页面提示及谨慎操作即可完成。查询可以按照姓名模糊查询,如果不给出姓名信息则查询全部。3.1.4 注销系统更换用户:更换其他用户进行登录。退出系统:安全退出系统。3.2 数据分析房屋销售管理系统的数据库中会涉及各种文本信息,在本系统的信息中,包括了各种类型代码的信息,房屋信息,人员信息,合同信息,预订信息,所属区代码信息。各种类型代码信息,在确定下来后不要轻易更改,后面的表都引用到了它。3.2.1 数据流程图本系统系统的顶层数据流程图(如图3-1所示)。管理员或者员工进行登录验证,用户名密码正确就如到本系统,否则给出相应的错误提示。登录成功后进行相应的操作。图3-1房屋销售管理系统顶层数据流程图房屋销售模块的数据流程图(如图3-2所示)。本系统的重要模块,首先选择房屋和顾客,预订房屋。再从预定表里查出信息进行签订销售合同,至此房屋销售成功。图3-2 房屋销售数据流程图信息维护模块的数据流程图(如图3-3所示)。信息维护模块只有管理员可以操作,对本系统进行数据的维护。图3-3 信息维护数据流程图3.2.2 数据库分析由于本系统面向的对象有两个,即员工、管理员,所以数据库需求分析中就要考虑两方面的因素:一、 员工:1. 房屋销售;2. 查询统计个人销售业绩;3. 维护个人信息。二、 管理员:1. 具有最高权限;2. 查询统计销售业绩;3. 查询统计房屋资源;4. 对各种信息进行维护。经过上述系统功能分析、需求总结和数据流程图,考虑到将来功能上的扩展,设计如下面所示的数据项和数据结构。1. 类型代码表:流水号、类型代码、类型名称、描述、备用字段;2. 所属区代码表:流水号、区代码、区名称、备用字段;3. 人员信息表:流水号、姓名、住址、身份证号、生日、身份代码、账户、密码、描述、备用字段;4. 房源信息表:流水号、所有者、面积、说明、房屋类型代码、地址、竣工日期、造价、售价、所属区代码、描述、状态代码、备用字段;5. 预订房屋信息表:流水号、顾客流水号、房屋流水号、状态代码、预订日期、备用字段。6. 合同信息表:流水号、人员流水号、房屋流水号、签售日期、备用字段。上述即为本系统所用到的表信息,每个表中都留有2至3个备用字段,为了将来的扩展用。4 系统设计概要设计的主要任务是把需求分析得到的DFD转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂的系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。显然,总体设计建立的是目标系统的逻辑模型,与计算机无关。在需求分析中得到的数据流图所表示的系统结构特征,可以归纳为两种典型的形式:变换型和事务型两种结构类型。在实际问题中,系统的DFD图可能比较复杂,往往同时存在着变换型和事务型两类结构。4.1 系统结构系统基于B/S结构设计。B/S模式,是随着Internet技术的兴起,对C/S模式的一种变化或者改进的模式。在这种模式下,用户界面完全通过浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。B/S模式利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,井节约了开发成本,是一种全新的软件系统构造技术。它具有界面统一、流程简单、操作方便的优点。B/S模式的前端是以TCP / IP协议为基础的,企业内部的万维网服务器可以接受安装有Web浏览程序的Internet终端的访问,作为最终用户,只要通过Web浏览器,各种处理任务都可以调用系统资源来完成,用户只要拥有一台能上网的计算机就能方便的进行网上操作,而不需要下载任何客户端程序。这样大大简化了客户端,方便了用户。同时,减轻了系统维护与升级的成本和工作量,降低了总体成本,也是房屋销售管理系统能真正成为未来趋势的基础。任何一个管理系统,访问数据库的开发是必不可少的。目前大多数管理系统使用的Client/Server方式,由于当修改和增强数据应用时,需要开发客户端应用程序。进行服务器端更改或客户端服务器端同时更新,由此带来的工作量是巨大的。另外,客户端/服务器端方式中的数据库系统之间的数据库结构和数据类型不一致,导致数据库系统之间的转换困难。再有,数据库应用系统是基于特定硬件平台和应用平台,这对数据库应用的移动带来困难。而基于Web方式访问数据库,此问题就迎刃而解。客户端无论是何种平台,只要具有浏览器就可以通过Web页面访问到数据库的内容,这大大降低了对客户平台的要求,而且无论是数据或应用程序都存放与服务器,开发人员可以非常方便地对系统进行更新和维护。免去了针对不同应用平台编写不同前端应用程序。该系统主要就是通过WEB浏览操作的方式与服务器上的数据库进行数据处理和信息交换。这里根据需求分析所得到的房屋销售管理系统数据流程图,将其优化、求精后,得到系统的详细DFD,采用面向数据流的分析方法,由于系统是事务型的模式特征,因此按照事务分析的映射规则把数据流图映射到软件结构上,建立起系统的框架结构为:·房屋销售管理系统系预订信房源信息息人员信息管理员统房屋销售信息维护顾客管理注销系统查询统计图4-1 系统框架图4.1.1 结构图下面给出框架图中所涉及到的各个模块图的描述。、房屋销售功能模块图(如图4-2所示)。房屋销售预订房屋销售房屋图4-2 房屋销售功能模块图、 查询统计功能模块图(如图4-3所示)。查询统计销售业绩销售走势房屋资源购买合同图4-3 查询统计功能模块图、信息维护功能模块图(如图4-4所示)。信息维护房源信息人员信息图4-4 信息维护功能模块图、注销系统功能模块图(如图4-5所示)。注销系统更换用户退出系统图4-5 注销系统功能模块图4.1.2 实体图房屋销售管理系统的软件结构设计中,采用E-R模型来描述,采用自底向上设计概念结构的方法为例,它通常分为两步:首先要根据需求分析的结果(数据流程图等)对现实世界的数据进行抽象,设计各个局部视图即分E-R图。然后集成局部视图。经分析,得到系统的基本E-R图(如图4-6所示)。管理员人员信息房源信息员工预订信息 合同密码账户 合同预订信房源信息息人员信息管理员权姓名名权限账户姓名其他其他密码人员姓名权限姓账户名密码员工姓名密码面积户型户型人员日期其他其他房屋人员日期日期其他房屋人员组成修改个人增删改查增删改查帮助预订签售图4-6 数据库的E-R模型图人员实体图(如图4-7所示)。人员流水号账户权限权限姓名生日密码住址身份证号类别代码账户密码图4-7 人员实体图房源实体图(如图4-8所示)。房源流水号所有者面积说明户型 地址竣工日期 造价售价所有区状态图4-8 房源实体图合同实体图(如图4-9所示)。合同流水号人员管理所有者员签售日期理户型地址房屋其他价格容图4-9 合同实体图预订房屋实体图(如图4-10所示)。预订房屋所权限流水号 人员 房屋其他预订状态预订日期期姓名密码图4-10预订房屋实体图代码类型实体图(如图4-11所示)。代码类型屋密码流水号权限代码日期名称人员 描述描述图4-11 代码类型实体图所属区代码实体图(如图4-12所示)。所属区代码流水号区代码区名称 描述图4-12 所属区代码实体图逻辑结构设计的任务就是把概念结构设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构设计。在房屋销售管理系统中,所选用的DBMS产品为Oracle 10g,因此应将概念模型转换为关系数据模型,关系模型的逻辑结构是一组关系模式的集合。E-R图则是由实体、实体属性和实体之间的联系三个要素组成的。所以将E-R图转换为关系模型实际上是要将实体、实体的属性和实体之间的联系转换为关系模式。4.1.3 表信息数据库包含以下6个表:人员信息表、房源信息表、预订房屋信息表、合同信息表、代码类型表、所属区代码表。所有表的结构如下: 、人员信息表人员信息表主要用于保存人员信息,表结构如表4-1所示。表4-1 人员信息表(GD_PERSON_TB)字段名数据类型长度说明描述PERSON_IDNUMBER(5)5主键数据库流水号PERSON_NAMEVARCHAR2(20)20人员姓名PERSON_ADDRESSVARCHAR2(50)50家庭住址PERSON_IDENTITYNOVARCHAR2(18)18身份证号PERSON_BIRTHVARCHAR2(20)20出生日期PERSON_CODENUMBER(5)5外键人员身份类型PERSON_USERNAMEVARCHAR2(20)20账户PERSON_PASSWORDVARCHAR2(20)20密码PERSON_DESCRIPTIONVARCHAR2(100)100对人员的详细描述RESERVE_1VARCHAR2(20)20备用字段1 、房源信息表 房源信息表主要用于保存房屋资源信息,表结构如表4-2所示。表4-2 房源信息表(GD_HOUSE_TB)字段名数据类型长度说明描述HOUSE_IDNUMBER(5)5主键数据库流水号HOUSE_OWNERNUMBER(5)5外键房屋所有者HOUSE_AREANUMBER(7,2)7,2房屋面积HOUSE_INFOVARCHAR2(20)20房屋简单信息HOUSE_TYPENUMBER(5)5外键房屋户型HOUSE_ADDRESSVARCHAR2(50)50房屋地址HOUSE_DATEVARCHAR2(20)20房屋竣工日期HOUSE_FIRSTPRICEVARCHAR2(20)20房屋造价HOUSE_PRICEVARCHAR2(20)20房屋售价HOUSE_ZONENUMBER(5)5外键房屋所属区HOUSE_DESCRIPTIONVARCHAR2(100)100房屋详细描述HOUSE_STATENUMBER(5)5外键房屋状态RESERVE_2VARCHAR2(20)20备用字段2 、预订房屋信息表预订房屋信息表主要用于保存顾客及其所定房屋的信息,表结构如表4-3所示。表4-3预订房屋信息表(GD_BOOKSALE_TB)字段名数据类型长度说明描述BOOKSALE_IDNUMBER(5)5主键数据库流水号PERSON_IDNUMBER(5)5外键预订的顾客HOUSE_IDNUMBER(5)5外键所预订的房屋BOOKSALE_STATENUMBER(5)5外键预订状态BOOK_DATEVARCHAR2(20)20预订的日期 、合同信息表合同信息表主要用于保存签售合同的信息,表结构如表4-4所示。表4-4 合同信息表(GD_CONTRACT_TB)字段名数据类型长度说明描述CONTRACT_IDNUMBER