最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

数据库管理系统之Oracle

来源:动视网 责编:小OO 时间:2025-10-01 10:23:13
文档

数据库管理系统之Oracle

数据库管理系统之—Oracle姓名:学号:日期:2012年4月15日1.走进Oracle1.1Oracle版本Oracle11g是甲骨文公司在2007年年7月12日推出的最新数据库软件,Oracle11g有400多项功能,经过了1500万个小时的测试,开发工作量达到了3.6万人/月。相对过往版本而言,Oracle11g具有了与众不同的特性。2009年9月Oracle公司发布了期待已久的Oracle11gR21.2Oracle应用背景迄今为止,在关系数据库中,Oracle数据库11g是最具创新性
推荐度:
导读数据库管理系统之—Oracle姓名:学号:日期:2012年4月15日1.走进Oracle1.1Oracle版本Oracle11g是甲骨文公司在2007年年7月12日推出的最新数据库软件,Oracle11g有400多项功能,经过了1500万个小时的测试,开发工作量达到了3.6万人/月。相对过往版本而言,Oracle11g具有了与众不同的特性。2009年9月Oracle公司发布了期待已久的Oracle11gR21.2Oracle应用背景迄今为止,在关系数据库中,Oracle数据库11g是最具创新性
数据库管理系统之—Oracle

                       姓 名:                

                       学 号:                

                       日 期: 2012年4月15日

1.走进Oracle

1.1 Oracle 版本  

Oracle 11g是甲骨文公司在2007年年7月12日推出的最新数据库软件,Oracle 11g有400多项功能,经过了1500万个小时的测试,开发工作量达到了3.6万人/月。相对过往版本而言,Oracle 11g具有了与众不同的特性。2009年9月Oracle公司发布了期待已久的Oracle 11g R2

1.2  Oracle应用背景 

  迄今为止,在关系数据库中,Oracle数据库11g是最具创新性的。这个新版本不仅代表着更高的性能、更低的成本,而且还具有一种象征意义,因为它是目前世界上唯一具有网格计算功能的数据库。网格是利用互联网把地理上广泛分布的各种资源(包括计算资源、存储资源、带宽资源、软件资源、数据资源、信息资源、知识资源等)连成一个逻辑整体,就像一台超级计算机一样,为用户提供一体化信息和应用服务(计算、存储、访问等),彻底消除资源“孤岛”,最充分的实现信息共享。

1.3  Oracle 11g的显著优点 

1.3.1 Oracle数据库11g具有先进的自助式管理和自动化功能,可帮助企业满足服务等级协议的要求。

1.3.2 Oracle数据库11g的数据防卫组件可帮助客户使用备用数据库,以提高生产环境的性能,并保护生产环境免受系统故障和大面积灾难的影响。

1.3.3在保护数据库应用免受计划停机和意外宕机影响方面,甲骨文一直领先于业界。1.3.4 Oracle数据库11g具有在数据库中存储下一代大型对象的功能,这些对象包括图像、大型文本对象及一些高级数据类型,如XML、医疗成像数据和三维对象。

1.3.5 Oracle数据库11g进一步增强了Oracle数据库的安全性。

1.3.6 Oracle数据库11g在数据仓库方面也引入了创新。

1.3.7 Oracle数据库11g通过高速缓存和重用经常调用的数据库查询的功能改善了应用的性能和可扩展性。数据库驻留连接汇合功能通过为非多线程应用提供连接汇合,提高了Web系统的可扩展性。

2.Oracle系统结构

2.1 Oracle 数据库创建

Oracle中的数据库主要是指存放数据的文件,这些文件在Oracle安装完成后,在计算机硬盘上都能找到,包括数据文件、控制文件和数据库日志文件。数据库创建后会有一系列为该数据库提供服务的内存空间和后台进程,称为该数据库的实例。每一个数据库至少会有一个实例为其服务。实例中的内存结构称为系统全局区(SGA),系统会根据当前计算机系统的性能给SGA分配非常可观的内存空间。

2.2用户管理及创建

数据库创建完毕后,需要设置数据库的默认用户。Oracle中为管理员预置了两个用户分别是SYS和SYSTEM。同时Oracle为程序测试提供了一个普通用户scott,口令管理中,可以对数据库用户设置密码,设置是否锁定。 Oracle客户端使用用户名和密码登录Oracle系统后才能对数据库操作。

Oracle的用户可以用CREATE USER命令来创建。

语法结构:创建用户

CREATE USER 用户名 IDENTIFIED BY 口令 [ACCOUNT LOCK|UNLOCK]

2.3 Oracle数据类型

Oracle数据库的核心是表,Oracle创建表使用CREATE TABLE命令来完成。创建约束则使用如下命令:ALTER TABLE命令——ALTER TABLE 表名 ADD CONSTRAINT 约束名 约束内容。表中的列使用到的常见数据类型如下:

类型  含义

CHAR(length)  存储固定长度的字符串。

VARCHAR2(length)  存储可变长度的字符串。

NUMBER(p,s)  既可以存储浮点数,也可以存储整数,p表示数字的最大位数。

DATE  存储日期和时间,存储纪元、4位年、月、日、时、分、秒。 

TIMESTAMP  存储日期的年月日,时分秒,以及秒后6位,同时包含时区。

CLOB  存储大的文本,比如存储非结构化的XML文档

BLOB  存储二进制对象,如图形、视频、声音等。

2.4  Oracle 数据库对象

数据库对象是数据库的组成部分,常常用CREATE命令进行创建,可以使用ALTER命令修改,用DROP执行删除操作。前面已经接触过的数据库对象有表、用户等,接下来介绍更多数据库对象。

2.4.1 同义词

同义词(Synonym)是数据库对象的一个别名,Oracle可以为表、视图、序列、过程、函数、程序包等指定一个别名。同义词有两种类型:

 私有同义词:拥有CREATE SYNONYM权限的用户(包括非管理员用户)即可创建私有同义词,创建的私有同义词只能由当前用户使用。

 公有同义词:系统管理员可以创建公有同义词,公有同义词可以被所有用户访问。

创建同义词的语法是:

CREATE [OR REPLACE] [PUBLIC] SYSNONYM [schema.]synonym_name 

FOR [schema.]object_name

2.4.2 序列

序列(Sequence)是用来生成连续的整数数据的对象。序列常常用来作为主键中增长列,序列中的可以升序生成,也可以降序生成。

创建序列的语法是:

CREATE SEQUENCE sequence_name

[START WITH num]

[INCREMENT BY increment]

[MAXVALUE num|NOMAXVALUE]

[MINVALUE num|NOMINVALUE]

[CYCLE|NOCYCLE]

[CACHE num|NOCACHE]

2.4.3 视图

视图(View)实际上是一张或者多张表上的预定义查询,这些表称为基表。从视图中查询信息与从表中查询信息的方法完全相同。只需要简单的SELECT…FROM即可。

语法结构:创建视图

CREATE [OR REPLACE] [{FORCE|NOFORCE}] VIEW view_name

AS

SELECT查询

[WITH READ ONLY CONSTRAINT] 

2.4.4索引

Oracle数据库会为表的主键和包含唯一约束的列自动创建索引。索引可以提高查询的效率,但是在数据增删改时需要更新索引,因此索引对增删改时会有负面影响。

语法结构:创建索引

CREATE [UNIQUE] INDEX index_name ON table_name(column_name[,column_name…])

2.4.5表空间

表空间只是一个逻辑概念,若干操作系统文件(文件可以不是很大)可以组成一个表空间。表空间统一管理空间中的数据文件,一个数据文件只能属于一个表空间。一个数据库空间由若干个表空间组成。

语法结构:创建表空间

CREATE TABLESPACE 空间名称

DATAFILE '文件名1' SIZE 数字M 

[,'文件名2' SIZE 数字….]

EXTENT MANAGEMENT LOCAL 

UNIFORM SIZE 数字M

2.5  Oracle数据库导入导出

Oracle的备份是Oracle操作中常见的工作,常见的备份方案有:逻辑备份(IMP&EXP命令进行备份)、物理文件备份(脱机及联机备份)、利用RMAN(Recovery Manager)的增量物理文件系统备份。ORACLE数据库的逻辑备份分为四种模式:表空间备份(tablespace)、表备份(table)、用户备份(user)和完全备份(full)。Oracle的逻辑备份是使用IMP&EXP命令进行数据导入导出的操作。使用EXP命令导出或者使用IMP命令导入时,需要Create Session系统权限,但是如果要导出其他的表,必须拥有权限:EXP_FULL_DATABASE。

2.6 Oracle 数据库存储管理

    Oracle数据库使用asm经行存储管理。ASM是一个有效的抽象层,使你的Oracle数据库可以与叫做diskgroups的抽象空间一起使用,而不是直接使用datafiles。 自动化存储管理(AUTOMATIC STORAGE MANAGEMENT)简称为ASM,对原来ORACLE建立的文件提供一个垂直的综合的管理,ASM分布I/O数据可以分布到所有的资源以达到最优化调整性能(散布数据文件避免竞争),ASM可以帮助数据库管理员动态的管理数据环境,允许他们在不关闭数据库的情况下去改变数据库的文件大小和来调节他们的存储位置等.

  

  自动化存储管理ASM允许数据库管理员去定义一个存储池(命名一个磁盘组),利用这个池数据库管理员可以进行ORACLE内核管理文件的命名和布置数据库文件等,数据库管理员可以用新的SQL命令(创建磁盘组,修改磁盘组,删除磁盘组)来改变他们的存储位置(增加或移除),可以用ENTERPRISE MANAGER(EM)和DATABASE CONFIGURATION ASSISTANT(DBCA)来管理磁盘组.ORACLE 11g提供给数据库管理员一个简单的界面去管理资源,自动存储管理能排除I/O的自动需求去调节性能,它可以虚拟存储一批磁盘组和提供应冗余的选项达到更高级的保护作用,ASM很容易的改变结构,它能支持数据文件利用所有资源去使性能最优化和资源最佳化,ASM可以减少数据库管理员的时间和提升他们的能力去管理更大的数据库来提高他们的效率.

3.Oracle 数据操纵语言(DML)

数据操纵语言(DML)用于对数据库的表中数据进行添加、修改、删除和SELECT…For UPDATE(后面专门学习该查询)操作。

3.1 简单查询

数据查询是用SELECT命令从数据库的表中提取信息。SELECT语句的语法是:

SELECT *|列名|表达式 FROM 表名 WHERE 条件 ORDER BY 列名

3.2 数据插入

用INSERT命令完成对数据的插入。

语法结构:根据结果集创建表

INSERT INTO 表名(列名1,列名2……) VALUES (值1,值2……)

3.3更新数据

Oracle在表中更新数据的语法是:

UPDATE 表名 SET 列名1=值,列名2=值…… WHERE 条件

3.4 删除数据

Oracle在表中删除数据的语法是:

DELETE FROM表名 WHERE 条件

在数据库操作中, TRUNCATE命令(是一个DDL命令)可以把表中的所有数据一次性全部删除,语法是:TRUNCATE TABLE 表名

TRUNCATE和DELETE都能把表中的数据全部删除,他们的区别是:

1. 是DDL命令,删除的数据不能恢复;DELETE命令是DML命令,删除后的数据可以通过日志文件恢复。

2. 如果一个表中数据记录很多,TRUNCATE相对DELETE速度快。

3.5操作符

Oracle开发中,依然存在算术运算,关系运算,和逻辑运算。

算术运算:Oracle中的算术运算符,只有+、-、*、/四个,其中除号(/)的结果是浮点数。求余运算只能借助函数:MOD(x,y):返回x除以y的余数。

关系运算和逻辑运算:Oracle中Where子句经中经常见到关系运算和逻辑运算,常见的关系运算有:等于,大于,不等于,小于,或者等于。逻辑运算符有三个:AND、OR、NOT。字符串连接操作符(||)

3.6高级查询

3.6.1消除重复行

在Oracle查询中结果中,可能出现若干行相同的情况,那么可以使用DISTINCT消除重复行。SQL> SELECT DISTINCT DEPTNO FROM EMP;

DEPTNO

3.6.2 NULL操作

如果某条记录中有缺少的数据值,就是空值(NULL值)。空值不等于0或者空格,空值是指未赋值、未知或不可用的值。任何数据类型的列都可以包括NULL值,除非该列被定义为非空或者主键。在查询条件中NULL值用IS NULL作条件,非NULL值用NOT IS NULL做条件。

3.6.3 IN 操作

在Where子句中可以使用IN操作符来查询其列值在指定的列表中的行。

 对应IN操作的还有NOT IN,用法一样,结果相反。

3.6.4 BETWEEN…AND…

在WHERE子句中,可以使用BETWEEN操作符来查询列值包含在指定区间内的

3.6.5 LIKE模糊查询

模糊查询使用LIKE关键字通过字符匹配检索出所需要的数据行。字符匹配操作可以使用通配符“%”和“_”:

 :表示零个或者多个任意字符。

 :代表一个任意字符。

3.6.6 集合运算

集合运算就是将两个或者多个结果集组合成为一个结果集。集合运算包括:

 交集),返回两个查询共有的记录。

 并集),返回各个查询的所有记录,包括重复记录。

 并集),返回各个查询的所有记录,不包括重复记录。

 补集),返回第一个查询检索出的记录减去第二个查询检索出的记录之后剩余的记录。

3.6.7连接查询

在SQL Server中已经学习过内联接(inner join)、外联接(outer join),外联接又分为左外联接(left outer join)和右外联接(right outer join)。Oracle中对两个表或者若干表之间的外联接用(+)表示。

3.6.8子查询

子查询在SELECT、UPDATE、DELETE语句内部可以出现SELECT语句。内部的SELECT语句结果可以作为外部语句中条件子句的一部分,也可以作为外部查询的临时表。子查询的类型有:

1. 单行子查询:不向外部返回结果,或者只返回一行结果。

2. 多行子查询:向外部返回零行、一行或者多行结果。

4.PL/SQL程序设计

Oracle PL/SQL语言(Procedural Language/SQL)是结合了结构化查询与Oracle自身过程控制为一体的强大语言,PL/SQL不但支持更多的数据类型,拥有自身的变量声明、赋值语句,而且还有条件、循环等流程控制语句。过程控制结构与SQL数据处理能力无缝的结合形成了强大的编程语言,可以创建过程和函数以及程序包。PL/SQL的优点还有:支持SQL,支持面向对象编程,更好的性能,可移植性,安全性。

5.结论 Oracle数据库11g——引领创新时代

2007年7月30日~8月2日,甲骨文全球大会·2007·亚太地区开发者大会在上海召开。正如甲骨文公司数据库服务器技术高级副总裁Andy Mendelsohn在会上所说的那样:“当前社会正面临着数据迅速增加、数据集成度不断提高及实现数据连接性的信息技术成本持续增大的压力,这种压力是空前的。Oracle数据库10g率先成为为网格计算而设计的数据库。如今,为了加速采用Oracle网格并扩大其规模,Oracle数据库11g提供一些关键功能,真正克服了挑战并实现了真正的创新。Oracle 数据库11g必将推进整个世界进步!”

文档

数据库管理系统之Oracle

数据库管理系统之—Oracle姓名:学号:日期:2012年4月15日1.走进Oracle1.1Oracle版本Oracle11g是甲骨文公司在2007年年7月12日推出的最新数据库软件,Oracle11g有400多项功能,经过了1500万个小时的测试,开发工作量达到了3.6万人/月。相对过往版本而言,Oracle11g具有了与众不同的特性。2009年9月Oracle公司发布了期待已久的Oracle11gR21.2Oracle应用背景迄今为止,在关系数据库中,Oracle数据库11g是最具创新性
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top