ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:1.71MB ,
资源ID:26625106      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26625106.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库房屋销售管理系统.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库房屋销售管理系统.docx

1、数据库房屋销售管理系统 数据库课程设计房屋销售管理系统 姓 名:胡玖龙学 号:201320070142学 院:信息工程学院专 业:计算机科学与技术班 级:1320701 指导教师:李荣 2015年 1 月 14 日一、课程设计的目的和意义数据库原理及应用课程设计是实践性教学环节之一,是数据库原理及应用课程的辅助教学课程。通过课程设计,使学生掌握数据库的基本概念,结合实际的操作和设计,巩固课堂教学内容,使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现,把理论课与实验课所学内容做一综合,并在此基础

2、上强化学生的实践意识、提高其实际动手能力和创新能力。要求:通过设计一完整的数据库,使学生掌握数据库设计各阶段的输入、输出、设计环境、目标和方法。熟练掌握两个主要环节概念结构设计与逻辑结构设计;熟练的使用SQL语言实现数据库的建立、应用和维护。二、设计正文1.需求分析1.1基本功能需求客户购买或预定房屋,房屋销售人员根据用户的需求为用户办理相关手续。购销管理包含以下几方面的信息。1客户基本信息客户在购买或预定房屋的时候,每位用户都有唯一的编号,客户的基本信息包括姓名、性别、年龄、联系方式、身份证号。2员工基本信息每位员工在入职的时候有唯一的员工号,根据分工的不同,还有工作部门及职位这个属性。当然

3、还有姓名、性别、联系方式、年龄、身份证号这些基本属性。3房屋基本信息每个房屋有唯一的房屋编号,基本信息包含房屋的面积、户型、小区、栋、号、价格和状态,状态分为“待售”、“已预订”和“已售出”。4预定房屋信息客户可以进行房屋的预定,预定包括预定流水号,客户编号,员工号,房屋编号,预付金额,未付金额,预定时间。5购买的基本信息客户可以购买房屋,购买包括购买流水号,客户编号,员工号,房屋编号,付款金额,购买时间。付款金额一般等于房屋价格。1.2用户对系统的要求1.2.1房屋销售管理人员 信息要求房屋销售管理人员能查询上面提到的客户、销售人员、房屋的所有相关信息,包括预定房屋的基本信息,购买房屋的基本

4、信息。以利于对整个销售楼盘的全面管理。 处理要求当客户的信息发生变化时,房屋销售管理人员能对其进行修改。比如,客户更换手机号,或其他变更,能修改客户的信息。当房屋的信息放生变化时,房屋销售管理人员能对其进行修改。比如,房屋降价,房屋销售管理人员能对价格进行修改。当销售人员的信息放生变化时,如升职,房屋销售管理人员能对其进行修改。 安全性与完整性要求安全性要求1.系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;2.系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;3.系统应对不同用户设置不同的权限,区分不同的用户,如区分

5、房屋销售人员和房屋销售管理人员。完整性要求1.各种信息记录的完整性,信息记录内容不能为空;2.各种数据间相互的联系的正确性;3.相同的数据在不同记录中的一致性。1.2.2房屋销售人员1信息要求本楼盘的房屋销售人员能所有楼盘的信息,能查询“待售”状态的房屋信息,能查询客户的基本信息、修改客户的信息。能查询自己的销售记录。能够进行预定、购买操作。2处理要求当客户的信息发生变化时,房屋销售人员能对其进行修改。客户购买/预定房屋时,销售人员能添加预定/购买记录。1.2.3系统数据处理1状态更改当客户预定房屋时,销售人员添加预定记录后,系统能自动将预定房屋的状态从“待售”修改为“已预订”。当客户购买房屋

6、时,销售人员添加购买记录后,系统能自动将购买房屋的状态从“待售”或“已预订”修改为“已售出”。2数据计算当客户预定房屋时,销售人员添加记录后,系统能自动根据预付金额和房屋价格计算出未付金额。2. E-R图及关系模式:2.1 E-R图:根据需求分析,画出系统E-R图:2.2关系模式:将E-R图转换为关系模式,有下划线的为主键或外键:客户(客户编号,姓名,性别,身份证号,联系电话)员工(员工号,姓名,性别,职位,身份证号,联系电话)房屋(房屋编号,户型,面积,价格,栋,单元,号,房屋状态)预定(流水号,客户编号,员工号,房屋编号,预付金额,预定时间)购买(流水号,客户编号,员工号,房屋编号,购买金

7、额,购买时间)3.具体实现3.1建立数据库create database 房屋销售管理on( name=house_data, filename=D:house.mdf, size=10, maxsize=50, filegrowth=5)log on( name=house_log, filename=D:house.ldf, size=5, maxsize=25, filegrowth=5)建立一个名为 房屋销售管理 的数据库3.2创建各实体表及关系表客户Customer:属性属性名类型长度约束客户编号CNochar20主键姓名CNamechar10非空性别CSexchar4男或女年龄CA

8、geint大于零联系方式CTelchar20非空身份证号CIdchar1818位数字create table Customer( CNo char(20) constraint C_prim primary key, CName char(10) not null, CSex char(4) constraint Sex not null check(CSex=男 or CSex=女), CAge int constraint C_Age not null check (CAge0), CTel char(20) not null, CId char(18) constraint LEN_CI

9、D check(len(CId)=18)员工Staff:属性属性名类型长度约束员工号SNochar20主键姓名SNamechar10非空性别SSexchar4男或女年龄SAgeint大于零部门SDepchar20非空职位SPostchar20非空联系方式STelchar20非空身份证号SIdchar1818位数字create table Staff( SNo char(20) constraint S_prim primary key, SName char(10) not null, SSex char(4) constraint Sex not null check(SSex=男 or S

10、Sex=女), SAge int constraint S_Age not null check (SAge0), SDep char(20) not null, SPost char(20) not null, STel char(20) not null, SId char(18) constraint LEN_SID check(len(SId)=18))房屋House:属性属性名类型长度约束房屋编号HNochar20主键小区HAchar20非空栋HBchar10非空号HCchar10非空户型HTypechar20非空面积HSizeint大于零房屋状态HStatechar20待售或已预订

11、或已售出价格HPricefloat大于零create table House( HNo char(20) constraint H_prim primary key, HA char(20) not null, HB char(10) not null, HC char(10) not null, HType char(20) not null, HSize int constraint H_Size not null check(HSize0), HState char(20) constraint H_State not null check(HState=待售 or HState=已预订

12、 or HState=已售出) default 待售, Hprice float constraint H_Price not null check(HPrice0)预定Reserve:属性属性名类型长度约束预定流水号RNochar20主键客户编号CNochar20非空姓名SNamechar10非空房屋编号HNochar20外键预付金额RMoneyfloat大于零未付金额RRestfloat大于或等于零预定日期RDatechar10非空其中未付金额由存储过程根据预付金额和房屋价格自动计算填入create table Reserve( RNo char(20) constraint R_prim

13、 primary key, CNo char(20) constraint R_C_prim foreign key references Customer(CNo), SNo char(20) constraint R_S_prim foreign key references Staff(SNo), HNo char(20) constraint R_H_prim foreign key references House(HNo), RMoney float constraint R_Money not null check(RMoney0), RRest float constraint

14、 R_Rest not null check(RRest=0) default 0, Rdate char(10) not null )购买Buy:属性属性名类型长度约束购买流水号BNochar20主键客户编号CNochar20非空姓名SNamechar10非空房屋编号HNochar20外键购买金额BMoneyfloat非空购买日期BDatachar10非空create table Buy( BNo char(20) constraint B_prim primary key, CNo char(20) constraint B_C_prim foreign key references Cu

15、stomer(CNo), SNo char(20) constraint B_S_prim foreign key references Staff(SNo), HNo char(20) constraint B_H_prim foreign key references House(HNo), BMoney float constraint B_Money not null check(BMoney=0) default 0, Bdate char(10) not null)3.3创建视图:所有客户信息视图(客户编号,名字,性别,年龄,联系方式,身份证号)create view Custom

16、erView(CNo,CName,CSex,CAge ,CTel,CId)asselect CNo,CName,CSex,Cage,CTel,CIdFROM Customer所有员工信息视图(员工号,名字,性别,年龄,部门,职位,联系方式,身份证号)create view StaffView(SNo,SName,SSex,SAge,SDep,SPost,STel,SId)asselect SNo,SName,SSex,SAge,SDep,SPost,STel,SIdfrom Staff待售房屋视图(房屋编号,小区,栋,号,户型,面积,价格)create view ForSaleHouse (H

17、No,HA,HB,HC,HType,HSize,HPrice)asselect HNo,HA,HB,HC,HType,HSize,HPricefrom Housewhere HState=待售预定房屋信息视图(预定流水号,客户编号,客户名字,客户联系方式,员工号,员工名字,员工联系方式,房屋编号,小区,栋,号,户型,面积,价格,预定金额,未付金额,预定时间)create view ReserveView(RNo,CNo,CName,CTel,SNo,SName,STel,HNo,HA,HB,HC,HType,HSize,HPrice,RMoney,RRest,Rdate)asselect RN

18、o,Reserve.CNo,CName,CTel,Reserve.SNo,SName,STel,Reserve.HNo,HA,HB,HC,HType,HSize,HPrice,RMoney,RRest,Rdatefrom Reserve,Customer,Staff,Housewhere Reserve.CNo=Customer.CNo and Reserve.SNo=Staff.SNo and Reserve.HNo=House.HNo购买房屋信息视图(购买流水号,客户编号,客户名字,客户联系方式,员工号,员工名字,员工联系方式,房屋编号,小区,栋,号,户型,面积,价格,购买金额,购买时间)

19、create view BuyView(BNo,CNo,CName,CTel,SNo,SName,STel,HNo,HA,HB,HC,HType,HSize,HPrice,BMoney, Bdate)asselect BNo,Buy.CNo,CName,CTel,Buy.SNo,SName,STel,Buy.HNo,HA,HB,HC,HType,HSize,HPrice,BMoney,Bdatefrom Buy,Customer,Staff,Housewhere Buy.CNo=Customer.CNo and Buy.SNo=Staff.SNo and Buy.HNo=House.HNo3.

20、4存储过程:预定房屋:create procedure ReserveHouse( RNo char(20), CNo char(20), SNo char(20), HNo char(20), RMoney float, RDate char(10)as if (select House.HState from House where House.HNo=HNo)=待售) begin insert into Reserve(RNo,CNo,SNo,HNo,RMoney,Rdate) values(RNo,CNo,SNo,HNo,RMoney,RDate) update House set H

21、State=已预定 from House where House.HNo=HNo update Reserve set RRest=Hprice-RMoney from House,Reservewhere RNo=RNo and House.HNo=HNo end else begin print该房屋已预定或已售出 end功能:根据HNo判断房屋状态是不是待售状态,若是,则在预定表中插入信息;否则,则提示“该房屋已预定或已售出”,并放弃插入操作。购买房屋:create procedure BuyHouse( BNo char(20), CNo char(20), SNo char(20),

22、 HNo char(20), BDate char(10)as if (select House.HState from House where House.HNo=HNo)!=已售出) begin insert into Buy(BNo,CNo,SNo,HNo ,Bdate) values(BNo,CNo,SNo,HNo,BDate) update House set HState=已售出 from House where House.HNo=HNo delete from Reserve where Reserve.HNo=HNo end else begin print该房屋已售出 en

23、d功能:根据HNo判断房屋状态是不是已售出状态,若为否,则在购买表中插入信息,并在预定表中删除对应信息;否则,则提示“该房屋已售出”,并放弃插入操作。插入客户信息:create procedure InsertCustomer( CNo char(20), CName char(10), CSex char(4), CAge int, CTel char(20), CId char(18)=无)asinsert into Customer values(CNo,CName,CSex,CAge,CTel,CId)功能:在客户表中插入新的客户信息。插入员工信息:create procedure I

24、nsertStaff( SNo char(20), SName char(10), SSex char(4), SAge int, SDep char(20), SPost char(20), STel char(20), SId char(18)asinsert into Staff values(SNo,SName,SSex,SAge,SDep,SPost,STel,SId)功能:在员工表中插入新的员工信息。插入房屋信息:create procedure InsertHouse( HNo char(20), HA char(20), HB char(10), HC char(10), HT

25、ype char(20), HSize int, HState char(20), Hprice float)as insert into House values(HNo,HA,HB,HC,HType,HSize,HState,HPrice)功能:在房屋表中插入新的房屋信息。3.5触发器:触发器1:create trigger NewReserveHouse on Reserveinstead of insertasif not exists ( select * from inserted where CNo in (select CNo from Customer) ) print 客户

26、表中没有该客户信息,拒绝插入! rollback transaction功能:保证在预定表中插入新记录时,客户信息必须已经存在于客户表中。触发器2: create trigger NewBuyHouse on Buyinstead of insertasif not exists ( select * from inserted where CNo in (select CNo from Customer) ) print 客户表中没有该客户信息,拒绝插入! rollback transaction功能:保证在购买表中插入新记录时,客户信息必须已经存在于客户表中。触发器3:create tri

27、gger DelR on Reserveafter deleteas if (select HState from House where House.HNo in (select HNo from deleted) )=已预定) begin delete from Customer where Customer.CNo in (select CNo from deleted) update House set HState=待售 where House.HNo in (select HNo from deleted) end功能:删除预定表中某一个预定记录时,如果是因为客服付清未付款,购买了

28、房屋,则只进行原操作;如果是因为客户取消预定,则同时删除客户表中此客户,并将此房屋状态重新改为待售。触发器4:create trigger DelB on Buyafter deleteas begin delete from Customer where Customer.CNo in (select CNo from deleted) update House set HState=待售 where House.HNo in (select HNo from deleted) end功能:删除购买表中某一个购买记录时,同时删除客户表中此客户, 并将此房屋状态重新改为待售。三.实例演示:添加数据:用InsertCustomer存储过程在Customer表填入数据:用InsertStaff存储过程在Staff表填入数据:用InsertHouse存储过程在InsertHouse表填入数据:预定和购买房屋:用ReserveHouse存储过程添加预定房屋信息: (输入参数中没有未付金额RRest,RRest由存储过程自动计算填入)预定H0002和H0005号房屋用BuyHouse存储过程添加购买房屋信息:购买H0007和H0009号房屋用Re

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1