1、源代码:/*创建数据库FlightDB,文件参数使用默认值*/create database FlightDB on primary ( name=Data, filename=D:SQLData.mdf )log on(Data_logSQLData_log.log)(2)用DDL(数据定义语句中的Create Table)创建三表1航班表(hbb)包括如下字段:航班号(hbh):字符型,6位定长,主码,以CZ、CA、FM开头始发地(sfd):字符型,可变长统一编码字符型20位长,非空目的地(mdd):原价(YJ):整型,非空,必须=02乘客表(Ckb)包括如下字段:号(sfzh):字符型,
2、20位变长字符串,主码(xm):可变长统一编码字符型,10位长3售票表(spb)包括如下字段:主码 主码起飞日期(qfrq):日期时间型,非空售票日期(sprq):日期时间型,非空,默认值为当前时间实价(sj):整型,非空其中:航班号为引用航班表的外码,号为引用乘客表的外码。/*建立三个表*/use FlightDBgocreate table hbb(hbh char(6) primary key check(hbh like ca%or hbh likecz%fm%), sfd nvarchar(20) not null, mdd nvarchar(20) not null, yj int
3、 check(yj=0) not nullcreate table ckb(sfzh varchar(20)primary key, xm nvarchar(10)create table spb(hbh char(6) 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
4、, foreign key(sfzh) references ckb(sfzh) on delete cascade(3)用DML(数据操纵语句中的Insert)在hbb表中插入如下数据CZ1301,1200CZ1209,1300CZ1502,1200CA1130,1800CA1230,1500CA1401,1600/*插入数据*/insert into hbbvalues(CZ1301,1200 (CZ12091300CZ1502CA11301800CA12301500CA14011600(4)对数据库进行一次完整备份,备份名为BackupFull(5)用DML(数据操纵语句中的Insert
5、)在乘客表和售票表中插入如下数据代码乘客91201王曼91202飞91203羽蕴91204王若雨91205蕊航班号起飞售票实价CZ13012001-12-202001-11-20900CZ1209800CZ15022002-5-82002-5-21000CA12302001-12-52001-12-41100CA14012002-4-52002-4-41200insert into ckb91201, 王曼(91202飞91203羽蕴91204王若雨91205蕊insert into spb2001-12-202001-11-209008002002-5-82002-5-210002001-1
6、2-52001-12-411002002-4-52002-4-4(6)对数据库进行一次差异备份,备份名为BackupAdd1(7)用DML(数据操纵语句中的Update)将所有目的地是的航班的原价提高10%update hbb set yj=1.1*yjwhere mdd=改动前:改动后:(8)用DML(数据操纵语句中的Delete)将“飞”乘客删除,注意同时删除售票记录和乘客基本信息。deletefrom ckbwhere ckb.sfzh = all(select sfzh from spb where spb.hbh= all(select hbh from hbb) and xm=改动
7、前:(9)尝试使用MS SQL Server的还原功能,还原到上一次差异备份的BackupAdd1处。(10)在SQL Server中创建一个用户FlightUser。设置FlightUser用户对三表都有查询权,但是该用户不能对乘客表和航班表进行增加、删除和修改记录,该用户对售票表能增加、删除和修改记录。然后用FlightUser登陆SQL Server,对如上权限设置进行验证。exec sp_addlogin FlightUser123FlightDBgrant insert,select,update,delete on spb to publicgrant select on hbb to publicgrant select on ckb to public运行select * from ckbselect * from hbbselect * from spbupdate ckbset sfzh=91207where xm=
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1