一、数据库概述
数据库 是按 照数 据 结构 来 组织、 存储 和 管理 数据 的“ 仓库”。 在 日常 工作中, 我们 经常 需要 把 某些 相关 的 数据 放进“ 仓库”, 并 根据 管理 的 需要 进行 相应 的 处理。
1、数据库基本概念
数据库 是 数据管理 的 新 手段 和 技术, 是 计算机 学科 的 重要 分支。 由于 数据库 具有 数据 结 构化、 最低 冗余 度、 较高 的 程序 与 数据 独立性、 易于 扩充、 易于 编制 应用 程序 等 优点, 目前 应用 非常 广泛。
(1) 数据 与 信息
信息 是 客观 事物 属性 的 反映, 是 经过 加工 处理 并对 人类 客观 行为 产生 影响 的 数据 表现 形式。 数据 是 反映 客观 事物 属性 的 记录, 是 信息 的 具体 表现 形式。 数据 包括 文字、 声音、 图形 等 一切 能被 计算机 接收 且 能被 处理 的 符号。 数据 是 事物 特性 的 反映 和 描述, 是 符号 的 集合, 也是 各种 抽象 信息 的 具体化。
(2) 数据库( Database, DB)
从上 述 内容 中, 我们 可以 理解 数据库 为 存储 在一起 的 相互 有 联系 的 数据 集合。 而 严格 地说, 数据库 应具 备 以下 特点:
※ 存储 在一起 的 相关 数据 的 集合。
※ 这些 数据 是 结 构化 的, 无 有害 的 或不 必要 的 冗余, 并为 多种 应用 服务。
※ 数据 的 存储 独立 于 使用 它的 程序。
※ 对 数据库 插入 新 数据、 修改 和 检索 原有 数据 均能 按 一种 公 用的 和 可控 的 方式 进行。
(3) 数据库 管理 系统( Database Management System, DBMS)
数据库 管理 系统 是一 种 操纵 和 管理 数据库 的 大型 软件, 用于 建立、 使用 和 维护 数据库。 它对 数据库 进行 统一 的 管理 和 控制, 以 保证 数据库 的 安全性 和 完整性。 用户 通过 DBMS 访问 数据库 中的 数据, 数据库 管理员 也 通过 DBMS 进行 数据库 的 维护 工作。 它 提供 多种 功能, 可使 多个 应用 程序 和 用户 用 不同 的 方法 在 同时 或不 同时 去 建立、 修改 和 询问 数据库。 主要 包括 以下 4 方面 的 功能。
1)数据 定义 功能
2)数据 操纵 功能
3)数据库 的 运行 管理
4)数据库 的 建立 和 维护 功能
(4) 数据库 系统( Database System, DBS)
数据库 系统 是一 个 实际 可 运行 的, 为 存储、 维护 和 应用 系统 提供 数据 的 软件 系统, 是 存储 介质、 处理 对象 和 管理 系统 的 集合体。 它 通常 由 软件、 数据库 和 数据管理 员 组成。
其中, 软件 主要 包括 操作系统、 各种 宿主 语言、 实用 程序 以及 数据库 管理 系统。 数据库 由 数据库 管理 系统 统一 管理, 数据 的 插入、 修改 和 检索 均要 通过 数据库 管理 系统 进行。 数据 管理员( Database Administrator, DBA) 负责 创建、 监控 和 维护 整个 数据库, 使 数据 能被 任何 有权 使用 的 人有 效 使用。 数据库 管理员 一般 是由 业务水平 较高、 资历 较深 的 人员 担任。
2、数据库系统的特点
(1)数据 结 构化
(2)数据 的 共享 性 高、 冗余 度 低、 易 扩充
(3)数据 独立性 高
1)数据 的 物理 独立
2)数据 的 逻辑 独立
(4)数据 由 DBMS 统一 管理 和 控制
数据库 是 长期 存储 在 计算机 内 的, 并且 有 结构 的 共享 式 数据 集合。 它可 以供 多个 用户 使用, 并且 具有 较小 的 冗余 度 和 较高 的 数据 独立性。 而 DBMS 在 数据库 建立、 运用 和 维护 时 对 数据库 进行 统一 控制, 以 保证 数据 的 完整性 和 安全性。 另外, 在 多用户 同时 使用 数据库 时, 进行 并发 控制, 而 发生 故障 后 也可 以对 系统 进行 恢复。 所以, 在 DBMS 中, 提供 了 以下 4 方面 的 数据 控制 功能。
1)数据 的 安全性( Security) 保护
2)数据 的 完整性( Integrity) 检查
3)并发( Concurrency) 控制
4)数据库 恢复( Recovery)
二、关系数据库基本理论
1、数据库系统与关系数据库
数据库 系统 是指 一个 计算机 存储 记录 的 系统, 它 需要 特定 的 软件 和 一系列 硬件 支持, 并且 利用 数据库 系统 能够 存储 大量 的 数据 记录, 支持 用户 进行 检索 和 更新 所需 的 信息。 数据库 系统 通常 在 企业 应用 或 科学研究 中 用于 对 大量 数据 进行 存储 和 分析, 从而 为 实际 应用 提供 帮助。
在 物理 数据库( 即 物理 存储 数据 的 存储 设备) 与 数据库 用户 之间 具有 一个 中间层, 这就 是 数据库 软件, 通常 称为“ 数据库 管理 系统( DBMS)”。 DBMS 是 建立 在 操作系统 的 基础上 的, 对 物理 数据库 进行 统一 的 管理 和 控制。 用户 对 数据库 提出 的 访问 请求 都 是由 DBMS 来 处理 的。 DBMS 还 提供 了 许多 数据 操作 的 实用 程序。
2、关系数据库的逻辑模型
在 关系 数据库 的 设计 阶段, 需要 为 其 建立 逻辑 模型。 关系 数据库 的 逻辑 模型 可以 通过 实体 和 关系 组成 的 图 来 表示, 这种 图表 称为 E- R 图, 使用 E- R 图 表示 的 逻辑 模型 称为 ER 模型。 一个 典型的 ER 模型 由 三部 分组 成— 实体、 属性 和 联系。
(1)实体 和 属性
客观存在 并可 相互 区分 的 事物 称为“ 实体”。 实体 可以 指 实际 的 对象, 也可 以指 某些 概念。每个 实体 由 一组 属性 来 表示, 其中 的 某一 部分 属性 可以 唯一 标识 实例。
在 数据库 中, 每个 实体 集 都对 应于 一个 表, 实体 集中 的 每个 实体 都是 表中 的 一条 记录, 而 实体 的 每个 属性 就是 表中 的 一个 字段。
(2)联系
实际 应用 中的 实体 之间 是 存在 联系 的。两个 实体 之间 的 联系 可以 分为 三类。一对一;一对多;多对多。
3、关系数据库的设计规范
(1)第一 范式( 1NF)
第一 范式( 1NF) 是指 数据库 表中 的 每一 列 都是 不可分 割 的 基本 数据项, 同一 列中 不能 有 多个 值。 即 实体 的 某个 属性 不能 具有 多个 值, 或者 不能 有 重复 的 属性。
(2)第二 范式( 2NF)
第二 范式( 2NF) 要求 数据库 表中 的 每个 实体, 或者 各个 行 必须 可以 被 唯一 地 区分。这个 唯一 属性 列 称为 主 关键字 或 主 键、 主 码。
(3)第三 范式( 3NF)
满足 第三 范式( 3NF) 必须 先 满足 第二 范式( 2NF)。 第三 范式 要求 关系 表 不存在 非 关键字 列 对 任意 候选 关键字 列 的 传递 函数 依赖。 简而言之, 第三 范式 要求 一个 关系 表中 不 包含 已在 其他 表中 包含 的 非 主 关键字 信息。
(4)BCNF 范式
当 第三 范式 消 除了 主 关键 列 对 候选 关键 列 的 部分 和 传递 函数 依赖, 则 称为 BCNF。
三、Oracle数据库与网格技术
1、网格技术
超级 计算机 作为 复杂 科学 计算 领域 的 主宰, 以其 强大 的 处理 能力 著称。 但 以 超级 计算机 为 中心 的 计算 模式 存在 明显 的 不足, 由于 它的 造价 极高, 通常 只有 一些 国家级 的 部门, 如 航天、 气象 等 部门 才有 能力 配置。 而 随着 人们 日常工作 遇到 的 商业 计算 越来越 复杂, 人们 越来越 需要 数据处理 能力 更 强大 的 计算机。 于是, 人们 开始 寻找 一种 造价 低廉 而 数据处理 能力 超强 的 计算 模式, 最终 找到了 答案— 网格 计算( Grid Computing)。 网格 计算 是 伴 随着 互 联网 而 迅速发展 起来 的, 专门 针对 复杂 科学 计算 的 新型 计算 模式。 这种 计算 模式 是 利用 互 联网 把 分散 在 不同 地理 位置 的 计算 机组 织成 一个“ 虚拟 的 超级 计算机”, 其中 每一 台 参与 计算 的 计算机 就是 一个“ 节点”, 而 整个 计算 由 成千上万 个“ 节点” 组成 的“ 虚拟 的 一张 网格”, 所以 这种 计算 方式 叫“ 网格 计算”。
2、Oracle网格体系结构
(1) 真正 应用 集群( RAC)
(2)自动 存储 管理( ASM)
(3)Oracle 资源 管理器
四、Oracle应用结构
1、多数据库的独立宿主结构
这种 应用 结构 在 物理上 只有 一台 服务器, 服务器 上有 一个 或 多个 硬盘。 但是 在 功能上 却是 多个 逻辑 数据库 服务器、 多个 数据库, 如下 图 所示。
2、客户机/服务器结构
在 客户 机/ 服务器 结构 中, 数据库 服务器 的 管理 和 应用 分布 在 两台 计算 机上, 客户 机上 安装 应用 程序 和 连接 工具, 通过 Oracle 专用 的 网络 协议( SQL *Net) 建立 和 服务器 的 连接, 发出 数据 请求。 服务器 上 运行 数据库, 通过 网络 协议 接收 连接 请求, 将 执行 结果 回送 客户 机。 客户 机/ 服务器 结构 如下 图 所示。
3、分布式结构
分布式 结构 是 客户 机/ 服务器 结构 的 一种 特殊 类型。 在这 种 结构 中, 分布式 数据库 系统 在 逻辑上 是 整体 的, 但在 物理上 分布 在 不同 的 计算机 网络 中, 通过 网络 连接 在一起。 网络 中的 每个 节点 可以 独立 处理 本地 数据库 服务器 中的 数据, 执行 局部 应用, 也可以 存取、 处理 多个 异地 数据库 服务器 中的 数据, 执行 全局 应用。 各 数据库 相对 独立, 总体上 又是 完整 的, 数据库 之间 通过 SQL* Net 协议 连接。 因此 异种 网络 之间 也可以 互 联。 操作系统 和 硬件 平台 的 可伸缩 性好, 可以 执行 对 数据 的 分布式 查询 和 处理, 网络 可扩展 性好, 实现 局部 自治 与 全局 应用 的 统一。 分布式 结构 如下 图 所示。