oracle数据库:开发成功的Oracle应用_笔记10
1.3.4数据库独立性
如果把应用从一个数据库移以另一个数据库,就必须验证它在安全不同的环境下还能正常地工作,而且为此我们要做大幅修改!
没有哪个数据库是错的或“不好的”,它们只是有所不同而已。
Oracle是按ANSI SQL的要求来实现NULL值。基于这些规则的要求,X与NULL的比较结果既不为true也不为false,也就是说,实际上,它是未知的(unknown)
在Oracle中,NULL与NULL既不相等,也不完全不相等。
.数据库是不同的。在一个数据库上取得的经验也许可以部分应用于另一个数据,但是必须有心理准备,二者之间可能存在一些基本差别,可能还有一些细微的差别。
.细微的差别(如对NULL的处理)与基本差别(如并发控制机制)可能有同样显著的影响。
.应当了解数据库,知道它是如何工作的,它的特性如何实现,这是解决这些问题的唯一途径。
在Oracle中,如果在存储过程中创建表,会发现存在以下问题。
.DDL操作会阻碍可扩展性
.DDL操作的速度往往不快
.DDL操作会提交事务
.必须在所有存储过程中使用动态SQL而不是静态SQL来访问这个表
.PL/SQL的动态SQL没有静态SQL速度快,或者说没有静态SQL优化得好。
1.标准的影响
SQL99是数据库的一个ANSI/ISO标准。这个标准的前身是SQL92 ANSI/ISO标准,而SQL92之前还有一个SQL 89 ANSI/ISO标准。它定义了一种语言(SQL)以及数据库的行为(事务,隔离级别等)。你知道许多商业数据库至少在某种程序上是符合SQL99的吗?不过,这对于查询和应用的可移植性没有多大的意义,这一点你也清楚吗?
从SQL92开始,标准有4个层次。
.入门级(Entry level)。这是大多数开发商符合的级别。这一级只是对前一个SQL89稍做修改。所有数据库开发商都不会有更高的级别。实际上,美国国家标准和技术协会NIST除了验证入门级外,甚至不做其他的验证。
.过渡级
.中间级
.完备级
关键是,SQL92最多只达到入门级,如果使用了中间级或更高级里的特性,就存在无法“移植”应用的风险。
SQL99只定义了两级一致性:核心(core)一致性和增强(enhanced)一致性。SQL99力图远远超越传统的SQL,并引入了一些对象-关系构造(数组、集合等)。它包括SQL MM(多媒体,multi-media)类型、对象-关系类型等。还没有哪个开发商的数据库经认证符合SQL99核心级或增强级。实际上,据我所知,甚至没有哪个开发商声称他们的产品完全达到了某级一致性。
http://www.cnblogs.com/kevinGao/archive/2012/06/07/2555416.html
86标准sql与92标准SQL用法区别
http://wenku.baidu.com/view/54e9f3a70029bd64783e2c45.html
SQL-99: 纲要定义、基本限制与查询
http://www.52ij.com/jishu/5138.html
oracle数据库:开发成功的Oracle应用_笔记9
http://wenku.baidu.com/view/d24d01d4b9f3f90f76c61b4b.html
SQL99纲要定义
本文来源 我爱IT技术网 http://www.52ij.com/jishu/5139.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
