第四章 数据库对象管理 oracle9i青鸟.ppt_第1页
第四章 数据库对象管理 oracle9i青鸟.ppt_第2页
第四章 数据库对象管理 oracle9i青鸟.ppt_第3页
第四章 数据库对象管理 oracle9i青鸟.ppt_第4页
第四章 数据库对象管理 oracle9i青鸟.ppt_第5页
已阅读5页,还剩14页未读, 继续免费阅读

下载本文档

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

文档简介

1、第四章,数据库对象管理,视图管理 索引管理 序列管理 用户管理 权限管理 同义词管理 角色管理 数据字典,本章目标,视图管理,视图以经过定制的方式显示来自一个或多个表的数据 视图可以视为“虚拟表”或“存储的查询” 创建视图所依据的表称为“基表” 视图的优点有: 提供了另外一种级别的表安全性 隐藏的数据的复杂性 简化的用户的SQL命令 隔离基表结构的改变 通过重命名列,从另一个角度提供数据,视图管理,创建视图的语法: CREATE OR REPLACE FORCE VIEW view_name AS select_statement WITH CHECK OPTION WITH READ ONL

2、Y; CREATE VIEW study AS SELECT a.stuName,b.courseName,b.score FROM stuScore b , stuInfo a WHERE a.stuID = b.stuID WITH READ ONLY; 使用视图,视图管理,可更新的视图 默认建立的视图是可以更新的,不过视图很少用来更新 CREATE OR REPLACE VIEW stuAge AS SELECT * FROM stuInfo WHERE stuAge 20; SELECT * FROM stuAge ; UPDATE stuAge SET stuAge = 18 WHE

3、RE stuID = 004; COMMIT; 1. CREATE OR REPLACE VIEW stuAge AS SELECT * FROM stuInfo WHERE stuAge 20 WITH CHECK OPTION; UPDATE stuAge SET stuAge = 18 WHERE stuID = 003;不可行 UPDATE stuAge SET stuAge = 28 WHERE stuID = 003;可行 2. 是表的主键同时是视图的主键,但是不是连接字段 。哪个是键保留表,只能对键保留表进行DML操作 CREATE OR REPLACE VIEW study A

4、S SELECT b.ID,a.stuId,a.stuName,b.courseName,b.score FROM stuScore b , stuInfo a WHERE a.stuID = b.stuID; 谁是键保留表?,视图管理,创建带有错误的视图 CREATE FORCE VIEW stu AS SELECT * FROM temp; 基于没有表 基于没有的列 查看视图 user_views,索引管理,索引是与表相关的一个可选结构 用以提高 SQL 语句执行的性能,原理? 减少磁盘I/O 使用 CREATE INDEX 语句创建索引 在逻辑上和物理上都独立于表的数据 Oracle 自

5、动维护索引,索引管理,语法 CREATE unique INDEX ON (colnum_name,) 案例 CREATE INDEX i_stuID ON stuScore(stuID) 建立组合索引 删除索引 查询时候自动使用索引,但是有些查询不能使用索引,SQl语句优化问题。 查看索引 user_indexes,序列管理,序列是用于生成唯一、连续序号的对象 序列可以是升序的,也可以是降序的 使用CREATE SEQUENCE语句创建序列 CREATE SEQUENCE toys_seq START WITH 10 INCREMENT BY 10 MAXVALUE 2000 MINVALU

6、E 10 NOCYCLE CACHE 10;,访问序列,通过序列的伪列来访问序列的值 NEXTVAL 返回序列的下一个值 CURRVAL 返回序列的当前值,SQL INSERT INTO toys (toyid, toyname, toyprice) VALUES ( toys_seq.NEXTVAL, TWENTY, 25); SQL INSERT INTO toys (toyid, toyname, toyprice) VALUES ( toys_seq.NEXTVAL, MAGIC PENCIL, 75);,指定序列的下一个值,SQL SELECT toys_seq.CURRVAL FR

7、OM dual;,检索序列的当前值,序列管理,SQL ALTER SEQUENCE toys_seq MAXVALUE 5000 CYCLE;,使用ALTER SEQUENCE语句修改序列, 不能更改序列的START WITH参数,使用DROP SEQUENCE语句删除序列,SQL DROP SEQUENCE toys_seq;,查看序列信息 user_sequences,用户管理,要连接到Oracle数据库,就需要创建一个用户帐户 每个用户都有一个默认表空间和一个临时表空间 CREATE USER命令用于创建新用户 CREATE USER 命令的语法是: 更改用户密码 删除用户,CREATE

8、 USER tom IDENTIFIED BY accp DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP;,权限管理,一个新建立的用户如果不经过管理员受权,就没有任何权限 给用户授权的语法是: GRANT TO WITH GRANT OPTION 1. 授系统权限: GRANT CONNECT , RESOURCE TO tom 2.授对象权限 GRANT select ON emp TO tom 3.查询当前用户的权限 user_privs视图 4.回收权限 REVOKE FROM ,同义词管理,同义词是现有对象的一个别名。 简化SQL语

9、句 隐藏对象的名称和所有者 提供对对象的公共访问 同义词共有两种类型:,同义词,私有同义词,公有同义词,私有同义词只能在其模式内访问,且不能与当前模式的对象同名。,公有同义词可被所有的数据库用户访问。,同义词管理,CREATE SYNONYM emp FOR SCOTT.emp;,SCOTT.emp的别名,模式名,表名,私有同义词,公有同义词,CREATE PUBLIC SYNONYM emp_syn FOR SCOTT.emp;,同义词名称,同义词管理,创建或替换现有的同义词,CREATE OR REPLACE SYNONYM emp_syn FOR SCOTT.emp;,替换现有的同义词,

10、SQL DROP SYNONYM emp;,SQL DROP PUBLIC SYNONYM emp_syn;,删除同义词,可以对任何的数据库对象创建同义词,User_synonyms视图,角色管理,什么是角色?角色的优势。简化用户权限管理,便于集中控制 1. 常用的内置角色 CONNECT , RESOURCE , DBA 2. 自定义角色: 2.1 CREATE ROLE NOT IDENTIFIED|IDENTIFIED BY psw 2.2 SET ROLE 命令,控制当前会话中角色的启用和关闭 SET ROLE rName IDENITFIED BY psw或者SET ROLE ALL SET R

温馨提示

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

评论

0/150

提交评论