数据库房屋销售管理系统Word格式文档下载.docx

上传人:b****1 文档编号:5946475 上传时间:2023-05-05 格式:DOCX 页数:24 大小:1.71MB
下载 相关 举报
数据库房屋销售管理系统Word格式文档下载.docx_第1页
第1页 / 共24页
数据库房屋销售管理系统Word格式文档下载.docx_第2页
第2页 / 共24页
数据库房屋销售管理系统Word格式文档下载.docx_第3页
第3页 / 共24页
数据库房屋销售管理系统Word格式文档下载.docx_第4页
第4页 / 共24页
数据库房屋销售管理系统Word格式文档下载.docx_第5页
第5页 / 共24页
数据库房屋销售管理系统Word格式文档下载.docx_第6页
第6页 / 共24页
数据库房屋销售管理系统Word格式文档下载.docx_第7页
第7页 / 共24页
数据库房屋销售管理系统Word格式文档下载.docx_第8页
第8页 / 共24页
数据库房屋销售管理系统Word格式文档下载.docx_第9页
第9页 / 共24页
数据库房屋销售管理系统Word格式文档下载.docx_第10页
第10页 / 共24页
数据库房屋销售管理系统Word格式文档下载.docx_第11页
第11页 / 共24页
数据库房屋销售管理系统Word格式文档下载.docx_第12页
第12页 / 共24页
数据库房屋销售管理系统Word格式文档下载.docx_第13页
第13页 / 共24页
数据库房屋销售管理系统Word格式文档下载.docx_第14页
第14页 / 共24页
数据库房屋销售管理系统Word格式文档下载.docx_第15页
第15页 / 共24页
数据库房屋销售管理系统Word格式文档下载.docx_第16页
第16页 / 共24页
数据库房屋销售管理系统Word格式文档下载.docx_第17页
第17页 / 共24页
数据库房屋销售管理系统Word格式文档下载.docx_第18页
第18页 / 共24页
数据库房屋销售管理系统Word格式文档下载.docx_第19页
第19页 / 共24页
数据库房屋销售管理系统Word格式文档下载.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库房屋销售管理系统Word格式文档下载.docx

《数据库房屋销售管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库房屋销售管理系统Word格式文档下载.docx(24页珍藏版)》请在冰点文库上搜索。

数据库房屋销售管理系统Word格式文档下载.docx

4预定房屋信息

客户可以进行房屋的预定,预定包括预定流水号,客户编号,员工号,房屋编号,预付金额,未付金额,预定时间。

5购买的基本信息

客户可以购买房屋,购买包括购买流水号,客户编号,员工号,房屋编号,付款金额,购买时间。

付款金额一般等于房屋价格。

1.2用户对系统的要求

1.2.1房屋销售管理人员

①信息要求

房屋销售管理人员能查询上面提到的客户、销售人员、房屋的所有相关信息,包括预定房屋的基本信息,购买房屋的基本信息。

以利于对整个销售楼盘的全面管理。

②处理要求

当客户的信息发生变化时,房屋销售管理人员能对其进行修改。

比如,客户更换手机号,或其他变更,能修改客户的信息。

当房屋的信息放生变化时,房屋销售管理人员能对其进行修改。

比如,房屋降价,房屋销售管理人员能对价格进行修改。

当销售人员的信息放生变化时,如升职,房屋销售管理人员能对其进行修改。

③安全性与完整性要求

安全性要求

1.系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;

2.系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;

3.系统应对不同用户设置不同的权限,区分不同的用户,如区分房屋销售人员和房屋销售管理人员。

完整性要求

1.各种信息记录的完整性,信息记录内容不能为空;

2.各种数据间相互的联系的正确性;

3.相同的数据在不同记录中的一致性。

1.2.2房屋销售人员

1信息要求

本楼盘的房屋销售人员能所有楼盘的信息,能查询“待售”状态的房屋信息,能查询客户的基本信息、修改客户的信息。

能查询自己的销售记录。

能够进行预定、购买操作。

2处理要求

当客户的信息发生变化时,房屋销售人员能对其进行修改。

客户购买/预定房屋时,销售人员能添加预定/购买记录。

1.2.3系统数据处理

1状态更改

当客户预定房屋时,销售人员添加预定记录后,系统能自动将预定房屋的状态从“待售”修改为“已预订”。

当客户购买房屋时,销售人员添加购买记录后,系统能自动将购买房屋的状态从“待售”或“已预订”修改为“已售出”。

2数据计算

当客户预定房屋时,销售人员添加记录后,系统能自动根据预付金额和房屋价格计算出未付金额。

2.E-R图及关系模式:

2.1E-R图:

根据需求分析,画出系统E-R图:

2.2关系模式:

将E-R图转换为关系模式,有下划线的为主键或外键:

客户(客户编号,姓名,性别,身份证号,联系电话)

员工(员工号,姓名,性别,职位,身份证号,联系电话)

房屋(房屋编号,户型,面积,价格,栋,单元,号,房屋状态)

预定(流水号,客户编号,员工号,房屋编号,预付金额,预定时间)

购买(流水号,客户编号,员工号,房屋编号,购买金额,购买时间)

3.具体实现

3.1建立数据库

createdatabase房屋销售管理

on

(name=house_data,

filename='

D:

\house.mdf'

size=10,

maxsize=50,

filegrowth=5

logon

(name=house_log,

\house.ldf'

size=5,

maxsize=25,

建立一个名为房屋销售管理的数据库

3.2创建各实体表及关系表

客户Customer:

属性

属性名

类型

长度

约束

客户编号

CNo

char

20

主键

姓名

CName

10

非空

性别

CSex

4

‘男’或‘女’

年龄

CAge

int

 

大于零

联系方式

CTel

身份证号

CId

18

18位数字

createtableCustomer

(CNochar(20)constraintC_primprimarykey,

CNamechar(10)notnull,

CSexchar(4)constraintSexnotnullcheck(CSex='

男'

orCSex='

女'

),

CAgeintconstraintC_Agenotnullcheck(CAge>

0),

CTelchar(20)notnull,

CIdchar(18)constraintLEN_CIDcheck(len(CId)=18)

员工Staff:

员工号

SNo

SName

SSex

SAge

部门

SDep

职位

SPost

STel

SId

createtableStaff

(SNochar(20)constraintS_primprimarykey,

SNamechar(10)notnull,

SSexchar(4)constraintSexnotnullcheck(SSex='

orSSex='

SAgeintconstraintS_Agenotnullcheck(SAge>

SDepchar(20)notnull,

SPostchar(20)notnull,

STelchar(20)notnull,

SIdchar(18)constraintLEN_SIDcheck(len(SId)=18)

房屋House:

房屋编号

HNo

小区

HA

HB

HC

户型

HType

面积

HSize

房屋状态

HState

‘待售'

或‘已预订’或‘已售出’

价格

HPrice

float

createtableHouse

(HNochar(20)constraintH_primprimarykey,

HAchar(20)notnull,

HBchar(10)notnull,

HCchar(10)notnull,

HTypechar(20)notnull,

HSizeintconstraintH_Sizenotnullcheck(HSize>

HStatechar(20)constraintH_Statenotnullcheck(HState='

待售'

orHState='

已预订'

已售出'

)default'

HpricefloatconstraintH_Pricenotnullcheck(HPrice>

0)

预定Reserve:

预定流水号

RNo

外键

预付金额

RMoney

未付金额

RRest

大于或等于零

预定日期

RDate

其中未付金额由存储过程根据预付金额和房屋价格自动计算填入

createtableReserve

(RNochar(20)constraintR_primprimarykey,

CNochar(20)constraintR_C_primforeignkeyreferencesCustomer(CNo),

SNochar(20)constraintR_S_primforeignkeyreferencesStaff(SNo),

HNochar(20)constraintR_H_primforeignkeyreferencesHouse(HNo),

RMoneyfloatconstraintR_Moneynotnullcheck(RMoney>

RRestfloatconstraintR_Restnotnullcheck(RRest>

=0)default0,

Rdatechar(10)notnull)

购买Buy:

购买流水号

BNo

主键 

非空 

购买金额

BMoney

购买日期

BData

createtableBuy

(BNochar(20)constraintB_primprimarykey,

CNochar(20)constraintB_C_primforeignkeyreferencesCustomer(CNo),

SNochar(20)constraintB_S_primforeignkeyreferencesStaff(SNo),

HNochar(20)constraintB_H_primforeignkeyreferencesHouse(HNo),

BMoneyfloatconstraintB_Moneynotnullcheck(BMoney>

Bdatechar(10)notnull

3.3创建视图:

所有客户信息视图(客户编号,名字,性别,年龄,联系方式,身份证号)

createviewCustomerView(CNo,CName,CSex,CAge,CTel,CId)

as

selectCNo,CName,CSex,Cage,CTel,CId

FROMCustomer

所有员工信息视图(员工号,名字,性别,年龄,部门,职位,联系方式,身份证号)

createviewStaffView(SNo,SName,SSex,SAge,SDep,SPost,STel,SId)

selectSNo,SName,SSex,SAge,SDep,SPost,STel,SId

fromStaff

待售房屋视图(房屋编号,小区,栋,号,户型,面积,价格)

createviewForSaleHouse(HNo,HA,HB,HC,HType,HSize,HPrice)

selectHNo,HA,HB,HC,HType,HSize,HPrice

fromHouse

whereHState='

预定房屋信息视图(预定流水号,客户编号,客户名字,客户联系方式,员工号,员工名字,员工联系方式,房屋编号,小区,栋,号,户型,面积,价格,预定金额,未付金额,预定时间)

createviewReserveView(RNo,CNo,CName,CTel,SNo,SName,STel,HNo,HA,HB,

HC,HType,HSize,HPrice,RMoney,RRest,Rdate)

selectRNo,Reserve.CNo,CName,CTel,Reserve.SNo,SName,STel,Reserve.HNo,HA,HB,HC,

HType,HSize,HPrice,RMoney,RRest,Rdate

fromReserve,Customer,Staff,House

whereReserve.CNo=Customer.CNoandReserve.SNo=Staff.SNoandReserve.HNo=House.HNo

购买房屋信息视图(购买流水号,客户编号,客户名字,客户联系方式,员工号,员工名字,员工联系方式,房屋编号,小区,栋,号,户型,面积,价格,购买金额,购买时间)

createviewBuyView(BNo,CNo,CName,CTel,SNo,SName,STel,HNo,HA,HB,HC,HType,HSize,HPrice,BMoney,Bdate)

selectBNo,Buy.CNo,CName,CTel,Buy.SNo,SName,STel,Buy.HNo,HA,HB,HC,HType,HSize,HPrice,BMoney,Bdate

fromBuy,Customer,Staff,House

whereBuy.CNo=Customer.CNoandBuy.SNo=Staff.SNoandBuy.HNo=House.HNo

3.4存储过程:

预定房屋:

createprocedureReserveHouse

(@RNochar(20),

@CNochar(20),

@SNochar(20),

@HNochar(20),

@RMoneyfloat,

@RDatechar(10)

as

if((selectHouse.HStatefromHousewhereHouse.HNo=@HNo)='

begin

insertintoReserve(RNo,CNo,SNo,HNo,RMoney,Rdate)values(@RNo,@CNo,@SNo,@HNo,@RMoney,@RDate)

updateHouse

setHState='

已预定'

fromHouse

whereHouse.HNo=@HNo

updateReserve

setRRest=Hprice-RMoney

fromHouse,Reserve

whereRNo=@RNoandHouse.HNo=@HNo

end

else

begin

print'

该房屋已预定或已售出'

功能:

根据HNo判断房屋状态是不是‘待售’状态,若是,则在预定表中插入信息;

否则,则提示“该房屋已预定或已售出”,并放弃插入操作。

购买房屋:

createprocedureBuyHouse

(@BNochar(20),

@BDatechar(10)

if((selectHouse.HStatefromHousewhereHouse.HNo=@HNo)!

='

insertintoBuy(BNo,CNo,SNo,HNo,Bdate)values(@BNo,@CNo,@SNo,@HNo,@BDate)

setHState='

fromHouse

whereHouse.HNo=@HNo

deletefromReserve

whereReserve.HNo=@HNo

else

该房屋已售出'

根据HNo判断房屋状态是不是‘已售出’状态,若为否,则在购买表中插入信息,并在预定表中删除对应信息;

否则,则提示“该房屋已售出”,并放弃插入操作。

插入客户信息:

createprocedureInsertCustomer

(@CNochar(20),

@CNamechar(10),

@CSexchar(4),

@CAgeint,

@CTelchar(20),

@CIdchar(18)='

无'

insertintoCustomervalues(@CNo,@CName,@CSex,@CAge,@CTel,@CId)

在客户表中插入新的客户信息。

插入员工信息:

createprocedureInsertStaff

(@SNochar(20),

@SNamechar(10),

@SSexchar(4),

@SAgeint,

@SDepchar(20),

@SPostchar(20),

@STelchar(20),

@SIdchar(18)

insertintoStaffvalues(@SNo,@SName,@SSex,@SAge,@SDep,@SPost,@STel,@SId)

在员工表中插入新的员工信息。

插入房屋信息:

createprocedureInsertHouse

(@HNochar(20),

@HAchar(20),

@HBchar(10),

@HCchar(10),

@HTypechar(20),

@HSizeint,

@HStatechar(20),

@Hpricefloat

insertintoHousevalues(@HNo,@HA,@HB,@HC,@HType,@HSize,@HState,@HPrice)

在房屋表中插入新的房屋信息。

3.5触发器:

触发器1:

createtriggerNewReserveHouseonReserve

insteadofinsert

ifnotexists

(select*frominsertedwhereCNoin(selectCNofromCustomer))

print'

客户表中没有该客户信息,拒绝插入!

'

rollbacktransaction

保证在预定表中插入新记录时,客户信息必须已经存在于客户表中。

触发器2:

createtriggerNewBuyHouseonBuy

保证在购买表中插入新记录时,客户信息必须已经存在于客户表中。

触发器3:

createtriggerDelRonReserve

afterdelete

if((selectHStatefromHousewhereHouse.HNoin(selectHNofromdeleted))='

deletefromCustomer

whereCustomer.CNoin(selectCNofromdeleted)

updateHouse

setHState='

whereHouse.HNoin(selectHNofromdeleted)

删除预定表中某一个预定记录时,如果是因为客服付清未付款,购买了房屋,则只进行原操作;

如果是因为客户取消预定,则同时删除客户表中此客户,并将此房屋状态重新改为‘待售’。

触发器4:

createtriggerDelBonBuy

删除购买表中某一个购买记录时,同时删除客户表中此客户,并将此房屋状态重新改为‘待售’。

三.实例演示:

添加数据:

用InsertCustomer存储过程在Customer表填入数据:

用InsertStaff存储过程在Staff表填入数据:

用InsertHouse存储过程在InsertHouse表填入数据:

预定和购买房屋:

用ReserveHouse存储过程添加预定房屋信息:

(输入参数中没有未付金额RRest,RRest由存储过程自动计算填入)

预定H0002和H0005号房屋

用BuyHouse存储过程添加购买房屋信息:

购买H0007和H

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2