数据库房屋销售管理系统_第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

提交评论