Oracle 9i与MS SQL Server 2000之比

目录
一、重要概念的对比... 3
二、关于Oracle Manager Server与MS SQL 的Enetrprise manager. 3
三、关于Oracle的Sys、System的用户与MS SQL 的master的比较... 4
四、Oracle中新的数据库对象:... 4
五、Oracle回滚段和SQL Server的数据库事务日志文件... 4
六、主要数据类型的对比... 5
七、语法上的区别... 7
1、基本SQL语句的区别... 7
l SELECT 语句... 7
l INSERT 语句... 8
l DELETE 语句... 8
l EXISTS. 9
2、表数据复制... 9
l 库内数据复制... 9
l 文本文件转入、转出的批量处理... 9
3、表数据更新... 10
l 根据其它表数据更新你要更新的表。... 10
l T-SQL UPDATE 语句不支持对 SELECT 语句的更新操作。... 10
4、内联结,外联结, 交叉联接... 11
5、存储过程或函数中使用的临时表... 15
l 临时表的处理机制... 15
l SQL Server中的临时表移植到Oracle中我的处理方法如下: 16
l 下面两条语句效果相当(全局临时表):... 16
6、分组语句 group by. 17
7、存储过程... 17
l Oracle的sp不能返回结果集。... 17
l 在Oracle的sp中不能出现DDL语句. 17
l 延迟存储过程的执行... 18
l SQL Server 的sp形参需要指定长度(若不指定长度,则系统取默认长度,不一定得到你需要的值),Oracle的sp形参不需要指定长度... 18
l 临时存储过程... 19
8、触发器... 20
l 功能上的对比... 20
l 将SQL Server的触发器移植至Oracle上... 22
9、视图... 23
10、关于游标... 23
l 游标的简单定义... 23
l 游标的详细语法... 25
l Oracle 的游标 FOR循环语法... 27
l Oracle中带参数的游标... 27
l Oracle中游标的属性... 28
l PL/SQL 和 T-SQL 中对等的游标语句。... 29
11、关于自增的identity如何移植... 30
12、Top n 与 RowNum. 31
13、执行动态SQL. 31
14、常用函数的比较... 34
l 数字/数学函数... 34
l 字符函数... 35
l 日期函数... 36
l 转换函数... 37
l 其它行级函数... 37
l 合计函数... 37
15、索引的差异... 37
l 聚集索引... 37
l 非聚集索引... 38
l 索引的语法和命名... 38
l 索引数据存储参数... 39
l 使用索引的注意事项... 39
l 使用Oracle9i全索引扫描快速访问数据... 39
16、约束与完整性... 41
l 约束共有五类:... 41
l 列约束和表约束... 44
l 增加和删除约束... 44
l DEFAULT. 45
l 下表提供了一个用于定义引用完整性约束的语法比较。... 45
l 数据完整性... 46
17、优化 SQL 语句... 47
18、异常的处理... 51
19、子查询... 52
20、其它语法的比较... 53
l 锁定请求的行... 53
l 行合计和 COMPUTE 子句... 54
l 读取和修改 BLOB. 54
l 条件测试... 54
l 用户定义的函数... 55
l 模式匹配... 55
l 关键字... 56
l 声明变量... 56
l 变量赋值... 57
l 语句块... 57
l 条件控制(选择结构)... 58
l 重复控制(循环结构)... 58
l 顺序控制:GOTO和NULL语句... 58
l PRINT与dbms_output.put_line() 58
l 从存储过程返回... 59
l 提出程序错误... 59
l 其它语法... 59
l 数据库对象之间的差异。... 60
l Dual 60
l 取得建表和索引的DDL语句... 61
八、数据库的复制... 64
九、备份与恢复... 69
十、超大型数据库的设计... 73
十一、元数据与数据字典... 78
十二、相互移植时的注意事项... 89
十三、完全卸载... 89
十四、作者简介... 90
附录1:Oracle中显示SQL语句的内存使用情况... 90
附录2:保持Oracle优良性能的若干诀窍... 92
附录3:Oracle中查看本用户下的各种对象的SQL脚本... 95
附录4:Oracle数据操作和控制语言详解... 96
一、重要概念的对比MS SQL Server 相当于 Oracle
服务器 数据库
数据库 方案(用户)
文件组 表空间
区(固定64K) 区(不固定)
页(固定8K) 块(不固定)
服务器角色 角色
语句权限 系统权限
对象权限 对象权限
MS SQL 的数据库相当于Oracle的Schema。Schema翻译为中文为“方案”,意思是一个用户所拥有所有对象的集合。这里的对象包括表、视图、实例化视图、序列、过程、函数、程序包、同义词。要建立一个在Oracle中的类似于MS SQL 的数据库的大致过程如下:
1 建立数据表空间(相当于MS SQL 的数据库的数据文件)
2 建立临时表空间(相当于MS SQL 的数据库的事务日志文件)
3 建立用户,它的缺省表空间和临时表空间是刚建立的两个表空间
4 给用户授权,最起码的角色权限是Connect 的角色
5 以该用户登陆,创建自己的表、视图、实例化视图、序列、过程、函数、程序包、同义词等
二、关于Oracle Manager Server与MS SQL 的Enetrprise manager Oracle Manager Server提供了与MS SQL的Enetrprise manager同样的功用,但是两者有很大的差别。Oracle Manager Server的特点如下:
● 它是Oracle管理分布式数据库的服务
● 它缺省并不安装
● 它需要有自己管理所需要的资料档案库,在某个数据库(如:OEMREP)中需要建立相应的用户,如:OEM_CHINA_OEMREP。
● 它的登录需要身份验证,这里的身分验证,与管理所需要的资料库的用户不是一个概念,也不是数据库中的Sys和system用户,它的缺省用户是SYSMAN,口令为: oem_temp。
使用它,在管理端要启动Manager Server服务和智能代理服务Oracle Agent,被管理的数据服务器要启动智能代理服务Oracle Agent
三、关于Oracle的Sys、System的用户与MS SQL 的master的比较 MS SQL 的master数据库存储了当前数据库服务的一些配置信息,如数据库设备、字符集、数据文件、登陆帐号、拥有的数据库、整个服务参数配制等信息。Oracle的Sys存储了Oracle服务或者实例的信息及所有用户的数据字典信息,这一点不同于MS SQL ,MS SQL 每一个数据库拥有自己的对象的数据字典信息。System用户拥有数据字典是视图信息。缺省情况下,system用户拥有DBA系统角色权限,而sys不仅拥有DBA的权限还拥有SysDBA的权限。
Tags: 

延伸阅读

最新评论

发表评论