实验四数据库更新,视图和数据控制_第1页
实验四数据库更新,视图和数据控制_第2页
实验四数据库更新,视图和数据控制_第3页
实验四数据库更新,视图和数据控制_第4页
实验四数据库更新,视图和数据控制_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嘉应大学计算机学院一、实验目的通过实验,了解数据库更新方法和完整性约束的概念,以及设置和操作视图的方法。了解SQL SERVER数据控制和安全设计的基本方法,以及存储过程的建立和使用方法。二、实验原理1、插入数据INSERTINTO表格名称属性行1 ,属性行2.VALUES(常数1,常数2)。2、修改数据更新表格名称SET行名=表达式,行名=表达式.WHERE条件3.删除数据删除从表名称WHERE条件4.建立视图CREATE VIEW视图名称(行名,(行名).AS子查询WITH CHECK OPTION5.许可证GRANT权限,权限.ON对象类型对象名称目标用户,用户.WITH GRANT O

2、PTION三、实验环境操作系统:Windows Server 2003、Windows 7编译环境: SQL server enterprise manager数据库管理系统:Microsoft SQL Server 2005四、实验阶段和内容(a)数据库更新1.确定school资料库中的表格之间已建立关系,然后使用enterprise manager设定资料库的Diagrams2.从course表格中移除cno=1的记录会产生什么结果?未删除的旧course表的内容为:执行删除操作后,结果为:3.在Diagrams中,编辑course表和sc表之间的关系,然后选择cascade delete

3、 related records执行级联删除之前,三个表之间的关系如下:在SC表的属性关系中,选择级联删除相关记录,如下所示:请看一下三个表之间的关系。2重复操作观察course表和sc表中的更改会产生什么结果?为什么?您将看到cno= 1 1 1 的记录已从Course表和sc表中删除。这是因为Sc表属性设置了级联删除选项。并删除了course表格和sc表格之间的关联4.如何将course表和sc表中的学科课程编号2更改为22?(提示:在Diagrams中,编辑course表和sc表之间的关系,并选择cascade update related fields)观察和记录结果。建立Course

4、表与sc表的关系,然后选择级联更新相关的字段运行Update语句,然后检查以下内容:在SC表格中,(1)将95002学生的成绩减少10%执行操作之前,sc表的内容如下:执行update操作后:(2)把教科编号为3的改为33的话会有什么结果呢?怎么了?执行Update操作后,结果如下:分析:UPDATE语句与FOREIGN KEY约束条件“fk_cno”冲突。此冲突发生在数据库“school”、表“dbo .“Course”,在column Cno上发生。门已关闭。冲突导致不允许更新操作6.(1)在STUDENT表中插入新记录:95006李3南21 IS执行Insert操作。要验证是否将相应的数

5、据正确插入到Student表中,请执行以下操作:(2)在SC表中插入新记录:95008 3 80有什么结果?怎么了?如何执行上述任务?Insert操作的结果如下:原因分析:修改Sc表中的元组是因为修改后的相应元组的cno属性值在course表中找不到单个元组,并且拒绝了该元组,因为其cno属性值相同。修改要完成上述操作,请先修改student表和sc表之间的关系。然后执行插入,并验证sc表格是否正确插入相应的信息。分析:通过编辑Diagrams中student表和sc表之间的关系强制选择外键约束条件否(b)建立新的用户和数据控制管理1.企业管理员- security - logins设置两个新

6、用户:用户名stu1、密码stu1和用户名stu2,以及密码stu2Default database选择school database access的school2.enterprise manager-database-school-property观测结果3.SQL query analyzer-以超级用户身份登录设定预存程序SP1设定预存程序SP24.enterprise manager-database-school-stored procedure观测结果SQL Query Analyzer -以超级用户身份登录,运行存储过程sp1,SP2Exec SP1Exec SP2查看Sp1

7、SP2存储过程:enterprise manager-database-school-property-permission观测结果enterprise manager-database-school-student、course和SC - property - permission观察结果5.检查:(1)在命令行上,以stu1用户身份登录(2)在SQL query analyzer-file-connect中,以stu2用户身份登录Stu2登陆:单击“确定”后,结果如下:你会发现它不能降落。现在要查看SQL server的属性,请执行以下操作:仅将Window替换为SQL Server和wi

8、ndow(s):再次登陆。结果如下:A.使用SC表创建视图B.更新course表格,将CNO=1的CPNO变更为22执行更新操作和查看course表:C.更新course表格,将CNO=1的Credit变更为22执行更新操作和查看course表:原因分析:最初,stu2登录失败。这是因为默认情况下,SQL Server的属性设置为“仅window验证”,修改后可以登录。检查2 :Sql query analyzer-file-connect以sa用户身份登录运行存储过程SP3(1)在命令行上,以stu1用户身份登录(2)SQL query analyzer-file-connect以stu2用

9、户身份登录使用Select语句查看student、course和sc三个表会得到什么结果?为什么?分析原因:因为将每个表的所有查询权限都授予了stu2,所以使用stu2查询单个表时可以获得查询结果(c)建立和操控视图1.使用三个表格(分别为student、course和sc)建立三个视图:vstudent、vcourse和VSCA.在student、course和sc三个表中执行update、delete和insert操作,并观察vstudent、vcourse和VSC三种视图更改。执行Update操作之前,vstudent的内容如下:运行update student set sname=Hu

10、ang si where SnO=95002的结果如下:运行delete from student where SnO=95001的结果如下:运行Insert into student values (95008,Li,Li,man,21,CS)后,Vstudent的内容如下:Course和sc的操作与student表的操作相同。也就是说,如果数据在更新规则的范围内,则表更改视图也将发生更改。B.在vstudent、vcourse和VSC三个视图中执行update、delete和insert操作,并观察student、course和SC三个基本表更改。在执行Update delete inse

11、rt操作之前,student表的内容如下:运行Update vstudent set sname=章翼where sno=95002后,student表的内容如下:自delete from student where SnO=95008以来,student表的内容如下:运行Insert into vstudent values (95005,Li Jin,男性,21,CS)后,student表的内容如下:2.生成高于60的绩效名称、部门名称和分数的结果视图V1然后,对视图V1执行update、delete和insert操作,并注意三个基本表的变化:student、course和sc。Update v1 set grade=95,sname=heyu where sname=机翼运行结果如下:运行Delete from v1 where sname=wing时,结果如下:运行Insert into v1 values (CS70)将产生以下结果:分析原因

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论