1.1 Oracle简介
数据库(database)是数据存储仓库的简称。数据库是一个经久不衰的话题,本节将首先介绍数据库的基本术语,接着介绍当前主流数据库,最后介绍Oracle相对于其他数据库的特点。
1.1.1 数据库术语
在介绍数据库的配置和开发之前,了解数据库的基本术语是必要的。这些术语并非仅仅适用于Oracle或其他特定数据库,而是作为一种标准称谓在各数据库中共享使用。
1.数据
数据是数据库的最基本的存储对象。文本、图像、声音、视频等媒体格式在存储于数据库时,都被称为数据。数据是数据库建立的根本目的。
2.数据库及数据库管理系统
数据库是数据存储的仓库。数据库都是建立在计算机设备上的,最常见的设备为计算机硬盘。数据库以文件的形式存在,而文件的具体格式则由各数据库厂商自定义。
数据库管理系统是用于管理数据库的工具。因为所有的数据都是以某种格式存储在文件中的,用户不可能直接操作文件来实现对数据库的操作。这样非但具有相当大的安全隐患,而且根本不具有可行性。因此,各数据库厂商都会提供本身的工具(一般为图形界面软件)作为用户接口。数据库用户通过这些工具进行各种数据库操作。常见的数据库管理系统如Oracle的OEM(Oracle Enterprise Manager)、SQL Server的企业管理器等。
3.关系型数据库
关系型数据库实际指代了一种数据库模型。将某些相关数据存储于同一个表,表与表之间利用相互关系进行关联。例如,表示员工信息的员工工号、员工姓名、员工年龄等信息存储在员工表中,而表示员工的工资、奖金等存储在工资表中。二者往往利用员工工号作为联络的纽带。关系型数据库使用简单、各表中的数据相互独立,而又可以进行联系,是目前主流的关系模型。
4.常见的数据库对象
数据库对象是数据库中用于划分各种数据和实现各种功能的单元。数据库用户往往利用数据库对象来实现对数据库的操作。
● 用户:用户是创建在数据库中的账号。通过这些账号来登录数据库,并实现对不同使用者权限的控制。
● 表:表是最常见的数据库对象。与现实世界中的表具有相同的结构——每个表都由行组成,各行由列组成。例如,在员工表中,每位员工的信息均可看做行,而员工的姓名、年龄则作为列。
● 索引:索引是根据指定的数据库表中的列建立起来的顺序,对于每一行数据都会建立快速访问的路径,因此,可以大大提高数据访问的效率。
● 视图:视图可以看做虚拟的表。视图并不存储数据,而是作为数据的镜像。
● 函数:数据库中的函数与其他编程语言中的函数类似,都是用来按照规则提供返回值的流程代码。
● 存储过程:数据库中的存储过程类似于其他编程语言中的过程。不过,存储过程还具有自身的特点,例如,具有输入参数和输出参数等。
触发器:触发器的作用类似于监视器。触发器的本质也是执行特定任务的代码块。当数据库监控到某个事件时,会激活建立在该事件上的触发器,并执行触发器代码。
1.1.2 主流数据库简介
当前数据库市场,主流的数据库包括:Oracle、Sybase、DB2、SQL Server、My SQL。
● Oracle:开发商为美国的甲骨文公司(Oracle)。Oracle数据库是以高级结构化查询语言(SQL)为基础的大型关系数据库,是目前最流行、应用最广泛的客户端/服务器(Client/Server)体系结构的数据库。
● Sybase:开发商为Sybase公司。Sybase数据库性能较高,安全性极高,可运行于UNIX、Windows及Novell Netware环境。该数据库不但具有优越的性能,而且具备跨平台能力。
● DB2:开发商为IBM。DB2数据库支持各种机型及操作系统环境。支持面向对象编程,并有强大的开发和管理工具。
● SQL Server:开发商为微软公司。SQL Server在性能及安全性上不及以上三种数据库,但是其占用系统资源较少,操作简单、灵活。
● MySQL:由原MySQL公司开发。MySQL数据库使用简单、操作方便,性能也较高。难能可贵的是,MySQL是开源数据库,而且完全免费,这也成为其迅速崛起的主要原因之一。
1.1.3 Oracle数据库的特点
相较于其他数据库,Oracle具有以下特点。
● 毫无疑问,优越的性能是Oracle战胜其他数据库的首要法宝。Oracle优越的性能使得其成为大型应用和超大型系统的首选数据库,而且甲骨文公司从未停止过在这方面的进步。
● 提供了基于角色的权限管理模式。通过角色管理,大大加强了数据库的安全性,同时,也为DBA提供了更加方便、快捷的管理用户和权限的途径。
● 可良好地支持大数据存储格式,如图形、音频、视频、动画等媒体格式。
● 提供了良好的分布式管理功能,用户可以很轻松地实现多数据库的协调工作。
● 提出了独创性的表空间理念。在数据模型方面,Oracle有着区别于其他数据库的表空间概念。使数据在逻辑上划分得更加清晰,而且具有更大的灵活性。