数据库房屋销售管理系统_第1页
数据库房屋销售管理系统_第2页
数据库房屋销售管理系统_第3页
数据库房屋销售管理系统_第4页
数据库房屋销售管理系统_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

数据库课程设计房屋销售管理系统姓名:胡玖龙学号:0142学院:信息工程学院专业:计算机科学与技术班级:1320701指导教师:李荣2015年1月14日一、课程设计的目的和意义《数据库原理及应用课程设计》是实践性授课环节之一,是《数据库原理及应用》课程的辅助授课课程。经过课程设计,使学生掌握数据库的基本看法,结合实质的操作和设计,牢固课堂授课内容,使学生掌握数据库系统的基本看法、原理和技术,将理论与实质相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现,把理论课与实验课所学内容做一综合,并在此基础上增强学生的实践意识、提高其实质着手能力和创新能力。要求:经过设计一完满的数据库,使学生掌握数据库设计各阶段的输入、输出、设计环境、目标和方法。熟练掌握两个主要环节——看法结构设计与逻辑结构设计;熟练的使用SQL语言实现数据库的建立、应用和保护。二、设计正文需求解析基本功能需求客户购买或预约房屋,房屋销售人员依照用户的需求为用户办理相关手续。购销管理包括以下几方面的信息。①客户基本信息客户在购买或预约房屋的时候,每位用户都有唯一的编号,客户的基本信息包括姓名、性别、年龄、联系方式、身份证号。②员工基本信息每位员工在入职的时候有唯一的员工号,依照分工的不相同,还有工作部门及职位这个属性。自然还有姓名、性别、联系方式、年龄、身份证号这些基本属性。③房屋基本信息每个房屋有唯一的房屋编号,基本信息包括房屋的面积、户型、小区、栋、号、价格和状态,状态分为“待售”、“已预约”和“已售出”。④预约房屋信息客户能够进行房屋的预约,预约包括预约流水号,客户编号,员工号,房屋编号,预付金额,未付金额,预准时间。⑤购买的基本信息客户能够购买房屋,购买包括购买流水号,客户编号,员工号,房屋编号,付款金额,购买时间。付款金额一般等于房屋价格。用户对系统的要求房屋销售管理人员①信息要求房屋销售管理人员能盘问上面提到的客户、销售人员、房屋的所有相关信息,包括预约房屋的基本信息,购买房屋的基本信息。以利于对整个销售楼盘的全面管理。②办理要求当客户的信息发生变化时,房屋销售管理人员能对其进行更正。比方,客户更换手机号,或其他更正,能更正客户的信息。当房屋的信息放生变化时,房屋销售管理人员能对其进行更正。比方,房屋降价,房屋销售管理人员能对价格进行更正。当销售人员的信息放生变化时,如升职,房屋销售管理人员能对其进行更正。③安全性与完满性要求安全性要求系统应设置接见用户的表记以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;系统对付不相同的数据设置不相同的接见级别,限制接见用户可盘问和办理数据的种类和内容;系统对付不相同用户设置不相同的权限,区分不相同的用户,如区分房屋销售人员和房屋销售管理人员。完满性要求各种信息记录的完满性,信息记录内容不能够为空;各种数据间相互的联系的正确性;相同的数据在不相同记录中的一致性。房屋销售人员①信息要求本楼盘的房屋销售人员能所有楼盘的信息,能盘问“待售”状态的房屋信息,能盘问客户的基本信息、更正客户的信息。能盘问自己的销售记录。能够进行预约、购买操作。②办理要求当客户的信息发生变化时,房屋销售人员能对其进行更正。客户购买/预约房屋时,销售人员能增加预约/购买记录。系统数据办理①状态更正当客户预约房屋时,销售人员增加预约记录后,系统能自动将预约房屋的状态从“待售”更正为“已预约”。当客户购买房屋时,销售人员增加购买记录后,系统能自动将购买房屋的状态从“待售”或“已预订”更正为“已售出”。②数据计算当客户预约房屋时,销售人员增加记录后,系统能自动依照预付金额和房屋价格计算出未付金额。E-R图及关系模式:E-R图:依照需求解析,画出系统E-R图:关系模式:将E-R图变换为关系模式,有下划线的为主键或外键:客户(客户编号,姓名,性别,身份证号,联系电话)员工(员工号,姓名,性别,职位,身份证号,联系电话)房屋(房屋编号,户型,面积,价格,栋,单元,号,房屋状态)预约(流水号,客户编号,员工号,房屋编号,预付金额,预准时间)购买(流水号,客户编号,员工号,房屋编号,购买金额,购买时间)详尽实现建立数据库createdatabase房屋销售管理on(name=house_data,filename='D:\',size=10,maxsize=50,filegrowth=5)logon(name=house_log,filename='D:\',size=5,maxsize=25,filegrowth=5)建立一个名为房屋销售管理的数据库创办各实体表及关系表客户Customer:属性属性名种类长度拘束客户编号CNochar20主键姓名CNamechar10非空性别CSexchar4‘男’或‘女’年龄CAgeint大于零联系方式CTelchar20非空身份证号CIdchar1818位数字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:属性属性名种类长度拘束员工号SNochar20主键姓名SNamechar10非空性别SSexchar4‘男’或‘女’年龄SAgeint大于零部门SDepchar20非空职位SPostchar20非空联系方式STelchar20非空身份证号SIdchar1818位数字createtableStaff(SNochar(20)constraintS_primprimarykey,SNamechar(10)notnull,SSexchar(4)constraintSexnotnullcheck(SSex='男'orSSex='女'),SAgeintconstraintS_Agenotnullcheck(SAge>0),SDepchar(20)notnull,SPostchar(20)notnull,STelchar(20)notnull,SIdchar(18)constraintLEN_SIDcheck(len(SId)=18))房屋House:属性属性名种类长度拘束房屋编号HNochar20主键小区HAchar20非空栋HBchar10非空号HCchar10非空户型HTypechar20非空面积HSizeint大于零房屋状态HStatechar‘待售'或‘已预20订’或‘已售出’价格HPricefloat大于零createtableHouse(HNochar(20)constraintH_primprimarykey,HAchar(20)notnull,HBchar(10)notnull,HCchar(10)notnull,HTypechar(20)notnull,HSizeintconstraintH_Sizenotnullcheck(HSize>0),HStatechar(20)constraintH_Statenotnullcheck(HState='待售'orHState='已预约'orHState='已售出')default'待售',HpricefloatconstraintH_Pricenotnullcheck(HPrice>0))预约Reserve:属性属性名种类长度拘束预约流水号RNochar20主键客户编号CNochar20非空姓名SNamechar10非空房屋编号HNochar20外键预付金额RMoneyfloat大于零未付金额RRestfloat大于或等于零预约日期RDatechar10非空其中未付金额由储藏过程依照预付金额和房屋价格自动计算填入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>0),RRestfloatconstraintR_Restnotnullcheck(RRest>=0)default0,Rdatechar(10)notnull)购买Buy:属性属性名种类长度拘束购买流水号BNochar20主键客户编号CNochar20非空姓名SNamechar10非空房屋编号HNochar20外键购买金额BMoneyfloat非空购买日期BDatachar10非空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>=0)default0,Bdatechar(10)notnull)创办视图:所有客户信息视图(客户编号,名字,性别,年龄,联系方式,身份证号)createviewCustomerView(CNo,CName,CSex,CAge,CTel,CId)asselectCNo,CName,CSex,Cage,CTel,CIdFROMCustomer所有员工信息视图(员工号,名字,性别,年龄,部门,职位,联系方式,身份证号)createviewStaffView(SNo,SName,SSex,SAge,SDep,SPost,STel,SId)asselectSNo,SName,SSex,SAge,SDep,SPost,STel,SIdfromStaff待售房屋视图(房屋编号,小区,栋,号,户型,面积,价格)createviewForSaleHouse(HNo,HA,HB,HC,HType,HSize,HPrice)asselectHNo,HA,HB,HC,HType,HSize,HPricefromHousewhereHState='待售'预约房屋信息视图(预约流水号,客户编号,客户名字,客户联系方式,员工号,员工名字,员工联系方式,房屋编号,小区,栋,号,户型,面积,价格,预约金额,未付金额,预准时间)createviewReserveView(RNo,CNo,CName,CTel,SNo,SName,STel,HNo,HA,HB,HC,HType,HSize,HPrice,RMoney,RRest,Rdate)asselectRNo,,CName,CTel,,SName,STel,,HA,HB,HC,HType,HSize,HPrice,RMoney,RRest,RdatefromReserve,Customer,Staff,Housewhere=and=and=购买房屋信息视图(购买流水号,客户编号,客户名字,客户联系方式,员工号,员工名字,员工联系方式,房屋编号,小区,栋,号,户型,面积,价格,购买金额,购买时间)createviewBuyView(BNo,CNo,CName,CTel,SNo,SName,STel,HNo,HA,HB,HC,HType,HSize,HPrice,BMoney,Bdate)asselectBNo,,CName,CTel,,SName,STel,,HA,HB,HC,HType,HSize,HPrice,BMoney,BdatefromBuy,Customer,Staff,Housewhere=and=and=储藏过程:预约房屋:createprocedureReserveHouse(@RNochar(20),@CNochar(20),@SNochar(20),@HNochar(20),@RMoneyfloat,@RDatechar(10))asif((selectfromHousewhere=@HNo)='待售')begininsertintoReserve(RNo,CNo,SNo,HNo,RMoney,Rdate)values(@RNo,@CNo,@SNo,@HNo,@RMoney,@RDate)updateHousesetHState='已预约'fromHousewhere=@HNoupdateReservesetRRest=Hprice-RMoneyfromHouse,ReservewhereRNo=@RNoand=@HNoendelsebeginprint'该房屋已预约或已售出'end功能:依照HNo判断房屋状态是否是‘待售’状态,若是,则在预约表中插入信息;否则,则提示“该房屋已预约或已售出”,并放弃插入操作。购买房屋:createprocedureBuyHouse(@BNochar(20),@CNochar(20),@SNochar(20),@HNochar(20),@BDatechar(10))asif((selectfromHousewhere=@HNo)!='已售出')begininsertintoBuy(BNo,CNo,SNo,HNo,Bdate)values(@BNo,@CNo,@SNo,@HNo,@BDate)updateHousesetHState='已售出'fromHousewhere=@HNodeletefromReservewhere=@HNoendelsebeginprint'该房屋已售出'end功能:依照HNo判断房屋状态是否是‘已售出’状态,若为否,则在购买表中插入信息,并在预约表中删除对应信息;否则,则提示“该房屋已售出”,并放弃插入操作。插入客户信息:createprocedureInsertCustomer(@CNochar(20),@CNamechar(10),@CSexchar(4),@CAgeint,@CTelchar(20),@CIdchar(18)='无')asinsertintoCustomervalues(@CNo,@CName,@CSex,@CAge,@CTel,@CId)功能:在客户表中插入新的客户信息。插入员工信息:createprocedureInsertStaff(@SNochar(20),@SNamechar(10),@SSexchar(4),@SAgeint,@SDepchar(20),@SPostchar(20),@STelchar(20),@SIdchar(18))asinsertintoStaffvalues(@SNo,@SName,@SSex,@SAge,@SDep,@SPost,@STel,@SId)功能:在员工表中插入新的员工信息。插入房屋信息:createprocedureInsertHouse(@HNochar(20),@HAchar(20),@HBchar(10),@HCchar(10),@HTypechar(20),@HSizeint,@HStatechar(20),@Hpricefloat)asinsertintoHousevalues(@HNo,@HA,@HB,@HC,@HType,@HSize,@HState,@HPrice)功能:在房屋表中插入新的房屋信息。触发器:触发器1:createtriggerNewReserveHouseonReserveinsteadofinsertasifnotexists(select*frominsertedwhereCNoin(selectCNofromCustomer))print'客户表中没有该客户信息,拒绝插入!'rollbacktransaction功能:保证在预约表中插入新记录时,客户信息必定已经存在于客户表中。触发器2:createtriggerNewBuyHouseonBuyinsteadofinsertasifnotexists(select*frominsertedwhereCNoin(selectCNofromCustomer))print'客户表中没有该客户信息,拒绝插入!'rollbacktransaction功能:保证在购买表中插入新记录时,客户信息必定已经存在于客户表中。触发器3:createtriggerDelRonReserveafterdeleteasif((selectHStatefromHousewherein(selectHNofromdeleted))='已预约')begindeletefromCustomerwherein(selectCNofromdeleted)updateHousesetHState='待售'wherein(selectHNofromdeleted)end功能:删除预约表中某一个预约记录时,若是是因为客服付清未付款,购买了房屋,则只进行原操作;如果是因为客户取消预约,则同时删除客户表中此客户,并将此房屋状态重新改为‘待售’。触发器4:createtriggerDelBonBuyafterdeleteasbegindeletefromCustomerwh

温馨提示

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

评论

0/150

提交评论