数据库实验3实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南大学
数据库原理
实验三
实验报告
学生姓名
学号
专业班级
指导教师周芳芳
学院信息科学与工程学院
完成时间2015年5月
目录
一、实验目的 (2)
二、实验容 (3)
(1)用DDL(数据定义语句中的Create database)创建一
个新数据库FlightDB,数据库文件的设置都可以使用默认
值。 (3)
(2)用DDL(数据定义语句中的Create Table)创建三表3
(3)用DML(数据操纵语句中的Insert)在hbb表中插入
如下数据 (5)
(4)对数据库进行一次完整备份,备份名为BackupFull . 6
(5)用DML(数据操纵语句中的Insert)在乘客表和售票
表中插入如下数据 (7)
(6)对数据库进行一次差异备份,备份名为BackupAdd1 . 9
(7)用DML(数据操纵语句中的Update)将所有目的地是
的航班的原价提高10% (9)
(8)用DML(数据操纵语句中的Delete)将“飞”乘客删
除,注意同时删除售票记录和乘客基本信息。 (10)
(9)尝试使用MS SQL Server的还原功能,还原到上一次
差异备份的BackupAdd1处。 (12)
(10)在SQL Server中创建一个用户FlightUser。 (12)
一、实验目的
1.熟悉大型数据库实验环境,以MS SQL SERVER为例。
2.掌握DDL语句,使用DDL语句完成数据表的创建。
3.掌握DML语句,使用DML语句完成数据的插入、修改和删除
4.掌握MS SQL SERVER的备份和还原
5.掌握MS SQL SERVER的权限分配
二、实验容
(1)用DDL(数据定义语句中的Create database)创建一个新数据库FlightDB,数据库文件的设置都可以使用默认值。源代码:
/*创建数据库FlightDB,文件参数使用默认值*/
create database FlightDB
on primary
(
name='Data',
filename='D:\SQL\Data.mdf'
)
log on
(
name='Data_log',
filename='D:\SQL\Data_log.log'
)
(2)用DDL(数据定义语句中的Create Table)创建三表
1.航班表(hbb)包括如下字段:
航班号(hbh):字符型,6位定长,主码,以CZ、CA、FM开头
始发地(sfd):字符型,可变长统一编码字符型20位长,非空
目的地(mdd):字符型,可变长统一编码字符型20位长,非空
原价(YJ):整型,非空,必须>=0
2.乘客表(Ckb)包括如下字段:
号(sfzh):字符型,20位变长字符串,主码
(xm):可变长统一编码字符型,10位长
3.售票表(spb)包括如下字段:
航班号(hbh):主码
号(sfzh):主码
起飞日期(qfrq):日期时间型,非空
售票日期(sprq):日期时间型,非空,默认值为当前时间实价(sj):整型,非空
其中:航班号为引用航班表的外码,号为引用乘客表的外码。源代码:
/*建立三个表*/
use FlightDB
go
create table hbb
(hbh char(6)primary key
check(hbh like'ca%'or hbh like'cz%'or hbh like'fm%'),
sfd nvarchar(20)not null,
mdd nvarchar(20)not null,
yj int check(yj>=0)not null
)
create table ckb
(sfzh varchar(20)primary key,
xm nvarchar(10)
)
create table spb
(hbh char(6)
check(hbh like'ca%'or hbh like'cz%'or hbh like'fm%'),
sfzh varchar(20),
qfrq smalldatetime not null,
sprq smalldatetime default getdate()not null,
sj int not null,
primary key(hbh,sfzh),
foreign key(hbh)references hbb(hbh)
on delete cascade,
foreign key(sfzh)references ckb(sfzh)
on delete cascade
)
(3)用DML(数据操纵语句中的Insert)在hbb表中插入如下数据
CZ1301,,,1200
CZ1209,,,1300
CZ1502,,,1200
CA1130,,,1800
CA1230,,,1500
CA1401,,,1600
源代码:
/*插入数据*/
insert into hbb
values('CZ1301','','','1200'),
('CZ1209','','','1300'),
('CZ1502','','','1200'),
('CA1130','','','1800'),
('CA1230','','','1500'),
('CA1401','','','1600')