01、Oracle 入门教程 - Oracle 数据库基本介绍

一、Oracle 数据库概述

1.1 Oracle 概述

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

1.2 数据库管理系统

在数据库系统中,数据模型主要有层次模型、网状模型和关系模型三种(另外-种面向对象模型还处在探索研究中),目前理论成熟、使用普及的模型就是关系模型一关系型数据库的理论基础。

1.2.1 关系型数据库与数据库管理系统

关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。

关系模型以二维表来描述数据。在关系模型中,每个表有多个字段列和记录行,每个字段列有固定的类型属性(如数字、字符、日期等类型)。关系模型数据结构简单、清晰、具有很高的数据独立性,因此是目前主流的数据库数据模型。

在关系数据模型中,关系可以看成由行和列交叉组成的二维表格,表中一行称为一个元组,可以用来标识实体集中的一个实体。表中的列称为属性,给每一-列起一个名称即为属性名,表中的属性名不能相同。列的取值范围称为域,同列具有相同的域,不同的列也可以有相同的域。表中任意两行(元组)不能相同。能唯一标识表中不同行的属性或属性组(即多个属性的组合)称为主键或复合主键。

尽管关系与传统的二维表格数据文件具有类似之处,但是它们又有区别,严格地说,关系是一-种规范化的二维表格,它具有如下性质:

  • 属性值具有原子性,不可分解。
  • 没有重复的元组,即没有重复的行。
  • 理论上没有行序,但是在使用时有时可以有行序。

1.2.2 关系型数据库中的关键码

在关系型数据库中,关键码(简称键)是关系模型的一一个非常重要的概念,它通常是行(元组)的一个或几个列(属性)。如果键是由一个列组成,则称之为唯一键;若是由多个列(属性)组成的,则称之为复合键,键的主要类型如下:

  • 超键:在-一个关系中,能唯一标识元组的属性或属性集称为关系的超
    键。
  • 候选键:如果一个属性集能唯一标识元组,且又不含有多余的属性,那
    么这个属性集称为关系的候选键。
  • 主键:如果一个关系中有多个候选键, 则选择其中的一 一个键为关系的主键。用主键可以实现关系定义中”表中任意两行(元组)不能相同”的约束。这里以管理学生信息为例,我们在"学生信息表”中设置学号、姓名、性别、年龄、院系、班级等列。在该表中,"学号” 能够唯一标识一名学生,因此,把学号作为主键是最佳的选择,而如果把"姓名”作为主键则会存在问题,因为有可能存在同名的学生。为此,最好创建一个单独的键将其明确地指定为主键, 这种唯一标识符在现实生活中很普遍,如身份证号、银行卡号、手机号、发票号等。
  • 外键:如果-一个关系R中包含另- 个关系A的主键所对应的属性组T,则称此属性组T为关系R的外键,并称关系A为参照关系,关系R是依赖关系。为了表示关联,可以将一个关系的主键作为属性放入另外一个关系中,第二个关系中的那些属性就称为外键。这里以商品销售为例,在填写一张商品销售单时,可以将商品销售信息分为两大类:第一类是单据的主体信息(销售主表),如销售单号、销售金额、销售日期、收款人;第二类是单据的明细信息(销售明细表),如商品序号、商品名称、商品数量等。在数据库的”销售主表”中通常以“销售单号”作为主键;在“销售明细表”中,为了标识被销售出去的商品隶属于哪张单据,需要对每一条商品销售记录标明"单据编号”。在这种情况下,销售明细表中的“销售单号”就被称为外键,因为“销售单号”是其所在表以外(主体表)的一个主键。

1.3 关系型数据库的E-R模型

1.3.1 E-R模型介绍
在设计关系型数据库时,首先需要为它建立逻辑模型。关系型数据库的逻辑模型可以通过实体和关系组成的图形来表示,这种图形称为E-R图,它实现将现实世界中的实体和实体之间的联系转换为逻辑模型。使用E-R图形表示的逻辑模型称为E-R模型,一个标准的E-R模型主要由实体、属性和联系3部分组成。

1.3.2 实体和属性
实体是一个数据对象,是指客观存在并可以相互区分的事物,如一个教师、一个学生、一个雇员等。每个实体由一组属性来表示,如一个具体的学生拥有学号、姓名、性别和班级等属性,其中学号可以唯一标识具体某个学生这个实体。

具有相同属性的实体组合在一起就构成实体集一实体的集合, 而实体则是实体集中的某一个特例,例如,同学这个实体就是学生实体集中的一个特例。

在E-R模型中,实体用矩形表示,矩形内注明实体的命名。实体名常用以大写字母开头的有具体意义的英文名词来表示,联系名和属性名也采用这种方式。

1.3.3 实体间的联系

在实际应用中,实体之间是存在联系的,这种联系必须在逻辑模型中表现出来。在E-R模型中,联系用菱形表示,菱形框内写明“联系名”,并用“连接线”将有关实体连接起来,同时在"连接线”的旁边标注上联系的类型,两个实体之间的联系类型可以分为以下3类:

  • 一对一:
    若对于实体集A中的每一个实体, 在实体集合B中最多有一个实体与之相关;反之亦然,则称实体集A与实体B具有一对- 的联系,可标记联系为1: 1。
  • 一对多:
    若对于实体集A中的每一个实体,在实体集B中有多个实体与之相关;反之,对于实体集B中的每一个实体,实体集A中最多有一 个实体与之相关,则称实体集A与实体集具有一对多的联系,可标记联系为1: n。
  • 多对多:
    若对于实体集A中的每一个实体, 在实体集B中有多个实体与之相关;反之,对于实体集B中的每一 个实体,实体集A中也有多个实体与之相关,则称实体集A与实体集B具有多对多的联系,可标记联系为m: n。

1.3 数据库设计范式

1.3.1 第一范式(1NF)

第一范式是第二和第三范式的基础,是最基本的范式,第一范式包括 下列指导原则:

  • 数据组的每个属性只可以包含一个值。
  • 关系中的每个数组必须包含相同数量的值。
  • 关系中的每个数组一定不能相同。

在任何一一个关系数据库中,第一范式是对关系模式的基本要求,不满足第一范式(1NF) 的数据库就不是关系型数据库。

1.3.2 第二范式(2NF)
第二范式(2NF) 是在第一-范式的基础上建立起来的,即满足第二范式(2NF)必先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实体(即各个记录行)必须可以被唯一地区分。 为实现区分各行记录,通常需要为表设置一个“区分列”,用以存储各个实体的唯一标识。

第二范式要求实体的属性完全依赖于主关键字,即不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分 应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。

1.3.3 第三范式(3NF)
第三范式(3NF)是在第二=范式(2NF)的基础上建立起来的,即满足第三范式(3NF)必先满足第二范式(2NF)。第三范式要求关系表不存在非关键字列对任意候选关键字列的传递函数依赖,也就是说,第三范式要求一个关系表中不包含已在其他表中包含的非主关键字信息。

所谓传递函数依赖,就是指如果存在关键字段A决定非关键字段B,而非关键字段B决定非关键字段C,则称非关键字段C传递函数依赖于关键字段A。

1.4 Oracle 11g 的新功能

1.4.1 增强信息生命周期管理和存储管理能力
Oracle 11g具有极新的数据划分和压缩功能,可实现更经济的信息生命周期管理和存储管理。很多原来需要手工完成的数据划分工作在Oracle 11g中都实现了自动化,Oracle 11g还扩展了已有的范围、散列和列表划分功能,增加了间隔、索引和虚拟卷划分功能。

1.4.2 全面回忆数据变化
Oracle 11g具有Oracle全面回忆(Oracle Total Recall)组件,可帮助管理员查询在过去某些时刻指定表格中的数据。管理员可以用这种简单实用的方法给数据增加时间维度,以跟踪数据变化、实施审计并满足法规要求。

1.4.3 最大限度提高信息可用性
在保护数据库应用免受计划停机和意外宕机影响方面,Oracle在业界一直处于领先地位。Oracle 11g进一步增强 了这种领先地位,数据库管理员现在可以更轻松地达到用户的可用性预期。新的可用性功能包括: Oracle闪回交易(Oracle Flashback Transaction),可以轻松撤销错误交易以及任何相关交易;并行备份和恢复功能,可改善非常大数据库的备份和存储性能; "热修补” 功能,不必关闭数据库就可以进行数据库修补,提高了系统可用性。

1.4.4 Oracle快速文件
Oracle 11g具有在数据库中存储大型对象的下一代功能,这些对象包括图像、大型文本对象或一些先进的数据类型, 如XML、医疗成像数据和3维对象。 Oracle快速文件(Oracle Fast Files)组件使得数据库应用的性能完全比得上文件系统的性能。

1.4.5 更快的XML
在Oracle 11g中,XML DB的性能获得了极大的提高。XML DB是Oracle数据库的一个组件,可帮助客户以本机方式存储和操作XML数据。Oracle 11g增加了对二进制XML数据的支持,现在客户可以选择适合自己特定应用及性能需求的XML存储选项。

1.4.6 透明的加密
Oracle 11g进一步增强了Oracle数据库无与伦比的安全性。这个新版数据库增强了Oracle透明数据加密功能,将这种功能扩展到了卷级加密之外。Oracle 11g具有表空间加密功能,可用来加密整个表、索引和所存储的其他数据。

1.4.7 嵌入式OLAP行列
Oracle 11g在数据仓库方面也引入了创新。OLAP行列现在可以在数据库中像物化图那样使用,因此开发人员可以用业界标准SQL实现数据查询,同时仍然受益于OL AP行列所具有的高性能。

1.4.8 连接汇合和查询结果高速缓存
Oracle 11g进一步增强了甲骨文在性能和可扩展性方面的业界领先地位,增加了查询结果高速缓存等新功能。通过高速缓存和重用经常调用的数据库查询以及数据库和应用层的功能,查询结果高速缓存功能改善了应用的性能和可扩展性。

1.4.9 增强了应用开发能力
Oracle 11g提供多种开发工具供开发人员选择,它提供的简化应用开发流程可以充分利用Oracle 11 g的关键功能,这些关键功能包括客户端高速缓存、提高应用速度的二进制XML、XML处理以及文件存储和检索。