1.3.1 Oracle SQL
1.3.1.1
SQL语句——可以被看做是一种简单但是非常强大的计算机语言(或指令)。
可分为6类:
* 数据定义语句DDL
用于创建、修改、维护、删除方案对象。
DDL中还包括赋予用户访问数据库对象权限的语句。
* 数据操作语句
注:检查SQL语句的执行计划都属于DML操作。
* 事务控制语句——Transaction Control Statements
常用:commit,roolback,savepoint
* 会话控制语句
——用于 控制当前会话的属性。
——只有两个:Alter session 和 Set role。
* 系统控制语句
——改变Oracle数据库实例的属性:Alter System
* 嵌入式SQL语句
将DDL、DML语句嵌入存储过程中,并被Oracle编译后存储。
包括:OPEN, CLOSE, FETCH, EXECUTE。
1.3.2 PL/SQL
——一种在SQL基础上扩展的一种过程语言。
优势: 1>、PL/SQL代码能够被集中地存储于数据库中。这减少了应用程序与数据库之间的网络通信量,提高了应用和后台系统的性能。即使PL/SQL没有存储于数据库中,应用程序也可以将PL/SQL整块地发送到数据库,而不是逐条发送SQL语句,这也能减少网络通信量。
2>、数据访问可以由PL/SQL代码进行控制。(权限)。也就是说,用户在没有直接授权的情况下,只能访问PL/SQL开发者通过PL/SQL提供的数据。
3>、PL/SQL程序块可以由应用程序发送到数据库,进行复杂计算后返回结果,无需在网络间传输大量原始数据。
4>、Oracle支持PL/SQL
Server Pages,用户通过PL/SQL实现的应用逻辑可以在Web页面中直接调用。
1.3.2.1 PL/SQL程序结构
PL/SQL程序结构 包括:a、存储过程(stored procedure),
b、函数(function),——过程和函数基本相同,唯一不同点:函数可以给调用者一个返回值。
c、包(package),
包可以将相关的过程,函数,变量,及其它数据结构包装为一个整体
存储在数据库中。包加强了PL/SLQ的功能(例如,在包中声明了全局变量后,可以被包内的任何过程使用)。包也能提高性能(例如,包内的所有对象可以被一起解析、编译,在使用时一次全部加载到内存中)。
d、触发器(trigger),
e、自治事务(autonomous transaction)
1.3.3 Java
1.3.4 API
1.3.5 事务
a、一段逻辑完整的数据处理工作,由一个用户提交的一个或多个SQL语句构成
b、保存点(savepoint)将一个又多句SQL构成的大事务拆分为小段。用户可以使用保存点在一个大事务的操作中任意地做标记。使用保存点做标记后,用户可以从事务中的当前步骤回滚到事务中的任意一个保存点。
1.3.6 数据类型
——表明了数据的存储格式,内容规范和有效值范围。
用户创建表时,必须制定每列的数据类型。
Oracle提供了以下内置的数据类型:
* 字符型
* 数字型
* 日期型(DATE)
* LOB
* RAW 和 LONG RAW
* ROWID 和 UROWID
创建新的对象类型可以基于Oracle的内置数据类型,或已有的对象类型(object
type)、对象引用(object reference)或集合类型(collection type)。
用户定义的数据类型存储在用户方案中,并可以通过SQL,PL/SQL,Java及其他接口访问。
对象类型 和 数据库内置类型的区别:
a、对象类型是由用户自定义的。
b、对象类型还设定了对象中要保存的数据(属性,方法(对对象的行为))
c、 对象类型是对现实世界实体的抽象(例如一个订单 可以抽象为一个对象类型)
对象类型 以及 数据库中其他的面向对象特性(如变长数组(variable-length array)与嵌套表(nested table))为阻止访问数据库数据提供了更高层的方式。
1.3.7 国际化支持
国际化支持开发包(Globalization
Development
Kit,GDK)简化了系统的开发过程,并减少了面向多语言市场的internet应用程序的开发成本
本文详细介绍了Oracle SQL的基本概念及其分类,包括DDL、DML等六种语句类型,并深入探讨了PL/SQL这一过程语言的优势和结构,如存储过程、函数、包和触发器等。

被折叠的 条评论
为什么被折叠?



