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

下载本文档

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

文档简介

数据库课程设计房屋销售管理系统**:玖龙**:2学院:信息工程学院专业:计算机科学与技术班级:1320701指导教师:荣2021年1月14日一、课程设计的目的和意义"数据库原理及应用课程设计"是实践性教学环节之一,是"数据库原理及应用"课程的辅助教学课程。通过课程设计,使学生掌握数据库的根本概念,结合实际的操作和设计,稳固课堂教学容,使学生掌握数据库系统的根本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规、科学地完成一个小型数据库的设计与实现,把理论课与实验课所学容做一综合,并在此根底上强化学生的实践意识、提高其实际动手能力和创新能力。要求:通过设计一完整的数据库,使学生掌握数据库设计各阶段的输入、输出、设计环境、目标和法。熟练掌握两个主要环节一一概念构造设计与逻辑构造设计;熟练的使用SQL语言实现数据库的建立、应用和维护。二、设计正文需求分析1.1根本功能需求客户购置或预定房屋,房屋销售人员根据用户的需求为用户办理相关手续。购销管理包含以下几面的信息。客户根本信息客户在购置或预定房屋的时候,每位用户都有唯一的编号,客户的根本信息包括**、性别、年龄、联系式、**号。员工根本信息每位员工在入职的时候有唯一的员工号,根据分工的不同,还有工作部门及职位这个属性。当然还有**、性别、联系式、年龄、**号这些根本属性。房屋根本信息每个房屋有唯一的房屋编号,根本信息包含房屋的面积、户型、小区、栋、号、价格和状态,状态分为"待售、"已预订和"已售出。预定房屋信息客户可以进展房屋的预定,预定包括预定流水号,客户编号,员工号,房屋编号,预付金额,未付金额,预定时间。购置的根本信息客户可以购置房屋,购置包括购置流水号,客户编号,员工号,房屋编号,付款金额,购置时间。付款金额一般等于房屋价格。1.2用户对系统的要求房屋销售管理人员信息要求房屋销售管理人员能查询上面提到的客户、销售人员、房屋的所有相关信息,包括预定房屋的根本信息,购置房屋的根本信息。以利于对整个销售楼盘的全面管理。处理要求当客户的信息发生变化时,房屋销售管理人员能对其进展修改。比方,客户更换手机号,或其他变更,能修改客户的信息。当房屋的信息放生变化时,房屋销售管理人员能对其进展修改。比方,房屋降价,房屋销售管理人员能对价格进展修改。当销售人员的信息放生变化时,如升职,房屋销售管理人员能对其进展修改。平安性与完整性要求平安性要求系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和容;系统应对不同用户设置不同的权限,区分不同的用户,如区分房屋销售人员和房屋销售管理人员。完整性要求各种信息记录的完整性,信息记录容不能为空;各种数据间相互的联系的正确性;一样的数据在不同记录中的一致性。房屋销售人员信息要求本楼盘的房屋销售人员能所有楼盘的信息,能查询"待售状态的房屋信息,能查询客户的根本信息、修改客户的信息。能查询自己的销售记录。能够进展预定、购置操作。处理要求当客户的信息发生变化时,房屋销售人员能对其进展修改。客户购置/预定房屋时,销售人员能添加预定/购置记录。系统数据处理状态更改当客户预定房屋时,销售人员添加预定记录后,系统能自动将预定房屋的状态从"待售修改为"已预订。当客户购置房屋时,销售人员添加购置记录后,系统能自动将购置房屋的状态从"待售或"已预订修改为"已售出。数据计算当客户预定房屋时,销售人员添加记录后,系统能自动根据预付金额和房屋价格计算出未付金额。E-RS及关系模式:2.1E-R图:根据需求分析,画出系统E-R图:2.2关系模式:将E-R图转换为关系模式,有下划线的为主键或外键:客户〔客户编号,**,性别,**号,联系〕员工〔员工号,**,性别,职位,**号,联系〕房屋〔房屋编号,户型,面积,价格,栋,单元,号,房屋状态〕预定〔流水号"客户编号,员工号,房屋编号,预付金额,预定时间〕购置〔流水号,客户编号,员工号,房屋编号,购置金额,购置时间〕具体实现3.1建立数据库createdataba房渥销售管理on(name=house_data,filename='D:\house.mdf',size=10,ma*size=50,filegrowth=5)(name=house_log,filename='D:\house.ldf',size=5,ma*size=25,filegrowth=5)建立一个名为房屋销售管理的数据库3.2创立各实体表及关系表客户Customer:属性属性名类型长度约束客户编号ochar20主键**amechar10非空性别CSe*char4'男’或’女’年龄CAgeint大于零联系式CTelchar20非空**号CIdchar1818位数字createtableCustomer(ochar(20)constraintC_primprimarykey,amechar(10)notnull,CSe*char(4)constraintSe*notnullch男ck(oSe*=e*;女''),CAgeintconstraintC_Agenotnullcheck(CAge>0),CTelchar(20)notnull,CIdchar(18)constraintLEN_CIDcheck(len(CId)=18))员工Staf:f属性属性名类型长度约束员工号SNochar20主键**SNamechar10非空性别SSe*char4'男’或’女’年龄SAgeint大于零部门SDepchar20非空职位SPostchar20非空联系式STelchar20非空**号SIdchar1818位数字createtableStaff(SNochar(20)constraintS_primprimarykey,SNamechar(10)notnull,SSe*char(4)constraintSe*notnullch男ckoTSdSSe女''),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大于零房屋状态HStatechar20‘待售'或‘已预订’或‘已售出’价格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_Statenotnullche:c:k售HSt)artei8,tateI='^订'orHState=售出')default售',HpricefloatconstraintH_Pricenotnullcheck(HPrice>0))预定Reserve属性属性名类型长度约束预定流水号RNochar20主键客户编号ochar20非空**SNamechar10非空房屋编号HNochar20外键预付金额RMoneyfloat大于零未付金额RRestfloat大于或等于零预定日期RDatechar10非空其中未付金额由存储过程根据预付金额和房屋价格自动计算填入createtableReserve(RNochar(20)constraintR_primprimarykey,ochar(20)constraintR_C_primforeignkeyreferencesCustomer(o),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主键客户编号ochar20非空**SNamechar10非空房屋编号HNochar20外键购置金额BMoneyfloat非空购置日期BDatachar10非空createtableBuy(BNochar(20)constraintB_primprimarykey,ochar(20)constraintB_C_primforeignkeyreferencesCustomer(o),SNochar(20)constraintB_S_primforeignkeyreferencesStaff(SNo),HNochar(20)constraintB_H_primforeignkeyreferencesHouse(HNo),BMoneyfloatconstraintB_Moneynotnullcheck(=N0)ndy>ault0,Bdatechar(10)notnull)3.3创立视图:所有客户信息视图〔客户编号,名字,性别,年龄,联系式,**号〕createviewCustomerView(o,ame,CSe*,CAge,CTel,CId)asselecto,ame,CSe*,Cage,CTel,CIdFROMCustomer所有员工信息视图〔员工号,名字,性别,年龄,部门,职位,联系式,**号〕createviewStaffView(SNo,SName,SSe*,SAge,SDep,SPost,STel,SId)asselectSNo,SName,SSe*,SAge,SDep,SPost,STel,SIdfromStaff待售房屋视图〔房屋编号,小区,栋,号,户型,面积,价格〕createviewForSaleHouse(HNo,HA,HB,HC,HType,HSize,HPrice)asselectHNo,HA,HB,HC,HType,HSize,HPricefromHousewhereHState待售'预定房屋信息视图〔预定流水号,客户编号,客户名字,客户联系式,员工号,员工名字,员工联系式,房屋编号,小区,栋,号,户型,面积,价格,预定金额,未付金额,预定时间〕createviewReserveView(RNo,o,ame,CTel,SNo,SName,STel,HNo,HA,HB,HC,HType,HSize,HPrice,RMoney,RRest,Rdate)asselectRNo,Reserve.o,ame,CTel,Reserve.SNo,SName,STel,Reserve.HNo,HA,HB,HC,HType,HSize,HPrice,RMoney,RRest,RdatefromReserve,Customer,Staff,HousewhereReserve.o=Customer.oandReserve.SNo=Staff.SNoandReserve.HNo=House.HNo购置房屋信息视图〔购置流水号,客户编号,客户名字,客户联系式,员工号,员工名字,员工联系式,房屋编号,小区,栋,号,户型,面积,价格,购置金额,购置时间〕createviewBuyView(BNo,o,ame,CTel,SNo,SName,STel,HNo,HA,HB,HC,HType,HSize,HPrice,BMoney,Bdate)asselectBNo,Buy.o,ame,CTel,Buy.SNo,SName,STel,Buy.HNo,HA,HB,HC,HType,HSize,HPrice,BMoney,BdatefromBuy,Customer,Staff,HousewhereBuy.o=Customer.oandBuy.SNo=Staff.SNoandBuy.HNo=House.HNo3.4存储过程:预定房屋:createprocedureReserveHouse(RNochar(20),ochar(20),SNochar(20),HNochar(20),RMoneyfloat,RDatechar(10))asif((selectHouse.HStatefromHousewhereHouse.HNo=HNoy='begininsertintoReserve(RNo,o,SNo,HNo,RMoney,Rdate)values(RNo,o,SNo,HNo,RMoney,RDate)updateHousesetHState田预定'fromHousewhereHouse.HNo=HNoupdateReservesetRRest=Hprice-RMoneyfromHouse,ReservewhereRNo=RNoandHouse.HNo=HNoendelsebeginprin该房屋已预定或已售出'end功能:根据HNo判断房屋状态是不是‘待售’状态,假设是,则在预定表中插入信息;否则,则提示“该房屋已预定或已售出,并放弃插入操作。购置房屋:createprocedureBuyHouse(BNochar(20),ochar(20),SNochar(20),HNochar(20),BDatechar(10))asif((selectHouse.HStatefromHousewhereHouse.HNo=H^i)!=')begininsertintoBuy(BNo,o,SNo,HNo,Bdate)values(BNo,o,SNo,HNo,BDate)updateHousesetHState='售出'fromHousewhereHouse.HNo=HNodeletefromReservewhereReserve.HNo=HNoendelsebeginprin该房屋已售出'end功能:根据HNo判断房屋状态是不是‘已售出’状态,假设为否,则在购置表中插入信息,并在预定表中删除对应信息;否则,则提示“该房屋已售出,并放弃插入操作。插入客户信息:createprocedureInsertCustomer(ochar(20),amechar(10),CSe*char(4),CAgeint,CTelchar(20),CIdchar(18)无')asinsertintoCustomervalues(o,ame,CSe*,CAge,CTel,CId)功能:在客户表中插入新的客户信息。插入员工信息:createprocedureInsertStaff(SNochar(20),SNamechar(10),SSe*char(4),SAgeint,SDepchar(20),SPostchar(20),STelchar(20),SIdchar(18))asinsertintoStaffvalues(SNo,SName,SSe*,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)功能:在房屋表中插入新的房屋信息。3.5触发器:触发器1:createtriggerNewReserveHouseonReserveinsteadofinsertasifnote*ists(select*frominsertewdhereoin(seleoctfromCustomer))print客'户表中没有该客户信息,拒绝插入!'rollbacktransaction功能:保证在预定表中插入新记录时,客户信息必须已经存在于客户表中。触发器2:createtriggerNewBuyHouseonBuyinsteadofinsertasifnote*ists(select*frominsertewdhereoin(seleoctfromCustomer))print客'户表中没有该客户信息,拒绝插入!'rollbacktransaction功能:保证在购置表中插入新记录时,客户信息必须已经存在于客户表中。触发器3:createtriggerDelRonReserveafterdeleteasif((selectHStatefromHousewhereHouse.HNoin(selectHNofro已菠定et^d))='begindeletefromCustomerwhereCustomer.oin(selectofromdeleted)updateHousesetHState待'售'whereHouse.HNoin(selectHNofromdeleted)end功能:删除预定表中*一个预定记录时,如果是因为客服付清未付款,购置了房屋,则只进展原操作;如果是因为客户取消预定,则同时删除客户表中此客户,并将此房屋状态重新改为‘待售’触发器4:createtriggerDelBonBuyafterdeleteasbegindeletefromCustomerwhereCustomer.oin(selectofromdeleted)updateHousesetHState待'售'whereHouse.HNoin(selectHNofromdeleted)end功能:删除购置表中*一个购置记录时,同时删除客户表中此客户,并将此房屋状态重新改为’待售’实例演示:添加数据:用InsertCustome存储过程在Customer表填入数据:用InsertSta存储过程在Staf|^填入数据:用InsertHous存储过程在InsertHous表填入数据:预定和购置房屋:用ReserveHouse存储过程添加预定房屋信息:输入参数中没有未付金额RRest,R

温馨提示

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

评论

0/150

提交评论