实验三数据管理操作.docx

上传人:b****6 文档编号:8028829 上传时间:2023-05-12 格式:DOCX 页数:9 大小:334.04KB
下载 相关 举报
实验三数据管理操作.docx_第1页
第1页 / 共9页
实验三数据管理操作.docx_第2页
第2页 / 共9页
实验三数据管理操作.docx_第3页
第3页 / 共9页
实验三数据管理操作.docx_第4页
第4页 / 共9页
实验三数据管理操作.docx_第5页
第5页 / 共9页
实验三数据管理操作.docx_第6页
第6页 / 共9页
实验三数据管理操作.docx_第7页
第7页 / 共9页
实验三数据管理操作.docx_第8页
第8页 / 共9页
实验三数据管理操作.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验三数据管理操作.docx

《实验三数据管理操作.docx》由会员分享,可在线阅读,更多相关《实验三数据管理操作.docx(9页珍藏版)》请在冰点文库上搜索。

实验三数据管理操作.docx

实验三数据管理操作

实验三数据管理操作

一、实验目的

1.熟悉大型数据库实验环境,以MSSQLSERVER为例。

2.掌握DDL语句,使用DDL语句完成数据表的创建。

3.掌握DML语句,使用DML语句完成数据的插入、修改和删除

4.掌握MSSQLSERVER的备份和还原

5.掌握MSSQLSERVER的权限分配

二、实验内容

(1)用DDL(数据定义语句中的Createdatabase)创建一个新数据库FlightDB,数据库文件的设置都可以使用默认值。

usemaster;

go

ifDB_ID(N'FlightDB')isnotnull

dropdatabasemytest;

go

createdatabasemytest;

go

--Verifythedatabasefilesandsizes

selectname,size,size*1.0/128as[sizeinMBs]

fromsys.master_files

wherename=N'FlightDB';

go

 

(2)用DDL(数据定义语句中的CreateTable)创建三张表

1.航班表(hbb)包括如下字段:

航班号(hbh):

字符型,6位定长,主码,以CZ、CA、FM开头

始发地(sfd):

字符型,可变长统一编码字符型20位长,非空

目的地(mdd):

字符型,可变长统一编码字符型20位长,非空

原价(YJ):

整型,非空,必须>=0

createtablehbb

(hbhchar(6)primarykey,

sfdvarchar(20)notnull,

mddvarchar(20)notnull,

YJintcheck(YJ>0)notnull);

2.乘客表(Ckb)包括如下字段:

身份证号(sfzh):

字符型,20位变长字符串,主码

姓名(xm):

可变长统一编码字符型,10位长

createtableCkb

(sfzhvarchar(20)primarykey,

xmvarchar(10));

3.售票表(spb)包括如下字段:

航班号(hbh):

主码

身份证号(sfzh):

主码

起飞日期(qfrq):

日期时间型,非空

售票日期(sprq):

日期时间型,非空,默认值为当前时间

实价(sj):

整型,非空

其中:

航班号为引用航班表的外码,身份证号为引用乘客表的外码。

createtablespb

(hbhchar(6),

sfzhvarchar(20),

qfrqdatetimenotnull,

sprqdatetimedefaultgetdate()notnull,

sjintnotnull

primarykey(hbh,sfzh)

);

altertablespb

addconstraintfk_spb_hbbforeignkey(hbh)referenceshbb(hbh)

altertablespb

addconstraintfk_spb_Ckbforeignkey(sfzh)referencesCkb(sfzh)

 

(3)用DML(数据操纵语句中的Insert)在hbb表中插入如下数据

CZ1301,北京,上海,1200

CZ1209,南京,昆明,1300

CZ1502,上海,北京,120 0

CA1130,成都,北京,1800

CA1230,拉萨,广州,1500

CA1401,广州,南京,1600

insert

intohbb(hbh,sfd,mdd,YJ)

values

('CZ1301','北京','上海',1200),

('CZ1209','南京','昆明',1300),

('CZ1502','上海','北京',1200),

('CA1130','成都','北京',1800),

('CA1230','拉萨','广州',1500),

('CA1401','广州','南京',1600);

 

(4)对数据库进行一次完整备份,备份名为BackupFull

(5)用DML(数据操纵语句中的Insert)在乘客表和售票表中插入如下数据

代码

乘客

91201

王曼

91202

张飞

91203

刘羽蕴

91204

王若雨

91205

张蕊

insert

intoCkb(sfzh,xm)

values

('91201','王曼'),

('91202','张飞'),

('91203','刘羽蕴'),

('91204','王若雨'),

('91205','张蕊'

航班号

乘客

起飞

售票

实价

CZ1301

91201

2001-12-20

2001-11-20

900

CZ1209

91202

2001-12-20

2001-11-20

800

CZ1502

91201

2002-5-8

2002-5-2

1000

CA1230

91201

2001-12-5

2001-12-4

1100

CA1401

91202

2002-4-5

2002-4-4

1200

CZ1301

91203

2001-12-20

2001-11-20

900

CZ1209

91204

2001-12-20

2001-11-20

800

CZ1502

91205

2002-5-8

2002-5-2

1000

insert

intohbb(hbh,sfzh,qfrq,sprq,sj)

values

('CZ1301','91201','2001-12-20','2001-11-20',900),

('CZ1209','91202','2001-12-20','2001-11-20',800),

('CZ1502','91201','2002-5-8','2002-5-2',1000),

('CA1230','91201','2001-12-5','2001-12-4',1100),

('CA1401','91202','2002-4-5','2002-4-4',1200),

('CZ1301','91203','2001-12-20','2001-11-20',900),

('CZ1209','91204','2001-12-20','2001-11-20',800),

('CZ1502','91205','2002-5-8','2002-5-2',1000);

 

(6)对数据库进行一次差异备份,备份名为BackupAdd1

(7)用DML(数据操纵语句中的Update)将所有目的地是北京的航班的原价提高10%

updatehbb

setYJ=(1+0.1)*YJ

wheremdd='北京';

 

(8)用DML(数据操纵语句中的Delete)将“张飞”乘客删除,注意同时删除售票记录和乘客基本信息。

deleteCkb

wherexm='张飞';

(9)尝试使用MSSQLServer的还原功能,还原到上一次差异备份的BackupAdd1处。

(10)在SQLServer中创建一个用户FlightUser,设置FlightUser用户对三张表都有查询权,但是该用户不能对乘客表和航班表进行增加、删除和修改记录,该用户对售票表能增加、删除和修改记录。

然后用FlightUser登陆SQLServer,对如上权限设置进行验证。

grantselect

ontableCkb,hbb,spb

toFlightUser;

grantupdate,delete,insert

ontablespb

toFlightUser;

revokeinsert,delete,update

ontableCkb,hbb

toFlightUser;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2