我的租房网设计与实现代码
《数据库技术与开发》 项目实训设计报告
项目名称:姓 名:专 业:指导教师:完成日期:
1 / 18
《我的租房网》
我的租房网设计与实现代码
内蒙古科技大学信息工程学院计算机系
《数据库技术与应用》实验报告
姓名 班级 项目号、实验名称 实 验 要 求 学号 实验日期 实验成绩 实训项目《我的租房网》 1、完成实训项目《我的租房网》并完成实训一到实训4中的上机实践内容 2、按照项目实训报告相关要求,提交一份电子版项目实训报告 1、实训一:建立数据库结构 (1) 创建数据库House 使用SSMS向导创建数据库House 实 验 内 容 (2) 建立5张数据表 --创建客户信息表sys_user create table sys_user ( --客户编号,主键标识列 UserId int identity(1,1) primary key, --客户姓名,非空 UserName varchar(50) not null, --客户密码,至少6个字符 UserPwd varchar(50) constraint ck_UserPwd check(len(UserPwd)>=6) ) --创建区县信息表hos_district use House go create table hos_district ( --区县编号,主键,标识列从1开始,递增值为1 DId int identity(1,1) primary key, --区县名称,非空 DName varchar(50) not null ) --创建街道信息表hos_street use House go create table hos_street 2 / 18
我的租房网设计与实现代码
(
--街道编号,主键,标识列从1开始,递增值为1 StreetId int identity(1,1) primary key, --街道名称,非空
SName varchar(50) not null,
--区县编号,表hos_district的外键
SDId int constraint fk_SDId foreign key(SDId) references hos_district(DId) )
--创建房屋信息表hos_type use House go
create table hos_type (
--房屋类型编号,主键,标识列从1开始,递增值为1 HTId int identity(1,1) primary key, --房屋类型名称,非空
HTName varchar(50) not null )
--创建出租房屋信息表hos_house use House go
create table hos_house (
--出租房屋编号,主键,标识列从1开始,递增值为1 HMID int identity(1,1) primary key, --客户编号,非空,外键
UserId int not null constraint fk_UserId foreign key(UserId) references sys_user(UserId), --街道编号,非空,外键
StreetID int not null constraint fk_StreetID foreign key(StreetID) references hos_street(StreetID), --房屋类型编号,非空,外键
HTId int not null constraint fk_HTId foreign key(HTId) references hos_type(HTId),
--月租金,非空,默认值为0,要求大于等于0
Price decimal(6,2) not null default(0) constraint ck_Price check(Price>=0) , --标题,非空
Topic varchar(50) not null, --描述,非空
Contents varchar(100) not null,
--发布时间,非空,默认值为当前日期,要求不大于当前日期
HTime datetime not null default(getdate()) constraint ck_HTime check(HTime<=getdate()), --备注
Copy varchar(80) )
3 / 18
我的租房网设计与实现代码
(3) 添加外键约束
--给客户信息表中的UserName创建非聚集索引
create unique nonclustered index Idx_userName on sys_user(UserName) with
fillfactor=10;
--给区县信息表中的DName创建非聚集索引
create unique nonclustered index Idx_dName on hos_district(DName) with
fillfactor=10;
--给街道信息表中的SName创建非聚集索引
create unique nonclustered index Idx_sName on hos_street(SName) with
fillfactor=10;
--给房屋信息表中的HTName创建非聚集索引
create unique nonclustered index Idx_htName on hos_type(HTName) with
fillfactor=10;
分析过程:给客户信息表、区县信息表、街道信息表、房屋信息表中添加非聚集索引来提高查询的速度,对经常使用的UserName、DName、SName、HTName进行查询优化
2、实训二:添加测试数据
(1) 主表添加测试数据
--向客户信息表sys_user添加多条条测试数据 insert into sys_user
values('王雪丽','100000'), ('严德赛','100001'), ('王生高','100002'), ('崔晓宇','100003'), ('卢一帆','100004'), ('张英武','100005'), ('安鹏','100006'), ('胖哥','100007'), ('程峰','100008'), ('马云','100009'), ('王铮','100010'), ('刘强东','100011'), ('雷舒然','100012'), ('成龙','100013'), ('武则天','100014'), ('焦旭鹏','100015'), ('郑利泽','100016'), ('罗阳光','100017'),
4 / 18
我的租房网设计与实现代码
('邱国龙','100018'), ('李小龙','100019')
--向区县信息表中添加多条记录 insert into hos_district values('洪山区'), ('武昌区'), ('青山区'), ('江汉区'), ('硚口区')
--向街道信息表中添加多条记录 insert into hos_street values('街道口','1'), ('卓刀泉','1'), ('广埠屯','1'), ('石牌岭','1'), ('积玉桥','2'), ('杨家园','2'), ('水果湖','2'), ('黄鹤楼','2'), ('红卫路','3'), ('新沟桥','3'), ('冶金街','3'), ('厂前街道','3'), ('吴家山','4'), ('北湖街','4'), ('满春街','4'), ('新华街','4'), ('六角亭','5'), ('汉正街','5'), ('汉中街','5'), ('长风街','5')
--向房屋信息表中添加多条记录 insert into hos_type values('两室一厅'), ('两室两厅'), ('一室一厅'), ('三室两厅'), ('四室两厅'), ('五室两厅') --建立三张临时表 create table ##topic (
Topic varchar(50) not null, )
create table ##contents
5 / 18