代码改变世界

随笔分类 -  专题ORACLE

Oracle编程入门经典 第12章 事务处理和并发控制

2013-07-27 15:49 by 夜雨瞳, 1189 阅读, 收藏, 编辑
摘要: 定用户隔离层次的情况下,使用相同的输入,采用相同的方式执行的相同的工作可能会导致不同的答案,这些隔离层次采用指定层次上许可(或者不符合规定)的三种“读取”方式进行定义。它们是:脏读取(Dirty read)——这种读取方式的含义同它听起来一样糟糕。您可以读取没有提交的“脏”数据。非可重复读取(Non-repeatable read)——这种方式意味着,如果用户在T1时刻读取了一行,在T2时刻再次读取一行,那么这个行就可能发生改变。例如,它可能已经被删除或者更新。影像读取(Phantom read)——这种方式意味着如果用户在T1时刻执行了一个查询,在T2时刻再次执行它,就可能会有影响结果的附加行加入到数据库中。在这种情况下,这种读取方式与非可重复读取有所不同,您已经读取的数据不会发生变化,而是会有比以前更多的满足查询条件的数据。 阅读全文

Oracle编程入门经典 第11章 过程、函数和程序包

2013-07-20 17:05 by 夜雨瞳, 1103 阅读, 收藏, 编辑
摘要: 可扩展性。使用过程和函数可以让开发者增加功能。编写用户自己的全程可以让用户灵活地扩展数据库的核心能力。模块化。任何优秀的开发者都知道编写模块化代码的重要性。用户应该通过编写小型、可管理的过程在用户应用中定义单独的处理模块,它们可以组织在一起形成更复杂的应用。可重用性。由于这些全程命名后并且保存在数据库中,所以任何应用都能够执行它们(只有它们更具有合适的权限完成这项工作)。这种重用代码的能力在开发过程中非常关键。可维护性。继续使用上一部分中的示例,考虑当存储日志信息的表发生改变之后,会出现什么情况。如果用户需要改动的只有一个地方,那么就会使用户代码更容易维护。抽象和数据隐藏。我们假定用户正在调用不是由用户编写的名为GIVE_EMPLOYEE RAISE()的过程,用户可以向它提供一些信息,让它来工作,换句话说,用户可以用它来员工加薪。它对于用户来讲是个黑箱。它怎样实现并不重要 阅读全文

Oracle编程入门经典 第10章 PLSQL

2013-05-08 10:28 by 夜雨瞳, 2024 阅读, 收藏, 编辑
摘要: 我们以介绍性的概念分析了在Oracle中进行PL/SQL编程。讨论了基于程序块的编程、以及PL/SQL怎样从逻辑上将代码块划分为职责区域,例如变量和常量声明、执行代码、以及错误控制代码。我们还讨论了PL/SQL中数据类型与SQL中数据类型之间的区别。游标可以让我们将SQL查询引入到PL/SQL代码中,有效地集成程序的结构与数据库中存储的数据。有大量内建的功能可以帮助操作我们的数据、字符、和数值变量。另外,我们还可以将PL/SQL编程结构划分为条件逻辑、循环语句、以及错误控制代码等。在异常处理器有2个新“变量”可以使用。它们是SQLCODE和SQLERRM在父程序块的异常处理器中处理这些类型的异常。由于嵌套程序块是父程 阅读全文

Oracle编程入门经典 第9章 掌握SQL*Plus

2013-04-25 09:47 by 夜雨瞳, 1195 阅读, 收藏, 编辑
摘要: 即使 GUI SQL*Plus 工具会从 Windows 中的图标启动,启动选项也与工具的命令行版本的选项完全相同。唯一的区别是,在 SQL*Plus 的 GUI 模式中,可以使用菜单来执行常见的任务,例如将文件载入到 SQL*Plus 缓存,将脚本保存到文件系统中,调用定制的文本编辑器,等等。例如,在命令版本中,为了设置查询结果中的行的宽度,用户要使用命令:SET LINESIZE N在 GUI 中,用户就可以简单使用 Options | Environment 菜单打开 Environment 对话框,在那里用户就可以设定所有的 SQL8Plus 环境设置,见图 9-1。我们来讨论 SQL*Plus 所提供的,可以支持用户民数据库进行日常交互的特性。 阅读全文

Oracle编程入门经典 第8章 索引

2013-04-04 19:22 by 夜雨瞳, 975 阅读, 收藏, 编辑
摘要: 然而在正确的环境中,仔细设计的索引能够显著加速数据获取。简述如有效地利用位图索引需要其数量众多,以及很少或者没有DML基于函数的索引能够带来极大的性能和编程收益,但是要意识到,由于NULL没有排除在所请求的结果集合外,所以用户定义的函数可能会遇到无效和潜在的问题。如果进行联接,那么应该仔细考虑列的次序,次序应该由利用这些次序的查询性质所决定。如果B树索引具有相当的选择性(记住2-5%规则),或者可以只通过引用索引就可以回答查询,那么优化器就认为其有用。好的索引要建立在频繁用于查询或者表联接谓词的列上。用户所建立的所有索引都会消耗空间和其它数据库资源 阅读全文

扎实基础之从零开始-Oracle

2013-02-28 09:22 by 夜雨瞳, 1221 阅读, 收藏, 编辑
摘要: 快速学习法是一种市场经济时代的学习方法,是高效的学习方法,是日本出现的一种新的学习方法,它能使人们以高于常法五倍的速度灵活、迅速地掌握知识。基础学习法中国采取的是“重基础厚理论”的教育方式,免不了会对学生采取“强迫填鸭”式的教学方法。如果你希望能够掌握和理解一门课程的内容,可采用基础学习法。基础学习法首先你得有以下四个因素:兴趣这里不谈培养学习的兴趣,个人观点:学习兴趣很容易培养(三分热的人多的是),真正的兴趣,需要你自己去挖掘。 阅读全文

Oracle编程入门经典 第7章 表

2013-02-24 20:57 by 夜雨瞳, 875 阅读, 收藏, 编辑
摘要: 表是在行和列中存储数据的基本结构。而且,就如同Oracle向数据库整体增加特性一样,随着时间失衡,它也增强了表的概念,以适应更加复杂的应用要求。在本章中,我们将要讨论:Oracle中最常用的表类型,以及用户为什么要使用各种类型。用户在Oracle中将会遇到的表特性,它们可以影响表的操作方式。怎样ALTER、DROP和TRUNCATE表7.1介绍Oracle中的表在Oracle中,存储数据从没有如此容易或如此高效。除了对SQL优化器进行了改进外,数据库内核、数据库管理配置选项等也都得到了强化。Oracle已经发布了新类型的表,来适应各种类型的数据存储、数据访问以及性能要求。 阅读全文

Oracle编程入门经典 第6章 在Oracle中处理语句

2013-01-19 17:05 by 夜雨瞳, 678 阅读, 收藏, 编辑
摘要: 6.1 SQL语句类别DDL:数据定义语言语句。这样的语句有CREATE、TRUNCATE和ALTER,它们用于建立数据库中的结构,设置许可等。用户可以使用它们维护Oracle数据词典。DML:数据操作语言语句。这些语句可以修改或者访问信息,包括INSERT、UPDATE和DELETE。查询:这是用户的标准SELECT语句。查询是指那么返回数据但是不修改数据的语句,是DML语句的子集。6.2 怎样执行语句相对于查询和DML语句,DDL更像是Oracle的一个内部命令。它不是在一些表上生成的查询,而是完成一些工作的命令。例如,如果用户使用:Create table t(x int primary 阅读全文

Oracle编程入门经典 第5章 体系结构

2013-01-16 20:03 by 夜雨瞳, 693 阅读, 收藏, 编辑
摘要: 大多数阅读过Oracle相关内容的用户会听说过它的三个核心效力,即:可扩充性——Oracle系统有能力承担增长的工作负荷,并且相应地扩充它的系统资源利用情况。这意味着给定的系统既可以服务于10个用户,也可以有效地服务于每个用户同时运行5个会话的10000个用户。可行性——无论出现操作系统崩溃、电源断电还是系统故障,都可以对Oracle进行配置,以保证在检索用户数据和进行事务处理的时候不受任何影响。可管理性——数据库管理员可以微调Oracle使用内在的方式、Oracle向磁盘写入数据的频率,以及数据库为连接到数据库的用户分配操作系统进行的方式。本章我们将要讨论:为什么理解体系结构很重要使用Ora 阅读全文

Oracle编程入门经典 第4章 新9i示例模式

2013-01-16 19:41 by 夜雨瞳, 644 阅读, 收藏, 编辑
摘要: 很多年来,Oracle教师、管理员、程序员、以及用户为了学习、测试或调整他们的数据库,都一直在使用这个值得依赖的SCOTT模式进行着简单地查询、更新、以及删除操作。这些模式就是我们所说的示例模式。示例模式是表、视图、索引这样的数据库对象的集合,并且随之预先供了代表小规模或者中等规模公司的数据。随着最新版本的Oracle数据库Oracle 9i的出现,又引进了全新的一组示例模式,它们的目标是扩展SCOTT模式向用户提供的功能。所有这些模式一起形成了相同的虚拟公司的一部分,它们各自都有自己的业务侧重点。例如,人力资源部、订单输入部门以及发货部门都有分离的模式。注意:当前hr已经锁定了(即lock) 阅读全文

Oracle编程入门经典 第3章 建立以及管理用户和表

2013-01-06 02:25 by 夜雨瞳, 561 阅读, 收藏, 编辑
摘要: 数据定义语言(DDL)。怎样建立我们自己的用户账号。可以用于Oracle表的不同数据类型。怎样在表上建立约束。怎样使用数据词典获取与数据库中对象有关的信息。3.1 数据定义语言DDL通常用于建立和管理数据库。它可以使用SQL建立对象、配置数据库安全、管理统计数据以及完成其它功能。在第2章中,我COMMIT和ROLLBACK。在表中执行插入、更新和删除等操作之后使用COMMIT语句,就可以使修改结果在用户数据库中永久存在。当用户向数据库发出DDL语句的时候,则在语句执行前后就产生隐匿的COMMIT语句(即使DDL失败)。这是因为DDL不能进行回滚,而且,这也意味着DDL语句使用之前任何没有提交的 阅读全文

Oracle编程入门经典 第2章 SQLPlus和基本查询

2013-01-06 01:22 by 夜雨瞳, 1510 阅读, 收藏, 编辑
摘要: 怎样使用SQL*Plus工具连接数据库以及执行查询怎样配置SQL*Plus,以格式化查询结果SQL语句的不同种类怎样在数据库上编写查询来查看数据怎样修改存储在数据库中的数据2.1 SQL*Plus简介SQL*Plus是一个用于连接Oracle数据库的工具,具有可以满足Oracle用户和管理员需求的大量功能,包括:在数据库中执行SQL和PL/SQL更新数据库中的数据执行数据查询将查询结果集格式化为报表建立、编辑、检索和执行SQL脚本帮助Oracle用户调整SQL查询管理数据库描述数据库中的表和PL/SQL对象将数据从一个数据库复制到另一个数据库向用户发送消息,接受这些用户的输入2.1.1 SQ 阅读全文

Oracle编程入门经典 第1章 了解Oracle

2013-01-03 23:35 by 夜雨瞳, 1524 阅读, 收藏, 编辑
摘要: 基本概念。什么是数据库?什么是实例?什么是模式?Oracle的基本术语?什么是SYS和SYSTEM?Oracle数据库的一些变化版本1.1 Oracle基本术语1.1.1 数据库Oracle是业界具有领导地位的关系数据库管理系统(RDBMS)的名称。术语数据库是指运行数据库所需的所有文件(包括数据文件、临时数据文件、重做日志文件、控制文件以及参数文件)。1.1.2 实例Oracle实例包括为了运行数据库,执行、分配的所有进程和内存结构。数据库只有调入到内存和进程中,我们才可以使用它们。1.1.3 用户当用户安装Oracle的时候,会默认建立2个用户,即SYS和SYSTEM。1.1.4 模式Or 阅读全文