《北京理工大学-数据库-实验_2-数据更新、删除与权限管理.doc》由会员分享,可在线阅读,更多相关《北京理工大学-数据库-实验_2-数据更新、删除与权限管理.doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、(封皮页)北京理工大学数据库实验2主讲老师:赵晓林学生:李经2012/11/21(目录页)实验 2: 数据更新、删除与权限管理12.1 作业声明12.2 实验目的12.2.1 体会主键、外键约束12.2.2 对“学籍管理系统”表格进行数据查询12.3 实验过程12.3.1 练习更新、删除主表数据(针对主键属性且子表中可能有参照外键数据)12.3.2 练习更新、删除主表数据(针对非主键属性)12.3.3 练习先删除子表数据,再删除主表数据22.3.4 使用子查询方式更新、删除数据22.3.5 权限管理32.4 实验结论62.5 实验体会6实验 2: 数据更新、删除与权限管理2.1 作业声明本次作
2、业全部由本人完成,若存在抄袭或雷同现象,本人愿意接受老师相应的处理2.2 实验目的2.2.1 体会主键、外键约束2.2.2 对“学籍管理系统”表格进行数据查询确定要更新和删除的数据2.3 实验过程2.3.1 练习更新、删除主表数据(针对主键属性且子表中可能有参照外键数据)2.3.1.1 sql代码:update xb set xdh=06 -系表为主表where xmc=中文2.3.1.2 结果:系统显示:消息547,级别16,状态0,第2 行UPDATE 语句与REFERENCE 约束FK_xs_xdh_54968AE5冲突。该冲突发生于数据库master,表dbo.xs, column x
3、dh。语句已终止。由于有外键依赖,所以无法更新。选择删除相关联的外键:ALTER TABLE js drop CONSTRAINT FK_js_xdh_09FE775DALTER TABLE xs drop CONSTRAINT FK_xs_xdh_0539C240再次执行更新操作,更新成功2.3.2 练习更新、删除主表数据(针对非主键属性)2.3.2.1 sql代码:首先先恢复依赖于系表xdh项的两个外键(2.3.1.1中删除的那两个外键)update xb set xmc=德语 -更新where xdh=05delete from xb where xdh=05 -删除2.3.2.2 结果
4、数据更新成功:因系名称不存在主外键关系,因此可直接修改。但数据删除失败,由于xb中有有外键依赖,所以无法删除如果需要删除,方法同2.3.1.2,先删除相关联的外键,再次执行删除数据行的语句2.3.3 练习先删除子表数据,再删除主表数据2.3.3.1 Sql代码delete from xk where kcbh=005-删除子表数据delete from sk where kcbh=005-删除子表数据delete from kc where kcbh=005-删除主表数据2.3.3.2 结果由图可知,编号为005的课程已经被删除。如不先删除子表数据,则会同样因约束关系而删除失败2.3.4 使用
5、子查询方式更新、删除数据2.3.4.1 Sql代码update xs set bj=where xh in(select xs.xh from xs,xk,kcwhere xs.xh=xk.xhand xk.kcbh=kc.kcbhand kc.kcmc=数据库原理与设计)2.3.4.2 结果由图可知,所有选了数据库原理与设计这门课的学生的学号均更新成了2.3.5 权限管理 以不同身份用户登录数据库建立表 表名一样 以不同身份用户查询自己与其他用户建立的表 定义授权方案并进行验证2.3.5.1 执行语句create table js-以不同身份用户登录数据库建立表,表名一样(xm varcha
6、r(8) not null,jsbh char(10) not null PRIMARY KEY,zc char(6),xdh char(2) FOREIGN KEY REFERENCES xb(xdh),)执行结果:系统显示:消息2714,级别16,状态6,第1 行数据库中已存在名为js 的对象。select * from js -用test身份用户查询自己建立的表select * from sk-用test身份用户查询其他用户建立的表执行结果:定义授权方案并进行验证Sql语句:insert into xk values(,005,85);select * from xk where xh=update xk set cj=94 where xh=select * from xk where xh=delete from xk where xh=select * from xk where xh=执行结果:可知授予的插入删除更新数据的权限,以及select的权限均能正常使用2.4 实验结论本次实验的目的均已经达到2.5 实验体会通过实验,熟悉了数据库中主键、外键约束,以及有主外键约束下的数据更新删除操作;联系了子查询语句;了解了数据库中的权限管理。