03Oracle数据库对象_第1页
03Oracle数据库对象_第2页
03Oracle数据库对象_第3页
03Oracle数据库对象_第4页
03Oracle数据库对象_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

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

文档简介

1、闫峻闫峻 PhoneEmail: Oracle开发入门与精通开发入门与精通Oracle开发入门与精通开发入门与精通 Oracle是殷墟出土的甲骨文的英文翻译是殷墟出土的甲骨文的英文翻译 的第一个单词,在英语里是的第一个单词,在英语里是神谕神谕的意思的意思 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 回顾回顾 在关系型数据库中,我们总是可以把在关系型数据库中,我们总是可以把SQL语句分语句分 为四大类:为四大类:DDL数据定义语言、数据定义语言、DML数据操纵语数据操纵语 言、言、DCL数据控制语言、数据控制语言、TCL事务处理语言事务处理语言 Or

2、acle 数据类型主要包括字符、数值、日期时间、数据类型主要包括字符、数值、日期时间、 大对象类型等等大对象类型等等 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 回顾回顾 Oracle 支持的支持的 SQL 操作符包括算术、比较、逻操作符包括算术、比较、逻 辑、集合、连接操作符辑、集合、连接操作符 Oracle 提供一系列用于执行特定操作的函数:单提供一系列用于执行特定操作的函数:单 行、分组、分析函数行、分组、分析函数 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 本章目标本章目标 理解数据库对象的概念和分类理解数据库对象的概念和分类 熟练掌握用户、表、

3、约束数据库对象的使用熟练掌握用户、表、约束数据库对象的使用 掌握同义词、序列、视图、索引数据库对象的使掌握同义词、序列、视图、索引数据库对象的使 用用 理解数据字典的概念,掌握数据字典的相关信息理解数据字典的概念,掌握数据字典的相关信息 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 Oracle的的SQL开发工具开发工具 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 什么是什么是 SQL Developer Oracle SQL Developer是一个免费的图形化数据库开发是一个免费的图形化数据库开发 工具工具 使用使用SQL Developer可以浏览数

4、据库对象、运行可以浏览数据库对象、运行SQL语语 句和句和SQL脚本,还可以编辑和调试脚本,还可以编辑和调试PL/SQL语句。语句。SQL Developer可以提高工作效率并简化数据库开发任务可以提高工作效率并简化数据库开发任务 SQL Developer可以连接到任何可以连接到任何版和更高版本的版和更高版本的 Oracle数据库,并可在数据库,并可在Windows、Linux和和Mac OSX上上 运行运行 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 创建连接创建连接 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 数据库对象简介数据库对象

5、简介 Oracle 数据库对象又称模式对象数据库对象又称模式对象 数据库对象是逻辑结构的集合,最基本的数据库数据库对象是逻辑结构的集合,最基本的数据库 对象是表对象是表 学过的数据库对象有用户、表、约束学过的数据库对象有用户、表、约束 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 数据库对象简介数据库对象简介 数据库对象数据库对象 同义词序列视图索引 用 户表约 束 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 浏览对象浏览对象 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 创建对象创建对象 华育国际华育国际 西安软件分校西安软件分校 闫峻

6、闫峻 制作制作 修改对象修改对象 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 编辑编辑 PL/SQL 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 用户用户User connect system/manager grant connect,resource to mytest identified by m123; alter user mytest identified by 123456; alter user mytest account lock; alter user mytest account unlock; revoke resource

7、from mytest; drop user mytest cascade; 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 表表Table create table stu(id number(4) primary key); alter table stu add(name varchar2(20) not null); alter table stu drop column address; alter table stu modify(telephone number(8); desc stu rename stu to newstu; drop table stu;

8、华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 表表Table insert into stu values(100, 张三张三, to_date(19751009,yyyymmdd); update stu set mark=90; delete from stu where id=1000; truncate table stu; select * from stu; 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 约束约束Constraint 数据库中的约束分为数据库中的约束分为6大类大类 主键主键primary key、非空、非空not null、唯一性

9、、唯一性 unique、检查、检查check、缺省、缺省default和外键和外键foreign key 可以在建表的同时添加,也可以在表建立后再添可以在建表的同时添加,也可以在表建立后再添 加约束加约束 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 约束约束Constraint create table class(cid number(2),cname varchar2(20); alter table class add primary key(cid); alter table class modify(cname not null); alter table stu

10、dent add constraint ck_a check(mark between 0 and 100); alter table student add unique(sname); drop table sudent drop constraint ck_a; 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 约束约束Constraint alter table student add constraint fk_a foreign key(cid) references class(cid); 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 序列序列 序

11、列是用于生成唯一、连续序号的对象序列是用于生成唯一、连续序号的对象 序列可以是升序的,也可以是降序的序列可以是升序的,也可以是降序的 使用使用CREATE SEQUENCE语句创建序列语句创建序列 SQL CREATE SEQUENCE toys_seq START WITH 10 INCREMENT BY 10 MAXVALUE 2000 MINVALUE 10 NOCYCLE CACHE 10; 指定第一个序号从指定第一个序号从 10 开始开始指定序号之间的间隔为指定序号之间的间隔为 10表示序列的最大值为表示序列的最大值为 2000表示序列的最小值为表示序列的最小值为 10在达到最大值后

12、停止生成下一个值在达到最大值后停止生成下一个值指定内存中预先分配的序号数指定内存中预先分配的序号数 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 访问序列访问序列 通过序列的伪列来访问序列的值通过序列的伪列来访问序列的值 qNEXTVAL 返回序列的下一个值返回序列的下一个值 qCURRVAL 返回序列的当前值返回序列的当前值 SQL INSERT INTO toys (toyid, toyname, toyprice) VALUES ( toys_seq.NEXTVAL, TWENTY, 25); SQL INSERT INTO toys (toyid, toyname,

13、toyprice) VALUES ( toys_seq.NEXTVAL, MAGIC PENCIL, 75); 指定序列的下一个值 SQL SELECT toys_seq.CURRVAL FROM dual; 检索序列的当前值 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 更改和删除序列更改和删除序列 SQL ALTER SEQUENCE toys_seq MAXVALUE 5000 CYCLE; 使用ALTER SEQUENCE语句修改序列, 不能更改序列的START WITH参数 使用DROP SEQUENCE语句删除序列 SQL DROP SEQUENCE toys_s

14、eq; 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 序列序列Sequence create sequence s1; create sequence s2 start with 1000 increment by 2; select s2.nextval from dual; select s2.currval from dual; drop sequence s2; 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 视图视图 视图以经过定制的方式显示来自一个或多个表的视图以经过定制的方式显示来自一个或多个表的 数据数据 视图可以视为视图可以视为“虚拟表虚拟表

15、”或或“存储的查询存储的查询” 创建视图所依据的表称为创建视图所依据的表称为“基表基表” 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 视图的优点视图的优点 提供了另外一种级别的表安全性提供了另外一种级别的表安全性 隐藏的数据的复杂性隐藏的数据的复杂性 简化的用户的简化的用户的SQL命令命令 隔离基表结构的改变隔离基表结构的改变 通过重命名列,从另一个角度提供数据通过重命名列,从另一个角度提供数据 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 视图视图 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 创建视图创建视图 studnostudna

16、mestudmarkssubnostudcaste 1Rob452Open 2James334SC 3Jesica405Open Stud_details Stud_view studnostudnamesubno 1Rob2 2James4 3Jesica5 创建视图 CREATE VIEW stud_view AS SELECT studno, studname, subno FROM Stud_details; 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 视图视图View 视图用于存放查询语句,是不存放数据的,但视视图用于存放查询语句,是不存放数据的,但视 图中的数据

17、和基表中的数据是同步的图中的数据和基表中的数据是同步的 grant create view to scott; create or replace view v_emp as select * from emp where job=MANAGER drop view v_emp; 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 创建视图创建视图 使用使用 WITH CHECK OPTION 选项创建视图选项创建视图 CREATE OR REPLACE VIEW pause_view AS SELECT * FROM order_master WHERE ostatus = p

18、WITH CHECK OPTION CONSTRAINT chk_pv; 使用使用 ORDER BY 子句创建视图子句创建视图 CREATE OR REPLACE VIEW ord_ven AS SELECT * FROM vendor_master ORDER BY venname; 创建带有错误的视图创建带有错误的视图 CREATE FORCE VIEW ven AS SELECT * FROM venmaster; 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 联接视图联接视图 StudnoStudnameSubmrksSubno 1Rob452 2James334 3

19、Jesica404 SubnoSubname 2English 4Maths 5Science Stud_detailsSub_details StudnoStudnameSubmrksSubname 1Rob45English 2James33Maths 3Jesica40Maths CREATE VIEW Stud_sub_view AS SELECT Studno, Studname, Submrks, Subname FROM Stud_details, Sub_Details WHERE Stud_details.Subno=Sub_details.Subno; Stud_sub_v

20、iew 联接视图联接视图 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 联接视图联接视图 创建外联接视图 CREATE VIEW ven_ord_outj_view AS SELECT vm.vencode, venname, orderno, odate, ostatus FROM vendor_master vm, order_master om WHERE vm.vencode = om.vencode(+); SELECT vm.vencode, venname, orderno, odate, ostatus FROM vendor_master vm LEFT O

21、UTER JOIN order_master om ON vm.vencode = om.vencode; 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 视图上的视图上的DML语句语句 在视图上也可以使用修改数据的在视图上也可以使用修改数据的DML语句,如语句,如INSERT、 UPDATE和和DELETE 视图上的视图上的DML语句有如下限制:语句有如下限制: 只能修改一个底层的基表只能修改一个底层的基表 如果修改违反了基表的约束条件,则无法更新视图如果修改违反了基表的约束条件,则无法更新视图 如果视图包含连接操作符、如果视图包含连接操作符、DISTINCT 关键字、集关键

22、字、集 合操作符、聚合函数或合操作符、聚合函数或 GROUP BY 子句,则将无法子句,则将无法 更新视图更新视图 如果视图包含伪列或表达式,则将无法更新视图如果视图包含伪列或表达式,则将无法更新视图 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 键保留表键保留表 StudnoStudnameSubmrksSubno 1Rob452 2James334 3Jesica404 SubnoSubname 2English 4Maths 5Science Stud_detailsSub_details StudnoStudnameSubmarksSubnoSubname 1Rob4

23、52English 2James334Maths 3Jesica404Maths 键保留表键保留表 因为因为 Studno 既是既是 Stud_details 中的主键,中的主键, 也是联接结果中的主键也是联接结果中的主键 Stud_details 为什么为什么 是键保留表?是键保留表? 联接视图联接视图 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 视图中的函数视图中的函数 视图中可以使用单行函数、分组函数和表达式视图中可以使用单行函数、分组函数和表达式 使用使用DROP VIEW语句删除视图语句删除视图 CREATE VIEW item_view AS SELECT it

24、emcode, LOWER(itemdesc) item_desc FROM itemfile; SQL DROP VIEW toys_view; 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 同义词同义词 同义词是现有对象的一个别名同义词是现有对象的一个别名 简化简化SQL语句语句 隐藏对象的名称和所有者隐藏对象的名称和所有者 提供对对象的公共访问提供对对象的公共访问 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 同义词同义词 同义词共有两种类型:同义词共有两种类型: 公有同义词可被所有的数据库用户访问公有同义词可被所有的数据库用户访问 私有同义词只能在其

25、模式内访问,且不能与当私有同义词只能在其模式内访问,且不能与当 前模式的对象同名前模式的对象同名 同义词同义词 私有同义词私有同义词公有同义词公有同义词 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 同义词同义词Synonym 同义词可以提供数据库对象的别名,可以提高对同义词可以提供数据库对象的别名,可以提高对 象访问的安全性,常用于多用户系统中象访问的安全性,常用于多用户系统中 create synonym myemp for scott.emp; select * from scott.emp select * from myemp 在超级用户下可以建立公有同义词,这个同

26、义词在超级用户下可以建立公有同义词,这个同义词 可以被所有用户访问,当然使用还要有权限可以被所有用户访问,当然使用还要有权限 create public synonym allemp from scott.emp; 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 同义词同义词 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 同义词同义词 CREATE SYNONYM emp FOR SCOTT.emp; SCOTT.emp的别名模式名表名 私有同义词 公有同义词 CREATE PUBLIC SYNONYM emp_syn FOR SCOTT.emp; 同义词名称

27、 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 同义词同义词 创建或替换现有的同义词创建或替换现有的同义词 CREATE OR REPLACE SYNONYM emp_syn FOR SCOTT.emp; 替换现有的同义词替换现有的同义词 SQL DROP SYNONYM emp; SQL DROP PUBLIC SYNONYM emp_syn; 删除同义词删除同义词 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 标准表的表和索引管理标准表的表和索引管理 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 索引索引 索引是与表相关的一个可选结构索

28、引是与表相关的一个可选结构 用以提高用以提高 SQL 语句执行的性能语句执行的性能 减少磁盘减少磁盘I/O 使用使用 CREATE INDEX 语句创建索引语句创建索引 在逻辑上和物理上都独立于表的数据在逻辑上和物理上都独立于表的数据 Oracle 自动维护索引自动维护索引 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 索引索引Index 索引的作用是来加快查询的,索引的作用是来加快查询的,SQL语句会自动根据索引语句会自动根据索引 的情况来优化的情况来优化SQL语句的执行效率语句的执行效率 以空间来换取时间以空间来换取时间 建立索引有建立索引有2种途径:种途径: 通过约束自

29、动建立索引,例如通过约束自动建立索引,例如primary key和和unique 约束约束 根据需要自己手动建立索引:根据需要自己手动建立索引:create index idx_emp on emp(job,sal); 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 索引索引Index 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 索引索引 SQL CREATE INDEX item_index ON itemfile (itemcode) TABLESPACE index_tbs; 创建标准索引创建标准索引 重建索引重建索引 SQL ALTER INDEX

30、item_index REBUILD; 删除索引删除索引 SQL DROP INDEX item_index; 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 索引索引 索引有各种类型,除了标准索引外,还有一些特索引有各种类型,除了标准索引外,还有一些特 殊类型的索引:殊类型的索引: 索引的类型 基于函数的索引 反向键索引 位图索引 唯一索引组合索引 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 唯一索引唯一索引 唯一索引确保在定义索引的列中没有重复值唯一索引确保在定义索引的列中没有重复值 Oracle 自动在表的主键列上创建唯一索引自动在表的主键列上创建唯一

31、索引 使用使用CREATE UNIQUE INDEX语句创建唯一索语句创建唯一索 引引 SQL CREATE UNIQUE INDEX item_index ON itemfile (itemcode); 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 组合索引组合索引 组合索引是在表的多个列上创建的索引组合索引是在表的多个列上创建的索引 索引中列的顺序是任意的索引中列的顺序是任意的 如果如果 SQL 语句的语句的 WHERE 子句中引用了组合索子句中引用了组合索 引的所有列或大多数列,则可以提高检索速度引的所有列或大多数列,则可以提高检索速度 SQL CREATE INDEX

32、 comp_index ON itemfile(p_category, itemrate); 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 反向键索引反向键索引 反向键索引反转索引列键值的每个字节反向键索引反转索引列键值的每个字节 通常建立在值是连续增长的列上,使数据均匀地通常建立在值是连续增长的列上,使数据均匀地 分布在整个索引上分布在整个索引上 创建索引时使用创建索引时使用REVERSE关键字关键字 SQL CREATE INDEX rev_index ON itemfile (itemcode) REVERSE; SQL ALTER INDEX rev_index RE

33、BUID NOREVERSE; 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 位图索引位图索引 Oracle的索引主要包含两类:的索引主要包含两类:BTree和位图索引和位图索引 默认使用默认使用Btree索引,该索引就是通常所见唯一索引、索引,该索引就是通常所见唯一索引、 聚簇索引等等,聚簇索引等等,Btree用在用在OLTP,加快查询速度,加快查询速度 位图索引主要用在联机数据分析位图索引主要用在联机数据分析OLAP方面,即数据仓方面,即数据仓 库方面,目的是在加快查询速度,节省存储空间库方面,目的是在加快查询速度,节省存储空间 通常索引都要耗费比较大的存储空间,位图采用

34、了压缩通常索引都要耗费比较大的存储空间,位图采用了压缩 技术实现磁盘空间缩减。技术实现磁盘空间缩减。Btree用在高基数(即列的数用在高基数(即列的数 据相异度大),位图用在低基数列据相异度大),位图用在低基数列 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 B 树的结构图树的结构图 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 位图索引位图索引 位图索引适合创建在低基数列上位图索引适合创建在低基数列上 位图索引不直接存储位图索引不直接存储ROWID,而是存储字节位,而是存储字节位 到到ROWID的映射的映射 减少响应时间减少响应时间 节省空间占用节省空间占

35、用 SQL CREATE BITMAP INDEX bit_index ON order_master (orderno); 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 基于函数的索引基于函数的索引 基于一个或多个列上的函数或表达式创建的索引基于一个或多个列上的函数或表达式创建的索引 表达式中不能出现聚合函数表达式中不能出现聚合函数 不能在不能在LOB类型的列上创建类型的列上创建 创建时必须具有创建时必须具有 QUERY REWRITE 权限权限 SQL CREATE INDEX lowercase_idx ON toys (LOWER(toyname); SQL SELE

36、CT toyid FROM toys WHERE LOWER(toyname)=doll; 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 PL/SQL Developer PL/SQL Developer是一个集成开发环境,专门面是一个集成开发环境,专门面 向向Oracle数据库存储程序单元的开发数据库存储程序单元的开发 PL/SQL编程是整个开发过程的一个重要组成部分。编程是整个开发过程的一个重要组成部分。 PL/SQL Developer侧重于易用性、代码品质和生侧重于易用性、代码品质和生 产力,充分发挥产力,充分发挥Oracle应用程序开发过程中的主应用程序开发过程中的

37、主 要优势要优势 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 PL/SQL Developer 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 以空间来换取时间以空间来换取时间 索引实质上是存放被索引字段和每条记录的物理索引实质上是存放被索引字段和每条记录的物理 地址的地址的ROWID ROWID是是Oracle的表伪列,任何表都有该伪列,的表伪列,任何表都有该伪列, 代表每条记录在存储介质上的物理地址,利用代表每条记录在存储介质上的物理地址,利用 ROWID可以快速定位每条记录可以快速定位每条记录 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作

38、制作 索引索引Index优化的规则优化的规则 不带不带where条件的条件的SQL语句一定不能使用索引语句一定不能使用索引 在在where条件中有索引的字段是不能使用函数的条件中有索引的字段是不能使用函数的 在在where条件中有索引的字段不能参与运算条件中有索引的字段不能参与运算 尽量少用尽量少用not in、not exists、like %等关键字,他等关键字,他 是是SQL语句不能使用索引语句不能使用索引 书写查询语句时应尽量考虑关联查询,其次是集书写查询语句时应尽量考虑关联查询,其次是集 合查询,最后才是子查询合查询,最后才是子查询 华育国际华育国际 西安软件分校西安软件分校 闫峻闫

39、峻 制作制作 索引索引Index优化的规则优化的规则 Where条件中限制性强的条件写在条件中限制性强的条件写在where子句的末尾子句的末尾 多表查询的时候,驱动表应是返回数据少的表多表查询的时候,驱动表应是返回数据少的表 驱动表就是驱动表就是from子句中最后一个表子句中最后一个表 对于联合索引来说,当对于联合索引来说,当where含有联合索引的第一个含有联合索引的第一个 字段时该索引有效字段时该索引有效 终极目标:终极目标:功能正确,性能优良功能正确,性能优良 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 举例举例1 查询查询1987年参加工作的所有员工年参加工作的所有

40、员工 select * from emp where to_char(hiredate,yyyy)=1987; 创建索引创建索引create index idx_hiredate on emp(hiredate); select * from emp where hiredate = to_date(19870101,yyyymmdd) and hiredate to_date(19880101,yyyymmdd); 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 索引索引Index优化的规则优化的规则 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 索引索引I

41、ndex优化的规则优化的规则 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 举例举例2 select * from emp where hiredate10000; 执行计划是一个缩进的树型结构,阅读的时候是执行计划是一个缩进的树型结构,阅读的时候是 先执行内层后执行外层,同层中先执行上层后执先执行内层后执行外层,同层中先执行上层后执 行下层行下层 SQL的优化依据就是执行计划的优化依据就是执行计划 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 举例举例3 查询查询ACCOUNTING部门的所有员工部门的所有员工 select * from dept a,

42、emp b where a.dname=ACCOUNTING and a.deptno=b.deptno; select a.* from emp a, dept b where a.deptno=b.deptno and a.dname=ACCOUNTING; 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 数据字典数据字典 数据字典是维护系统对象的一套特殊表和视图数据字典是维护系统对象的一套特殊表和视图 通过这些视图可以了解整个通过这些视图可以了解整个Oracle数据库中各种数据库中各种 对象的特征,该套视图的拥有者是对象的特征,该套视图的拥有者是system用户,用户,

43、真正数据字典表的所有者是真正数据字典表的所有者是sys用户用户 select * from dictionary;查看数据库中所有的数据查看数据库中所有的数据 字典对象的名称和用途字典对象的名称和用途 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 数据字典数据字典 数据字典数据字典Data dictionary是一种用户可以访问的记录数是一种用户可以访问的记录数 据库和应用程序元数据的目录据库和应用程序元数据的目录 数据字典通常包括五个部分:数据项、数据结构、数据数据字典通常包括五个部分:数据项、数据结构、数据 流、数据存储、处理过程流、数据存储、处理过程 数据字典分为:数据

44、字典分为: 主动数据字典,是指在对数据库或应用程序结构进主动数据字典,是指在对数据库或应用程序结构进 行修改时,其内容可以由行修改时,其内容可以由DBMS自动更新的数据字典自动更新的数据字典 被动数据字典,是指修改时必须手工更新其内容的被动数据字典,是指修改时必须手工更新其内容的 数据字典数据字典 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 数据字典数据字典 数据字典可能包含的信息,例如:数据字典可能包含的信息,例如: 数据库设计资料数据库设计资料 储存的储存的SQL程序程序 用户权限用户权限 用户统计用户统计 数据库的过程中的信息数据库的过程中的信息 数据库增长统计数据库

45、增长统计 数据库性能统计数据库性能统计 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 数据字典数据字典 SQL select * from dictionary; TABLE_NAME COMMENTS - - USER_RESOURCE_LIMITS Display resource limit of the user USER_PASSWORD_LIMITS Display password limits of the user USER_CATALOGTables, Views, Synonyms and Sequences owned by the user ALL_

46、CATALOGAll tables, views, synonyms, sequences accessible to the user 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 数据字典数据字典 数据字典的命名方式数据字典的命名方式 USER_xxx表示当前用户所拥有的对象表示当前用户所拥有的对象 ALL_xxx表示当前用户有查看权限的对象表示当前用户有查看权限的对象 DBA_xxx表示数据库中所有的对象,只能在超表示数据库中所有的对象,只能在超 级用户下查看级用户下查看 xxx代表要查看对象的英文名称复数形式,代表要查看对象的英文名称复数形式, tables、view

47、s、indexes、sequences、users等等 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 数据字典数据字典 select username from dba_users;查看数据库中的查看数据库中的 所有用户所有用户 select table_name from user_tables;查看当前用户查看当前用户 下的所有表下的所有表 select table_name,owner from all_tables;查询当前查询当前 用户有权查看的表用户有权查看的表 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 LOB大对象的处理大对象的处理 ins

48、ert into aa values(1, yanjun, empty_blob(), empty_clob() select * from aa where id=1 for update BLOB blob=(BLOB)rs.getBlob(“photo”); CLOB clob=(CLOB)rs.getClob(“memo”); OutputStream os=blob.getBinaryOutputStream(); clob.putChars(str.length(),str.toCharArray(); 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 LOB大对象大

49、对象 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 Strust2处理处理LOB private File photo; private String photoContentType; private String photoFileName; aa.setPhoto(Hibernate.createBlob(new FileInputStream(photo); aa.setMemo(Hibernate.createClob(memo); 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 image/jpeg inputStream 8192 public

50、InputStream getInputStream() Aa aa=(Aa)session.get(Aa.class,id); return aa,getPhoto().getBinaryStream(); 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 提问时间提问时间 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 总结总结 同义词是现有数据库对象的别名同义词是现有数据库对象的别名 序列用于生成唯一、连续的序号序列用于生成唯一、连续的序号 视图是基于一个或多个表的虚拟表视图是基于一个或多个表的虚拟表 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制

51、作制作 总结总结 索引是与表相关的一个可选结构,用于提高索引是与表相关的一个可选结构,用于提高 SQL 语句语句 执行的性能。索引类型有标准索引、唯一索引、反向键执行的性能。索引类型有标准索引、唯一索引、反向键 索引、位图索引和基于函数的索引索引、位图索引和基于函数的索引 数据字典数据字典 (Data dictionary) 是一种用户可以访问的记录是一种用户可以访问的记录 数据库和应用程序元数据的目录数据库和应用程序元数据的目录 数据字典包含的主要信息,例如:数据库设计资料数据字典包含的主要信息,例如:数据库设计资料 、 储存的储存的SQL程序、用户权限、用户统计、数据库的过程程序、用户权限、用户统计、数据库的过程 中的信息等中的信息等 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 Thank you very much!Thank you very much! 谢谢,再见!谢谢,再见! 华育国际华育国际 西安软件分校西安软件分校 闫峻闫峻 制作制作 练习练习1 商店要记录顾客及其购物情况商店要记录顾客及其购物情况 商品表(商品号、商品名称、单价、商品类别、商品表(商品号、商品名称、单价、商品类别、 供应商名称)供应商名称) 顾客表(顾客号、姓名、住址)顾客表(顾客号、姓名、住址) 购买表(顾客号

温馨提示

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

评论

0/150

提交评论