租房网设计与实现详解.docx
数据库技术与开发项目实训设计汇报项目名称:我的租房网姓名:专业:指导教师:完毕日期:内蒙古科技大学信息工程学院计算机系数据库技术与应用试验汇报姓名学号试验成绩班级试验日期项目号、试验名称实训项目我的租房网实验要求1、完毕实训项目我的租房网并完毕实训一到实训I4中的上机实践内容2、按照项目实训汇报有关规定,提交一份电子版项目实训汇报实验1、实训一:建立数据库构造(1)创立数据库HOUSe内使用SSMS向导创立数据库House容(2)建立5张数据表一创立客户信息表SysUSercreatetablesys_user(一客户编号,.主键标识列UserIdintidentity(1,1)primarykey,一客户姓名,非空UserNamevarchar(50)notnull,一客户密码,至少6个字符UserPwdvarchar(50)constraintck_UserPwdcheck(Ien(UserPwd)>=6)一创立区县信息表hos_districtuseHousegocreatetablehos_district(一区县编号,主键,标识列从1开始,递增值为1Didintidentity(1,1)primarykey,一区县名称,非空DNamevarchar(50)notnull)一创立街道信息表hos_streetuseHousegocreatetablehos_street(一街道编吊,主键,标识列从i开箱,递增值为1StreetIdintidentity(1,1)primarykey,一街道名称,非空SNamevarchar(50)notnull,一区县编号,表hos_district的(外键SDIdintconstraintfk_SDIdforeignkey(SDId)referenceshos_district(Did)一创立房屋信息表hos_typeuseHousegocreatetablehos_type(一房屋类型编号,主键,标识列从1开始,递增值为1HTldintidentity(1,1)Primarykey,一房屋类型名称,非空HTNamevarchar(50)notnull)一创立出租房屋信息表hos_houseuseHousegocreatetablehoshouse(一出租房屋编号,主键,标识列从1开始,递增值为1HMIDintidentity(1,1)primarykey,一客户编号,非空,外键UserIdintnotnullconstraintfk_UserIdforeignkey(UserId)referencessysuser(UserId),一街道编号,非空,外键StreetIDintnotnullconstraintfkStreetJDforeignkey(StreetID)referenceshos_streetXStreetJD),一房屋类型编号,非空,外键HTIdintnotnullconstraintfkHTIdforeignkey(HTId)referenceshos_type(HTId),一月租金,非空;默认值为0,规定不小于等于0Pricedecimal(6,2)notnulldefault(0)constraintckPricecheck(Price>=0),一标题,非空Topicvarchar(50)notnull,-描述,非空Contentsvarchar(100)notnull,后公布时间,非空,默认值为目前日期,规定不不小于目前日HTimedatetimenotnulldefault(getdate()constraintckHTimecheck(HTime<=getdate(),一蓄注Copyvarchar(80)(3)添加外键约束一给客户信息表中的IUSerName创立非汇集索引createuniquenonclusteredindexIdx_userNameonsys_user(UserName)withfilIfactor=IO;一给区县值息表中的DNanIe创立非汇集索引createuniquenonclusteredindexIdx_dNameonhos_district(DName)withfilIfactor=IO;一给街道信息表中的SName创立非汇集索引createuniquenonclusteredindexIdxsNameOnhosstreet(SNalne)withfillfactor=10;一给房屋信息表中的HTNanle创立非汇集索引createuniquenonclusteredindexIdx_htNameonhos_type(HTName)withfillfactor=10;分析过程:给客户信息表、区县信息表、街道信息表、房屋信息表中添加非汇集索引来提高查询的速度,对常常使用的USerName、DName.SName>HTName进行查询优化2、实训二:添加测试数据(1)主表添加测试数据一向客户信息表sys_user添加多条条测试数据insertintosys_uservalues('王雪丽'IoooO0'),('严德赛',T00001'),('王生高100002'),('崔晓宇',T00003'),('卢一帆100004'),('张英武',T00005'),('安鹏','100006'),(胖哥',100007'),(程峰','100008'),('马云','100009'),('王铮',100010'),('刘强东',TOOOll'),('雷舒然','100012'),(成龙','100013'),('武则天',100014'),('焦旭鹏100015'),('郑利泽',100016'),('罗阳光',T00017'),('邱国龙','100018'),C李小龙'100019')-向区县信息表中添加多条记录insertintohos_districtVaIUeS('洪山区'),('武昌区'),('青山区'),('江汉区'),('研口区')112222333 >444455550s,<, >>>,>>>, hIs,解梭解析时管lil,时知舒舒时 to取"埠牌玉家果鹤卫沟金前家湖春华角正中风 inY广石积杨水黄红新冶厂吴北满新六汉汉长一向房屋信息表中添加多条记录insertintohos_typevalues(,两室一厅'),('两室两厅'),一建立三张临时表('三室两厅'),('四室两厅'),('五室两厅')createtabletttttopic(Topicvarchar(50)notnull,)createtableWttcontents(Contentsvarchar(50)notnull,)createtable#COPy(Copyvarchar(50)notnull,)一向三张临时表中插入数据insertinto#topicVaIUeS(东方花园)insertintotttttopicvalues(,金茂东方公寓')insertinto#topicValUeS('世贸大酒店')insertintotttttopicvalues(,民航小区')insertinto#ContentSvalues(,圣新家俱电需)insertinto#COntentSvalues(,简朴蓑修押一付三')insertintoSttcontentsVaIUeS('精装修音出租')insertintottttcontentsvalues(,豪华装修,拎包入住')insertinto#COPyValUeS('环境优雅,学区房')insertinto#COPyvalues(,财物以便')insertinto#CoPyvalu6s('豪华小区,环境优美')insertinto#COPyvaluesC交通便利,配套完善')执行成果:如图1、图2、图3、图4、图5结果J消息UserIdUserNameUserPwd11王雪丽10000022产德赛100OOl33王生高10000244崔晓宇100355卢一帆10000466张英武10000577安曜10000688胖哥100007图1客户信息表1DIdDNamei洪山区24江汉区35新口区43青山区52武昌区图2区县信息表StreetIdSNameSDId1T街道口122卓刀泉133广埠屯144石牌岭155积玉桥266杨家园277水果湖288黄鹤楼2图3街道信息表HTIdHTName12:两室两厅21两室一厅34三室两厅45四室两厅56五室两厅63一室一厅图4房屋信息表二I结果消息Topic1:东方花园2金茂东方公里3世贸大酒店4民航小区Contents1I全新家具电器i2简单装修押一付三3精装修,首出租4豪华装修,拎包Copy1;环境优雅,学区房I2购物方便3豪华小区,环4交通便利,酉匕图5三张临时表(2)添加批量数据declare©begindatetime,enddatetimeset©begin=getdate()一定义局部变量declare©topicvarchar(50)declare©contentsvarchar(50)declare©copyvarchar(50)declare©useridintdeclare©streetidintdeclarehtidintdeclare©pricedecimal(6,2)declarehtimedatetime一向hos_house表中插入IoOOO条数据一使用事物begintransactiondeclareiintseti=0whilei<100begin-对局部霁量进行赋值settopic=(selecttop1*fromtttttopicorderbynewid()set©contents=(selecttop1*fromttttcontentsorderbynewid()set©copy=(selecttop1*from#Cc)Pyorderbynewid()SeIeCttop1uSerid二USeridfromSySUSerOrderbyNEWID()一租金在-4000之间随机产生setprice=1000+cast(3000*RAND()asint)一公营吐哪hti野二规定不不小于目前系统时间,公布时间