数 据 库 系 统 基 础 2/54 第 6 章 数 据 库 管 理 与 维 护



Similar documents
untitled

1-1 database columnrow record field 不 DBMS Access Paradox SQL Server Linux MySQL Oracle IBM Informix IBM DB2 Sybase 1-2

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘

untitled

untitled

目錄

教 学 目 标 描 述 主 要 数 据 库 对 象 创 建 表 描 述 列 定 义 时 可 用 的 数 据 类 型 改 变 表 的 定 义 删 除 改 名 和 截 断 表 描 述 每 个 DML 语 句 插 入 行 到 表 中 更 新 表 中 的 行 从 表 中 删 除 行 描 述 约 束 创 建

R D B M S O R D B M S R D B M S / O R D B M S R D B M S O R D B M S 4 O R D B M S R D B M 3. ORACLE Server O R A C L E U N I X Windows NT w w

习题1

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

ebook 96-16

ebook46-23

第6章  数据库技术基础

PowerPoint Presentation

目錄 C ontents Chapter MTA Chapter Chapter

Oracle高级复制配置手册_业务广告_.doc

ebook 165-5

使用SQL Developer

DB2 (join) SQL DB2 11 SQL DB2 SQL 9.1 DB2 DB2 ( ) SQL ( ) DB2 SQL DB2 DB2 SQL DB2 DB2 SQL DB2 ( DB2 ) DB2 DB2 DB2 SQL DB2 (1) SQL (2) S

基于UML建模的管理管理信息系统项目案例导航——VB篇

数据库系统概论

幻灯片 1

未命名

123

Oracle Database 10g: SQL (OCE) 的第一堂課

Oracle 4

第1套

,4 :20..,5 ( )..,1. :..,2..,2..,10..,3.., ,1..,3..,12..,1..,2 :..,..,2 :..,3..,6..,4 ( )..,4.,.,3 6..,3 :..,3..,1 :..

精 品 库 我 们 的 都 是 精 品 _www.jingpinwenku.com (8) 数 据 库 数 据 库 系 统 和 数 据 库 管 理 系 统 之 问 的 关 系 是 ( ) A) 数 据 库 包 括 数 据 库 系 统 和 数 据 库 管 理 系 统 B) 数 据 库 系 统 包 括

回滚段探究

一步一步教你搞网站同步镜像!|动易Cms

Microsoft PowerPoint - Ch6

Microsoft Word - 扉页.doc

第九章 数据库的安全性和完整性

MySQL資料庫教學

ebook10-5

季刊9web.indd

<4D F736F F F696E74202D20B5DABEC5D5C220CAFDBEDDBFE2B0B2C8ABD0D42D6E6577>

设计一个学生管理关系数据库,包括学生关系、课程关系和选课关系

水 平 考 试 管 理 部 门 办 理 报 名 登 记 手 续, 由 县 ( 市 区 ) 学 业 水 平 考 试 管 理 部 门 建 立 学 业 水 平 考 试 考 籍 ( 三 ) 在 云 南 省 借 考 的 外 省 户 籍 考 生, 经 本 人 申 请, 持 户 籍 等 相 关 材 料, 到 借


Microsoft Word - 103鐵路佐級-國文(二)

背 景 资 料 水 浒 传 写 的 是 北 宋 宣 和 年 间 (1119~1121 前 后 ) 宋 江 等 聚 众 起 义 的 故 事 全 书 描 写 北 宋 末 年 以 宋 江 为 首 的 一 百 零 八 人 在 山 东 梁 山 泊 聚 义 的 故 事 故 事 在 宋 史 和 宋 人 笔 记 里

产 品 出 口 企 业 当 年 减 半 缴 纳 企 业 所 得 税 的 核 准 外 商 投 资 企 业 财 产 转 让 收 益 分 期 计 入 应 纳 税 所 得 额 的 核 准 外 商 投 资 企 业 技 术 开 发 费 加 计 扣 除 的 核 准 财 政

学 习 贯 彻 中 央 尧 省 尧 市 纪 委 全 会 精 神 专 栏 中 国 共 产 党 第 十 八 届 中 央 纪 律 检 查 委 员 会 第 六 次 全 体 会 议 公 报 渊 2016 年 1 月 14 日 中 国 共 产 党 第 十 八 届 中 央 纪 律 检 查 委 员 会 第 六 次

Microsoft Word - 临政办发12.doc

中共山东省委高校工委

标题

目 录 第 一 部 分 国 家 知 识 产 权 局 概 况 一 主 要 职 能 二 部 门 预 算 单 位 构 成 第 二 部 分 国 家 知 识 产 权 局 2016 年 部 门 预 算 表 一 财 政 拨 款 收 支 总 表 二 一 般 公 共 预 算 支 出 表 三 一 般 公 共 预 算 基

ᄐ↓ᅯᄎ2015ᅣ↑ᄇ﾿ᅢᅤᅯ녜 ̄

科学技术部2013年度部门预算

一、二○○二年学校工作的简要回顾

Microsoft Word - 白俄罗斯公司法汉语译文2015年7月15日修改版.docx

第 一 部 分 中 国 气 象 局 职 责 及 概 况 一 主 要 职 责 ( 一 ) 拟 定 气 象 工 作 的 方 针 政 策 法 律 法 规 发 展 战 略 和 长 远 规 划 ; 制 定 发 布 气 象 工 作 的 规 章 制 度 技 术 标 准 和 规 范 并 监 督 实 施 ; 承 担

数学与统计学院教师支部“两学一做”学习教育实施计划

无 锡 职 业 技 术 学 院 国 有 资 产 管 理 办 法 第 一 章 总 则 第 一 条 为 加 强 学 校 国 有 资 产 管 理, 合 理 配 置 和 有 效 使 用 国 有 资 产, 确 保 国 有 资 产 安 全 与 完 整, 保 障 和 促 进 学 校 各 项 事 业 发 展, 根

省安委会2015冬防工作方案.doc

南 昌 大 学 人 力 资 源 工 作 简 讯 2015 年 第 2 期 ( 总 第 27 期 ) 目 录 1 人 力 资 源 综 合 信 息 2 人 员 调 配 及 机 构 编 制 管 理 信 息 3 劳 资 工 作 信 息 4 师 资 管 理 信 息 5 高 层 次 人 才 及 队 伍 建 设

国家邮政局2010年部门预算

国家邮政局2010年部门预算

11韶关市人力资源和社会保障局权责清单

三亚市政府投资建设项目代建制管理工作介绍

<4D F736F F D20C9FABBB7B9FAD6D CBB6CABFB8B4CAD4B7BDB0B8312E646F63>

目 录 一 部 门 职 责... 1 二 预 算 编 报 范 围... 3 三 2013 年 部 门 预 算 报 表 及 情 况 说 明... 5 收 支 预 算 总 表 及 情 况 说 明... 5 收 入 预 算 表 及 情 况 说 明... 7 支 出 预 算 表 及 情 况 说 明... 1

标题

目 录 一 重 要 提 示... 3 二 公 司 主 要 财 务 数 据 和 股 东 变 化... 3 三 重 要 事 项... 6 四 附 录 / 22

目 录 引 言... 3 第 一 部 分 电 价 水 平 基 本 情 况...4 一 上 网 电 价...4 二 输 配 电 价...6 三 销 售 电 价...9 四 政 府 性 基 金 和 附 加...12 第 二 部 分 电 价 政 策 执 行 情 况...13 一 电 价 水 平 调 整 情

西安邮电学院本科教学工作简报

密 级:

市六届人大--次

目 录 前 言 第 一 章 近 年 来 合 同 行 政 监 管 及 相 关 工 作 改 革 创 新 情 况 第 二 章 2014 年 合 同 行 政 监 管 及 相 关 工 作 情 况 第 一 节 合 同 格 式 条 款 监 管 一 银 行 业 电 信 业 合 同 格 式 条 款 专 项 整 治 二

中国文联部门预算


( 十 ) 其 他 会 计 工 作 第 四 条 单 位 不 得 任 用 ( 聘 用 ) 不 具 备 会 计 从 业 资 格 的 人 员 从 事 会 计 工 作 不 具 备 会 计 从 业 资 格 的 人 员, 不 得 从 事 会 计 工 作, 不 得 参 加 会 计 专 业 技 术 资 格 考 试

附 件 : 顺 德 区 2015 年 高 中 阶 段 学 校 招 生 考 试 工 作 意 见 根 据 佛 山 市 顺 德 区 教 育 事 业 发 展 十 二 五 规 划 2015 年 顺 德 区 教 育 工 作 意 见 的 文 件 精 神 和 上 级 教 育 主 管 部 门 工 作 要 求, 结 合

<C1ACD6DDCAD0CAD0B3A1BCE0B6BDB9DCC0EDBED6C8A8D4F0C7E5B5A5A3A8B9ABCABEA3A92E786C73>

Microsoft Word - Future CEDAW C CHN 7-8.doc


国家发展改革委法治机关建设规划( 年)

烟台经济技术开发区政府采购竞争性磋商文件

<4D F736F F D20342E31332D C4EACCECBDF2CAD0C6D5CDA8B8DFB5C8D1A7D0A3D5D0C9FABFBCCAD4B9A4D7F7B9E6B6A82DCEC4BCFEB8E52E646F63>

2014 年 12 月 16 日 广 西 春 茂 投 资 股 份 有 限 公 司 ( 原 名 广 西 汽 牛 农 业 机 械 股 份 有 限 公 司, 以 下 简 称 春 茂 股 份 挂 牌 公 司 公 司 ) 召 开 2014 年 第 五 次 临 时 股 东 大 会, 通 过 向 特 定 对 象

四、实施步骤

Microsoft Word - 面向合格投资者公开发行公司债券上市预审核反馈意见公告(截至2015年10月8日)

律 师 执 业 必 须 以 事 实 为 根 据, 以 法 律 为 准 绳 律 师 执 业 应 当 接 受 国 家 社 会 和 当 事 人 的 监 督 律 师 依 法 执 业 受 法 律 保 护, 任 何 组 织 和 个 人 不 得 侵 害 律 师 的 合 法 权 益 第 四 条 司 法 行 政 部

(Microsoft Word - \270t\270g\254\354\305\252\270g\274\372\300y\255p\271\ docx)

自 觉 实 践 科 学 发 展 观, 扎 实 推 进 管 理 服 务 工 作 四 川 大 学 档 案 馆 ( 校 史 办 公 室 )2007 年 上 半 年 工 作 总 结 2007 年 上 半 年, 四 川 大 学 档 案 馆 ( 校 史 办 公 室 ) 在 学 校 党 委 行 政 领 导 和 上

2014


第 一 部 分 广 州 市 广 播 电 视 大 学 概 况 一 学 校 的 主 要 任 务 和 业 务 范 围 根 据 市 编 委 的 批 复, 广 州 市 广 播 电 视 大 学 为 市 局 级 事 业 单 位, 归 口 市 教 育 局 管 理 主 要 承 担 以 下 任 务 : ( 一 ) 承

Microsoft Word - 关于印发《云南保险业高级管理人员任职资格考试办法》的通知

<4D F736F F D20CBD5D6DDBFC6BCBCD1A7D4BAB8DFB5C8D1A7D0A3BDCCCAA6D7CAB8F1C8CFB6A8B9A4D7F7CAB5CAA9D2E2BCFB2E646F63>

自评报告合成.doc

第一部分 界定和测量歧视


一 前 言 2 作 為 我 國 儒 家 經 典 及 十 三 經 之 一, 孟 子 流 傳 千 年 不 輟, 足 以 證 明 其 對 中 華 文 化 的 重 要 性 與 影 響 力, 除 了 道 德 文 化 意 識 的 開 發, 也 弘 揚 仁 政 王 道 的 政 治 觀, 大 多 數 人 都 肯 定

法 工 作 计 划 滨 州 市 安 全 生 产 监 督 管 理 局 2016 年 2 月 4 日 ( 此 件 主 动 公 开 ) 2


附件3

关于印发西北政法大学“十二五”

Transcription:

数 据 库 系 统 基 础 1/54 数 据 库 系 统 基 础 哈 尔 滨 工 业 大 学 2011.~2012.

数 据 库 系 统 基 础 2/54 第 6 章 数 据 库 管 理 与 维 护

数 据 库 系 统 基 础 3/54 第 6 章 数 据 库 管 理 与 维 护 6.1 数 据 库 管 理 员 的 基 本 职 责 6.2 数 据 库 存 储 与 性 能 管 理 6.3 数 据 库 完 整 性 与 安 全 性 控 制 ---- 数 据 库 完 整 性 的 概 念 ---- SQL-DDL 中 关 于 完 整 性 的 命 令 ---- 数 据 库 安 全 性 的 概 念 ---- SQL-DCL 中 关 于 安 全 性 的 命 令 ---- 数 据 字 典 / 系 统 目 录 和 模 式 6.4 数 据 库 故 障 恢 复

数 据 库 系 统 基 础 4/54 ---- 数 据 库 完 整 性 的 概 念 第 2 章 介 绍 的 关 系 模 型 中 有 完 整 性 要 求 实 体 完 整 性 参 照 完 整 性 用 户 自 定 义 完 整 性 第 5 章 介 绍 的 数 据 库 设 计 中, 在 E-R 图 /IDEF1X 图 中 有 很 多 的 完 整 性 约 束 条 件, 如 何 施 加 到 数 据 库 的 定 义 中, 如 何 起 作 用 呢?

数 据 库 系 统 基 础 5/54 ---- 数 据 库 完 整 性 的 概 念 ( 续 ) 数 据 库 完 整 性 DB Integrity 是 指 DBMS 应 保 证 DB 在 任 何 情 况 下 的 正 确 性 有 效 性 和 一 致 性 广 义 完 整 性 : 语 义 完 整 性 并 发 控 制 安 全 控 制 DB 故 障 恢 复 等 狭 义 完 整 性 : 专 指 语 义 完 整 性,DBMS 通 常 有 专 门 的 完 整 性 管 理 机 制 与 程 序 来 处 理 语 义 完 整 性 问 题 ( 本 讲 义 指 语 义 完 整 性 )

数 据 库 系 统 基 础 6/54 ---- 数 据 库 完 整 性 的 概 念 ( 续 ) 为 什 么 会 引 发 数 据 库 完 整 性 的 问 题 呢? 不 正 当 的 数 据 库 操 作, 如 输 入 错 误 操 作 失 误 程 序 处 理 失 误 等 数 据 库 完 整 性 管 理 的 作 用 防 止 和 避 免 数 据 库 中 不 合 理 数 据 的 出 现 DBMS 应 尽 可 能 地 自 动 防 止 DB 中 语 义 不 合 理 现 象 如 DBMS 不 能 自 动 防 止, 则 需 要 应 用 程 序 员 和 用 户 在 进 行 数 据 库 操 作 时 处 处 加 以 小 心, 每 写 一 条 SQL 语 句 都 要 考 虑 是 否 符 合 语 义 完 整 性, 这 种 工 作 负 担 是 非 常 沉 重 的, 因 此 应 尽 可 能 多 地 让 DBMS 来 承 担

数 据 库 系 统 基 础 7/54 ---- 数 据 库 完 整 性 的 概 念 ( 续 ) DBMS 怎 样 自 动 保 证 完 整 性 呢? DBMS 允 许 用 户 定 义 一 些 完 整 性 约 束 规 则 ( 用 SQL-DDL 来 定 义 ) 当 有 DB 更 新 操 作 时,DBMS 自 动 按 照 完 整 性 约 束 条 件 进 行 检 查, 以 确 保 更 新 操 作 符 合 语 义 完 整 性 完 整 性 约 束 条 件 ( 或 称 完 整 性 约 束 规 则 ) 的 一 般 形 式 Integrity Constraint ::= ( O,P,A,R) O 数 据 集 合 : 约 束 的 对 象? 列 多 列 ( 元 组 ) 元 组 集 合 P 谓 词 条 件 : 什 么 样 的 约 束? A 触 发 条 件 : 什 么 时 候 检 查? R 违 约 响 应 : 不 满 足 时 怎 么 办?

数 据 库 系 统 基 础 8/54 ---- 数 据 库 完 整 性 的 概 念 ( 续 ) 完 整 性 约 束 条 件 的 类 别 域 完 整 性 约 束 条 件 施 加 于 某 一 列 上, 对 给 定 列 上 所 要 更 新 的 某 一 候 选 值 是 否 可 以 接 受 进 行 约 束 条 件 判 断, 这 是 孤 立 进 行 的 关 系 完 整 性 约 束 条 件 施 加 于 关 系 /table 上, 对 给 定 table 上 所 要 更 新 的 某 一 候 选 元 组 是 否 可 以 接 受 进 行 约 束 条 件 判 断, 或 是 对 一 个 关 系 中 的 若 干 元 组 和 另 一 个 关 系 中 的 若 干 元 组 间 的 联 系 是 否 可 以 接 受 进 行 约 束 条 件 判 断

数 据 库 系 统 基 础 9/54 ---- 数 据 库 完 整 性 的 概 念 ( 续 ) 完 整 性 约 束 条 件 的 进 一 步 分 类 约 束 来 源 分 类 结 构 约 束 : 来 自 于 模 型 的 约 束, 例 如 函 数 依 赖 约 束 主 键 约 束 ( 实 体 完 整 性 ) 外 键 约 束 ( 参 照 完 整 性 ), 只 关 心 数 值 相 等 与 否 是 否 允 许 空 值 等 ; 内 容 约 束 : 来 自 于 用 户 的 约 束, 如 用 户 自 定 义 完 整 性, 关 心 元 组 或 属 性 的 取 值 范 围 例 如 Student 表 的 Sage 属 性 值 在 15 岁 至 40 岁 之 间 等

数 据 库 系 统 基 础 10/54 ---- 数 据 库 完 整 性 的 概 念 ( 续 ) 完 整 性 约 束 条 件 的 进 一 步 分 类 约 束 状 态 分 类 静 态 约 束 : 要 求 DB 在 任 一 时 候 均 应 满 足 的 约 束 ; 例 如 Sage 在 任 何 时 候 都 应 满 足 大 于 0 而 小 于 150( 假 定 人 活 最 大 年 龄 是 150) 动 态 约 束 : 要 求 DB 从 一 状 态 变 为 另 一 状 态 时 应 满 足 的 约 束 ; 例 如 工 资 只 能 升, 不 能 降 : 工 资 可 以 是 800 元, 也 可 以 是 1000 元 ; 可 以 从 800 元 更 改 为 1000 元, 但 不 能 从 1000 元 更 改 为 800 元

数 据 库 系 统 基 础 11/54 ---- SQL-DDL 中 关 于 完 整 性 的 命 令 SQL-DDL 提 供 了 诸 多 完 整 性 约 束 的 定 义, 首 先 完 整 性 约 束 定 义 体 现 在 Create Table 语 句 中 CREATE TABLE tablename ( ( colname datatype [ DEFAULT { default_constant NULL} ] [ col_constr {col_constr...} ], table_constr {, { colname datatype [DEFAULT { default_constant NULL} ] [col_constr {col_constr...} ], table_constr }... } );

数 据 库 系 统 基 础 12/54 ---- SQL-DDL 中 关 于 完 整 性 的 命 令 ( 续 ) Col_constr 列 约 束 : 一 种 域 约 束 类 型, 对 单 一 列 的 值 进 行 约 束 { NOT NULL // 列 值 非 空 [ CONSTRAINT constraintname ] // 为 约 束 命 名, 便 于 以 后 撤 消 { UNIQUE // 列 值 是 唯 一 PRIMARY KEY // 列 为 主 键 CHECK (search_cond) // 列 值 满 足 条 件, 条 件 只 能 使 用 列 当 前 值 REFERENCES tablename [(colname) ] [ON DELETE CASCADE] } } // 引 用 另 一 表 tablename 的 列 colname 的 值, 如 有 ON DELETE CASCADE 语 句, 则 删 除 被 引 用 表 的 某 列 值 v 时, 要 将 本 表 的 该 列 值 为 v 的 列 值 更 新 为 null; 缺 省 为 无 操 作 Col_constr 列 约 束 : 只 能 应 用 在 单 一 列 上, 其 后 面 的 约 束 如 UNIQUE, PRIMARY 及 search_cond 只 能 是 单 一 列 唯 一 单 一 列 为 主 键 和 单 一 列 相 关

数 据 库 系 统 基 础 13/54 ---- SQL-DDL 中 关 于 完 整 性 的 命 令 ( 续 ) Col_constr 列 约 束 示 例 Create Table Student ( S# char(8) not null unique, Sname char(10), Ssex char(2) constraint ctssex check (Ssex= 男 or Ssex= 女 ), Sage integer check (Sage>=1 and Sage<150), D# char(2) references Dept(D#) on delete cascade, Sclass char(6) ); // 假 定 Ssex 只 能 取 { 男, 女 }, 1=<Sage<=150 Create Table Course ( C# char(3), Cname char(12), Chours integer, Credit float(1) constraint ctcredit check (Credit >=0.0 and Credit<=5.0 ), T# char(3) references Teacher(T#) on delete cascade ); // 假 定 每 门 课 学 分 最 多 5 分, 最 少 0 分

数 据 库 系 统 基 础 14/54 ---- SQL-DDL 中 关 于 完 整 性 的 命 令 ( 续 ) table_constr 表 约 束 : 一 种 关 系 约 束 类 型, 对 多 列 或 元 组 的 值 进 行 约 束 [ CONSTRAINT constraintname ] // 为 约 束 命 名, 便 于 以 后 撤 消 { UNIQUE (colname {, colname...}) // 几 列 值 组 合 在 一 起 是 唯 一 PRIMARY KEY (colname {, colname...}) // 几 列 联 合 为 主 键 CHECK (search_condition) // 元 组 多 列 值 共 同 满 足 条 件 // 条 件 中 只 能 使 用 同 一 元 组 的 不 同 列 当 前 值 FOREIGN KEY (colname {, colname...}) REFERENCES tablename [(colname {, colname...})] [ON DELETE CASCADE] } // 引 用 另 一 表 tablename 的 若 干 列 的 值 作 为 外 键 table_constr 表 约 束 : 是 应 用 在 关 系 上, 即 对 关 系 的 多 列 或 元 组 进 行 约 束, 列 约 束 是 其 特 例

数 据 库 系 统 基 础 15/54 ---- SQL-DDL 中 关 于 完 整 性 的 命 令 ( 续 ) table_constr 表 约 束 示 例 Create Table Student ( S# char(8) not null unique, Sname char(10), Ssex char(2) constraint ctssex check (Ssex= 男 or Ssex= 女 ), Sage integer check (Sage>1 and Sage<150), D# char(2) references Dept(D#) on delete cascade, Sclass char(6), primary key(s#) ); Create Table Course ( C# char(3), Cname char(12), Chours integer, Credit float(1) constraint ctcredit check (Credit >=0.0 and Credit<=5.0 ), T# char(3) references Teacher(T#) on delete cascade, primary(c#), constraint ctcc check(chours/credit = 20) ); // 假 定 严 格 约 束 20 学 时 一 个 学 分

数 据 库 系 统 基 础 16/54 ---- SQL-DDL 中 关 于 完 整 性 的 命 令 ( 续 ) table_constr 表 约 束 示 例 Create Table SC ( S# char(8), C# char(3), Score float(1) constraint ctscore check (Score>=0.0 and Score<=100.0), forergn key (S#) references student(s#) on delete cascade, forergn key (C#) references course(c#) on delete cascade ); check 中 的 条 件 可 以 是 Select-From-Where 内 任 何 Where 后 的 语 句, 包 含 子 查 询 比 如 SC 定 义 中 不 使 用 外 键, 则 可 如 下 约 束 : Create Table SC ( S# char(8) check( S# in (select S# from student)), C# char(3) check( C# in (select C# from course)), Score float(1) constraint ctscore check (Score>=0.0 and Score<=100.0),

数 据 库 系 统 基 础 17/54 ---- SQL-DDL 中 关 于 完 整 性 的 命 令 ( 续 ) Create Table 中 定 义 的 表 约 束 或 列 约 束 可 以 在 以 后 根 据 需 要 进 行 撤 消 或 追 加 撤 消 或 追 加 约 束 的 语 句 是 Alter Table( 不 同 系 统 可 能 有 差 异 ) ALTER TABLE tblname [ADD ( { colname datatype [DEFAULT {default_const NULL} ] [col_constr {col_constr...} ], table_constr } {, colname...}) ] [DROP { COLUMN columnname (columnname {, columnname })}] [MODIFY ( columnname data-type [DEFAULT {default_const NULL } ] [ [ NOT ] NULL ] {, columnname...})] [ADD CONSTRAINT constr_name] [DROP CONSTRAINT constr_name] [DROP PRIMARY KEY ] ;

数 据 库 系 统 基 础 18/54 ---- SQL-DDL 中 关 于 完 整 性 的 命 令 ( 续 ) 例 如, 撤 消 SC 表 的 ctscore 约 束 ( 由 此 可 见, 未 命 名 的 约 束 是 不 能 撤 消 ) Alter Table SC DROP CONSTRAINT ctscore; 例 如, 若 要 再 对 SC 表 的 score 进 行 约 束, 比 如 分 数 在 0~150 之 间, 则 可 新 增 加 一 个 约 束 在 Oracle 中 增 加 新 约 束, 需 要 通 过 修 改 列 的 定 义 来 完 成 Alter Table SC Modify ( Score float(1) constraint nctscore check (Score>=0.0 and Score<=150.0) ); 有 些 DBMS 支 持 独 立 的 追 加 约 束, 注 意 书 写 格 式 可 能 有 些 差 异 Alter Table SC Add Constraint nctscore check (Score>=0.0 and Score<=150.0) );

数 据 库 系 统 基 础 19/54 ---- SQL-DDL 中 关 于 完 整 性 的 命 令 ( 续 ) SQL-DDL 提 供 的 另 一 种 完 整 性 保 证 机 制 是 触 发 器 Trigger Create Table 中 的 表 约 束 和 列 约 束 基 本 上 都 是 静 态 的 约 束, 也 基 本 上 都 是 对 单 一 列 或 单 一 元 组 的 约 束 ( 尽 管 有 参 照 完 整 性 ), 为 实 现 动 态 约 束 以 及 多 个 元 组 之 间 的 完 整 性 约 束, 就 需 要 触 发 器 技 术 Trigger Trigger 是 一 种 过 程 性 完 整 性 约 束 ( 相 比 之 下,Create Table 中 定 义 的 都 是 非 过 程 性 约 束 ), 是 一 段 程 序, 该 程 序 可 以 在 特 定 的 时 刻 被 自 动 触 发 执 行, 比 如 在 一 次 更 新 操 作 之 前 执 行, 或 在 更 新 操 作 之 后 执 行

数 据 库 系 统 基 础 20/54 ---- SQL-DDL 中 关 于 完 整 性 的 命 令 ( 续 ) 触 发 器 Trigger CREATE TRIGGER trigger_name BEFORE AFTER { INSERT DELETE UPDATE [OF colname {, colname...}] } ON tablename [REFERENCING corr_name_def {, corr_name_def...} ] [FOR EACH ROW FOR EACH STATEMENT] [WHEN // 对 更 新 操 作 的 每 一 条 结 果 ( 前 者 ), 或 整 个 更 新 操 作 完 成 ( 后 者 ) (search_condition)] // 检 查 条 件, 如 满 足 执 行 下 述 程 序 { statement // 单 行 程 序 直 接 书 写, 多 行 程 序 要 用 下 行 方 式 BEGIN ATOMIC statement; { statement;...} END } 触 发 器 Trigger 意 义 : 当 某 一 事 件 发 生 时 (Before After), 对 该 事 件 产 生 的 结 果 ( 或 是 每 一 元 组, 或 是 整 个 操 作 的 所 有 元 组 ), 检 查 条 件 search_condition, 如 果 满 足 条 件, 则 执 行 后 面 的 程 序 段 条 件 或 程 序 段 中 引 用 的 变 量 可 用 corr_name_def 来 限 定

数 据 库 系 统 基 础 21/54 ---- SQL-DDL 中 关 于 完 整 性 的 命 令 ( 续 ) 触 发 器 Trigger( 续 ) 事 件 :BEFORE AFTER { INSERT DELETE UPDATE } 当 一 个 事 件 (Insert, Delete, 或 Update) 发 生 之 前 Before 或 发 生 之 后 After 触 发 操 作 发 生, 执 行 触 发 器 操 作 需 处 理 两 组 值 : 更 新 前 的 值 和 更 新 后 的 值, 这 两 个 值 由 corr_name_def 的 使 用 来 区 分

数 据 库 系 统 基 础 22/54 ---- SQL-DDL 中 关 于 完 整 性 的 命 令 ( 续 ) 触 发 器 Trigger( 续 ) corr_name_def 的 定 义 { OLD [ROW] [AS] old_row_corr_name // 更 新 前 的 旧 元 组 命 别 名 为 NEW [ROW] [AS] new_row_corr_name // 更 新 后 的 新 元 组 命 别 名 为 OLD TABLE [AS] old_table_corr_name // 更 新 前 的 旧 Table 命 别 名 为 NEW TABLE [AS] new_table_corr_name // 更 新 后 的 新 Table 命 别 名 为 } corr_name_def 将 在 检 测 条 件 或 后 面 的 动 作 程 序 段 中 被 引 用 处 理

数 据 库 系 统 基 础 23/54 ---- SQL-DDL 中 关 于 完 整 性 的 命 令 ( 续 ) 触 发 器 Trigger 示 例 一 设 计 一 个 触 发 器 当 进 行 Teacher 表 更 新 元 组 时, 使 其 工 资 只 能 升 不 能 降 create trigger teacher_chgsal before update of salary on teacher referencing new x, old y for each row when (x.salary < y.salary) begin raise_application_error(-20003, 'invalid salary on update'); end; // 此 条 语 句 为 Oracle 的 错 误 处 理 函 数

数 据 库 系 统 基 础 24/54 ---- SQL-DDL 中 关 于 完 整 性 的 命 令 ( 续 ) 触 发 器 Trigger 示 例 二 假 设 student(s#, Sname, SumCourse), SumCourse 为 该 同 学 已 学 习 课 程 的 门 数, 初 始 值 为 0, 以 后 每 选 修 一 门 都 要 对 其 增 1 设 计 一 个 触 发 器 完 成 上 述 功 能 create trigger sumc after insert on sc referencing new row newi for each row begin update student set SumCourse = SumCourse + 1 where S# = :newi.s# ; end;

数 据 库 系 统 基 础 25/54 ---- SQL-DDL 中 关 于 完 整 性 的 命 令 ( 续 ) 触 发 器 Trigger 示 例 三 假 设 student(s#, Sname, Sage, Ssex, Sclass) 中 某 一 学 生 要 变 更 其 主 码 S# 的 值, 如 使 其 原 来 的 98030101 变 更 为 99030131, 此 时 sc 表 中 该 同 学 已 选 课 记 录 的 S# 也 需 自 动 随 其 改 变 设 计 一 个 触 发 器 完 成 上 述 功 能 create trigger upds# after update of S# on student referencing old oldi, new newi for each row begin update sc set S# = newi.s# where S# = :oldi.s# ; end;

数 据 库 系 统 基 础 26/54 ---- SQL-DDL 中 关 于 完 整 性 的 命 令 ( 续 ) 触 发 器 Trigger 示 例 四 假 设 student(s#, Sname, SumCourse), 当 删 除 某 一 同 学 S# 时, 该 同 学 的 所 有 选 课 也 都 要 删 除 设 计 一 个 触 发 器 完 成 上 述 功 能 create trigger dels# after delete on Student referencing old oldi for each row begin delete sc where S# = :oldi.s# ; end;

数 据 库 系 统 基 础 27/54 ---- SQL-DDL 中 关 于 完 整 性 的 命 令 ( 续 ) 触 发 器 Trigger 示 例 五 假 设 student(s#, Sname, SumCourse), 当 删 除 某 一 同 学 S# 时, 该 同 学 的 所 有 选 课 中 的 S# 都 要 置 为 空 值 设 计 一 个 触 发 器 完 成 上 述 功 能 create trigger dels# after delete on Student referencing old oldi for each row begin update sc set S# = Null where S# = :oldi.s# ; end;

数 据 库 系 统 基 础 28/54 ---- SQL-DDL 中 关 于 完 整 性 的 命 令 ( 续 ) 触 发 器 Trigger 示 例 六 假 设 Dept(D#, Dname, Dean), 而 Dean 一 定 是 该 系 教 师 Teacher(T#, Tname, D#, Salary) 中 工 资 最 高 的 教 师 设 计 一 个 触 发 器 完 成 上 述 功 能 create trigger upddean after insert on Dept, update of Dean on Dept, referencing old oldi, new newi for each row when ( dean not in (select Tname from Teacher where D# = :newi.d# and salary >all(select salary from Teacher where D# = :newi.d#)) begin raise_application_error(-20003, 'invalid Dean on update'); end;

数 据 库 系 统 基 础 29/54 ---- 数 据 库 安 全 性 的 概 念 数 据 库 安 全 性 是 指 DBMS 能 够 保 证 使 DB 免 受 非 法 非 授 权 用 户 的 使 用 泄 漏 更 改 或 破 坏 的 机 制 和 手 段 数 据 库 安 全 性 管 理 涉 及 许 多 方 面 社 会 法 律 及 伦 理 方 面 : 私 人 信 息 受 到 保 护, 未 授 权 人 员 访 问 私 人 信 息 会 违 法 公 共 政 策 / 制 度 方 面 : 例 如, 政 府 或 组 织 的 信 息 公 开 或 非 公 开 制 度 安 全 策 略 : 政 府 企 业 或 组 织 所 实 施 的 安 全 性 策 略, 如 集 中 管 理 和 分 散 管 理, 需 者 方 知 策 略 ( 也 称 最 少 特 权 策 略 ) 数 据 库 系 统 DBS 的 安 全 级 别 : 物 理 控 制 网 络 控 制 操 作 系 统 控 制 DBMS 控 制 数 据 的 安 全 级 别 : 绝 密 (Top Secret), 机 密 (Secret), 可 信 (Confidential) 和 无 分 类 (Unclassified)

数 据 库 系 统 基 础 30/54 ---- 数 据 库 安 全 性 的 概 念 ( 续 ) DBMS 的 安 全 机 制 : 自 主 安 全 性 机 制 : 存 取 控 制 (Access Control) 通 过 权 限 在 用 户 之 间 的 传 递, 使 用 户 自 主 管 理 数 据 库 安 全 性 强 制 安 全 性 机 制 : 通 过 对 数 据 和 用 户 强 制 分 类, 使 得 不 同 类 别 用 户 能 够 访 问 不 同 类 别 的 数 据 推 断 控 制 机 制 :( 可 参 阅 相 关 文 献 ) 防 止 通 过 历 史 信 息, 推 断 出 不 该 被 其 知 道 的 信 息 ; 防 止 通 过 公 开 信 息 ( 通 常 是 一 些 聚 集 信 息 ) 推 断 出 私 密 信 息 ( 个 体 信 息 ), 通 常 在 一 些 由 个 体 数 据 构 成 的 公 共 数 据 库 中 此 问 题 尤 为 重 要 数 据 加 密 存 储 机 制 :( 可 参 阅 相 关 文 献 ) 通 过 加 密 解 密 保 护 数 据, 密 钥 加 密 / 解 密 方 法 与 传 输

数 据 库 系 统 基 础 31/54 ---- 数 据 库 安 全 性 的 概 念 ( 续 ) DBA 在 安 全 性 方 面 的 责 任 和 义 务 熟 悉 相 关 的 法 规 政 策, 协 助 组 织 的 决 策 者 制 定 好 相 关 的 安 全 策 略 规 划 好 安 全 控 制 保 障 措 施, 例 如, 系 统 安 全 级 别 不 同 级 别 上 的 安 全 控 制 措 施, 对 安 全 遭 破 坏 的 响 应, 划 分 好 数 据 的 安 全 级 别 以 及 用 户 的 安 全 级 别 实 施 安 全 性 控 制 :DBMS 专 门 提 供 一 个 DBA 帐 户, 该 帐 户 是 一 个 超 级 用 户 或 称 系 统 用 户 DBA 利 用 该 帐 户 的 特 权 可 以 进 行 用 户 帐 户 的 创 建 以 及 权 限 授 予 和 撤 消 安 全 级 别 控 制 调 整 等

数 据 库 系 统 基 础 32/54 ---- 数 据 库 安 全 性 的 概 念 ( 续 ) 自 主 安 全 性 机 制 通 常 情 况 下, 自 主 安 全 性 是 通 过 授 权 机 制 来 实 现 的 用 户 在 使 用 数 据 库 前 必 须 由 DBA 处 获 得 一 个 帐 户, 并 由 DBA 授 予 该 帐 户 一 定 的 权 限, 该 帐 户 的 用 户 依 据 其 所 拥 有 的 权 限 对 数 据 库 进 行 操 作 ; 同 时, 该 帐 户 用 户 也 可 将 其 所 拥 有 的 权 利 转 授 给 其 他 的 用 户 ( 帐 户 ), 由 此 实 现 权 限 在 用 户 之 间 的 传 播 和 控 制 授 权 者 : 决 定 用 户 权 利 的 人 授 权 : 授 予 用 户 访 问 的 权 利

数 据 库 系 统 基 础 33/54 ---- 数 据 库 安 全 性 的 概 念 ( 续 ) DBMS 将 权 利 和 用 户 ( 帐 户 ) 结 合 在 一 起, 形 成 一 个 访 问 规 则 表, 依 据 该 规 则 表 可 以 实 现 对 数 据 库 的 安 全 性 控 制 AccessRule ::= ( S, O, t, P) S: 请 求 主 体 ( 用 户 ) O: 访 问 对 象 t: 访 问 权 利 P: 谓 词 { AccessRule} 通 常 存 放 在 数 据 字 典 或 称 系 统 目 录 中, 构 成 了 所 有 用 户 对 DB 的 访 问 权 利 ; 用 户 多 时, 可 以 按 用 户 组 建 立 访 问 规 则 访 问 对 象 可 大 可 小 ( 目 标 粒 度 Object granularity): 属 性 / 字 段 记 录 / 元 组 关 系 数 据 库

数 据 库 系 统 基 础 34/54 ---- 数 据 库 安 全 性 的 概 念 ( 续 ) 访 问 权 利 被 分 成 以 下 几 种 ( 级 别 1)Select : 读 ( 读 DB, Table, Record, Attribute, ) ( 级 别 2)Modify : 更 新 Insert : 插 入 ( 插 入 新 元 组, ) Update : 更 新 ( 更 新 元 组 中 的 某 些 值, ) Delete : 删 除 ( 删 除 元 组, ) ( 级 别 3)Create : 创 建 ( 创 建 表 空 间 模 式 表 索 引 视 图 等 ) Create : 创 建 Alter : 更 新 Drop : 删 除 级 别 高 的 权 利 自 动 包 含 级 别 低 的 权 利 如 某 人 拥 有 更 新 的 权 利, 它 也 自 动 拥 有 读 的 权 利 在 有 些 DBMS 中, 将 级 别 3 的 权 利 称 为 帐 户 级 别 的 权 利, 而 将 级 别 1 和 2 称 为 关 系 级 别 的 权 利 超 级 用 户 (DBA) 帐 户 级 别 ( 程 序 员 用 户 ) 关 系 级 别 ( 普 通 用 户 )

数 据 库 系 统 基 础 35/54 ---- 数 据 库 安 全 性 的 概 念 ( 续 ) 数 据 库 安 全 性 访 问 规 则 示 例 一 个 员 工 管 理 数 据 库 Employee(P#, Pname, Page, Psex, Psalary, D#, HEAD) 有 如 下 的 安 全 性 访 问 要 求 : 员 工 管 理 人 员 能 访 问 该 数 据 库 的 所 有 内 容, 具 有 所 有 权 利 收 发 人 员 也 需 访 问 该 数 据 库 以 确 认 某 员 工 是 哪 一 个 部 门 的, 便 于 工 作, 只 能 访 问 基 本 信 息, 其 他 信 息 不 允 许 其 访 问 每 个 员 工 允 许 其 访 问 自 己 的 记 录, 以 便 查 询 自 己 的 工 资 情 况, 但 不 能 修 改 部 门 领 导, 能 够 查 询 其 所 领 导 部 门 人 员 的 所 有 情 况 高 层 领 导 能 访 问 该 数 据 库 的 所 有 内 容, 但 只 能 读

数 据 库 系 统 基 础 36/54 ---- 数 据 库 安 全 性 的 概 念 ( 续 ) 安 全 性 访 问 规 则 示 例 按 名 控 制 安 全 性 按 内 容 控 制 安 全 性

数 据 库 系 统 基 础 37/54 ---- 数 据 库 安 全 性 的 概 念 ( 续 ) DBMS 安 全 性 访 问 规 则 的 存 储 方 式 第 1 种 : 存 储 矩 阵 请 同 学 们 给 出 一 个 算 法 : 已 知 如 上 形 式 的 一 个 存 储 矩 阵, 某 用 户 提 交 了 一 条 SQL 语 句 (Select-From-Where), 设 计 一 个 算 法, 判 断 是 否 允 许 该 用 户 检 索 到 相 应 的 结 果?

数 据 库 系 统 基 础 38/54 ---- 数 据 库 安 全 性 的 概 念 ( 续 ) DBMS 安 全 性 访 问 规 则 的 存 储 方 式 第 2 种 : 视 图 视 图 是 安 全 性 控 制 的 重 要 手 段 通 过 视 图 可 以 限 制 用 户 对 关 系 中 某 些 数 据 项 的 存 取, 例 如 : 视 图 1:Create EmpV1 as select * from Employee 视 图 2:Create EmpV2 as select Pname, D# from Employee 通 过 视 图 可 将 数 据 访 问 对 象 与 谓 词 结 合 起 来, 限 制 用 户 对 关 系 中 某 些 元 组 的 存 取, 例 如 : 视 图 1: Create EmpV3 as select * from Employee where P# = :UserId 视 图 2: Create EmpV4 as select * from Employee where Head = :UserId 用 户 定 义 视 图 后, 视 图 便 成 为 一 新 的 数 据 对 象, 参 与 到 存 储 矩 阵 与 能 力 表 中 进 行 描 述

数 据 库 系 统 基 础 39/54 ---- SQL-DCL 中 关 于 安 全 性 的 命 令 授 权 命 令 GRANT {all PRIVILEGES privilege {,privilege }} ON [TABLE] tablename viewname TO {public user-id {, user-id }} [WITH GRANT OPTION]; user-id, 某 一 个 用 户 帐 户, 由 DBA 创 建 的 合 法 帐 户 public, 允 许 所 有 有 效 用 户 使 用 授 予 的 权 利 privilege 是 下 面 的 权 利 SELECT INSERT UPDATE DELETE ALL PRIVILEDGES WITH GRANT OPTION 选 项 是 允 许 被 授 权 者 传 播 这 些 权 利

数 据 库 系 统 基 础 40/54 ---- SQL-DCL 中 关 于 安 全 性 的 命 令 授 权 命 令 示 例, 假 定 高 级 领 导 为 Emp0001, 部 门 领 导 为 Emp0021, 员 工 管 理 员 为 Emp2001, 收 发 员 为 Emp5001( 均 为 UserId, 也 即 员 工 的 P#) Grant All Priviledges ON Employee TO Emp2001; Grant SELECT ON EmpV2 TO Emp5001 ; Grant SELECT ON EmpV3 TO public; Grant SELECT ON EmpV4 TO Emp0021; 授 予 视 图 访 问 的 权 利, 并 不 意 味 着 授 予 基 本 表 访 问 的 权 利 ( 两 个 级 别 : 基 本 关 系 级 别 和 视 图 级 别 ) 授 权 者 授 予 的 权 利 必 须 是 授 权 者 已 经 拥 有 的 权 利

数 据 库 系 统 基 础 41/54 ---- SQL-DCL 中 关 于 安 全 性 的 命 令 ( 续 ) 授 权 过 程 示 例 第 一 步 :DBA 创 建 DB, 并 为 每 一 个 用 户 创 建 一 个 帐 户 假 定 建 立 了 五 个 用 户 :UserA, UserB, UserC, UserD, UserE 第 二 步 :DBA 授 予 某 用 户 帐 户 级 别 的 权 利 假 定 授 予 UserA 第 三 步 : 具 有 帐 户 级 别 的 用 户 可 以 创 建 基 本 表 或 视 图, 他 也 自 动 成 为 该 表 或 该 视 图 的 属 主 帐 户, 拥 有 该 表 或 该 视 图 的 所 有 访 问 权 利 假 定 UserA 创 建 了 Employee, 则 UserA 就 是 Employee 表 的 属 主 帐 户 第 四 步 : 拥 有 属 主 帐 户 的 用 户 可 以 将 其 中 的 一 部 分 权 利 授 予 另 外 的 用 户, 该 用 户 也 可 将 权 利 进 一 步 授 权 给 其 他 的 用 户 假 定 UserA 将 读 权 限 授 予 UserB, 而 userb 又 将 其 拥 有 的 权 限 授 予 UserC, 如 此 将 权 利 不 断 传 递 下 去

数 据 库 系 统 基 础 42/54 ---- SQL-DCL 中 关 于 安 全 性 的 命 令 ( 续 ) 授 权 过 程 示 例 ( 续 ) Grant Select ON Employee TO UserB WITH GRANT OPTION; Grant Select ON Employee TO UserC WITH GRANT OPTION; DBA UserA UserB UserC UserE 注 意 授 权 的 传 播 范 围 问 题 : 传 播 范 围 包 括 两 个 方 面 : 水 平 传 播 数 量 和 垂 直 传 播 数 量 水 平 传 播 数 量 是 授 权 者 的 再 授 权 用 户 数 目 ( 树 的 广 度 ) 垂 直 传 播 数 量 是 授 权 者 传 播 给 被 授 权 者, 再 被 传 播 给 另 一 个 被 授 权 者, 传 播 的 深 度 ( 树 的 深 度 ) 有 些 系 统 提 供 了 传 播 范 围 控 制, 有 些 系 统 并 没 有 提 供,SQL 标 准 中 也 并 没 有 限 制

数 据 库 系 统 基 础 43/54 ---- SQL-DCL 中 关 于 安 全 性 的 命 令 ( 续 ) 收 回 授 权 命 令 REVOKE {all privileges priv {, priv } } ON tablename viewname DBA FROM {public user {, user } }; UserA UserB UserE 例 如 revoke select on employee from UserB; UserC 当 一 个 用 户 的 权 利 被 收 回 时, 通 过 其 传 播 给 其 他 用 户 的 权 利 也 将 被 收 回 如 果 一 个 用 户 从 多 个 用 户 处 获 得 了 授 权, 则 当 其 中 某 一 个 用 户 收 回 授 权 时, 该 用 户 可 能 仍 保 有 权 利 例 如 UserC 从 UserB 和 UserE 处 获 得 了 授 权, 当 UserB 收 回 时, 其 还 将 保 持 UserE 赋 予 其 的 权 利

数 据 库 系 统 基 础 44/54 ---- 数 据 库 安 全 性 的 概 念 ( 续 ) 强 制 安 全 性 机 制 强 制 安 全 性 通 过 对 数 据 对 象 进 行 安 全 性 分 级 绝 密 (Top Secret), 机 密 (Secret), 可 信 (Confidential) 和 无 分 类 (Unclassified) 以 及 对 用 户 也 进 行 上 述 的 安 全 性 分 级, 从 而 强 制 实 现 不 同 级 别 用 户 访 问 不 同 级 别 数 据 的 一 种 机 制 访 问 规 则 如 下 : 用 户 S, 不 能 读 取 数 据 对 象 O, 除 非 Level(S)>=Level(O) 用 户 S, 不 能 写 数 据 对 象, 除 非 Level(S)<=Level(O)

数 据 库 系 统 基 础 45/54 ---- 数 据 库 安 全 性 的 概 念 ( 续 ) 强 制 安 全 性 机 制 的 实 现 DBMS 引 入 强 制 安 全 性 机 制, 可 以 通 过 扩 展 关 系 模 式 来 实 现 关 系 模 式 : R(A1: D1, A2: D2,, An:Dn) 对 属 性 和 元 组 引 入 安 全 性 分 级 特 性 或 称 分 类 特 性 R(A1: D1, C1, A2: D2, C2, An:Dn, Cn, TC) 其 中 C1,C2,,Cn 分 别 为 属 性 D1,D2,,Dn 的 安 全 分 类 特 性 ; TC 为 元 组 的 分 类 特 性

数 据 库 系 统 基 础 46/54 ---- 数 据 库 安 全 性 的 概 念 ( 续 ) 这 样 关 系 中 的 每 个 元 组, 都 将 扩 展 为 带 有 安 全 分 级 的 元 组, 例 如 强 制 安 全 性 机 制 使 得 关 系 形 成 为 多 级 关 系 ( 不 同 级 别 用 户 所 能 看 到 的 关 系 的 子 集 ), 也 出 现 多 重 实 例 多 级 关 系 完 整 性 等 许 多 新 的 问 题 或 新 的 处 理 技 巧, 在 使 用 中 需 注 意 仔 细 研 究 关 于 强 制 安 全 性 机 制 的 内 容, 可 参 看 其 他 有 关 的 文 献

数 据 库 系 统 基 础 47/54 ---- 关 于 数 据 字 典 / 系 统 目 录 和 模 式 系 统 目 录 系 统 目 录 (System Catalogs) 是 系 统 维 护 的, 包 含 数 据 库 中 定 义 的 各 类 对 象 信 息 的 表 或 视 图, 这 些 对 象 包 括 用 Create 语 句 定 义 的 表 列 索 引 视 图 权 限 约 束 等, 这 些 信 息 又 称 数 据 库 的 元 数 据 ---- 关 于 数 据 的 数 据 在 不 同 DBMS 中, 又 称 数 据 字 典 (Data Dictionary(Oracle)) 目 录 表 (DB2 UDB) 系 统 目 录 (INFORMIX) 系 统 视 图 (X/Open) 不 同 DBMS 中 系 统 目 录 存 储 方 式 可 能 是 不 同 的, 但 会 有 一 些 信 息 对 DBA 公 开 这 些 公 开 的 信 息, DBA 可 以 使 用 一 些 特 殊 的 SQL 命 令 来 检 索

数 据 库 系 统 基 础 48/54 ---- 关 于 数 据 字 典 / 系 统 目 录 和 模 式 ( 续 ) DBA DBA 需 要 清 楚 地 知 道 系 统 目 录 的 内 容 构 成, 并 知 道 这 些 信 息 的 含 义 和 作 用, 以 便 能 更 有 效 地 维 护 DB 以 及 DBS 系 统 的 效 率 DBA 需 要 熟 悉 DBMS 提 供 的 各 种 检 索 系 统 目 录 的 命 令, 以 便 能 更 好 地 操 作 系 统 目 录

数 据 库 系 统 基 础 49/54 ---- 关 于 数 据 字 典 / 系 统 目 录 和 模 式 ( 续 ) 典 型 的 系 统 目 录 X/Open 标 准 中 有 一 个 目 录 表 Info_Schem.Tables, 该 表 中 的 一 行 是 一 个 已 经 定 义 的 表 的 有 关 信 息 可 以 使 用 SQL 语 句 来 访 问 这 个 表 中 的 信 息, 比 如 了 解 已 经 定 义 了 哪 些 表, 可 如 下 进 行 : Select Table_Name From Tables;

数 据 库 系 统 基 础 50/54 ---- 关 于 数 据 字 典 / 系 统 目 录 和 模 式 ( 续 ) 模 式 系 统 目 录 的 Tables 中 有 一 列 是 模 式 Schema, 模 式 的 含 义 是 指 某 一 用 户 所 设 计 和 使 用 的 表 索 引 及 其 他 与 数 据 库 有 关 的 对 象 的 集 合, 因 此 表 的 完 整 名 应 是 : 模 式 名. 表 名 这 样 做 可 允 许 不 同 用 户 使 用 相 同 的 表 名, 而 不 混 淆 一 般 而 言, 一 个 用 户 有 一 个 模 式 可 以 使 用 Create Schema 语 句 来 创 建 模 式 ( 用 法 略, 参 见 相 关 文 献 ), 在 Create Table 等 语 句 可 以 使 用 所 定 义 的 模 式 名 称

数 据 库 系 统 基 础 51/54 ---- 关 于 数 据 字 典 / 系 统 目 录 和 模 式 ( 续 ) Oracle 的 数 据 字 典 Oracle 数 据 字 典 由 视 图 组 成, 分 为 三 种 不 同 形 式, 由 不 同 的 前 缀 标 识 USER_ : 用 户 视 图, 用 户 所 拥 有 的 对 象, 在 用 户 模 式 中 ALL_ : 扩 展 的 用 户 视 图, 用 户 可 访 问 的 对 象 DBA_ :DBA 视 图 ( 所 有 用 户 都 可 访 问 的 DBA 对 象 的 子 集 ) Oracle 数 据 字 典 中 定 义 了 三 个 视 图 USER_Tables, ALL_Tables, 和 DBA_Tables 供 DBA 和 用 户 使 用 数 据 字 典 中 关 于 表 的 信 息

数 据 库 系 统 基 础 52/54 ---- 关 于 数 据 字 典 / 系 统 目 录 和 模 式 ( 续 ) 同 样, Oracle 数 据 字 典 中 也 定 义 了 三 个 视 图 USER_TAB_Columns, ALL_TAB_Columns(Accessible_Columns), 和 DBA_TAB_Columns 供 DBA 和 用 户 使 用 数 据 字 典 中 关 于 表 的 列 的 信 息 可 以 使 用 SQL 语 句 来 访 问 这 些 表 中 的 信 息 : Select Column_Name From ALL_TAB_Columns Where Table_Name = STUDENT ;

数 据 库 系 统 基 础 53/54 ---- 关 于 数 据 字 典 / 系 统 目 录 和 模 式 ( 续 ) Oracle 数 据 字 典 中 还 定 义 了 其 他 视 图 TABLE_PRIVILEDGE( 或 ALL_TAB_GRANTS) COLUMN_PRIVILEDGE( 或 ALL_COL_GRANTS) 可 访 问 表 的 权 限, 列 的 权 限 CONSTRAINT_DEFS( 或 ALL_CONSTRAINTS) 可 访 问 表 的 各 种 约 束 还 有 其 他 视 图 可 以 使 用 下 述 命 令 获 取 Oracle 定 义 的 所 有 视 图 信 息 Select view_name from all_views where owner = SYS and view_name like ALL_% or view_name like USER_% ; 如 果 用 户 使 用 Oracle, 可 使 用 其 提 供 的 SQL*PLUS 进 行 交 互 式 访 问

数 据 库 系 统 基 础 54/54 ---- 本 章 小 结 充 分 了 解 了 DB 完 整 性 的 有 关 概 念, 充 分 了 解 了 SQL-DDL 关 于 完 整 性 约 束 的 定 义 方 法 包 括 列 约 束 和 表 约 束 ; 结 构 约 束 和 内 容 约 束 ; 静 态 约 束 和 动 态 约 束 ; 触 发 器 等 要 进 一 步 理 解 SQL-DDL 的 使 用 方 法, 以 便 能 更 有 效 地 维 护 数 据 库 进 一 步 理 解 Triggers, 有 优 点, 也 有 不 足 充 分 了 解 了 DB 安 全 性 的 有 关 概 念, 充 分 了 解 了 SQL-DCL 中 关 于 授 权 与 收 回 授 权 的 使 用 方 法, 进 一 步 理 解 了 视 图 作 为 安 全 性 控 制 的 重 要 意 义 包 括 安 全 性 管 理 的 责 任 素 质 要 求, 自 主 安 全 性 机 制 ( 访 问 权 利 存 取 矩 阵 授 权 ), 强 制 安 全 性 机 制 进 一 步 理 解 安 全 性, 掌 握 DBA 应 掌 握 的 安 全 性 常 识 与 能 力 基 本 了 解 了 数 据 字 典, 初 步 了 解 DBA 通 过 SQL 命 令 访 问 数 据 字 典 的 方 法