02-客房预订系统数据库-用户和客房预订数据操作
文章目录
项目描述
随着网上客房预订的日益普及,政策法规的不断完善,技术水平的不断提高,网上客房预订必将成为商业交易的主要手段之一,本项目主要是对客房预订系统中的用户表、和客房预订表进行相关操作。
客房预订系统的数据库操作要求如下:
1)数据库HotelDB。
2)会员信息表member,表结构如表J2-2-1所示。
表J2-2-1 member表
字段名 | 字段说明 | 数据类型 | 允许为空 | 备注 |
---|---|---|---|---|
ID | 用户ID | 整型 | 否 | 主键,自增(增量为1) |
Username | 用户名 | 字符(20) | 否 | |
Pwd | 密码 | 字符(20) | 否 | |
Linkman | 用户姓名 | 字符(30) | 否 | |
Phone | 电话 | 字符(18) | 否 |
3)客房预定信息表subscription,表结构如表J2-2-2所示。
表J2-2-2 subscription表
字段名 | 字段说明 | 数据类型 | 允许为空 | 备注 |
---|---|---|---|---|
ID | 订单ID | 整型 | 否 | 主键,自增(增量为1) |
M_ID | 订单预定者ID | 整型 | 否 | 外键 |
No | 订单号 | 字符(30) | 否 | |
Room | 预订房号 | 字符(30) | 否 |
4)在两个表之间建立关联,member的ID与subscription的M_ID关联。
5)表member 基础数据如表J2-2-3所示。
表J2-2-3 member表基础数据
ID | Username | Pwd | 用户姓名 | 联系电话 |
---|---|---|---|---|
1 | rena | rena | 黄浩 | 13145687369 |
2 | john | john | 李扬 | 13678903456 |
3 | jack | jack | 张三 | 13324687986 |
(6)表subscription基础数据如表J2-2-4所示。
表J2-2-4 subscription表基础数据
ID | M_ID | No | Room |
---|---|---|---|
1 | 2 | 20100416-232641968 | 301 |
2 | 2 | 20101222-231152203 | 302 |
3 | 1 | 20110222-231152203 | 411 |
(1)任务描述
**任务1:**用SQL语言创建客房预订系统数据库HotelDB
1)判断系统中是否有HotelDB名字的数据库,如果有则删除;如果没有则创建数据库HotelDB。
2)主数据库文件初始值10MB,最大20MB,自动增长。
3)日志文件初始值为5MB,最大为10MB,自动增长。
IF DB_ID('HotelDB') IS NOT NULL DROP DATABASE HotelDB
GO
CREATE DATABASE HotelDB
ON PRIMARY
(
NAME=HotelDB,
FILENAME='E:\xxx\HotelDB.mdf',
SIZE=10MB,
MAXSIZE=20MB
)
LOG ON
(
NAME = HotelDB_log,
FILENAME = 'E:\xxx\HotelDB_log.ldf',
SIZE = 5MB ,
MAXSIZE=10MB
)
GO
**任务2:**用SQL语言创建会员信息表member、客房预定信息表subscription
1)按照提供的表J2-2-1和表J2-2-2结构创建数据库表,并设主键、外键。
create table member
(
ID int not null primary key identity(1,1),
Username char(20) not null,
Pwd char(20) not null,
Linkman char(30) not null,
Phone char(18) not null,
)
create table subscription
(
ID int not null primary key identity(1,1),
M_ID int not null ,
No char(30) not null,
Room char(18) not null,
foreign key (M_id) references member(ID)
)
**任务3:**用SQL语言对会员信息表member、客房预定信息表subscription进行操作
1)根据表表J2-2-3和表表J2-2-4内的数据,把数据添加到会员信息表member、客房预定信息表subscription中。
2)查找“黄浩”客户所订的房间号是多少。
3)把“黄浩”客户所订的房间改为“张三”客户
4)删除“李扬”客户的订单信息。
insert into member values('rena','rena','黄浩','13145687369'),('john','john','李扬','13678903456'),('jack','jack','张三','13324687986')
insert into subscription values('2','20100416-232641968','301'),('2','20101222-231152203','302'),('1','20110222-231152203','411')
select member.Linkman,subscription.Room from subscription,member where member.Linkman='黄浩'and subscription.M_ID = member.ID
update subscription set M_ID = (select member.ID from member where member.Linkman='张三')
where subscription.M_ID=(select member.ID from member where member.Linkman='黄浩')
delete from subscription where subscription.M_ID = (select member.ID from member where member.Linkman='李扬')