课程设计报告(2012--2013年度第一学期)实验名称:数据库应用课程设计题目:房屋销售管理系统院系:控制与计算机工程学院班级:软件1002学号:1101250220学生姓名:汪豪指导教师:周长玉设计周数:一周成绩:日期:2013年1月18日课程设计报告1一、课程设计的目的与要求目的1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,对数据库做进一步的了解,掌握相关知识;2.进一步加强对数据库运用能力和熟练掌握数据库中的重要知识,了解如何从数据库中读写有关数据;3.培养分析问题、解决问题的能力。要求1.完成数据库系统的安装与设置。2.根据具体的课题完成需求分析。3.完成数据库应用系统的逻辑设计。4.创建数据库、数据表。5.完成设计报告。二、设计正文1.需求分析1.1调查用户需求本系统的最终用户为房屋销售管理人员和销售人员。根据我们日常生活中的经验,结合对部分房屋网站的调研,得出用户的下列实际要求:1.1.1基本功能需求顾客购买或预定房屋,房屋销售人员根据用户的需求为用户办理相关手续。购销管理包含以下几方面的信息。顾客的基本信息顾客在购买或预定房屋的时候,每位用户都有唯一的编号,当然顾客的基本信息如姓名、性别、生日、联系方式、身份证号也要包含在顾客的基本信息之中。销售人员的基本信息每位员工在入职的时候有唯一的员工编号,根据分工的不同,还有工作部门及职位这个属性。当然还有姓名、性别、联系方式、生日、身份证号这些基本属性。房屋的基本信息每个房屋有唯一的房屋编号,基本信息包含房屋的面积、栋、楼、号、价格基础属性。预定的基本信息顾客可以进行房屋的预定,预定包括流水号,顾客编号,销售人员编号,房屋编号,预定金额,预定时间。购买的基本信息顾客可以购买房屋,购买包括流水号,顾客编号,销售人员编号,房屋编号,付款金额,购买时间。课程设计报告21.1.2用户对系统的要求房屋销售管理人员a.信息要求房屋销售管理人员能查询上面提到的顾客、销售人员、房屋的所有相关信息,包括预定房屋的基本信息,购买房屋的基本信息。以利于对整个销售楼盘的全面管理。b.处理要求当顾客的信息发生变化时,房屋销售管理人员能对其进行修改。比如,某些顾客在预定后再购买房屋,他们的购买/预定标识符要改变,或顾客更换手机号,他们记录中联系方式也要改变等等。当房屋的信息放生变化时,房屋销售管理人员能对其进行修改。比如,房屋降价,房屋销售管理人员能对价格进行修改。当销售人员的信息放生变化时,如升职,房屋销售管理人员能对其进行修改。c.安全性与完整性要求安全性要求系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;系统应对不同用户设置不同的权限,区分不同的用户,如区分房屋销售人员和房屋销售管理人员。完整性要求各种信息记录的完整性,信息记录内容不能为空;各种数据间相互的联系的正确性;相同的数据在不同记录中的一致性。房屋销售人员a.信息要求本楼盘的房屋销售人员能所有楼盘的信息,能查询顾客的基本信息查询、修改他们的信息。能查询自己的销售记录。能够进行预定、购买操作。b.处理要求当顾客的信息发生变化时,房屋销售人员能对其进行修改。比如,某些顾客在预定后再购买房屋,他们的购买/预定标识符要改变,或顾客更换手机号,他们记录中联系方式也要改变等等。顾客购买/预定房屋时,销售人员能对房屋属性中的房屋是否预定/购买进行修改。顾客购买/预定房屋时,销售人员能进行购买/预定的操作。课程设计报告31.2系统功能的设计和划分根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几部分:第一部分:销售人员管理部分第二部分:管理员管理部分各部分完成的功能如下:1.2.1销售人员管理部分处理顾客登记用户可以查询顾客信息。用户可以查询房屋信息。用户可以提交房屋销售/预定的信息。用户可以修改用户自己密码。1.2.2管理员管理部分处理管理员登录管理员可以查询销售人员、顾客信息。管理员可以修改、查询房屋信息。管理员可以修改管理员密码。1.3数据流图预定分数据流图房屋信息符合条件的房屋信息查询房屋预定销售人员销售人员查询挑选顾客挑选预定信息预定信息课程设计报告4购买分数据流图房屋信息符合条件的房屋信息查询房屋购买销售人员销售人员查询挑选顾客挑选购买信息购买信息总数据流图课程设计报告51.4数据字典14.1数据项顾客数据字典:属性名类型长度取值范围取值含义客户号Snochar20非空Shopper编号姓名Snamechar20非空Shopper姓名性别Ssexchar4‘男’或‘女’Shopper性别联系方式Stelchar11非空Shopper联系方式生日Sbirthdate8非空Shopper生日身份证号Sidchar18非空Shopper身份证号销售人员字典:属性名类型长度取值范围取值含义员工号Wnochar20非空员工编号姓名Wnamechar20非空员工姓名性别WSexchar4‘男’或‘女’员工性别职位Wpostchar20非空相应的职位联系方式Wtelchar11非空手机号或电话号生日Wbirthdate8非空员工生日身份证号Widchar18非空员工身份证号房屋字典:属性名类型长度取值范围取值含义房屋号HnoInt4非空房屋编号栋HaInt3非空栋楼HbInt3非空楼号HcChar5非空号面积HsizeInt4大于零面积价格HpriceInt9大于零价格课程设计报告6预定房屋数据字典:属性名类型长度取值范围取值含义流水号Pnochar20非空预定房屋流水号顾客编号Snochar20非空预定房屋顾客编号员工编号CnoChar20非空预定房屋员工编号房屋编号HnoInt4非空预定房屋编号预付金额PrmbInt9大于零预付金额预定时间PdataData8非空预定房屋的时间购买房屋数据字典:属性名类型长度取值范围取值含义流水号Bnochar20非空购买房屋流水号顾客编号Snochar20非空购买房屋顾客编号员工编号CnoChar20非空购买房屋员工编号房屋编号HnoInt4非空购买房屋编号金额BrmbInt9大于零付款金额购买时间BdataData8大于零购买房屋的时间1.4.2数据结构数据结构名组成用户信息用户ID,用户密码,用户类型(销售管理人员,销售人员)顾客编号、姓名、性别、生日、联系方式、身份证号销售人员编号、姓名、性别、联系方式、生日、身份证号房屋编号、面积、栋、楼、号、价格预定房屋信息流水号、顾客编号、销售人员编号、房屋编号、预定金额、预定时间购买房屋信息流水号、顾客编号、销售人员编号、房屋编号、付款金额、付款时间课程设计报告71.4.3数据流数据流名数据流来源数据流去向组成查询销售人员房屋信息要求的房屋条件符合条件的房屋信息房屋信息销售人员符合条件的房屋购买信息销售人员房屋信息要购买的房屋信息预定信息销售人员房屋信息要预定的房屋信息课程设计报告81.4.4数据存储数据存储名输入的数据流输出的数据流组成房屋信息预定信息购买信息符合条件的房屋信息预定房屋信息购买房屋信息未预定、未购买房屋信息1.4.5处理过程处理过程名输入数据流输出数据流查询房屋条件符合条件的房屋信息购买购买房屋信息预定预定房屋信息课程设计报告92.概念设计根据需求分析说明书设计ER图,设计完成的ER图为:3.逻辑设计3.1关系表设计将ER图转换为关系模式、要求设计出数据库所有关系表表3.1顾客(SHOPPER)属性中文名称属性名类型长度完整性约束客户号Snochar20主键姓名Snamechar20不能为空性别Ssexchar4为‘男’或‘女’联系方式Stelchar11不能为空生日Sbirthdate8年四位月两位日两位身份证号Sidchar1818位数字课程设计报告10表3.2销售人员(WORKER)属性中文名称属性名类型长度完整性约束员工号Wnochar20主键姓名Wnamechar20不能为空性别WSexchar4为‘男’或‘女’职位Wpostchar20规定值联系方式Wtelchar11不能为空生日Wbirthdate8年四位、月两位、日两位身份证号Widchar18十八位数字表3.3房屋(HOUSE)属性中文名属性名类型长度完整性约束房屋号HnoInt4主键栋HaInt3三位数字楼HbInt3三位数字号HcChar5五位数字面积HsizeInt4四位数字价格HpriceInt9九位数字表3.4预定房屋信息(PREVIEWBUY)属性中文名属性名类型长度完整性约束流水号Pnochar20主键顾客编号Snochar20非空员工编号CnoChar20非空房屋编号HnoInt4预定房屋编号预付金额PrmbInt9大于零预定时间PdataData8年四位、月两位、日两位课程设计报告11表3.5购买房屋信息(BUY)属性中文名属性名类型长度完整性约束流水号Bnochar20主键顾客编号Snochar20非空员工编号CnoChar20非空房屋编号HnoInt4购买房屋编号金额BrmbInt9大于零购买时间BdataData8年四位、月两位、日两位以上关系模式均为BCNF。3.2视图设计为了方便程序查询,建立了如下用户视图:顾客信息视图(编号、姓名、性别、生日、联系方式、身份证号)CREATEVIEWRS(Sno,Sname,Ssex,Sdata,Stel,Sid)ASSELECTSno,Sname,Ssex,Sdata,Stel,SidFROMSHOPPER课程设计报告12员工信息视图(编号、姓名、性别、联系方式、生日、身份证号)CREATEVIEWRW(Wno,Wname,Wsex,Wtel,Wdata,Wid)ASSELECTWno,Wname,Wsex,Wtel,Wdata,WidFROMWORKER预定信息视图(流水号、顾客编号、顾客姓名、顾客联系方式、员工编号、员工姓名、员工联系方式、房屋编号、栋、楼、号、面积、价格、预定价格、预定时间)CREATEVIEWRP(Pno,Sno,Sname,Stel,Wno,Wname,Wtel,Hno,Ha,Hb,Hc,Hsize,Hprice,Prmb,Pdata)ASSELECTPno,Sno,Sname,Stel,Wno,Wname,Wtel,Hno,Ha,Hb,Hc,Hsize,Hprice,Prmb,PdataFROMSHOPPER,WORKER,PREVIEWBUY,HOUSEWHEREPREVIEBUY.Sno=SHOPPER.SnoandPREVIEBUY.Wno=WORKER.WnoandPREVIEBUY.Hno=HOUSE.Hno课程设计报告13购买信息视图(流水号、顾客编号、顾客姓名、顾客联系方式、员工编号、员工姓名、员工联系方式、房屋编号、栋、楼、号、面积、价格、预定价格、预定时间)CREATEVIEWRB(Bno,Sno,Sname,Stel,Wno,Wname,Wtel,Hno,Ha,Hb,Hc,Hsize,Hprice,Brmb,Bdata)ASSELECTBno,Sno,Sname,Stel,Wno,Wname,Wtel,Hno,Ha,Hb,Hc,Hsize,Hprice,Brmb,BdataFROMSHOPPER,WORKER,BUY,HOUSEWHEREBUY.Sno=SHOPPER.SnoandBUY.Wno=WORKER.WnoandBUY.Hno=HOUSE.Hno4.物理设计1、系统自动在每个表的主码上建立索引。2、在SHOPPER表SNAME列上建立SOP_SNAME索引,因为查询操作很多都使通过顾客姓名进行的。3、在HOUSE表Ha,Hb,Hc列上建立HOU_PLACE,因为查询操作很多都事通过房屋地理位置进行的。三、课程设计总结或结论通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数