预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共38页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

SQL语言概述 SQL中的数据定义 SQL中的数据查询 SQL中的数据更新 SQL中的视图 SQL中的授权控制视图的概念 视图的定义、删除 视图的查询 视图的更新 视图的作用 视图的概念 视图是一个命名了的代数表达式,是从一个或几个基本表(或视图)导出的(虚的)关系变量,即视图是一个虚表。在数据库中只存放视图的定义,而不存放视图对应的数据。视图的值是定义表达式计算后所得到的结果。 视图为用户提供了一个观察底层数据的窗口。基本表发生变化后,对应视图也就随之改变。 用户能像操纵基本关系变量一样来操纵视图。对视图的操作将由DBMS转化为对相应基表的操作,任何对视图的更新将自动和实时地在相应基表中所映射的数据上进行。 由用户定义,并为用户所使用。也可在视图之上再定义视图。视图的定义 一般格式为: CREATEVIEW视图名[(列名[,列名]…)] AS子查询; [WITHCHECKOPTION] 组成视图的属性列名或者全部指定或者全部省略。在SELECT子句存在下述情形时,需要指明视图的属性列。 目标列中含有聚集函数或列表达式; 目标列中含对多表查询产生的同名属性列; 需要在视图中为某些列使用更合适的名字。视图的定义 一般格式为: CREATEVIEW视图名[(列名[,列名]…)] AS子查询; [WITHCHECKOPTION] 子查询可以是任意复杂的SELECT语句,但通常不允许含有ORDERBY子句和DISTINCT选项。 WITHCHECKOPTION:表示对视图进行UPDATE和INSERT操作时要保证修改和插入的元组须满足视图定义中的谓词条件。 DBMS执行语句的结果只是把视图的定义存入数据字典中,并不执行其中的子查询。视图的定义视图的定义视图的删除 一般格式为: DROPVIEW视图名[CASCADE]; CASCADE:把该视图和由它导出的所有视图一起删除视图的查询 用户对视图的查询就如同对基表一样,其操作将由DBMS转化为对相应基表的操作。 视图的查询 DBMS执行对视图的查询时,首先进行有效性检查,检查查询中涉及的基本表、视图等是否存在。 如果存在,则从数据字典中取出视图的定义,把定义中的子查询和用户查询结合起来,转换成等价的对基本表的查询,然后再执行相应的查询。 视图的查询 视图的查询 视图的更新 通过视图来插入、删除和修改数据. 对视图的更新要转换为对基本表的更新操作。 若视图定义中有WITHCHECKOPTION选项,进行更新操作时,DBMS会检查视图定义中的条件,若不满足条件,则拒绝执行该操作。 视图的更新 视图的更新 视图的更新 不是所有的视图都是可更新的,有些视图的更新不能唯一地有意义地转换成对相应基本表的更新,就不能更新。 对视图的更新通常要加以限制,否则会出现错误,或产生语义上的问题。视图的更新 对视图更新的一般限制有: 由多表导出的视图不允许更新。 若视图的属性列来自表达式或常数,则不允许执行INSERT和UPDATE操作,但允许执行DELETE操作。 定义中用到GROUPBY子句或聚集函数的视图不允许更新。 建立在一个不允许更新的视图上的视图不允许更新 一般都只允许对行列子集视图(含有基表的主键)进行更新。视图的作用 视图提供了一个简化用户操作的快捷方式。 可以更清晰地表达查询,简化用户的操作。 视图支持多用户同时以不同的方式对相同的数据进行查询。 视图可以定制表的不同方面的结果集来满足来自不同用户的特殊需求,并可以使这些用户同时与同一个数据库交互。 视图对于隐藏的数据自动提供安全保护。 视图可以为用户和应用程序提供逻辑上的数据独立性。 可成长性和可重构性。视图的作用 【例】把学生关系 S(SNO,SN,SD,SA) 重构为两个表 SX(SNO,SN) SY(SNO,SD,SA) 小结SQL语言概述 SQL中的数据定义 SQL中的数据查询 SQL中的数据更新 SQL中的视图 SQL中的授权控制安全系统的整体结构存取控制的概念 存取权限 授权与回收 数据库角色 存取控制的概念 数据库安全性所关心的问题。 确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法获取数据。 存取控制的概念 数据库的存取控制机制包括 定义用户权限,并将其登记在数据字典中。 用户对某一数据对象的操作权力称为权限。 DBMS提供适当的语言定义用户权限——授权规则。 合法权限检查 当用户发出存取数据库的操作请求后,DBMS查找数据字典,根据授权规则进行合法权限检查。存取权限 用户的存取权限由两个要素组成 数据库对象 数据库、基本表、表中记录、属性值,视图、索引等。 操作类型(数据) SELECT INSERT DELETE UPDATE REFERENCE ALLPRIVILEGES 存取