02-客房预订系统数据库-用户和客房预订数据操作

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='李扬')
上一篇:j2


下一篇:NOIP-2012-J1-真题解析