版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库实验报告三数据库的安全性和完整性宋世波 | 计算机1406班 学号:20143753 | 2017/5/15实验题目:数据库的安全性和完整性实验内容及要求:一 熟练掌握SQL(续)1. 修改表Students,在其中加入一个字段性别sex char(1)2. 创建索引:在Students表的Sno上创建唯一聚簇索引, 在SC表的(Sno, Cno)上创建唯一索引. 查询Students表的内容, 记录的顺序有变化吗? 查询SC表的内容, 记录的顺序有变化吗?3. 创建视图§ 创建计算机系学生视图CS_Students,其中包括学号、年龄和性别。带with check opiti
2、on子句不带with check opition子句时各插入一计算机系学生记录, 通过视图查询插入的记录,结果如何?通过表Students查询插入的记录,查看所在系字段上的值?§ 创建一视图,表示学生的平均成绩,其中包括Sno,avgGrade。通过该视图插入一学生姓名和平均成绩,结果如何?通过该视图查找平均成绩在90分以上的学生的学号和平均成绩,结果又如何?二 了解和使用安全子系统1、将sql server的一合法帐户(user60)加入到你的数据库当中来,并给其授权,使之:具有创建表的权限具有对Students表查询的权限具有对Studetns表的年龄字段修改的权限2、用user
3、60/user60进入系统,完成权限验证:创建表dept(sd,mn,addr)创建视图s_view(Sno,Sage)在Students表上,实现select * from Students在course表上,实现select * from courseupdate Studetns set Sage=Sage+1update Students set Sdept=CS3、你是数据库的dbo,你来查看dept表,结果如何?使用set user命令使自己成为user60后,查看dept表,结果如何?三 完整性定义和检查1、创建表Studetns,要求学生的年龄在16和25岁之间,并且所在系的缺
4、省取值为CS在Studetns表上插入一学生记录(9921,cccc,MA,23,f)在Studetns表上插入一学生记录(9922,ddd,MA,27,m)在Studetns表上插入一学生记录(9923,eeeee,21,m)在Studetns表上插入一学生记录(9922,ddd,MA,23,m)2、创建表course,要求课号作为主键在course表上插入一课程记录(c9,40,cname1,1)在course表上插入一课程记录(c9,40,cname2,1)在course表上插入一课程记录(null,25,canme3,2)结果如何?3、修改表Studetns,指定学号为主键,然后插入一
5、记录(9908,shang,CI,20)插入一记录(9908,shang,CI,20)插入一记录(,liang,CS,18)插入一记录(,an,CS,19)结果如何?3、创建sc表,要求表sc中的学号参照表Studetns中的学号,sc中的课号参照course中的课号。参照约束创建完成后,向这三个表插入数据。先在sc表插入一个选课记录,看看有什么情况发生?先删除sc中的某个记录,看看有什么情况发生?将Studetns表中的学号9906改为9907,看看有什么情况发生?实验过程:一 熟练掌握SQL(续)1. 修改表Students,在其中加入一个字段性别sex char(1)alter
6、;table Students add sex char(1); 2. 创建索引:在Students表的Sno上创建唯一聚簇索引, 在SC表的(Sno, Cno)上创建唯一索引. 查询Students表的内容, 记录的顺序有变化吗? 查询SC表的内容, 记录的顺序有变化吗?Create unique clustered index Student_sno on Students(Sno); Create unique index Sno_cno&
7、#160;on SC(Sno,Cno); Students表的内容, 记录的顺序有变化SC表的内容, 记录的顺序没有变化 3.创建视图§ 创建计算机系学生视图CS_Students,其中包括学号、年龄和性别。带with check opition子句不带with check opition子句时各插入一计算机系学生记录, 通过视图查询插入的记录,结果如何?通过表Students查询插入的记录,查看所在系字段上的值?create view CS_students1 as select Sno,Sage,sex from Students where Sdept=
8、39;CS' with check optionINSERT INTO CS_students1VALUES('20133333',19,'m');带with check opition子句的情况下插入失败create view CS_students2 as select Sno,Sage,sex from Students where Sdept='CS'§ 创建一视图,表示学生的平均成绩,其中包括Sno,avgGrade。通过该视图插入一学生姓名和平均成绩,结果如何?通过该视图查找平均成绩在90分以上的学生的学号和平均成绩
9、,结果又如何?create view Stuavggrade(sno,avggrade)as select Sno,avg(Grade)from SC group by SC.snoInsert into Stuavggradevalues('20143333',88)插入有错误,因为有聚簇索引存在select sno,avggradefrom Stuavggradewhere avggrade>=90二 了解和使用安全子系统1、将sql server的一合法帐户(user60)加入到你的数据库当中来,并给其授权,使之:1.具有创建表的权限2.具有对Students表查询
10、的权限3.具有对Studetns表的年龄字段修改的权限SP_grantdbaccess 'user63'grant Create table to user63;grant update(Sage) on Students to user63;命令成功执行。2、用user60/user60进入系统,完成权限验证:创建表dept(sd,mn,addr)创建视图s_view(Sno,Sage)在Students表上,实现select * from Studentsselect * from dbo.Students在course表上,实现select * from coursese
11、lect * from dbo.Coursesupdate Studetns set Sage=Sage+1update dbo.Students set Sage=Sage+1select Sage from dbo.Studentsupdate Students set Sdept=CSupdate dbo.Students set Sdept='CS'select * from dbo.Students3、你是数据库的dbo,你来查看dept表,结果如何?使用set user命令使自己成为user60后,查看dept表,结果如何?三 完整性定义和检查1、创建表Studet
12、ns,要求学生的年龄在16和25岁之间,并且所在系的缺省取值为CS1.在Studetns表上插入一学生记录(cccc,MA,23,f)2.在Studetns表上插入一学生记录(9922,ddd,MA,27,m)3.在Studetns表上插入一学生记录(9923,eeeee,21,m)4.在Studetns表上插入一学生记录(9922,ddd,MA,23,m)CREATE TABLE Students(Sno CHAR(9) not null,Sname CHAR(20) ,Sdept char(20) default'CS',Sage int check(Sage>=16
13、 and Sage<=25),Ssex char(2);insert into Students(Sno,Sname,Sdept,Sage,Ssex)values('9921','cccc','MA',23,'f');insert into Students(Sno,Sname,Sdept,Sage,Ssex)values('9922','ddd','MA',27,'m');insert into Students(Sno,Sname,Sage,Ssex)val
14、ues('9923','eeeee',21,'m');insert into Students(Sno,Sname,Sdept,Sage,Ssex)values('9922','ddd','MA',23,'m');数据表创建完成,插入数据第二条失败,其余三条均成功。2、创建表course,要求课号作为主键1.在course表上插入一课程记录(c9,40,cname1,1)2.在course表上插入一课程记录(c9,40,cname2,1)3.在course表上插入一课程记(null,
15、25,canme3,2)结果如何?create table course(cno char(10) primary key,ctime char(10),cname char(20),cscore char(10);insert into course(cno,ctime,cname,cscore)values('c9',40,'cname1',1);insert into course(cno,ctime,cname,cscore)values('c9',40,'cname2',1);insert into course(cno
16、,ctime,cname,cscore)values(null,25,'cname3',2);数据表创建成功,插入数据过程中,第一条插入成功,第二条第三条违反主键约束,插入均失败。3、修改表Studetns,指定学号为主键,然后1.插入一记录(9908,shang,CI,20)2.插入一记录(9908,shang,CI,20)3.插入一记录(,liang,CS,18)4.插入一记录(,an,CS,19)结果如何?ALTER TABLE Students ADD CONSTRAINT pk_Sno PRIMARY KEY(Sno)insert into Students(Sno,
17、Sname,Sdept,Sage)values('9908','shang','CI',20);insert into Students(Sno,Sname,Sdept,Sage)values('9908','shang','CI',20);insert into Students(Sno,Sname,Sdept,Sage)values('','liang','CS',18);insert into Students(Sno,Sname,Sdept,Sage)values('','an','CS',19);数据表修改主键成功,插入数据过程中,第一条第三条数据插入成功,另外两条违反主键约束,插入失败。4、创建sc表,要求表sc中的学号参照表Studetns中的学号,sc中的课号参照course中的课号。参照约束创建完成后,向这三个表插入数据。create table SC(Sno char(9),Cno char(10),Grade int,foreign key(Sno) references Students(Sno),foreign key(Cno) references cour
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【初中语文】期中学情评估题+2024-2025学年统编版语文七年级上册
- 浙江省杭州2023-2024学年九年级上学期期中阶段性检测语文试卷
- 淮阴工学院《化工原理3》2021-2022学年第一学期期末试卷
- 高纯铟及氧化铟相关行业投资规划报告范本
- 毛皮服装及其附件相关行业投资方案
- 2024年双边劳动合同-专业技能与服务协议
- 2024年劳动力派遣合同模板
- 2024年城市安全监控施工合同
- 2024年剪辑师岗位合作备忘录
- 2024年大型活动文具赞助合同
- 赛事承办服务投标方案(技术方案)
- 概率论(华南农业大学)智慧树知到课后章节答案2023年下华南农业大学
- 上海中考英语专项练习-动词的时态-练习卷一和参考答案
- GB 4806.7-2023食品安全国家标准食品接触用塑料材料及制品
- 我们的出行方式 (教学设计)2022-2023学年综合实践活动四年级上册 全国通用
- GB/T 16739.2-2023汽车维修业经营业务条件第2部分:汽车综合小修及专项维修业户
- 七年级数学上册《第二章 整式的加减》单元测试卷含答案人教版
- 第三章农业遥感技术与应用课件
- 产品安全技术说明书MSDS
- 合理用药健康教育教学课件
- 中医教材(第五版)
评论
0/150
提交评论