1、数 据 库 系 统 概 论 知 识 点 整 理 第 一 章 绪 论 数 据 库 ( D B ) : 长 期 存 储 在 计 算 机 内 、 有 组 织 、 可 共 享 的 大 量 数 据 的 集 合 。 数 据 库 中 的 数 据 按 照 一 定 的 数 据 模 型 组 织 、 描 述 和 存 储 , 具 有 娇 小 的 冗 余 度 、 交 稿 的 数 据 独 立 性 和 易 扩 展 性 , 并 可 为 各 种 用 户 共 享 。 数 据 库 管 理 系 统 ( D B M S ) : 位 于 用 户 和 操 作 系 统 间 的 数 据 管 理 系 统 的 一 层 数 据 管 理 软 件 。
2、用 途 : 科 学 地 组 织 和 存 储 数 据 , 高 效 地 获 取 和 维 护 数 据 。 包 括 数 据 定 义 功 能 , 数 据 组 织 、 存 储 和 管 理 , 数 据 操 纵 功 能 , 数 据 库 的 事 物 管 理 和 运 行 管 理 , 数 据 库 的 建 立 和 维 护 功 能 , 其 他 功 能 。 数 据 库 系 统 ( D B S ) : 在 计 算 机 系 统 中 引 入 数 据 库 后 的 系 统 , 一 般 由 数 据 库 。 数 据 库 管 理 系 统 ( 及 其 开 发 工 具 ) 、 应 用 系 统 、 数 据 库 管 理 员 构 成 。 目 的
3、: 存 储 信 息 并 支 持 用 户 检 索 和 更 新 所 需 的 信 息 。 数 据 库 系 统 的 特 点 : 数 据 结 构 化 ; 数 据 的 共 享 性 高 , 冗 余 度 低 , 易 扩 充 ; 数 据 独 立 性 高 ; 数 据 由 D B M S 统 一 管 理 和 控 制 。 概 念 模 型 实 体 , 客 观 存 在 并 可 相 互 区 别 的 事 物 称 为 实 体 。 属 性 , 实 体 所 具 有 的 某 一 特 性 称 为 属 性 。 码 , 唯 一 标 识 实 体 的 属 性 集 称 为 码 。 域 , 是 一 组 具 有 相 同 数 据 类 型 的 值 的
4、集 合 。 实 体 型 , 具 有 相 同 属 性 的 实 体 必 然 具 有 的 共 同 的 特 征 和 性 质 。 实 体 集 , 同 一 类 型 实 体 的 集 合 称 为 实 体 集 。 联 系 : 两 个 实 体 型 之 间 的 联 系 一 对 一 联 系 ; 一 对 多 联 系 ; 多 对 多 联 系 关 系 模 型 关 系 , 元 组 , 属 性 , 码 , 域 , 分 量 , 关 系 模 型 关 系 数 据 模 型 的 操 纵 与 完 整 性 约 束 关 系 数 据 模 型 的 操 作 主 要 包 括 查 询 , 插 入 , 删 除 和 更 新 数 据 。 这 些 操 作 必
5、须 满 足 关 系 完 整 性 约 束 条 件 。 关 系 的 完 整 性 约 束 条 件 包 括 三 大 类 : 实 体 完 整 性 , 参 照 完 整 性 和 用 户 定 义 的 完 整 性 。 数 据 库 系 统 三 级 模 式 结 构 外 模 式 , 模 式 , 内 模 式 模 式 : ( 逻 辑 模 式 ) 数 据 库 中 全 体 数 据 的 逻 辑 结 构 和 特 征 的 描 述 , 是 所 有 用 户 的 公 共 数 据 视 图 。 一 个 数 据 库 只 有 一 个 模 式 。 模 式 的 地 位 : 是 数 据 库 系 统 模 式 结 构 的 中 间 层 , 与 数 据 的
6、物 理 存 储 细 节 和 硬 件 环 境 无 关 , 与 具 体 的 应 用 程 序 、 开 发 工 具 及 高 级 程 序 设 计 语 言 无 关 。 模 式 定 义 的 内 容 : 数 据 的 逻 辑 结 构 ( 数 据 项 的 名 字 、 类 型 、 取 值 范 围 等 ) , 数 据 之 间 的 联 系 , 数 据 有 关 的 安 全 性 、 完 整 性 要 求 外 模 式 : ( 子 模 式 / 用 户 模 式 ) 数 据 库 用 户 ( 包 括 应 用 程 序 员 和 最 终 用 户 ) 能 够 看 见 和 使 用 的 局 部 数 据 库 和 逻 辑 结 构 和 特 征 的 描
7、述 , 是 数 据 库 用 户 的 数 据 视 图 , 是 与 某 一 应 用 有 关 的 系 统 的 逻 辑 表 示 。 一 个 数 据 库 可 以 有 多 个 外 模 式 。外 模 式 的 地 位 : 介 于 模 式 与 应 用 之 间 模 式 与 外 模 式 的 关 系 : 一 对 多 。 外 模 式 通 常 是 模 式 的 子 集 。 一 个 数 据 库 可 以 有 多 个 外 模 式 。 反 映 了 不 同 的 用 户 的 应 用 需 求 、 看 待 数 据 的 方 式 、 对 数 据 保 密 的 要 求 。 对 模 式 中 同 一 数 据 , 在 外 模 式 中 的 结 构 、 类
8、 型 、 长 度 、 保 密 级 别 等 都 可 以 不 同 。 外 模 式 与 应 用 的 关 系 : 一 对 多 。 同 一 外 模 式 也 可 以 为 某 一 用 户 的 多 个 应 用 系 统 所 使 用 但 一 个 应 用 程 序 只 能 使 用 一 个 外 模 式 内 模 式 : 存 储 模 式 或 内 视 图 ) 是 数 据 物 理 结 构 和 存 储 方 式 的 描 述 , 是 数 据 在 数 据 库 内 部 实 际 存 储 的 表 示 方 式 : 记 录 的 存 储 方 式 ( 顺 序 , B 树 , h a s h 方 法 存 储 ) , 索 引 的 组 织 方 式 , 数
9、 据 是 否 压 缩 存 储 , 数 据 是 否 加 密 。 数 据 存 储 记 录 结 构 的 规 定 , 一 个 数 据 库 只 有 一 个 内 模 式 三 级 模 式 的 优 点 : ( 1 ) 保 证 数 据 的 独 立 性 ( 内 模 式 与 模 式 分 开 物 理 独 立 ; 外 模 式 与 模 式 分 开 逻 辑 独 立 ) ( 2 ) 简 化 用 户 窗 口 ( 3 ) 有 利 于 数 据 共 享 ( 4 ) 利 于 数 据 的 安 全 保 密 ( 5 ) 数 据 存 储 由 D B M S 管 理 ( 用 户 不 用 考 虑 存 取 路 径 等 细 节 ) 二 级 映 像 功
10、 能 : ( 1 ) 外 模 式 / 模 式 映 像 ( 应 用 可 扩 充 性 ) 定 义 外 模 式 ( 局 部 逻 辑 结 构 ) 与 模 式 ( 全 局 逻 辑 结 构 ) 之 间 的 对 应 关 系 , 映 象 定 义 通 常 包 含 在 各 自 外 模 式 的 描 述 中 , 每 一 个 外 模 式 , 数 据 库 系 统 都 有 一 个 外 模 式 模 式 映 象 。 用 途 : 保 证 数 据 的 逻 辑 独 立 性 当 模 式 改 变 时 , 数 据 库 管 理 员 修 改 有 关 的 外 模 式 模 式 映 象 , 使 外 模 式 保 持 不 变 应 用 程 序 是 依 据
11、 数 据 的 外 模 式 编 写 的 , 从 而 应 用 程 序 不 必 修 改 , 保 证 了 数 据 与 程 序 的 逻 辑 独 立 性 , 简 称 数 据 的 逻 辑 独 立 性 。 ( 2 ) 模 式 / 内 模 式 映 像 ( 空 间 利 用 率 , 存 取 效 率 ) 模 式 / 内 模 式 映 像 是 唯 一 的 , 它 定 义 了 数 据 全 局 逻 辑 结 构 与 存 储 结 构 之 间 的 对 应 关 。 数 据 库 中 模 式 内 模 式 映 象 是 唯 一 的 。 该 映 象 定 义 通 常 包 含 在 模 式 描 述 中 。 用 途 : 保 证 数 据 的 物 理 独
12、 立 性 当 数 据 库 的 存 储 结 构 改 变 了 ( 例 如 选 用 了 另 一 种 存 储 结 构 ) , 数 据 库 管 理 员 修 改 模 式 内 模 式 映 象 , 使 模 式 保 持 不 变 。 应 用 程 序 不 受 影 响 。 保 证 了 数 据 与 程 序 的 物 理 独 立 性 , 简 称 数 据 的 物 理 独 立 性 。 优 点 : ( 1 ) 保 证 了 数 据 库 外 模 式 的 稳 定 性 。 ( 2 ) 从 底 层 保 证 了 应 用 程 序 的 稳 定 性 , 除 非 应 用 需 求 本 身 发 生 变 化 , 否 则 应 用 程 序 一 般 不 需 要
13、 修 改 。 ( 3 ) 数 据 与 程 序 之 间 的 独 立 性 , 使 得 数 据 的 定 义 和 描 述 可 以 从 应 用 程 序 中 分 离 出 去 。 什 么 叫 数 据 与 程 序 的 物 理 独 立 性 ? 什 么 叫 数 据 与 程 序 的 逻 辑 独 立 性 ? 为 什 么 数 据 库 系 统 具 有 数 据 与 程 序 的 独立 性 ? 1 、 数 据 与 程 序 的 逻 辑 独 立 性 : 当 模 式 改 变 时 , 数 据 库 管 理 员 修 改 有 关 的 外 模 式 模 式 映 象 , 使 外 模 式 保 持 不 变 。 从 而 应 用 程 序 不 必 修 改
14、, 保 证 了 数 据 与 程 序 的 逻 辑 独 立 性 , 简 称 数 据 的 逻 辑 独 立 性 。 2 、 数 据 与 程 序 的 物 理 独 立 性 : 当 数 据 库 的 存 储 结 构 改 变 了 ( 例 如 选 用 了 另 一 种 存 储 结 构 ) , 数 据 库 管 理 员 修 改 模 式 内 模 式 映 象 , 使 模 式 保 持 不 变 。 应 用 程 序 不 受 影 响 。 保 证 了 数 据 与 程 序 的 物 理 独 立 性 , 简 称 数 据 的 物 理 独 立 性 。 数 据 库 管 理 系 统 在 三 级 模 式 之 间 错 提 供 的 二 层 影 响 保
15、证 了 数 据 系 统 中 的 数 据 具 有 较 高 的 逻 辑 独 立 性 和 物 理 独 立 性 。 数 据 库 系 统 的 组 成 硬 件 平 台 及 数 据 库 , 软 件 , 人 员 第 二 章 关 系 数 据 库 关 系 的 完 整 性 约 束 实 体 完 整 性 和 参 照 完 整 性 : 关 系 模 型 必 须 满 足 的 完 整 性 约 束 条 件 称 为 关 系 的 两 个 不 变 性 , 应 该 由 关 系 系 统 自 动 支 持 。 用 户 定 义 的 完 整 性 : 应 用 领 域 需 要 遵 循 的 约 束 条 件 , 体 现 了 具 体 领 域 中 的 语 义
16、约 束 。 外 码 , 主 码 , 候 选 码 的 概 念 候 选 码 : 若 关 系 中 的 某 一 属 性 组 的 职 能 唯 一 地 标 识 一 个 元 组 , 则 称 该 属 性 组 为 候 选 码 。 主 码 : 若 一 个 关 系 有 多 个 候 选 码 , 则 选 定 期 中 一 个 为 主 码 。 外 部 码 : 设 F 是 基 本 关 系 R 的 一 个 或 一 组 属 性 。 但 不 是 关 系 R 的 码 , 如 果 F 与 基 本 关 系 S 的 主 码 K 想 对 应 , 则 称 F 是 基 本 关 系 R 的 外 部 码 , 简 称 外 码 。 关 系 的 3 类
17、完 整 性 约 束 概 念 实 体 完 整 性 : 若 属 性 ( 指 一 个 或 一 组 属 性 ) A 是 基 本 关 系 R 的 主 属 性 , A 不 能 取 空 值 。 参 照 完 整 性 : 若 属 性 ( 或 属 性 组 ) F 是 基 本 关 系 R 的 外 码 , 它 是 基 本 关 系 S 的 主 码 K 相 对 应 ( 基 本 关 系 R 和 S 不 一 定 是 不 同 的 关 系 ) , 则 对 于 R 中 每 个 元 组 在 F 上 的 值 必 须 为 : 或 者 取 空 值 ( F 的 每 个 属 性 值 均 为 空 值 ) ; 或 者 等 于 S 中 某 个 元
18、组 的 主 码 值 。 用 户 定 义 的 完 整 性 : 针 对 某 一 具 体 关 系 数 据 库 的 约 束 条 件 。 反 映 某 一 具 体 应 用 所 设 计 的 数 据 必 须 满 足 的 语 义 要 求 。 关 系 操 作 的 特 点 , 关 系 代 数 中 的 各 种 运 算 关 系 操 作 的 特 点 是 集 合 操 作 方 式 , 即 操 作 的 对 象 和 结 果 是 集 合 。 关 系 代 数 1 、 并 ( R S ) 仍 为 n 目 关 系 , 由 属 于 R 或 属 于 S 的 元 组 组 成 。 R S = t | t R t S 2 、 差 ( R S )
19、仍 为 n 目 关 系 , 由 属 于 R 而 不 属 于 S 的 所 有 元 组 组 成 。 R - S = t | t R t S 3 、 交 ( R S ) 仍 为 n 目 关 系 , 由 既 属 于 R 又 属 于 S 的 元 组 组 成 。 R S = t | t R t S R S = R ( R - S ) 4 、 笛 卡 尔 积 R : n 目 关 系 , k 1 个 元 组 ; S : m 目 关 系 , k 2 个 元 组 ; R S 。9 、 选 择 : 选 择 又 称 为 限 制 ( R e s t r i c t i o n ) : 对 元 组 按 照 条 件 进 行
20、 筛 选 。 在 关 系 R 中 选 择 满 足 给 定 条 件 的 诸 元 组 F ( R ) = t | t R F ( t ) = 真 。 1 0 、 投 影 : 投 影 运 算 符 的 含 义 : 从 R 中 选 择 出 若 干 属 性 列 组 成 新 的 关 系 A ( R ) = t A | t R A : R 中 的 属 性 列 投 影 操 作 主 要 是 从 列 的 角 度 进 行 运 算 。 但 投 影 之 后 不 仅 取 消 了 原 关 系 中 的 某 些 列 , 而 且 还 可 能 取 消 某 些 元 组 ( 避 免 重 复 行 ) 。 1 1 、 连 接 : 连 接 也
21、 称 为 连 接 : 两 张 表 中 的 元 组 有 条 件 的 串 接 。 从 两 个 关 系 的 笛 卡 尔 积 中 选 取 属 性 间 满 足 一 定 条 件 的 元 组 R S = | t r R t s S t r A t s B 外 连 接 : 如 果 把 舍 弃 的 元 组 也 保 存 在 结 果 关 系 中 , 而 在 其 他 属 性 上 填 空 值 ( N u l l ) , 这 种 连 接 就 叫 做 外 连 接 。 左 外 连 接 : 如 果 只 把 左 边 关 系 R 中 要 舍 弃 的 元 组 保 留 就 叫 做 左 外 连 接 ( L E F T O U T E R
22、 J O I N 或 L E F T J O I N ) 。 右 外 连 接 : 如 果 只 把 右 边 关 系 S 中 要 舍 弃 的 元 组 保 留 就 叫 做 右 外 连 接 ( R I G H T O U T E R J O I N 或 R I G H T J O I N ) 。 1 2 、 除 : 给 定 关 系 R ( X , Y ) 和 S ( Y , Z ) , 其 中 X , Y , Z 为 属 性 组 ; R 中 的 Y 与 S 中 的 Y 可 以 有 不 同 的 属 性 名 , 但 必 须 出 自 相 同 的 域 集 ; R 与 S 的 除 运 算 得 到 一 个 新 的
23、 关 系 P ( X ) , P 是 R 中 满 足 下 列 条 件 的 元 组 在 X 属 性 列 上 的 投 影 第 三 章 关 系 数 据 库 标 准 语 言 S Q L 注 意 : S Q L ( O r a c l e 除 外 ) 一 般 不 提 供 修 改 视 图 定 义 和 索 引 定 义 的 操 作 , 需 要 先 删 除 再 重 建 定 义 基 本 表 : C R E A T E T A B L E ( , , ) ; 列 级 完 整 性 约 束 - - 涉 及 到 该 表 的 一 个 属 性 N O T N U L L : 非 空 值 约 束 U N I Q U E : 唯
24、 一 性 ( 单 值 约 束 ) 约 束 P R I M A R Y K E Y : 主 码 约 束 D E F A U L T : 默 认 ( 缺 省 ) 约 束 C h e c k : 核 查 约 束 , 定 义 校 验 条 件 N O T N U L L : 非 空 值 约 束 U N I Q U E : 唯 一 性 ( 单 值 约 束 ) 约 束 P R I M A R Y K E Y : 主 码 约 束 D E F A U L T : 默 认 ( 缺 省 ) 约 束 C h e c k : 核 查 约 束 , 定 义 校 验 条 件 表 级 完 整 性 约 束 - - 涉 及 到 该
25、 表 的 一 个 或 多 个 属 性 。 U N I Q U E ( 属 性 列 列 表 ) : 限 定 各 列 取 值 唯 一 P R I M A R Y K E Y ( 属 性 列 列 表 ) : 指 定 主 码 F O R E I G N K E Y ( 属 性 列 列 表 ) R E F E R E N C E S ( 属 性 列 列 表 ) C h e c k ( ) : 检 查 约 束 P R I M A R Y K E Y 与 U N I Q U E 的 区 别 ? 例 : 建 立 “ 学 生 ” 表 S t u d e n t , 学 号 是 主 码 , 姓 名 取 值 唯 一
26、 C R E A T E T A B L E S t u d e n t ( S n o C H A R ( 9 ) P R I M A R Y K E Y , / * 主 码 * / S n a m e C H A R ( 2 0 ) U N I Q U E , / * S n a m e 取 唯 一 值 * / S s e x C H A R ( 2 ) , S a g e S M A L L I N T , S d e p t C H A R ( 2 0 ) ) ; 数 据 类 型 修 改 基 本 表 : A L T E R T A B L E A D D 完 整 性 约 束 D R O
27、 P | A L T E R C O L U M N ; 例 : 向 S t u d e n t 表 增 加 “ 入 学 时 间 ” 列 , 其 数 据 类 型 为 日 期 型 A L T E R T A B L E S t u d e n t A D D S _ e n t r a n c e D A T E ; 不 论 基 本 表 中 原 来 是 否 已 有 数 据 , 新 增 加 的 列 一 律 为 空 值 将 年 龄 的 数 据 类 型 由 字 符 型 ( 假 设 原 来 的 数 据 类 型 是 字 符 型 ) 改 为 整 数 A L T E R T A B L E S t u d e
28、 n t A L T E R C O L U M N S a g e I N T ; 注 : 修 改 原 有 的 列 定 义 有 可 能 会 破 坏 已 有 数 据增 加 课 程 名 称 必 须 取 唯 一 值 的 约 束 条 件 。 A L T E R T A B L E C o u r s e A D D U N I Q U E ( C n a m e ) ; 直 接 删 除 属 性 列 : ( 新 标 准 ) 例 : A L T E R T A B L E S t u d e n t D r o p S a g e ; 删 除 基 本 表 : D R O P T A B L E R E
29、S T R I C T | C A S C A D E ; R E S T R I C T : ( 受 限 ) 欲 删 除 的 基 本 表 不 能 被 其 他 表 的 约 束 所 引 用 , 如 果 存 在 依 赖 该 表 的 对 象 ( 触 发 器 , 视 图 等 ) , 则 此 表 不 能 被 删 除 。 C A S C A D E : ( 级 联 ) 在 删 除 基 本 表 的 同 时 , 相 关 的 依 赖 对 象 一 起 删 除 。 例 : 删 除 S t u d e n t 表 D R O P T A B L E S t u d e n t C A S C A D E ; 基 本
30、表 定 义 被 删 除 , 数 据 被 删 除 ; 表 上 建 立 的 索 引 、 视 图 、 触 发 器 等 一 般 也 将 被 删 除 。 删 除 索 引 : D R O P I N D E X ; 删 除 索 引 时 , 系 统 会 从 数 据 字 典 中 删 去 有 关 该 索 引 的 描 述 。 例 : 删 除 S t u d e n t 表 的 S t u s n a m e 索 引 : D R O P I N D E X S t u s n a m e 2 、 数 据 查 询 : 基 本 格 式 单 表 查 询 选 择 表 中 的 若 干 列 ( 投 影 ) 查 询 指 定 列
31、( 相 当 于 A ( R ) , A = A 1 , A 2 , , A n ) 例 ; 查 询 全 体 学 生 的 学 号 与 姓 名 S E L E C T S n o , S n a m e F R O M S t u d e n t ; 查 询 全 部 列 : 在 S E L E C T 关 键 字 后 面 列 出 所 有 列 名 按 用 户 指 定 顺 序 显 示 。 将 指 定 为 * 按 关 系 模 式 中 的 属 性 顺 序 显 示 。 例 : 查 询 全 体 学 生 的 详 细 记 录 S E L E C T S n o , S n a m e , S s e x , S
32、d e p t , S a g e F R O M S t u d e n t ; 或 S E L E C T * F R O M S t u d e n t ; P . S : S E L E C T 子 句 的 可 以 为 : 查 询 经 过 计 算 的 值 例 : 查 全 体 学 生 的 姓 名 及 其 出 生 年 份 S E L E C T S n a m e , 2 0 1 1 - S a g e / * 假 定 当 年 的 年 份 为 2 0 1 1 年 * / F R O M S t u d e n t ; 输 出 结 果 : S n a m e 2 0 1 1 - S a g
33、e李 勇 1 9 9 1 刘 晨 1 9 9 2 字 符 串 常 量 、 函 数 例 : 查 询 全 体 学 生 的 姓 名 、 出 生 年 份 和 所 有 系 , 要 求 用 小 写 字 母 表 示 所 有 系 名 S E L E C T S n a m e , Y e a r o f B i r t h : , 2 0 0 4 - S a g e , I S L O W E R ( S d e p t ) F R O M S t u d e n t ; 输 出 结 果 : S n a m e Y e a r o f B i r t h : 2 0 0 4 - S a g e I S L O
34、 W E R ( S d e p t ) 李 勇 Y e a r o f B i r t h : 1 9 8 4 c s 刘 晨 Y e a r o f B i r t h : 1 9 8 5 i s 列 别 名 S E L E C T S n a m e a s N A M E , Y e a r o f B i r t h : a s B I R T H , 2 0 1 1 - S a g e a s B I R T H D A Y , L O W E R ( S d e p t ) a s D E P A R T M E N T F R O M S t u d e n t ; 输 出 结
35、 果 : N A M E B I R T H B I R T H D A Y D E P A R T M E N T - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 李 勇 Y e a r o f B i r t h : 1 9 9 1 c s 刘 晨 Y e a r o f B i r t h : 1 9 9 2 i s 选 择 表 中 的 若 干 元 组 ( 选 择 ) 消 除 重 复 性 : 指 定 D I S T I N
36、 C T 关 键 词 , 去 掉 表 中 重 复 的 行 S E L E C T D I S T I N C T S n o F R O M S C ; 注 意 D I S T I N C T 短 语 的 作 用 范 围 是 所 有 目 标 列 错 误 的 写 法 S E L E C T D I S T I N C T C n o , D I S T I N C T G r a d e F R O M S C ; 正 确 的 写 法 S E L E C T D I S T I N C T C n o , G r a d e F R O M S C ; S E L E C T 子 句 缺 省 情
37、 况 是 保 留 重 复 元 组 ( A L L ) , 例 : 查 询 选 修 了 课 程 的 学 生 学 号 。 S E L E C T S n o F R O M S C ; 等 价 于 : S E L E C T A L L S n o F R O M S C ; 查 询 满 足 条 件 的 元 组 W H E R E 子 句 常 用 的 查 询 条 件 ( 相 当 于 F )比 较 大 小 使 用 比 较 运 算 符 或 逻 辑 运 算 符 N O T + 比 较 运 算 符 例 : 查 询 计 算 机 科 学 系 全 体 学 生 的 名 单 S E L E C T S n a m
38、e F R O M S t u d e n t W H E R E S d e p t = C S ; 例 : 查 询 所 有 年 龄 在 2 0 岁 以 下 的 学 生 姓 名 及 其 年 龄 S E L E C T S n a m e , S a g e F R O M S t u d e n t W H E R E S a g e = 2 0 确 定 范 围 B E T W E E N A N D N O T B E T W E E N A N D 例 ; 查 询 年 龄 在 2 0 2 3 岁 ( 包 括 2 0 岁 和 2 3 岁 ) 之 间 的 学 生 的 姓 名 、 系 别 和
39、年 龄 S E L E C T S n a m e , S d e p t , S a g e F R O M S t u d e n t W H E R E S a g e B E T W E E N 2 0 A N D 2 3 ; / / S a g e = 2 0 a n d S a g e 2 3 确 定 集 合 I N , N O T I N 例 : 查 询 信 息 系 ( I S ) 、 数 学 系 ( M A ) 和 计 算 机 科 学 系 ( C S ) 学 生 的 姓 名 和 性 别 S E L E C T S n a m e , S s e x F R O M S t u
40、d e n t W H E R E S d e p t I N ( I S , M A , C S ) ; 例 : 查 询 既 不 是 信 息 系 、 数 学 系 , 也 不 是 计 算 机 科 学 系 的 学 生 的 姓 名 和 性 别 S E L E C T S n a m e , S s e x F R O M S t u d e n t W H E R E S d e p t N O T I N ( I S , M A , C S ) ;自 负 匹 配 N O T L I K E E S C A P E 匹 配 串 为 固 定 字 符 串 例 : 查 询 学 号 为 2 0 0 2 1
41、 5 1 2 1 的 学 生 的 详 细 情 况 。 S E L E C T * S E L E C T * F R O M S t u d e n t 等 价 于 : F R O M S t u d e n t W H E R E S n o L I K E 2 0 0 2 1 5 1 2 1 ; W H E R E S n o = 2 0 0 2 1 5 1 2 1 ; 匹 配 串 为 含 通 配 符 的 字 符 串 % : 代 表 任 意 长 度 ( 可 以 是 0 ) 的 字 符 串 _ : 代 表 任 意 单 个 字 符 字 符 串 本 身 就 含 有 % 或 _ 时 , 在 % 或
42、 _ 之 前 加 上 转 义 符 “ ” 要 使 用 E S C A P E 将 通 配 符 转 义 为 普 通 字 符 。 如 果 要 作 为 一 个 普 通 字 符 , 用 连 续 两 个 表 示 一 个 真 正 的 。 例 : 查 询 以 “ D B _ “ 开 头 , 且 倒 数 第 3 个 字 符 为 i 的 课 程 的 详 细 情 况 。 S E L E C T * F R O M C o u r s e W H E R E C n a m e L I K E D B _ % i _ _ E S C A P E ; 涉 及 空 值 的 查 询 I S N U L L 或 I S N
43、 O T N U L L “ I S ” 不 能 用 “ = ” 代 替 例 : 查 所 有 有 成 绩 的 学 生 学 号 和 课 程 号 S E L E C T S n o , C n o F R O M S C W H E R E G r a d e I S N O T N U L L ; 多 重 条 件 查 询 : A N D 和 O R 来 联 结 多 个 查 询 条 件 , A N D 的 优 先 级 高 于 O R , 可 以 用 括 号 改 变 优 先 级 , 可 用 来 实 现 多 种 其 他 谓 词 。 N O T I N N O T B E T W E E N A N D
44、 改 写 例 : 查 询 信 息 系 ( I S ) 、 数 学 系 ( M A ) 和 计 算 机 科 学 系 ( C S ) 学 生 的 姓 名 和 性 别 S E L E C T S n a m e , S s e x F R O M S t u d e n t W H E R E S d e p t I N ( I S , M A , C S ) 可 改 写 为 : S E L E C T S n a m e , S s e x F R O M S t u d e n t W H E R E S d e p t = I S O R S d e p t = M A O R S d e p
45、 t = C S O R D E R B Y 子 句 : 对 查 询 结 果 排 序可 以 按 一 个 或 多 个 属 性 列 排 序 : 升 序 : A S C ; 降 序 : D E S C ; 缺 省 值 为 升 序 。 当 排 序 列 含 空 值 时 : 空 值 最 大 A S C : 排 序 列 为 空 值 的 元 组 最 后 显 示 ; D E S C : 排 序 列 为 空 值 的 元 组 最 先 显 示 。 例 : 查 询 选 修 了 3 号 课 程 的 学 生 的 学 号 及 其 成 绩 , 查 询 结 果 按 分 数 降 序 排 列 S E L E C T S n o ,
46、G r a d e F R O M S C W H E R E C n o = 3 O R D E R B Y G r a d e D E S C ; 聚 集 函 数 : 对 查 询 结 果 集 中 的 某 列 进 行 计 算 或 统 计 。 计 数 C O U N T ( D I S T I N C T | A L L * ) C O U N T ( D I S T I N C T | A L L ) 计 算 总 和 S U M ( D I S T I N C T | A L L ) 计 算 平 均 值 A V G ( D I S T I N C T | A L L ) 最 大 最 小 值
47、M A X ( D I S T I N C T | A L L ) M I N ( D I S T I N C T | A L L ) 例 : 查 询 学 生 2 0 0 2 1 5 0 1 2 选 修 课 程 的 总 学 分 数 S E L E C T S U M ( C c r e d i t ) F R O M S C , C o u r s e W H E R S n o = 2 0 0 2 1 5 0 1 2 A N D S C . C n o = C o u r s e . C n o ; 注 : 除 C o u n t ( * ) , 都 要 跳 过 空 值 ; W h e r
48、e 子 句 不 能 使 用 聚 集 函 数 。 G R O U P B Y 子 句 : 对 查 询 结 果 分 组 。 用 途 细 化 聚 集 函 数 的 作 用 对 象 未 对 查 询 结 果 分 组 , 聚 集 函 数 将 作 用 于 整 个 查 询 结 果 对 查 询 结 果 分 组 后 , 聚 集 函 数 将 分 别 作 用 于 每 个 组 使 用 G R O U P B Y 后 : 其 S E L E C T 子 句 的 列 名 列 表 中 只 能 出 现 分 组 属 性 和 集 函 数 。 如 果 分 组 后 还 要 按 照 条 件 对 这 些 组 进 行 筛 选 , 可 使 用 h a v i n g 短 语 指 定 筛 选 条 件 例 : 查 询 选 修 了 3 门 以 上 课 程 的 学 生 学 号 S E L E C T S n o F R O M S C G R O U P B Y S n o H A V I N G C O U N T ( * ) 3 ; 例 : 查 询 有 3 门 以 上 课 程 是 9 0 分 以 上 学 生 的 学 号 及 ( 9 0 分 以 上 的 ) 课 程 数 S E L E C T S n o , C O U N T ( * )