Oracle知识点理解+总结.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle数据库的理解制作人:陈 洋查询原理完整性约束事务Oracle部分知识理解论述伪列序列视图索引返回目录Oracle数据库查询原理一、Oracle查询返回目录1、Sql语句的执行步骤1)语法分析:分析语句的语法是否符合规范,衡量语句中各表达式的意义。2)语义分析:检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限3)视图转换:将涉及视图的查询语句转换为相应的对基表查询语句。4)表达式转换:将复杂的SQL表达式转换为较简单的等效连接表达式。返回目录5)选择优化器:不同的优化器一般产生不同的“执行计划”。6)选择连接方式:Oracle 有三种连接方式,对多表连接 Oracle 可选择适当的连接方式。7)选择连接顺序:对多表连接 Oracle 选择那一对表先连接,选择这两个表中那个表做为源数据表。8)选择数据的搜索路径:根据以上条件选择合适的数据搜索路径,如果选用全表搜索还是利用索引或是其他的方式。9)运行“执行计划”。二、Oracle共享原理返回目录Oracle 将执行过的 SQL 语句存放在内存的共享池(shared buffer pool)中,可以被所有的数据库用户共享。当你执行一个 SQL 语句(有时被称为一个游标)时,如果它和之前的执行过的语句完全相同,Oracle 就能很快获得已经被解析的语句以及最好的执行路径,这个功能大大地提高了 SQL 的执行性能并节省了内存的使用。三、Oracle语句提高查询效率的方法返回目录1:.. where column in (select * from … where …);2: .. Where exists (select ‘X’ from … where …);第二种格式要远比第一种格式的效率高,在Oracle中可以几乎将所有的IN操作符子查询改写为使用EXISTS的子句查询。使用EXIST.Oracle系统会首先检查主查询,然后运行子查询直到它找到第一个匹配项,这就节省了时间。Oracle系统在执行IN子查询时,首先执行子查询,并将获得的结果列表存放在一个加了索引的临时表中。避免使用having子句。避免使用HAVING子句,HAVING 只会在检索出所有 记录之后才对结果集进行过滤。这样处理需要排序,总计等操作。如果能通过WHERE子句限制记录的数目,那就能减少这方面的开销。返回目录Oracle数据库完整性约束一、完整性约束返回目录完整性约束用于增强数据的完整性,Oracle提供了5种完整性约束:CheckNOT NULLUniquePrimaryForeign key完整性约束是一种规则,不占用任何数据库空间。完整性约束存在数据字典中,在执行SQL或PL/SQL 期间使用。用户可以指明约束是启用的还是禁止的,当约束启用时,他增强了数据的完整性,否则,则反之。但约束始终存在于数据字典中。1、Check约束返回目录 在数据列上Check约束需要一个特殊的布尔条件或者将数据列设置成TRUE,至少一个数据列的值是NULL,Check约束用于增强表中数据内容的简单的商业规则。用户使用Check约束保证数据规则的一致性。Check约束可以涉及该行同属Check约束的其他数据列但不能涉及其他行或其他表,或调用函数SYSDATE,UID,USER,USERENV。如果用户的商业规则需要这类的数据检查,那么可以使用触发器。Check约束不保护LOB数据类型的数据列和对象、嵌套表、VARRY、ref等。单一数据列可以有多个Check约束保护,一个Check约束可以保护多个数据列。创建表的Check约束使用CREATE TABLE语句,更改表的约束使用ALTER TABLE语句。2、NOT NULL约束 返回目录NOT NULL约束应用在单一的数据列上,并且他保护的数据列必须要有数据值。缺省情况下,ORACLE允许任何列都可以有NULL值。某些商业规则要求某数据列必须要有值,NOT NULL约束将确保该列的所有数据行都有值但对于NOT NULL的ALTER TABLE语句与其他约束稍微有点不同。例如:ALTER TABLE policies MODIFY holder_name NOT NULL 3、唯一性约束(Unique constraint) 返回目录唯一约束可以保护表中多个数据列,保证在保护的数据列中任何两行的数据都不相同。唯一性约束与表一起创建,在唯一性约束创建后,可以使用ALTER TABLE语句修改。唯一性约束由一个B-tree索引增强,所以可以在USING子串中为索引使用特殊特征,比如表空间或存储参数。CREATE TABLE语句在创建唯一性约束的同时也给目标数据列建立了一个唯一的索引。返回目录用户不能删除在有外部键指

文档评论(0)

整理王 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档