Oracle教程

Size: px
Start display at page:

Download "Oracle教程"

Transcription

1 Louis

2 目 录 引 言... 3 第 一 章 数 据 库 基 础... 6 第 二 章 Oracle 入 门... 6 第 三 章 查 询 基 础 第 四 章 单 行 函 数 第 五 章 分 组 函 数 第 六 章 多 表 查 询 第 七 章 子 查 询 第 八 章 高 级 查 询 第 九 章 数 据 字 典 第 十 章 Oracle 数 据 类 型 第 十 一 章 Oracle 体 系 结 构 (DBA) 第 十 二 章 DDL( 改 变 表 结 构 ) 第 十 三 章 DML( 改 变 数 据 结 构 ) 第 十 四 章 约 束 第 十 五 章 视 图 第 十 六 章 索 引 第 十 七 章 序 列 同 义 词 第 十 八 章 PL SQL 第 十 九 章 游 标 函 数 第 二 十 章 存 储 过 程 第 二 十 一 章 触 发 器 第 二 十 二 章 事 务 ( 数 据 库 系 统 概 论 ) 第 二 十 三 章 用 户 管 理 第 二 十 四 章 备 份 恢 复 SQLLoader 第 二 十 五 章 数 据 库 设 计 范 式 第 二 十 六 章 数 据 库 设 计 工 具 第 二 十 七 章 对 象 关 系 数 据 库 系 统 第 二 十 八 章 其 他 数 据 库

3 引 言 SUN 2008 初 10 亿 美 元 收 购 MySQL Oracle 2009 年 4 月 74 亿 美 元 收 购 SUN Sun 与 Oracle 合 并 的 未 来 1, 如 果 云 计 算 对 企 业 来 说 变 得 越 来 越 重 要, 那 么 数 据 将 是 云 计 算 的 核 心 而 讲 到 数 据, 也 就 意 味 着 数 据 库 就 如 塔 克 商 学 院 数 字 策 略 中 心 主 任 M. Eric Johnson 所 说 的 那 样,Sun 已 经 清 楚 展 现 了 一 个 真 实 的 云 计 算 环 境 就 那 些 将 云 计 算 停 留 在 理 论 阶 段 的 对 手 来 说, 收 购 Sun 对 Oracle 来 说 将 获 得 竞 争 优 势 2,Johnson 主 任 还 指 出,Sun 在 很 多 需 求 旺 盛 的 方 面 保 持 领 先 地 位 Sun 的 技 术 可 以 帮 助 数 据 库 提 高 性 能, 尤 其 是 对 大 型 数 据 库 Oracle 和 Sun 的 结 合 之 后, 对 任 何 一 个 信 息 官 来 说 都 具 有 吸 引 力 3,Oracle 软 件 和 Java 的 紧 密 结 合, 使 得 Oracle 的 软 件 能 跨 平 台 使 用 就 如 IDC 研 究 副 总 裁 Jean Bozman 指 出 那 样, 真 正 云 计 算 的 第 一 步 是 将 服 务 器 和 存 储 单 元 垂 直 化, 可 以 适 用 于 不 同 的 硬 件 平 台 凭 借 Java,Oracle 可 以 拓 展 跨 平 台 的 控 制 力, 而 这 正 是 企 业 IT 部 门 想 要 的 实 际 上, Oracle 的 Oracle Fusion Middleware 正 是 基 于 Java 4, 有 意 思 的 是,Oracle Fusion Middleware 扩 大 了 对 服 务 器 的 需 求, 其 中 原 因 正 是 由 于 它 是 基 于 Java 而 现 在,Oracle 通 过 购 得 Sun 服 务 器 资 源, 可 以 进 一 步 降 低 价 格, 从 而 进 一 步 提 高 Oracle Fusion Middleware 的 竞 争 力 5, 由 于 Oracle 大 部 分 收 入 来 自 数 据 库 软 件 许 可, 因 此 有 必 要 的 话, 可 以 用 便 宜 的 服 务 器 硬 件 作 为 促 销 的 手 段, 这 样 对 那 些 硬 件 服 务 器 竞 争 对 手 来 说 是 不 小 的 打 击 6,Sun 已 经 售 出 160 万 到 200 万 台 服 务 器, 还 有 更 多 的 运 行 Sun Solaris 操 作 系 统 的 其 它 公 司 的 服 务 器 这 对 Oracle 捆 绑 销 售 自 家 产 品 也 很 有 帮 助 7,Oracle 收 购 Sun, 当 然 也 包 括 开 源 数 据 库 MySQL 对 于 那 些 预 算 不 多 但 又 需 要 Oracle 产 品 的 用 户,Oracle 可 以 用 MySQL 来 满 足 这 些 用 户 的 需 求 这 可 以 使 Oracle 进 入 中 小 企 业 业 务, 更 有 机 会 在 这 方 面 超 过 SAP 此 外, 还 提 供 了 和 微 软 SQLServer 的 竞 争 产 品, 而 不 需 要 降 低 Oracle 自 有 的 产 品 的 定 位 -3-

4 Oracle 和 Sun 的 合 作 可 能 会 影 响 Oracle 和 一 些 合 作 伙 伴 的 关 系, 比 如 Oracle 和 惠 普 的 关 系 可 能 就 会 出 现 问 题 不 过, 不 像 IBM, 事 实 上, 每 个 硬 件 公 司 都 绕 不 开 Oracle, 因 为 它 是 数 据 库 的 主 力 军 他 们 离 不 开 Oracle, 因 此, 他 们 也 只 能 选 择 忍 气 吞 声 而 且, 与 Sun 和 IBM 联 合 不 同,Oracle 和 Sun 不 存 在 硬 件 的 冲 突, 那 些 Sun 的 服 务 器 用 户 不 必 担 心 合 并 会 导 致 放 弃 自 己 在 使 用 的 服 务 器 产 品 线 总 而 言 之,Oracle 以 相 对 较 低 的 价 格 收 购 Sun 是 明 智 之 举, 将 会 使 得 合 并 后 的 Oracle 成 为 各 大 公 司 数 据 中 心 的 枢 纽 云 计 算 李 开 复 ( 现 任 Google 全 球 副 总 裁 中 国 区 总 裁 ) 打 了 一 个 很 形 象 的 比 喻 : 钱 庄 最 早 人 们 只 是 把 钱 放 在 枕 头 底 下, 后 来 有 了 钱 庄, 很 安 全, 不 过 兑 现 起 来 比 较 麻 烦 现 在 发 展 到 银 行 可 以 到 任 何 一 个 网 点 取 钱, 甚 至 通 过 ATM, 或 者 国 外 的 渠 道 就 像 用 电 不 需 要 家 家 装 备 发 电 机, 直 接 从 电 力 公 司 购 买 一 样 云 计 算 带 来 的 就 是 这 样 一 种 变 革 由 谷 歌 IBM 这 样 的 专 业 网 络 公 司 来 搭 建 计 算 机 存 储 运 算 中 心, 用 户 通 过 一 根 网 线 借 助 浏 览 器 就 可 以 很 方 便 的 访 问, 把 云 做 为 资 料 存 储 以 及 应 用 服 务 的 中 心 GOOGLE ( 一 ) 原 理 : 云 计 算 (Cloud Computing) 是 分 布 式 处 理 (Distributed Computing) 并 行 处 理 (Parallel Comput ing) 和 网 格 计 算 (Grid Computing) 的 发 展, 或 者 说 是 这 些 计 算 机 科 学 概 念 的 商 业 实 现 云 计 算 的 基 本 原 理 是, 通 过 使 计 算 分 布 在 大 量 的 分 布 式 计 算 机 上, 而 非 本 地 计 算 机 或 远 程 服 务 器 中, 企 业 数 据 中 心 的 运 行 将 更 与 互 联 网 相 似 这 使 得 企 业 能 够 将 资 源 切 换 到 需 要 的 应 用 上, 根 据 需 求 访 问 计 算 机 和 存 储 系 统 这 可 是 一 种 革 命 性 的 举 措, 打 个 比 方, 这 就 好 比 是 从 古 老 的 单 台 发 电 机 模 式 转 向 了 电 厂 集 中 供 电 的 模 式 它 意 味 着 计 算 能 力 也 可 以 作 为 一 种 商 品 进 行 流 通, 就 像 煤 气 水 电 一 样, 取 用 方 便, 费 用 低 廉 最 大 的 不 同 在 于, 它 是 通 过 互 联 网 进 行 传 输 的 云 计 算 的 蓝 图 已 经 呼 之 欲 出 : 在 未 来, 只 需 要 一 台 笔 记 本 或 者 一 个 手 机, 就 可 以 通 过 网 络 服 务 来 实 现 我 们 需 要 的 一 切, 甚 至 包 括 超 级 计 算 这 样 的 任 务 从 这 个 角 度 而 言, 最 终 用 户 才 是 云 计 算 的 真 正 拥 有 者 云 计 算 的 应 用 包 含 这 样 的 一 种 思 想, 把 力 量 联 合 起 来, 给 其 中 的 每 一 个 成 员 使 用 -4-

5 ( 二 ) 云 计 算 有 哪 些 好 处? 等 麻 烦 1 安 全, 云 计 算 提 供 了 最 可 靠 最 安 全 的 数 据 存 储 中 心, 用 户 不 用 再 担 心 数 据 丢 失 病 毒 入 侵 2 方 便, 它 对 用 户 端 的 设 备 要 求 最 低, 使 用 起 来 很 方 便 3 数 据 共 享, 它 可 以 轻 松 实 现 不 同 设 备 间 的 数 据 与 应 用 共 享 4 无 限 可 能, 它 为 我 们 使 用 网 络 提 供 了 几 乎 无 限 多 的 可 能 ( 三 ) 云 计 算 最 有 利 于 中 小 企 业? 云 计 算 技 术 将 使 得 中 小 企 业 的 成 本 大 大 降 低 如 果 说 云 给 大 型 企 业 的 IT 部 门 带 来 了 实 惠, 那 么 对 于 中 小 型 企 业 而 言, 它 可 算 得 上 是 上 天 的 恩 赐 了 过 去, 小 公 司 人 力 资 源 不 足,IT 预 算 吃 紧, 那 种 动 辄 数 百 万 美 元 的 IT 设 备 所 带 来 的 生 产 力 对 它 们 而 言 真 是 如 梦 一 般 遥 远, 而 如 今, 云 为 它 们 送 来 了 大 企 业 级 的 技 术, 并 且 先 期 成 本 极 低, 升 级 也 很 方 便 这 一 新 兴 趋 势 的 重 要 性 毋 庸 置 疑, 不 过, 它 还 仅 仅 是 一 系 列 变 革 的 起 步 阶 段 而 已 云 计 算 不 但 抹 平 了 企 业 规 模 所 导 致 的 优 劣 差 距, 而 且 极 有 可 能 让 优 劣 之 势 易 主 简 单 地 说, 当 今 世 上 最 强 大 最 具 革 新 意 义 的 技 术 已 不 再 为 大 型 企 业 所 独 有 云 让 每 个 普 通 人 都 能 以 极 低 的 成 本 接 触 到 顶 尖 的 IT 技 术 ( 四 ) 云 时 代 目 前,PC 依 然 是 我 们 日 常 工 作 生 活 中 的 核 心 工 具 我 们 用 PC 处 理 文 档 存 储 资 料, 通 过 电 子 邮 件 或 U 盘 与 他 人 分 享 信 息 如 果 PC 硬 盘 坏 了, 我 们 会 因 为 资 料 丢 失 而 束 手 无 策 而 在 云 计 算 时 代, 云 会 替 我 们 做 存 储 和 计 算 的 工 作 云 就 是 计 算 机 群, 每 一 群 包 括 了 几 十 万 台 甚 至 上 百 万 台 计 算 机 云 的 好 处 还 在 于, 其 中 的 计 算 机 可 以 随 时 更 新, 保 证 云 长 生 不 老 Google 就 有 好 几 个 这 样 的 云, 其 他 IT 巨 头, 如 微 软 雅 虎 亚 马 逊 (Amazon) 也 有 或 正 在 建 设 这 样 的 云 届 时, 我 们 只 需 要 一 台 能 上 网 的 电 脑, 不 需 关 心 存 储 或 计 算 发 生 在 哪 朵 云 上, 但 一 旦 有 需 要, 我 们 可 以 在 任 何 地 点 用 任 何 设 备, 如 电 脑 手 机 等, 快 速 地 计 算 和 找 到 这 些 资 料 我 们 再 也 不 用 担 心 资 料 丢 失 -5-

6 第 一 章 数 据 库 基 础 1.1 数 据 库 基 本 概 念 数 据 库 (Database, DB) 数 据 库 管 理 系 统 (Database Management System, DBMS) 数 据 库 管 理 员 ( Database Administrator, DBA) 数 据 库 系 统 ( Database System, DBS ) 1.2 关 系 型 数 据 库 Q: 目 前 都 有 哪 些 主 流 的 关 系 型 数 据 库 A:Oracle Oralce IBM DB2 MS SQL /Server SyBase SyBase IBM Informix MySQL Access Q:XML,TXT 可 以 做 为 数 据 库 吗? 1.3 E-R 模 型 (Entry-Relation) E-R 模 型 三 要 素 : 实 体 关 系 属 性 实 体 间 联 系 (1:1)( 1:n)(n:m) Q: 学 生 与 课 程 什 么 关 系? 第 二 章 Oracle 入 门 2.1 Oracle 概 述 甲 骨 文, 四 大 创 始 人 -6-

7 Larry Ellison 一 生 最 大 的 目 标, 财 富 榜 超 过 Bill Gate Bruce Scott 已 离 开 Oralce, 创 建 了 一 套 新 的 数 据 库 PointBase 2.2 Oracle 特 点 全 球 化 跨 平 台 的 数 据 库 支 持 多 用 户 高 性 能 的 事 务 处 理 强 大 的 安 全 性 控 制 和 完 整 性 控 制 支 持 分 布 式 数 据 库 和 分 布 处 理 2.3 Oracle 版 本 Oracle8i: I internet 表 示 Oracle 公 司 要 开 始 正 式 进 入 互 联 网 Oracle9i: 与 Oracle8i 相 关, 性 能 方 面 更 佳, 管 理 更 人 性 化 Oracle10g: g(grid) 网 格 技 术 Oracle11g: g(grid) 网 格 技 术 Q: 何 为 网 格 技 术? 2009 年 1 月 淘 宝 网 决 定 采 用 Oracle 网 格 计 算 (Grid Computing) 架 构 来, 采 用 Oracle 数 据 库 和 Oracle 真 正 应 用 集 群 来 重 新 打 造 并 强 化 其 基 础 架 构 和 数 据 仓 库 环 境 2.4 安 装 Oracle 数 据 库 注 意 : 1 安 装 的 时 候, 一 定 要 关 掉 防 火 墙 否 则 可 能 造 成 安 装 不 成 功 -7-

8 2 全 局 数 据 库 名 SID, 类 似 于 MYSQL 中 常 用 的 localhost. 3 字 符 集 一 定 要 选 择 正 确 一 旦 选 错, 除 非 更 改 成 该 字 符 集 的 父 类 否 则 只 能 重 装 4 安 装 完 主 要 的 用 户 为 : a) 普 通 用 户 : Scott/tiger( 练 习 常 用 ) b) 普 通 管 理 员 :System/system c) 超 级 管 理 员 :Sys/sys 5 安 装 完 后 的 服 务 配 置 ( 运 行 中 输 入 :services.msc) 开 启 该 服 务, 会 占 用 tomcat 的 8080 端 口 查 看 端 口 号 :tasklist findstr "8080" 如 果 装 完 Oracle 后, 又 改 了 机 器 名 可 能 会 导 致 Listener 服 务 无 法 启 动, 解 决 方 式 : 修 改 C:\oracle\ora92\network\admin\ listener.ora 下 的 HOST 2.5 卸 载 Oracle 数 据 库 -8-

9 2.6 Oracle 目 录 (Admin,oracle92,oradata) Q: 这 三 个 文 件 夹 各 存 放 什 么 文 件? 2.7 Oracle 客 户 端 工 具 SQLPLUS SQLPLUSW Sql Plus WorkSheet isqlplus(http) PL /SQL Developer 7.14 以 上 版 本, 带 有 自 动 提 示 功 能 Object Browser 国 外 用 的 比 较 多 ( 日 本 ) -9-

10 2.8 Scott 案 例 下 表 分 析 雇 员 表 :EMP 部 门 表 :Dept 工 资 等 级 表 :Salgrade -10-

11 2.8.4 奖 金 表 :Bonus 第 三 章 查 询 基 础 3.1 入 门 语 句 普 通 用 户 连 接 : Conn scott/tiger 超 级 管 理 员 连 接 : Conn sys/sys as sysdba Disconnect; 断 开 连 接 Save c:\1.txt 把 SQL 存 到 文 件 Ed c:\1.txt 编 辑 SQL 语 c:\1.txt 运 行 SQL 语 句 Desc emp; 描 述 Emp 结 构 Select * from tab; 查 看 该 用 户 下 的 所 有 对 象 Show user; 显 示 当 前 用 户 如 果 在 sys 用 户 下 : 查 询 Select * from emp; 会 报 错, 原 因 :emp 是 属 于 scott, 所 以 此 时 必 须 使 用 :select * from scott.emp; / 运 行 上 一 条 语 句 3.2 SQL 简 介 SQL 全 名 是 结 构 化 查 询 语 言 (Structured Query Language), 是 用 于 数 据 库 中 的 标 准 数 据 查 询 语 言,IBM 公 司 最 早 使 用 在 其 开 发 的 数 据 库 系 统 中 1986 年 10 月, 美 国 ANSI 对 SQL 进 行 规 范 后, 以 此 作 为 关 系 式 数 据 库 管 理 系 统 的 标 准 语 言 (ANSI X ),1987 年 得 到 国 际 标 准 组 织 的 支 持 下 成 为 国 际 标 准 不 过 各 种 通 行 的 数 据 库 系 统 在 其 实 践 过 程 中 都 对 SQL 规 范 作 了 某 些 编 改 和 扩 充 所 以, 实 际 上 不 同 数 据 库 系 统 之 间 的 SQL 语 言 不 能 完 全 相 互 通 用 DML 语 句 ( 数 据 操 作 语 言 )Insert Update Delete Merge DDL 语 句 ( 数 据 定 义 语 言 )Create Alter Drop Truncate DCL 语 句 ( 数 据 控 制 语 言 )Grant Revoke 事 务 控 制 语 句 Commit Rollback Savepoint -11-

12 3.3 简 单 的 Select 语 句 3.4 使 用 算 术 表 达 式 + - / * 3.5 连 接 运 算 符 3.6 使 用 字 段 别 名 as 3.7 空 值 is null 3.8 去 除 重 复 行 distinct 3.9 查 询 结 果 排 序 order by asc(desc) 3.10 比 较 运 算 符 > < (!= or <>) between and 3.11 in 操 作 not in 3.12 模 糊 查 询 like % 表 示 零 或 多 个 字 符 _ 表 示 一 个 字 符 对 于 特 殊 符 号 可 使 用 ESCAPE 标 识 符 来 查 找 select * from emp where ename like '%*_%' escape '*' 上 面 的 escape 表 示 * 后 面 的 那 个 符 号 不 当 成 特 殊 字 符 处 理, 就 是 查 找 普 通 的 _ 符 号 3.13 逻 辑 运 算 符 or and not 3.14 练 习 选 择 在 部 门 30 中 员 工 的 所 有 信 息 Select * from emp where deptno=30; -12-

13 列 出 职 位 为 (MANAGER) 的 员 工 的 编 号, 姓 名 Select empno,ename from emp where job = Manager ; 找 出 奖 金 高 于 工 资 的 员 工 Select * from emp where comm>sal; 找 出 每 个 员 工 奖 金 和 工 资 的 总 和 Select sal+comm,ename from emp; 找 出 部 门 10 中 的 经 理 (MANAGER) 和 部 门 20 中 的 普 通 员 工 (CLERK) Select * from emp where (deptno=10 and job= MANAGER ) or (deptno=20 and job= CLERK ); 找 出 部 门 10 中 既 不 是 经 理 也 不 是 普 通 员 工, 而 且 工 资 大 于 等 于 2000 的 员 工 Select * from emp where deptno=10 and job not in( MANAGER, CLERK) and sal>=2000; 找 出 有 奖 金 的 员 工 的 不 同 工 作 Select distinct job from emp where comm is not null and comm>0 找 出 没 有 奖 金 或 者 奖 金 低 于 500 的 员 工 Select * from emp where comm<500 or comm is null; 显 示 雇 员 姓 名, 根 据 其 服 务 年 限, 将 最 老 的 雇 员 排 在 最 前 面 select ename from emp order by hiredate ; -13-

14 第 四 章 单 行 函 数 4.1 字 符 函 数 Upper SELECT Upper ('abcde') FROM dual ; SELECT * FROM emp WHERE ename=upper('smith') ; Lower SELECT lower('abcde') FROM dual ; Initcap Select initcap(ename) from emp; Concat Select concat( a, b ) from Select a b from dual; dual; Substr Select substr( abcde,length( abcde )-2) from dual; Select substr( abcde,-3,3) from dual; Length Select length(ename) from emp; Replace Select replace(ename, a, A ) from emp; -14-

15 Instr Select instr('hello World','or') from dual; 8 indexof Lpad lpad('smith',10,'*') 左 侧 填 充 lpad() *****Smith Rpad rpad('smith',10,'*') 右 侧 填 充 rpad()smith***** Trim trim(' Mr Smith ') 过 滤 首 尾 空 格 trim() Mr Smith 4.2 数 值 函 数 Round select round(412,-2) from dual; select round( ,2) from dual; Mod Trunc select trunc(412.13,-2) from dual; 4.3 日 期 函 数 Months_between() select months_between(sysdate,hiredate) from emp; Add_months() select add_months(sysdate,1) from dual; -15-

16 Next_day() select next_day(sysdate,' 星 期 一 ') from dual; Last_day select last_day(sysdate) from dual; 4.4 转 换 函 数 To_char select to_char(sysdate,'yyyy') from dual; select to_char(sysdate,'fmyyyy-mm-dd') from dual; select to_char(sal,'l999,999,999') from emp; select to_char(sysdate, D ) from dual;// 返 回 星 期 To_number select to_number('13')+to_number('14') from dual; To_date Select to_date( , yyyymmdd ) from dual; 4.5 通 用 函 数 NVL() 函 数 select nvl(comm,0) from emp; NULLIF() 函 数 如 果 表 达 式 exp1 与 exp2 的 值 相 等 则 返 回 null, 否 则 返 回 exp1 的 值 NVL2() 函 数 select empno, ename, sal, comm, nvl2(comm, sal+comm, sal) total from emp; -16-

17 COALESCE() 函 数 依 次 考 察 各 参 数 表 达 式, 遇 到 非 null 值 即 停 止 并 返 回 该 值 select empno, ename, sal, comm, coalesce(sal+comm, sal, 0) 总 收 入 from emp; CASE 表 达 式 select empno, ename, sal, case deptno when 10 then ' 财 务 部 ' when 20 then ' 研 发 部 ' when 30 then ' 销 售 部 ' else ' 未 知 部 门 ' end 部 门 from emp; DECODE() 函 数 和 case 表 达 式 类 似,decode() 函 数 也 用 于 实 现 多 路 分 支 结 构 select empno, ename, sal, decode(deptno, 10, ' 财 务 部 ', 20, ' 研 发 部 ', 30, ' 销 售 部 ', ' 未 知 部 门 ') 部 门 from emp; decode 与 case 哪 个 更 好 用 呢? 单 行 函 数 嵌 套 select empno, lpad(initcap(trim(ename)),10,' ') name, job, sal from emp; 4.6 练 习 找 出 每 个 月 倒 数 第 三 天 受 雇 的 员 工 ( 如 : ) select * from emp where last_day(hiredate)-2=hiredate; -17-

18 找 出 25 年 前 雇 的 员 工 select * from emp where hiredate<=add_months(sysdate,-25*12); 所 有 员 工 名 字 前 加 上 Dear, 并 且 名 字 首 字 母 大 写 select 'Dear ' initcap(ename) from emp; 找 出 姓 名 为 5 个 字 母 的 员 工 select * from emp where length(ename)=5; 找 出 姓 名 中 不 带 R 这 个 字 母 的 员 工 select * from emp where ename not like '%R%'; 显 示 所 有 员 工 的 姓 名 的 第 一 个 字 select substr(ename,0,1) from emp; 显 示 所 有 员 工, 按 名 字 降 序 排 列, 若 相 同, 则 按 工 资 升 序 排 序 假 设 一 个 月 为 30 天, 找 出 所 有 员 工 的 日 薪, 不 计 小 数 找 到 2 月 份 受 雇 的 员 工 select * from emp where to_char(hiredate,'fmmm')='2'; 列 出 员 工 加 入 公 司 的 天 数 ( 四 舍 五 入 ) 分 别 用 case 和 decode 函 数 列 出 员 工 所 在 的 部 门,deptno=10 显 示 ' 部 门 10', deptno=20 显 示 ' 部 门 20' deptno=30 显 示 ' 部 门 30' deptno=40 显 示 ' 部 门 40' 否 则 为 ' 其 他 部 门 ' -18-

19 第 五 章 分 组 函 数 5.1 COUNT 如 果 数 据 库 表 的 没 有 数 据,count(*) 返 回 的 不 是 null, 而 是 Avg,max,min,sum 5.3 分 组 函 数 与 空 值 分 组 函 数 省 略 列 中 的 空 值 select avg(comm) from emp; select sum(comm) from emp; 可 使 用 NVL() 函 数 强 制 分 组 函 数 处 理 空 值 select avg(nvl(comm, 0)) from emp; 5.4 GROUP BY 子 句 出 现 在 SELECT 列 表 中 的 字 段 或 者 出 现 在 order by 后 面 的 字 段, 如 果 不 是 包 含 在 分 组 函 数 中, 那 么 该 字 段 必 须 同 时 在 GROUP BY 子 句 中 出 现 包 含 在 GROUP BY 子 句 中 的 字 段 则 不 必 须 出 现 在 SELECT 列 表 中 可 使 用 where 字 句 限 定 查 询 条 件 可 使 用 Order by 子 句 指 定 排 序 方 式 如 果 没 有 GROUP BY 子 句,SELECT 列 表 中 不 允 许 出 现 字 段 ( 单 行 函 数 ) 与 分 组 函 数 混 用 的 情 况 select empno, sal from emp; // 合 法 select avg(sal) from emp; // 合 法 select empno, initcap(ename), avg(sal) from emp; // 非 法 不 允 许 在 WHERE 子 句 中 使 用 分 组 函 数 select deptno, avg(sal) from emp where avg(sal) > 2000; group by deptno; 5.5 HAVING 子 句 select deptno, job, avg(sal) from emp -19-

20 where hiredate >= to_date(' ','yyyy-mm-dd') group by deptno,job having avg(sal) > 1200 order by deptno,job; 5.6 分 组 函 数 嵌 套 select max(avg(sal)) from emp group by deptno; 5.7 练 习 分 组 统 计 各 部 门 下 工 资 >500 的 员 工 的 平 均 工 资 Select avg(sal) from emp where sal>500 group by deptno ; 统 计 各 部 门 下 平 均 工 资 大 于 500 的 部 门 select deptno,avg(sal) from emp group by deptno having avg(sal)>500 ; 算 出 部 门 30 中 得 到 最 多 奖 金 的 员 工 奖 金 Select max(comm) from emp where deptno = 30 ; 算 出 部 门 30 中 得 到 最 多 奖 金 的 员 工 姓 名 select ename from emp where comm = (select max(comm) from emp where deptno=30); 算 出 每 个 职 位 的 员 工 数 和 最 低 工 资 Select job,min(sal),count(*) from emp group by job; -20-

21 算 出 每 个 部 门,, 每 个 职 位 的 平 均 工 资 和 平 均 奖 金 ( 平 均 值 包 括 没 有 奖 金 ), 如 果 平 均 奖 金 大 于 300, 显 示 奖 金 不 错, 如 果 平 均 奖 金 100 到 300, 显 示 奖 金 一 般, 如 果 平 均 奖 金 小 于 100, 显 示 基 本 没 有 奖 金, 按 部 门 编 号 降 序, 平 均 工 资 降 序 排 列 Select avg(sal),avg(nvl(comm.,0)) case when avg(nvl(comm.,0))>300 then 奖 金 不 错 when avg(nvl(comm.,0))<100 and avg(nvl(comm,0))>300 then 奖 金 不 错 end 奖 金 状 况 from emp group by job order by job desc,avg(sal) desc; 列 出 员 工 表 中 每 个 部 门 的 员 工 数, 和 部 门 no Select count(*),deptno from emp group by deptno; 得 到 工 资 大 于 自 己 部 门 平 均 工 资 的 员 工 信 息 select * from emp e1,(select deptno,avg(sal) as avgsal from emp group by deptno) e2 where e1.deptno=e2.deptno and e1.sal > e2.avgsal; 分 组 统 计 每 个 部 门 下, 每 种 职 位 的 平 均 奖 金 ( 也 要 算 没 奖 金 的 人 ) 和 总 工 资 ( 包 括 奖 金 ) select deptno,job,avg(nvl(comm,0)),sum(sal+nvl(comm,0)) from emp group by deptno,job; 第 六 章 多 表 查 询 6.1 笛 卡 尔 集 (Cross Join) Select * from emp,dept; 6.2 等 值 连 接 (Equijoin)(Natural join..on) select empno, ename, sal, emp.deptno, dname from emp, dept where emp.deptno = dept.deptno; 6.3 非 等 值 连 接 (Non-Equijoin) select ename,empno,grade from emp,salgrade where sal between losal and hisal; -21-

22 6.4 自 连 接 (Self join) select e.empno,e.ename,m.empno,m.ename from emp e,emp m where e.mgr = m.empno; select e.empno,e.ename,m.empno,m.ename from emp e,emp m where m.mgr = e.empno; 6.5 左 外 联 接 (Left Outer Join ) select s.sid,s.sname,s1.sid,s1.sname from student s,student1 s1 where s.sid=s1.sid(+); select empno,ename,dname from emp left outer join dept on emp.deptno = dept.deptno; 6.6 右 外 联 接 (Right Outer Join) select s.sid,s.sname,s1.sid,s1.sname from student s,student1 s1 where s.sid(+)=s1.sid; select empno,ename,dname from emp right outer join dept on emp.deptno = dept.deptno; 6.7 满 外 联 接 (Full Outer Join) select empno,ename,dname from emp full outer join dept on emp.deptno = dept.deptno; 内 连 接

23 满 连 接 左 连 接 右 连 接 集 合 操 作 UNION: 并 集, 所 有 的 内 容 都 查 询, 重 复 的 显 示 一 次 UNION ALL: 并 集, 所 有 的 内 容 都 显 示, 包 括 重 复 的 INTERSECT: 交 集 : 只 显 示 重 复 的 MINUS: 差 集 : 只 显 示 对 方 没 有 的 ( 跟 顺 序 是 有 关 系 的 ) 首 先 建 立 一 张 只 包 含 20 部 门 员 工 信 息 的 表 : CREATE TABLE emp20 AS SELECT * FROM emp WHERE deptno=20 ; 1 验 证 UNION 及 UNION ALL UNION:SELECT * FROM emp UNION SELECT * FROM emp20 ; 使 用 此 语 句 重 复 的 内 容 不 再 显 示 了 UNION ALL:SELECT * FROM emp UNION ALL SELECT * FROM emp20 ; 重 复 的 内 容 依 然 显 示 2 验 证 INTERSECT SELECT * FROM emp INTERSECT SELECT * FROM emp20 ; 只 显 示 了 两 个 表 中 彼 此 重 复 的 记 录 3 MINUS: 返 回 差 异 的 记 录 SELECT * FROM emp MINUS SELECT * FROM emp20 ; 只 显 示 了 两 张 表 中 的 不 同 记 录 -23-

24 满 链 接 也 可 以 用 以 下 的 方 式 来 表 示 : select t1.id,t2.id from table1 t1,table t2 where t1.id=t2.id(+) union select t1.id,t2.id from table1 t1,table t2 where t1.id(+)=t2.id 第 七 章 子 查 询 7.1 单 行 子 查 询 select * from emp where sal > (select sal from emp where empno = 7566); 7.2 子 查 询 空 值 / 多 值 问 题 如 果 子 查 询 未 返 回 任 何 行, 则 主 查 询 也 不 会 返 回 任 何 结 果 ( 空 值 )select * from emp where sal > (select sal from emp where empno = 8888); 如 果 子 查 询 返 回 单 行 结 果, 则 为 单 行 子 查 询, 可 以 在 主 查 询 中 对 其 使 用 相 应 的 单 行 记 录 比 较 运 算 符 ( 正 常 )select * from emp where sal > (select sal from emp where empno = 7566); 如 果 子 查 询 返 回 多 行 结 果, 则 为 多 行 子 查 询, 此 时 不 允 许 对 其 使 用 单 行 记 录 比 较 运 算 符 ( 多 值 )select * from emp where sal > (select avg(sal) from emp group by deptno);// 非 法 7.3 多 行 子 查 询 select * from emp where sal > any(select avg(sal) from emp group by deptno); select * from emp where sal > all(select avg(sal) from emp group by deptno); select * from emp where job in (select job from emp where ename = 'MARTIN' or ename = 'SMITH'); 7.4 TopN 查 询 select * from emp where rownum=1 or rownum=2; select * -24-

25 from (select * from emp order by sal desc) where rownum <= 5; Q: 如 何 理 解 (select * from emp where rownum<=5 order by sal desc) 7.5 分 页 查 询 select * from (select rownum no,e.* from (select * from emp order by sal desc) e where rownum<=5 ) where no>=3; select * from (select rownum no,e.* from (select * from emp order by sal desc) e) where no>=3 and no<=5; 7.6 exists EXISTS 的 执 行 流 程 select * from t1 where exists ( select null from t2 where y = x ) 可 以 理 解 为 : for x in ( select * from t1 ) loop if ( exists ( select null from t2 where y = x.x ) then OUTPUT THE RECORD end if end loop 对 于 in 和 exists 的 性 能 区 别 : 如 果 子 查 询 得 出 的 结 果 集 记 录 较 少, 主 查 询 中 的 表 较 大 且 又 有 索 引 时 应 该 用 in, 反 之 如 果 外 层 的 主 查 询 记 录 较 少, 子 查 询 中 的 表 大, 又 有 索 引 时 使 用 exists 其 实 我 们 区 分 in 和 exists 主 要 是 造 成 了 驱 动 顺 序 的 改 变 ( 这 是 性 能 变 化 的 关 键 ), 如 果 是 exists, 那 么 以 外 层 表 为 驱 动 表, 先 被 访 问, 如 果 是 IN, 那 么 先 执 行 子 查 询, 所 以 我 们 会 以 驱 动 表 的 快 速 返 回 为 目 标, 那 么 就 会 考 虑 到 索 引 及 结 果 集 的 关 系 了 另 外 IN 是 不 对 NULL 进 行 处 理 -25-

26 如 : select 1 from dual where null in (0,1,2,null) 为 空 7.7 练 习 列 出 员 工 表 中 每 个 部 门 的 员 工 数, 和 部 门 no select deptno,count(*) from emp group by deptno; 列 出 员 工 表 中 每 个 部 门 的 员 工 数 ( 员 工 数 必 须 大 于 3), 和 部 门 名 称 select d.*,ed.cou from dept d,(select deptno,count(*) cou from emp group by deptno having count(*)>3) ed where d.deptno=ed.deptno; 找 出 工 资 比 jones 多 的 员 工 select * from emp where sal>=(select sal from emp where lower(ename)='jones'); 列 出 所 有 员 工 的 姓 名 和 其 上 级 的 姓 名 select e1.ename as lower,e2.ename as upper from emp e1,emp e2 where e1.mgr = e2.empno; select e1.ename as lower,e2.ename as upper from emp e1,emp e2 where e1.mgr = e2.empno(+); 以 职 位 分 组, 找 出 平 均 工 资 最 高 的 两 种 职 位 Select * from ( select avg(sal) from emp order by job desc ) where rownum <3; 查 找 出 不 在 部 门 20, 且 比 部 门 20 中 任 何 一 个 人 工 资 都 高 的 员 工 姓 名 部 门 名 称 Select e.ename,d.dname from emp e,dept d where e.deptno!=20 and e.sal>(select max(sal) from emp where deptno=20) and e.deptno=d.deptno 得 到 平 均 工 资 大 于 2000 的 工 作 职 种 select job from emp group by job having avg(sal) > 2000; -26-

27 分 部 门 得 到 工 资 大 于 2000 的 所 有 员 工 的 平 均 工 资, 并 且 平 均 工 资 还 要 大 于 2500 select deptno,avg(sal) from emp where sal>2000 group by deptno having avg(sal)>2500; 得 到 每 个 月 工 资 总 数 最 少 的 那 个 部 门 的 部 门 编 号, 部 门 名 称, 部 门 位 置 select * from dept where deptno = ( select e.deptno from (select deptno,sum(sal) from emp group by deptno order by sum(sal)) e where rownum=1 ); 分 部 门 得 到 平 均 工 资 等 级 为 2 级 ( 等 级 表 ) 的 部 门 编 号 select new.dno from salgrade sa, (select deptno as dno,avg(sal) as avgsal from emp group by deptno) new where sa.grade=4 and new.avgsal between sa.losal and sa.hisal; 查 找 出 部 门 10 和 部 门 20 中, 工 资 最 高 第 3 名 到 工 资 第 5 名 的 员 工 的 员 工 名 字, 部 门 名 字, 部 门 位 置 select emp.ename,dept.dname,dept.loc from emp, dept, (select rownum no,new.* from (select * from emp where emp.deptno = 10 or deptno = 20 order by emp.sal desc) new) e where emp.deptno = dept.deptno and e.no >=3 and e.no <=5 and e.empno = emp.empno; 查 找 出 收 入 ( 工 资 加 上 奖 金 ), 下 级 比 自 己 上 级 还 高 的 员 工 编 号, 员 工 名 字, 员 工 收 入 select e.ename,e.empno,e.sal+nvl(e.comm,0) from emp e,emp m where e.mgr = m.empno and (e.sal+nvl(e.comm,0)) >(m.sal+nvl(m.comm,0)); -27-

28 查 找 出 工 资 等 级 不 为 4 级 的 员 工 的 员 工 名 字, 部 门 名 字, 部 门 位 置 select ename,dname,loc,sal from dept d,(select emp.deptno,emp.ename,emp.sal from emp,salgrade where sal between losal and hisal and grade!=4) new where d.deptno = new.deptno; select e.ename,d.dname,d.loc from emp e, dept d, (select * from salgrade where grade=4) s where e.deptno=d.deptno and (e.sal<s.losal or e.sal>s.hisal); 查 找 出 职 位 和 'MARTIN' 或 者 'SMITH' 一 样 的 员 工 的 平 均 工 资 select avg(sal) from emp where job in (select job from emp where ename='martin' or ename='smith'); 查 找 出 不 属 于 任 何 部 门 的 员 工 select * from emp where deptno is null or deptno not in(select deptno from dept); 按 部 门 统 计 员 工 数, 查 处 员 工 数 最 多 的 部 门 的 第 二 名 到 第 五 名 ( 列 出 部 门 名 字, 部 门 位 置 ) select dept.dname, dept.loc from (select rownum no, deptno from (select count(*) employeesum, deptno from emp group by deptno order by desc)) e,dept where e.no between 2 and 5 and e.deptno = dept.deptno; employeesum 查 询 出 king 所 在 部 门 的 部 门 号 \ 部 门 名 称 \ 部 门 人 数 方 法 一 : select t.countno,d.dname,d.loc from dept d, -28-

29 (select count(*) countno,deptno from emp where deptno in (select deptno from emp where ename = 'KING') group by deptno ) t where d.deptno = t.deptno; 方 法 二 : select t2.countnum,d.dname,d.loc from dept d, (select t.countnum,t.deptno from (select count(empno) countnum,deptno from emp group by deptno) t where t.deptno in (select deptno from emp where lower(ename) = 'king') ) t2 where t2.deptno = d.deptno; 方 法 三 : select e.deptno as 部 门 号,d.dname as 部 门 名 称, ( select count(*) from (select deptno from emp where deptno in (select deptno from emp where ename='king') ) ) as 部 门 人 数 from emp e, dept d where e.deptno = d.deptno and e.ename = 'KING'; 查 询 出 king 所 在 部 门 的 工 作 年 限 最 大 的 员 工 名 字 select ename, hiredate from emp where hiredate in (select min(hiredate) from emp where deptno in (select deptno from emp where ename='king')); 查 询 出 工 资 成 本 最 高 的 部 门 的 部 门 号 和 部 门 名 称 select d.deptno,d.dname,t.sum_sal from dept d, (select deptno,sum(sal) sum_sal from emp group by deptno having sum(sal) = (select max(sum(sal)) from emp group by deptno) ) t -29-

30 where d.deptno = t.deptno; select d.deptno,d.dname,t.sum_sal from dept d, (select * from (select deptno,sum(sal) sum_sal from emp group by deptno order by desc) where rownum<=1 ) t where d.deptno = t.deptno; sum(sal) 7.8 面 试 题 面 试 题 一 ( 厦 门 ) Table: ( 员 工 emp1) id name 1 a 2 b 3 c 4 d Table:( 性 别 sext) id sex 1 男 4 女 5 男 找 出 忘 记 填 写 性 别 的 员 工 ( 用 Oracle 的 两 种 方 式 ) select id,name from emp1 e where e.id not in(select id from sext); select id from emp1 minus select id from sext; select * from emp1 e where e.id <> all(select id from sext); select e.* from emp1 e,(select id from emp1 minus select id from sext) s where e.id = s.id; select e.id,e.name from emp1 e,sext s where e.id=s.id(+) and s.sex is null; select * from emp1 left outer join sext on emp1.id = sext.id where sext.sex is null; select * from emp1 e where not exists(select * from sext s where e.id = s.id); select * from emp1 where id not in (select emp1.id from emp1, sext where emp1.id = sext.id); select name from emp1 where id not in (select id from emp1 intersect select id from sext); SELECT * -30-

31 FROM emp1 e WHERE (SELECT COUNT(*) FROM (SELECT id FROM emp1 UNION ALL SELECT id FROM sext) t WHERE t.id = e.id) <2; 面 试 题 二 ( 上 海 ) 表 一 (AAA) 商 品 名 称 mc 商 品 总 量 sl A 100 B 120 表 二 (BBB) 商 品 名 称 mc 出 库 数 量 sl A 10 A 20 B 10 B 20 B 30 用 一 条 Transact-SQL 语 句 算 出 商 品 A,B 目 前 还 剩 多 少? select AAA.mc, sl-e.sum_sl as leave from AAA, (select sum(sl) sum_sl,mc from BBB group by mc) e where AAA.mc = e.mc select AAA.mc,AAA.sl-(select sum(bbb.sl) from BBB where BBB.mc=AAA.mc) from AAA; 面 试 题 三 ( 上 海 ) 人 员 情 况 表 (employee) 中 字 段 包 括, 员 工 号 (ID), 姓 名 (name), 年 龄 (age), 文 化 程 度 (wh): 包 括 四 种 情 况 ( 本 科 以 上, 大 专, 高 中, 初 中 以 下 ), 现 在 我 要 根 据 年 龄 字 段 查 询 统 计 出 : 表 中 文 化 程 度 为 本 科 以 上, 大 专, 高 中, 初 中 以 下, 各 有 多 少 人, 占 总 人 数 多 少 结 果 如 下 : 学 历 年 龄 人 数 百 分 比 本 科 以 上 大 专 高 中

32 初 中 以 下 本 科 以 上 Transact-SQL 查 询 语 句 如 何 写? select wh,age,trunc(count(*)/(select count(*) from employee)*100) from employee group by wh,age; 面 试 题 四 ( 上 海 ) 1. Here's two table STUDENT and SCORE_RANK, write a SQL, list all student's name who ranks 'A' Table STUDENT COLUMN NAME COLUMN TYPE Comment ID char(9) not nullable Student s ID NAME Varchar(30) not nullable Student s Name SCORE Int nullable Student s score Table SCORE_RANK COLUMN NAME COLUMN TYPE Comment LO_SCORE Int not nullable Low score HI_SCORE Int not nullable High score RANK Char(1) nullable rank Select name from student,score_rank where score between lo_score and hi_score and rank= A; 2. Here s two table STUDENT and SCORES, a student who have 3 or more courses rank A is a GOOD LEARNER, write a SQL, list all GOOD LEARNER s name. Table STUDENT COLUMN NAME COLUMN TYPE Comment ID char(9) not nullable Student s ID NAME Varchar(30) not nullable Student s Name Table SCORE COLUMN NAME COLUMN TYPE Comment STUDENT_ID char(9) not nullable Student s ID COURSE_ID Int not nullable Course ID SCORE Int not nullable Stuend s score of this course Select name from student,(select student_id from score,rank where score between lo_score and -32-

33 hi_score and rank= A group by student_id having count(course_id)>=3) e where id=e.student_id; 面 试 题 五 ( 福 州 ) 四 张 表 学 生 表 student(sid,sname), 教 师 表 teacher(tid,tname), 课 程 表 course(cid,cname,ctype), 选 课 表 choose_course(ccid,sid,tid,cid) insert into student values(1,' 小 明 '); insert into student values(2,' 小 花 '); insert into teacher values(1,' 陈 红 '); insert into teacher values(2,' 陈 白 '); insert into course values(1,' 语 文 ',' 文 科 '); insert into course values(2,' 数 学 ',' 理 科 '); -- 小 明 选 了 陈 红 老 师 的 语 文 insert into choose_course values(1,1,1,1); -- 小 明 选 了 陈 红 老 师 的 数 学 insert into choose_course values(2,1,1,2); -- 小 花 选 了 陈 红 老 师 的 数 学 insert into choose_course values(3,2,1,2); -- 小 明 选 了 陈 白 老 师 的 语 文 insert into choose_course values(1,1,2,1); -- 小 花 选 了 陈 红 老 师 的 语 文 insert into choose_course values(4,2,1,1); 1. 查 找 陈 红 老 师 教 的 学 生 是 那 些? select * from student stu where stu.sid in (select distinct cc.sid from teacher t,choose_course cc where t.tid = cc.tid and t.tname=' 陈 红 '); select distinct s.sid,s.sname from teacher t,choose_course cc,student s -33-

34 where t.tid = cc.tid and t.tname=' 陈 红 ' and s.sid = cc.sid; 2. 找 学 生 小 明 所 有 的 文 科 老 师? select * from teacher where tid in ( select distinct tid from choose_course cc,student s,course c where cc.sid = s.sid and cc.cid = c.cid and s.sname = ' 小 明 ' and c.ctype = ' 文 科 ' ); 3. 找 出 没 有 选 修 陈 红 老 师 的 学 生 select * from student stu where stu.sid not in (select cc.sid from teacher t,choose_course cc where t.tid = cc.tid and t.tname=' 陈 红 '); 4. 教 的 学 生 最 少 的 老 师? select t.tid,t.tname,t2.cou from teacher t, ( select tid,cou from (select tid,count(distinct sid) cou from choose_course group by tid order by cou) t1 where rownum=1) t2 where t.tid = t2.tid; select t.* from teacher t where t.tid = ( select tid from (select tid,count(distinct sid) cou from choose_course group by tid order by cou) t1-34-

35 where rownum=1); 面 试 题 六 ( 厦 门 ) 8:00--12:00 为 迟 到, 12:00--18:00 为 早 退 打 卡 表 card SQL> create table card( cid number(20), ctime date, cuser number(20)); 人 员 表 person create table person( pid number(20), name varchar2(10) ) -- 插 入 人 员 表 的 数 据 insert into person values(1,'a'); insert into person values(2,'b'); -- 插 入 打 卡 的 数 据 insert into card values(1,to_date(' ','yyyymmddhh24miss'),1); insert into card values(2,to_date(' ','yyyymmddhh24miss'),1); insert into card values(3,to_date(' ','yyyymmddhh24miss'),2); insert into card values(4,to_date(' ','yyyymmddhh24miss'),2); insert into card values(5,to_date(' ','yyyymmddhh24miss'),1); insert into card values(6,to_date(' ','yyyymmddhh24miss'),1); insert into card values(7,to_date(' ','yyyymmddhh24miss'),2); insert into card values(8,to_date(' ','yyyymmddhh24miss'),2); -- 分 析 : 先 分 组 统 计 出 每 个 人, 每 天 的 上 班 时 间 和 下 班 时 间 即 (id,day,mindate,maxdate) select p.pid as id, to_char(c.ctime,'yyyymmdd') as day, to_char(min(c.ctime),'hh24mi') as mindate, to_char(max(c.ctime),'hh24mi') as maxdate from card c,person p where c.cuser = p.pid group by p.pid,to_char(c.ctime,'yyyymmdd'); -35-

36 -- 把 上 面 的 分 析 做 成 一 个 视 图, 判 断 上 班 时 间 是 否 为 迟 到 和 下 班 时 间 是 否 为 早 退 -- 如 果 判 断 前 10 天 的 打 卡 记 录, 就 改 成 to_char(c.ctime,'yyyymmdd')<=to_char(sysdate-10,'yyyymmdd') select p.name as person_name, e1.day as work_day, e1.mindate as AM, e1.maxdate as PM, -- 判 断 迟 到 case when e1.mindate between '0800' and '1200' then 'yes' else 'no' end as later, -- 判 断 早 退 case when e1.maxdate between '1201' and '1800' then 'yes' else 'no' end as leave_early from -- 员 工 表 person p, -- 上 面 那 张 视 图 表 (select p.pid as id, to_char(c.ctime,'yyyymmdd') as day, to_char(min(c.ctime),'hh24mi') as mindate, to_char(max(c.ctime),'hh24mi') as maxdate from card c,person p where c.cuser = p.pid and to_char(c.ctime,'yyyymmdd')<=to_char(sysdate-1,'yyyymmdd') group by p.pid,to_char(c.ctime,'yyyymmdd') ) e1 where p.pid = e1.id; 面 试 题 七 ( 福 州 ) 删 除 一 张 表 重 复 记 录 (ID 是 自 增 唯 一, 重 复 记 录 : 其 他 字 段 都 是 一 样 ) 非 常 经 典 的 一 道 面 试 题 ( 可 能 存 在 很 多 数 据, 要 求 性 能 比 较 高 ) 1 louis 20 2 louis 20 3 jimmy

37 4 louis delete from aa where id not in(select min(id) from aa group by name,age); select a1.id from a a1, a a2 where a1.id>a2.id and a1.name=a2.name and a1.age=a2.age and a1.sex=a2.sex 面 试 题 八 ( 福 州 ) 用 一 条 SQL 语 句 查 询 出 每 门 课 都 大 于 80 分 的 学 生 姓 名 name kecheng fenshu 张 三 语 文 81 张 三 数 学 75 李 四 语 文 76 李 四 数 学 90 王 五 语 文 81 王 五 数 学 100 王 五 英 语 90 select Distinct name from TEST A Where Not Exists(Select * from TEST Where Name =A.Name And fenshu<=80) select from name test group by name having min(fenshu)>80 select name from test where name not in(select name from test where fens hu<=80) 面 试 题 九 ( 福 州 ) 有 一 表 table1 有 两 个 字 段 FID,Fno, 写 一 个 SQL 语 句 列 出 该 表 中 一 个 FID 对 应 多 个 不 同 的 Fno 的 纪 录 类 如 :

38 结 果 : select distinct fid,fno from table1 where fid in (select fid from table1 group by fid having count(distinct fno)>1) 面 试 题 十 ( 福 州 ) 有 员 工 表 empinfo ( Fempno varchar2(10) not null pk, Fempname varchar2(20) not null, Fage number not null, Fsalary number not null ); 假 如 数 据 量 很 大 约 1000 万 条 ; 写 一 个 你 认 为 最 高 效 的 SQL, 用 一 个 SQL 计 算 以 下 四 种 人 : fsalary>9999 and fage > 35 fsalary>9999 and fage < 35 fsalary<9999 and fage > 35 fsalary<9999 and fage < 35 每 种 员 工 的 数 量 ; select sum(case when tt.fsalary>9999 and fage > 35 then 1 else 0 end) as "fsalary>9999 and fage > 35", sum(case when tt.fsalary>9999 and fage < 35 then 1 else 0 end) as "fsalary>9999 and fage < 35", -38-

39 sum(case when tt.fsalary<9999 and fage > 35 then 1 else 0 end) as "fsalary<9999 and fage > 35", sum(case when tt.fsalary<9999 and fage < 35 then 1 else 0 end) as "fsalary>9999 and fage < 35" from empinfo tt; 面 试 题 十 一 ( 上 海 ) 表 内 容 : 胜 胜 负 负 胜 负 负 如 果 要 生 成 下 列 结 果, 该 如 何 写 sql 语 句? 胜 负 ) select rq, sum(case when shengfu=' 胜 ' then 1 else 0 end)' 胜 ',sum(case when shengfu=' 负 ' then 1 else 0 end)' 负 ' from #tmp group by rq 3)select a.col001,a.a1 胜,b.b1 负 from (select col001,count(col001) a1 from temp1 where col002=' 胜 ' group by col001) a, (select col001,count(col001) b1 from temp1 where col002=' 负 ' group by col001) b where a.col001=b.col001 面 试 题 十 二 ( 上 海 ) 请 用 一 个 sql 语 得 出 结 果 从 table1,table2 中 取 出 如 table3 所 列 格 式 数 据 table1 月 份 mon 部 门 dep 业 绩 yj 一 月 份 一 月 份 一 月 份 03 5 二 月 份

40 二 月 份 04 9 三 月 份 03 8 table2 部 门 dep 部 门 名 称 dname 国 内 业 务 一 部 02 国 内 业 务 二 部 03 国 内 业 务 三 部 04 国 际 业 务 部 05 其 他 部 门 table3 (result) 部 门 dep 部 门 名 称 一 月 份 二 月 份 三 月 份 国 内 业 务 一 部 国 内 业 务 二 部 国 内 业 务 三 部 国 际 业 务 部 其 他 部 门 select a.dep,a.dname sum(case when b.mon=' 一 月 份 ' then b.yj else 0 end) as ' 一 月 份 ', sum(case when b.mon=' 二 月 份 ' then b.yj else 0 end) as ' 二 月 份 ', sum(case when b.mon=' 三 月 份 ' then b.yj else 0 end) as ' 三 月 份 ', from table2 a left join table1 b on a.dep=b.dep 面 试 题 十 二 ( 上 海 ) 华 为 一 道 面 试 题 一 个 表 中 的 Id 有 多 个 记 录, 把 所 有 这 个 id 的 记 录 查 出 来, 并 显 示 共 有 多 少 条 记 录 数 select id, Count(*) from tb group by id having count(*)>1 第 八 章 高 级 查 询 8.1 随 机 返 回 5 条 记 录 Select * from (select ename,job from emp order by dbms_random.value()) where rownum<=5-40-

41 8.3 处 理 空 值 排 序 select * from emp order by comm desc nulls last(first); 8.4 查 询 跳 过 表 中 的 偶 数 行 select ename from (select row_number() over (order by ename) rn,ename from emp) x where mod(rn,2)=1; 8.5 查 询 员 工 信 息 与 其 中 工 资 最 高 最 低 员 工 select ename,sal,max(sal) over(), min(sal) over() from emp; 8.5 连 续 求 和 select ename,sal,sum(sal) over(), sum(sal) over(order by ename) from emp; sum(sal) over(order by ename) 指 的 是 连 续 求 和. 是 以 ename 来 排 序 的 若 有 两 个 这 样 的 窗 口 函 数, 以 后 面 的 排 序 为 主 -41-

42 8.5 分 部 门 连 续 求 和 select deptno,sal,sum(sal) over (partition by deptno order by ename) as s from emp; 分 部 门 连 续 求 和 sum(sal) over (partition by deptno) 分 部 门 求 和 8.6 得 到 当 前 行 上 一 行 或 者 下 一 行 的 数 据 select ename,sal,lead(sal) over(order by sal) aaa,lag(sal) over(order by sal) bbb from emp; month person income 月 份 人 员 收 入 要 求 用 一 个 SQL 语 句, 统 计 每 个 月 及 上 月 和 下 月 的 总 收 入 要 求 列 表 输 出 为 月 份 当 月 收 入 上 月 收 入 下 月 收 入 select month,sum(income),lead(sum(income)) over(order by sum(income)) from table group by month; 8.7 根 据 子 串 分 组 Select to_char(hiredate, yyyy ),avg(sal) from emp group by to_char(hiredate, yyyy ); -42-

43 8.8 确 定 一 年 内 的 天 数 select add_months(trunc(sysdate,'y'),12)-trunc(sysdate,'y') from dual; 8.9 查 询 EMP 员 工 表 下 每 个 部 门 工 资 前 二 名 的 员 工 信 息 select deptno, ename, sal from emp e1 where (select count(1) from emp e2 where e2.deptno=e1.deptno and e2.ename!=e1.ename and e2.sal>e1.sal) <2 order by deptno, sal desc; select * from (select deptno,ename,sal,row_number() over (partition by deptno order by sal desc) rn from emp) where rn<3; 8.9 student,course,choose_course, 找 出 选 了 所 有 课 程 的 学 生 信 息 select distinct sname from student s where not exists(select * from course c where not exists(select * from choose_course cc where s.sid=cc.sid and c.cid = cc.cid)); select student_id,count(distinct cid) from choose_course group by student_id having count(distinct cid) = (select count(distinct cid) from course); 第 九 章 数 据 字 典 9.1 查 询 某 用 户 下 所 有 表 select table_name from all_tables where owner='scott'; -43-

44 9.2 查 询 EMP 表 中 所 有 字 段 ( 列 ) select * from all_tab_columns where table_name='emp'; 9.3 列 出 表 的 索 引 列 select * from sys.all_ind_columns where table_name='emp'; select * from sys.all_ind_columns where upper(table_name)='careuserham'; 9.4 列 出 表 中 约 束 select * from all_constraints where table_name='emp' 9.5 在 oracle 中 描 述 数 据 字 典 视 图 select table_name,comments from dictionary where table_name like '%TABLE%'; 第 十 章 Oracle 数 据 类 型 10.1 Oracle 主 要 数 据 类 型 number(4,2) Char,nchar,varchar2,nvarchar2,number(),date,blob(binary 二 进 制 流 的 大 对 象 ),clob( 文 件 大 对 象 ) 注 意 : 1 由 于 char 是 以 固 定 长 度 的, 所 以 它 的 速 度 会 比 varchar2 快 得 多! 但 程 序 处 理 起 来 要 麻 烦 一 点, 要 用 trim 之 类 的 函 数 把 两 边 的 空 格 去 掉 2 Varchar2 一 般 适 用 于 英 文 和 数 字,Nvarchar2 适 用 中 文 和 其 他 字 符, 其 中 N 表 示 Unicode 常 量, 可 以 解 决 多 语 言 字 符 集 之 间 的 转 换 问 题 3 Number(4,2) 指 的 是 整 数 占 2 位, 小 数 占 2 位 ( 可 以 不 行, 因 为 是 四 舍 五 入 ) 4 Number 默 认 为 38 位 -44-

45 10.2 char,nchar,varchar2,nvarchar2 区 别 10.3 Java 对 blob 字 段 的 操 作 第 十 一 章 Oracle 体 系 结 构 (DBA) 11.1 数 据 库 (Database) 一 系 列 物 理 文 件 ( 数 据 文 件, 控 制 文 件, 联 机 日 志 等 ) 的 集 合 或 与 之 对 应 的 逻 辑 结 构 ( 表 空 间, 段 等 ) 被 称 为 数 据 库 物 理 存 储 结 构 数 据 文 件 重 做 日 志 文 件 控 制 文 件 Desc v$logfile; Select member from v$logfile; V$controlfile V$datafile; 逻 辑 存 储 结 构 表 空 间 段 区 块 11.2 数 据 库 实 例 (Database Instance) ORACLE 内 存 结 构 和 后 台 进 程 被 成 为 数 据 库 的 实 例 实 例 内 存 结 构 后 台 进 程 SGA PGA -45-

46 11.3 Oracle 实 时 应 用 集 群 (RAC, Real Application Clusters) Oracle 教 程 11.4 数 据 库 服 务 名 ( Database Service_Name) 11.5 网 络 服 务 名 (Net Service Name) 11.6 监 听 器 (Monitor) ( 参 考 :oracle 体 系 结 构 ) ( 参 考 :Oracle DBA 面 试 题 ) 第 十 二 章 DDL( 改 变 表 结 构 ) 12.1 创 建 表 Create table student( Sid number(10), Sname varchar2(10) ) tablespace tt; 以 上 tablespace 不 是 必 须 的 默 认 不 写, 则 创 建 在 登 录 的 用 户 所 在 的 表 空 间 上 12.2 使 用 子 查 询 创 建 表 create table myemp as select * from emp; create table myemp as select * from emp where deptno=10; create table myemp as select * from emp 1=2; 12.3 添 加 字 段 Alter table student add age number(5); -46-

47 12.4 修 改 字 段 Alter table student modify age number(10); alter table table2 rename column result to result2; 12.5 删 除 字 段 Alter table student drop column age; 12.6 清 空 表 中 数 据 Truncate table student; 正 常 情 况 下 删 除 数 据, 如 果 发 现 删 除 错 了, 则 可 以 通 过 rollback 回 滚 如 果 使 用 了 截 断 表, 则 表 示 所 有 的 数 据 不 可 恢 复 了. 所 以 速 度 很 快 ( 更 详 细 的 说 明 可 查 看 Oracle 体 系 结 构 ) 12.7 删 除 表 Drop table student; 12.8 重 命 名 表 Rename student to student1; 12.9 练 习 1.scott 下 面 创 建 一 个 表 emp1 empno number(10) ename varchar2(50) create table emp1(empno number(10),ename varchar2(50)); 2. 添 加 一 个 字 段 sal number(10,2) alter table emp1 add sal number(10,2); 3. 修 改 字 段 ename varchar(100) alter table emp1 modify ename varchar(100); 4. 删 除 字 段 sal alter table emp1 drop column sal; 5. 把 表 emp1 改 成 emp2 rename emp1 to emp2; -47-

48 6. 删 除 表 emp2 drop table emp2; 7. 创 建 一 个 和 emp 结 构 一 样 的 表, 并 同 时 插 入 工 资 大 于 1000 的 数 据 create table emp3 as select * from emp where sal>1000; 8. 清 空 表 数 据 ( 用 truncate) truncate table emp3; 第 十 三 章 DML( 改 变 数 据 结 构 ) 13.1 insert 语 句 表 间 数 据 拷 贝 insert into dept1(id, name) select deptno, dname from dept; 13.2 update 语 句 将 编 号 为 7779 用 户 的 工 作 换 成 编 号 为 7566 的 雇 员 的 工 作 和 所 属 上 级 UPDATE myemp SET(job,mgr) = (SELECT job,mgr FROM myemp WHERE empno=7566) WHERE empno=7779 ; 如 果 子 查 询 中 返 回 的 是 空, 则 目 标 字 段 也 更 新 成 NULL delete 语 句 Delete from emp; 13.4 merge 语 句 create table test1(eid number(10), name varchar2(20),birth date,salary number(8,2)); insert into test1 values (1001, ' 张 三 ', '20-5 月 -70', 2300); insert into test1 values (1002, ' 李 四 ', '16-4 月 -73', 6600); select * from test1; create table test2(eid number(10), name varchar2(20),birth date,salary number(8,2)); select * from test2; merge into test2 using test1 on(test1.eid = test2.eid ) when matched then update set name = test1.name, birth = test1.birth, salary = test1.salary when not matched then -48-

49 insert (eid, name, birth, salary) values(test1.eid, test1.name, test1.birth, test1.salary); Oracle 教 程 select * from test2; 13.5 练 习 1. 往 emp 表 中 插 入 empno,ename,sal 数 据 (111,'1',1000)(222,'2',2000) insert into emp(empno,ename,sal) values(111,'1',1000); insert into emp(empno,ename,sal) values(222,'2',2000); 2. 把 empno=111 的 员 工 comm 改 成 100 update emp set comm=100 where empno=111; 3. 往 dept 表 中 插 入 dept 表 中 deptno=100 的 数 据 insert into dept select * from dept where deptno=100; 4. 删 除 empno=111 的 数 据 delete from emp where empno=111; 5. 为 所 有 人 长 工 资, 标 准 是 :10 部 门 长 10%;20 部 门 长 15%;30 部 门 长 20% 其 他 部 门 长 18%( 要 求 用 DECODE 函 数 ) update emp set sal=decode(deptno,'10',sal*(1+0.1), '20',sal*(1+0.15), '30',sal*(1+0.2),sal*(1+0.18)); 6. 根 据 工 作 年 限 长 工 资, 标 准 是 : 为 公 司 工 作 了 几 个 月 就 长 几 个 百 分 点 update emp set sal= round(sal * (1+(sysdate - hiredate)/365/12/100),2); 第 十 四 章 约 束 约 束 就 是 指 对 插 入 数 据 的 各 种 限 制, 例 如 : 人 员 的 姓 名 不 能 为 空, 人 的 年 龄 只 能 在 0~150 岁 之 间 约 束 可 以 对 数 据 库 中 的 数 据 进 行 保 护 约 束 可 以 在 建 表 的 时 候 直 接 声 明, 也 可 以 为 已 建 好 的 表 添 加 约 束 14.1 NOT NULL: 非 空 约 束 例 如 : 姓 名 不 能 为 空 CREATE TABLE person ( pid NUMBER, name VARCHAR(30) NOT NULL ) ; -- 插 入 数 据 INSERT INTO person(pid,name) VALUES (11,' 张 三 '); -- 错 误 的 数 据, 会 受 到 约 束 限 制, 无 法 插 入 -49-

50 INSERT INTO person(pid) VALUES (12); 14.2 PRIMARY KEY: 主 键 约 束 不 能 重 复, 不 能 为 空 例 如 : 身 份 证 号 不 能 为 空 现 在 假 设 pid 字 段 不 能 为 空, 且 不 能 重 复 DROP TABLE person ; CREATE TABLE person ( pid NUMBER PRIMARY KEY, name VARCHAR(30) NOT NULL ) ; -- 插 入 数 据 INSERT INTO person(pid,name) VALUES (11,' 张 三 '); -- 主 键 重 复 了 INSERT INTO person(pid,name) VALUES (11,' 李 四 '); 14.3 UNIQUE: 唯 一 约 束, 值 不 能 重 复 ( 空 值 除 外 ) 人 员 中 有 电 话 号 码, 电 话 号 码 不 能 重 复 DROP TABLE person ; CREATE TABLE person ( pid NUMBER PRIMARY KEY NOT NULL, name VARCHAR(30) NOT NULL, tel VARCHAR(50) UNIQUE ) ; -- 插 入 数 据 INSERT INTO person(pid,name,tel) VALUES (11,' 张 三 ',' '); -- 电 话 重 复 了 INSERT INTO person(pid,name,tel) VALUES (12,' 李 四 ',' '); 14.4 CHECK: 条 件 约 束, 插 入 的 数 据 必 须 满 足 某 些 条 件 例 如 : 人 员 有 年 龄, 年 龄 的 取 值 只 能 是 0~150 岁 之 间 DROP TABLE person ; CREATE TABLE person ( pid NUMBER PRIMARY KEY NOT NULL, -50-

51 name VARCHAR(30) NOT NULL, tel VARCHAR(50) NOT NULL UNIQUE, age NUMBER CHECK(age BETWEEN 0 AND 150) ) ; -- 插 入 数 据 INSERT INTO person(pid,name,tel,age) VALUES (11,' 张 三 ',' ',30); -- 年 龄 的 输 入 错 误 INSERT INTO person(pid,name,tel,age) VALUES (12,' 李 四 ',' ',-100); 14.5 Foreign Key: 外 键 例 如 : 有 以 下 一 种 情 况 : 一 个 人 有 很 多 本 书 : - Person 表 - Book 表 : 而 且 book 中 的 每 一 条 记 录 表 示 一 本 书 的 信 息, 一 本 书 的 信 息 属 于 一 个 人 CREATE TABLE book ( bid NUMBER PRIMARY KEY NOT NULL, name VARCHAR(50), -- 书 应 该 属 于 一 个 人 pid NUMBER ) ; 如 果 使 用 了 以 上 的 表 直 接 创 建, 则 插 入 下 面 的 记 录 有 效 : INSERT INTO book(bid,name,pid) VALUES(1001,'JAVA',12) ; 以 上 的 代 码 没 有 任 何 错 误, 但 是 没 有 任 何 意 义, 因 为 一 本 书 应 该 属 于 一 个 人, 所 以 在 此 处 的 pid 的 取 值 应 该 与 person 表 中 的 pid 一 致 此 时 就 需 要 外 键 的 支 持 修 改 book 的 表 结 构 DROP TABLE book ; CREATE TABLE book ( bid NUMBER PRIMARY KEY NOT NULL, name VARCHAR(50), -- 书 应 该 属 于 一 个 人 pid NUMBER REFERENCES person(pid) ON DELETE CASCADE -- 建 立 约 束 :book_pid_fk, 与 person 中 的 pid 为 主 - 外 键 关 系 --CONSTRAINT book_pid_fk FOREIGN KEY(pid) REFERENCES person(pid) ) ; INSERT INTO book(bid,name,pid) VALUES(1001,'JAVA',12) ; -51-

52 14.6 级 联 删 除 那 么 再 分 析 : 如 果 假 设 一 个 人 的 人 员 信 息 没 有 了, 那 么 此 人 所 拥 有 的 书 还 应 该 存 在 吗? 最 好, 如 果 person 中 的 一 条 数 据 没 了, 则 对 应 在 book 中 的 数 据 也 应 该 同 时 消 失 在 之 前 的 结 构 上 执 行 delete 语 句, 删 除 person 表 中 的 一 条 记 录 : DELETE FROM person WHERE pid=11; 提 示 不 能 删 除 的 错 误 : 因 为 book 中 存 在 了 此 项 的 关 联, 如 果 person 表 中 的 一 条 数 据 删 除 了, 则 肯 定 会 直 接 影 响 到 book 表 中 数 据 的 完 整 性, 所 以 不 让 删 除 如 果 非 要 删 除, 则 应 该 先 删 除 book 表 中 的 对 应 数 据, 之 后 再 删 除 person 表 中 的 对 应 数 据 此 时 如 果 想 完 成 删 除 person 表 的 数 据 同 时 自 动 删 除 掉 book 表 的 数 据 操 作, 则 必 须 使 用 级 联 删 除 在 建 立 外 键 的 时 候 必 须 指 定 级 联 删 除 (ON DELETE CASCADE) CREATE TABLE book ( bid NUMBER PRIMARY KEY NOT NULL, name VARCHAR(50), -- 书 应 该 属 于 一 个 人 pid NUMBER, -- 建 立 约 束 :book_pid_fk, 与 person 中 的 pid 为 主 - 外 键 关 系 CONSTRAINT book_pid_fk FOREIGN KEY(pid) REFERENCES person(pid) ON DELETE CASCADE ) ; DROP TABLE book ; DROP TABLE person ; CREATE TABLE person ( pid NUMBER, name VARCHAR(30) NOT NULL, tel VARCHAR(50), age NUMBER ) ; CREATE TABLE book ( bid NUMBER, name VARCHAR(50), pid NUMBER ) ; -52-

53 以 上 两 张 表 中 没 有 任 何 约 束, 下 面 使 用 alter 命 令 为 表 添 加 约 束 1 为 两 个 表 添 加 主 键 : person 表 pid 为 主 键 : ALTER TABLE person ADD CONSTRAINT person_pid_pk PRIMARY KEY(pid) ; book 表 bid 为 主 键 : ALTER TABLE book ADD CONSTRAINT book_bid_pk PRIMARY KEY(bid) ; 2 为 person 表 中 的 tel 添 加 唯 一 约 束 : ALTER TABLE person ADD CONSTRAINT person_tel_uk UNIQUE(tel) ; 3 为 person 表 中 的 age 添 加 检 查 约 束 : ALTER TABLE person ADD CONSTRAINT person_age_ck CHECK(age BETWEEN 0 AND 150) ; 4 为 book 表 中 的 pid 添 加 与 person 的 主 - 外 键 约 束, 要 求 带 级 联 删 除 ALTER TABLE book ADD CONSTRAINT person_book_pid_fk FOREIGN KEY (pid) REFERENCES person(pid) ON DELETE CASCADE ; Q: 如 何 用 alter 添 加 非 空 约 束 A: 用 check 约 束 14.7 删 除 约 束 : ALTER TABLE book DROP CONSTRAINT person_book_pid_fk ; alter table student drop unique(tel); 14.8 启 用 约 束 ALTER TABLE book enable CONSTRAINT person_book_pid_fk ; 14.9 禁 用 约 束 ALTER TABLE book disable CONSTRAINT person_book_pid_fk ; 练 习 1. 创 建 一 张 表 student id number name varchar2(10) age number(10) tel varchar2(10) 给 id 字 段 添 加 主 键 约 束 给 name 字 段 添 加 非 空 约 束 给 age 字 段 添 加 check 约 束 (age 必 须 大 于 18 岁 ) -53-

54 给 tel 添 加 唯 一 非 空 约 束 create table student( id number primary key, name varchar2(10) not null, age number(10) check(age > 18), tel varchar2(10) unique not null ); 2. 创 建 一 张 学 员 兴 趣 爱 好 表 hobby id number(10) hobby_name varchar2(10) sid number -- 学 生 id 给 sid 字 段 添 加 外 键 约 束, 并 且 要 带 级 联 删 除 create table hobby( id number(10), hobby_name varchar2(10), sid number references student(id) on delete cascade ); 3. 删 除 掉 student 表 中 tel 字 段 的 唯 一 约 束 ( 先 写 出 查 看 该 表 约 束 的 sql) select constraint_name, constraint_type from all_constraints where user_table = upper('student'); alter table student drop constraint unique(tel); 4. 手 动 添 加 student 表 中 tel 字 段 的 唯 一 约 束 ( 约 束 名 为 :MY_CONSTRAINT_1) alter table student add constraint MY_CONSTRAINT_1 unique(tel); 5. 禁 用 约 束 MY_CONSTRAINT_1 alter table student disable constraint MY_CONSTRAINT_1; 6. 启 用 约 束 MY_CONSTRAINT_1 alter table student enable constraint MY_CONSTRAINT_1; -54-

55 第 十 五 章 视 图 视 图 : 是 一 个 封 装 了 各 种 复 杂 查 询 的 语 句, 就 称 为 视 图 15.1 创 建 视 图 CREATE VIEW 视 图 名 字 ( 字 段 ) AS 子 查 询 建 立 一 个 只 包 含 20 部 门 雇 员 信 息 的 视 图 ( 雇 员 的 编 号 姓 名 工 资 ) CREATE VIEW empv20 (empno,ename,sal) AS SELECT empno,ename,sal FROM emp WHERE deptno=20 ; 例 如 : 将 之 前 的 一 个 复 杂 语 句 包 装 成 视 图 显 示 部 门 内 最 低 工 资 比 20 部 门 最 低 工 资 要 高 的 部 门 的 编 号 及 部 门 内 最 低 工 资 : SELECT deptno,min(sal) FROM emp GROUP BY deptno HAVING MIN(sal)>(SELECT MIN(sal) FROM emp WHERE deptno=20) ; 此 时 就 可 以 将 上 面 的 复 杂 查 询 语 句 建 立 一 张 视 图, 之 后 查 询 视 图 即 可 15.1 高 级 视 图 如 果 要 创 建 一 个 同 名 的 视 图, 则 必 须 先 将 之 前 的 视 图 删 除 掉, 再 进 行 创 建 : DROP VIEW empv20 ; 有 些 时 候 如 果 先 删 除 再 创 建 操 作 会 比 较 麻 烦, 所 以 有 时 候 最 好 的 方 式 : 如 果 视 图 存 在 则 先 自 动 删 除, 之 后 自 动 创 建 CREATE OR REPLACE VIEW empv20 (deptno,msal) AS (SELECT deptno,min(sal) FROM emp GROUP BY deptno HAVING MIN(sal)>(SELECT MIN(sal) FROM emp WHERE deptno=20)) ; 例 如, 还 是 创 建 一 个 只 包 含 20 部 门 的 视 图 CREATE OR REPLACE VIEW empv20 (empno,ename,sal,deptno) AS SELECT empno,ename,sal,deptno FROM emp WHERE deptno=20 ; 现 在 直 接 更 新 视 图 里 的 数 据 将 7369 的 部 门 编 号 修 改 为 30 此 操 作 在 视 图 中 完 成 update empv20 SET deptno=30 where empno=7369 ; 此 时, 提 示 更 新 完 成 默 认 情 况 下 创 建 的 视 图, 如 果 更 新 了, 则 会 自 动 将 此 数 据 从 视 图 中 删 除, 之 后 会 更 新 原 本 的 数 据 思 考 : -55-

56 如 果 能 这 样 做 的 话, 肯 定 存 在 问 题, 因 为 视 图 最 好 还 是 不 要 更 新 在 建 立 视 图 的 时 候 有 两 个 参 数 : WITH CHECK OPTION 保 护 视 图 的 创 建 规 则 CREATE OR REPLACE VIEW empv20 (empno,ename,sal,deptno) AS SELECT empno,ename,sal,deptno FROM emp WHERE deptno=20 WITH CHECK OPTION CONSTRAINT empv20_ck; 再 执 行 更 新 操 作 : update empv20 SET deptno=30 where empno=7369 ; 此 处 更 新 的 是 部 门 编 号, 失 败 - 之 前 是 按 照 部 门 编 号 建 立 的 视 图, 所 以 不 能 修 改 部 门 编 号 update empv20 SET ename='tom' where empno=7369 ; 可 以 更 新, 更 新 的 是 名 字, 成 功 WITH READ ONLY( 只 读, 不 可 修 改 ), 视 图 最 好 不 要 轻 易 的 修 改 CREATE OR REPLACE VIEW empv20 (empno,ename,sal,deptno) AS SELECT empno,ename,sal,deptno FROM emp WHERE deptno=20 WITH READ ONLY; 现 在 任 意 的 字 段 都 不 可 更 改, 所 以 现 在 的 视 图 是 只 读 的 如 果 视 图 的 基 表 有 多 行 查 询 ( 比 如 :group by,distinct) 那 么 该 视 图 也 是 只 读 的 15.1 查 看 视 图 Select text from user_views; 查 看 视 图 的 创 建 语 句 第 十 六 章 索 引 16.1 索 引 select * from user_indexes 查 询 现 有 的 索 引 select * from user_ind_columns 可 获 知 索 引 建 立 在 那 些 字 段 上 -56-

57 16.2 索 引 优 缺 点 建 立 索 引 的 优 点 1. 大 大 加 快 数 据 的 检 索 速 度 ; 2. 创 建 唯 一 性 索 引, 保 证 数 据 库 表 中 每 一 行 数 据 的 唯 一 性 ; 3. 加 速 表 和 表 之 间 的 连 接 ; 4. 在 使 用 分 组 和 排 序 子 句 进 行 数 据 检 索 时, 可 以 显 著 减 少 查 询 中 分 组 和 排 序 的 时 间 索 引 的 缺 点 1. 索 引 需 要 占 物 理 空 间 2. 当 对 表 中 的 数 据 进 行 增 加 删 除 和 修 改 的 时 候, 索 引 也 要 动 态 的 维 护, 降 低 了 数 据 的 维 护 速 度 16.3 创 建 索 引 的 原 则 创 建 索 引 : 创 建 索 引 一 般 有 以 下 两 个 目 的 : 维 护 被 索 引 列 的 唯 一 性 和 提 供 快 速 访 问 表 中 数 据 的 策 略 -- 在 select 操 作 占 大 部 分 的 表 上 创 建 索 引 ; -- 在 where 子 句 中 出 现 最 频 繁 的 列 上 创 建 索 引 ; -- 在 选 择 性 高 的 列 上 创 建 索 引 ( 补 充 索 引 选 择 性, 最 高 是 1,eg:primary key) -- 复 合 索 引 的 主 列 应 该 是 最 有 选 择 性 的 和 where 限 定 条 件 最 常 用 的 列, 并 以 此 类 推 第 二 -57-

58 列 -- 小 于 5M 的 表, 最 好 不 要 使 用 索 引 来 查 询, 表 越 小, 越 适 合 用 全 表 扫 描 16.4 使 用 索 引 的 原 则 -- 查 询 结 果 是 所 有 数 据 行 的 5% 以 下 时, 使 用 index 查 询 效 果 最 好 ; --where 条 件 中 经 常 用 到 表 的 多 列 时, 使 用 复 合 索 引 效 果 会 好 于 几 个 单 列 索 引 因 为 当 sql 语 句 所 查 询 的 列, 全 部 都 出 现 在 复 合 索 引 中 时, 此 时 由 于 Oracle 只 需 要 查 询 索 引 块 即 可 获 得 所 有 数 据, 当 然 比 使 用 多 个 单 列 索 引 要 快 得 多 ; -- 索 引 利 于 select, 但 对 经 常 insert,delte 尤 其 update 的 表, 会 降 低 效 率 eg: 试 比 较 下 面 两 条 SQL 语 句 (emp 表 的 deptno 列 上 建 有 ununique index): 语 句 A:SELECT dname, deptno FROM dept WHERE deptno NOT IN (SELECT deptno FROM emp); 语 句 B:SELECT dname, deptno FROM dept WHERE NOT EXISTS (SELECT deptno FROM emp WHERE dept.deptno = emp.deptno); 这 两 条 查 询 语 句 实 现 的 结 果 是 相 同 的, 但 是 执 行 语 句 A 的 时 候,ORACLE 会 对 整 个 emp 表 进 行 扫 描, 没 有 使 用 建 立 在 emp 表 上 的 deptno 索 引, 执 行 语 句 B 的 时 候, 由 于 在 子 查 询 中 使 用 了 联 合 查 询,ORACLE 只 是 对 emp 表 进 行 的 部 分 数 据 扫 描, 并 利 用 了 deptno 列 的 索 引, 所 以 语 句 B 的 效 率 要 比 语 句 A 的 效 率 高 ----where 子 句 中 的 这 个 字 段, 必 须 是 复 合 索 引 的 第 一 个 字 段 ; eg: 一 个 索 引 是 按 f1, f2, f3 的 次 序 建 立 的, 若 where 子 句 是 f2 = : var2, 则 因 为 f2 不 是 索 引 的 第 1 个 字 段, 无 法 使 用 该 索 引 ---- where 子 句 中 的 这 个 字 段, 不 应 该 参 与 任 何 形 式 的 计 算 : 任 何 对 列 的 操 作 都 将 导 致 表 扫 描, 它 包 括 数 据 库 函 数 计 算 表 达 式 等 等, 查 询 时 要 尽 可 能 将 操 作 移 至 等 号 右 边 ---- 应 尽 量 熟 悉 各 种 操 作 符 对 Oracle 是 否 使 用 索 引 的 影 响 : 以 下 这 些 操 作 会 显 式 (explicitly) 地 阻 止 Oracle 使 用 索 引 : is null ; is not null ; not in;!=; like ; numeric_col+0;date_col+0; char_col ' '; to_char; to_number,to_date 等 Eg: Select jobid from mytabs where isreq='0' and to_date (updatedate) >= to_date ( ' ', 'YYYY-MM-DD');--updatedate 列 的 索 引 也 不 会 生 效 16.4 创 建 索 引 create index abc on student(sid,sname); create index abc1 on student(sname,sid); 这 两 种 索 引 方 式 是 不 一 样 的 索 引 abc 对 Select * from student where sid=1; 这 样 的 查 询 语 句 更 有 效 索 引 abc1 对 Select * from student where sname= louis ; 这 样 的 查 询 语 句 更 有 效 因 此 建 立 索 引 的 时 候, 字 段 的 组 合 顺 序 是 非 常 重 要 的 一 般 情 况 下, 需 要 经 常 访 问 的 字 段 放 在 组 合 字 段 的 前 面 -58-

59 16.5 索 引 的 存 储 索 引 和 表 都 是 独 立 存 在 的 在 为 索 引 指 定 表 空 间 的 时 候, 不 要 将 被 索 引 的 表 和 索 引 指 向 同 一 个 表 空 间, 这 样 可 以 避 免 产 生 IO 冲 突 使 Oracle 能 够 并 行 访 问 存 放 在 不 同 硬 盘 中 的 索 引 数 据 和 表 数 据, 更 好 的 提 高 查 询 速 度 16.6 删 除 索 引 drop index PK_DEPT1; 16.7 索 引 类 型 B 树 索 引 (B-Tree Index) 创 建 索 引 的 默 认 类 型, 结 构 是 一 颗 树, 采 用 的 是 平 衡 B 树 算 法 : 右 子 树 节 点 的 键 值 大 于 等 于 父 节 点 的 键 值 左 子 树 节 点 的 键 值 小 于 等 于 父 节 点 的 键 值 比 如 有 数 据 :100,101,102,103,104,105, 位 图 索 引 (BitMap Index) 如 果 表 中 的 某 些 字 段 取 值 范 围 比 较 小, 比 如 职 员 性 别 分 数 列 ABC 级 等 只 有 两 个 值 这 样 的 字 段 如 果 建 B 树 索 引 没 有 意 义, 不 能 提 高 检 索 速 度 这 时 我 们 推 荐 用 位 图 索 引 Create BitMap Index student on(sex); 16.8 管 理 索 引 1) 先 插 入 数 据 后 创 建 索 引 向 表 中 插 入 大 量 数 据 之 前 最 好 不 要 先 创 建 索 引, 因 为 如 果 先 建 立 索 引 那 么 在 插 入 每 行 数 据 的 时 候 都 要 更 改 索 引 这 样 会 大 大 降 低 插 入 数 据 的 速 度 2) 设 置 合 理 的 索 引 列 顺 序 3) 限 制 每 个 表 索 引 的 数 量 4) 删 除 不 必 要 的 索 引 5) 为 每 个 索 引 指 定 表 空 间 6) 经 常 做 insert,delete 尤 其 是 update 的 表 最 好 定 期 exp/imp 表 数 据, 整 理 数 据, 降 低 碎 -59-

60 片 ( 缺 点 : 要 停 应 用, 以 保 持 数 据 一 致 性, 不 实 用 ); 有 索 引 的 最 好 定 期 rebuild 索 引 (rebuild 期 间 只 允 许 表 的 select 操 作, 可 在 数 据 库 较 空 闲 时 间 提 交 ), 以 降 低 索 引 碎 片, 提 高 效 率 16.8 索 引 问 题 1: 针 对 一 个 表 的 查 询 语 句 能 否 会 用 到 两 个 索 引? 2: 如 果 能 用 到, 那 么 其 实 现 原 理 是 怎 样 的? 3: 效 率 如 何? 其 代 价 如 何, 比 如 额 外 开 销 等 ====================================== 回 答 : 1. 一 个 表 的 查 询 语 句 可 以 同 时 用 到 两 个 索 引 如 下 图 : 2. 索 引 是 以 独 立 于 表 存 在 的 一 种 数 据 库 对 象, 它 是 对 基 表 的 一 种 排 序 ( 默 认 是 B 树 索 引 就 是 二 叉 树 的 排 序 方 式 ), 比 如 : t 表 (x,y,z), 在 x,y,z 上 分 别 都 建 立 了 索 引 (index1,index2,index3), 那 在 查 询 select * from t where x=1 and y=2; 的 时 候, 会 分 别 用 到 index1,index2 原 理 是 先 到 index1 索 引 表 中 查 到 符 合 x=1 条 件 的 记 录, 然 后 到 index2 索 引 表 中 查 到 y=2 条 件 的 记 录 3. 这 样 的 查 询 效 率, 肯 定 是 大 于 没 有 索 引 情 况 的 全 表 扫 描 (table access full), 但 是 有 两 个 问 题 问 题 一 : 建 立 索 引 将 占 用 额 外 的 数 据 库 空 间, 更 重 要 的 是 增 删 改 操 作 的 时 候, 索 引 的 排 序 也 必 须 改 变, 加 大 的 维 护 的 成 本 问 题 二 : 如 果 经 常 查 询 x=? 和 y=?, 那 推 荐 使 用 组 合 index(x,y), 这 种 情 况 下 组 合 索 引 的 效 率 是 远 高 于 两 个 单 独 的 索 引 的 同 时 在 用 组 合 索 引 的 时 候, 大 家 一 定 要 注 意 一 个 细 节 : 建 立 组 合 索 引 index(x,y,z) 的 时 候, 那 在 查 询 条 件 中 出 现 x,xy,xyz,yzx 都 是 可 以 用 到 该 组 合 索 引, 但 是 y,yz,z 是 不 能 用 到 该 索 引 的 关 于 这 段 话 的 原 文 如 下 : A leading portion of an index is a set of one or more columns that were specified first and consecutively in the list of columns in the CREATE INDEX statement that created the index. Consider this CREATE INDEX statement: CREATE INDEX comp_ind -60-

61 ON table1(x, y, z); x, xy, and xyz combinations of columns are leading portions of the index yz, y, and z combinations of columns are not leading portions of the index 第 十 七 章 SQL 优 化 删 除 一 张 表 的 重 复 记 录 (ID 是 自 增 唯 一 主 键, 重 复 记 录 : 其 他 字 段 都 是 一 样 ) ( 数 据 量 很 大, 性 能 要 求 很 高 ) 表 名 :T Id name age 1 louis 20 2 louis 20 3 jimmy 30 4 louis 20 做 法 一 : Delete from t where id not in (Select min(id) from t Group by name,age); 做 法 二 : delete from t where id in(select distinct a2.id from t a1,t a2 where a1.id>a2.id and a1.name=a2.name and a1.age=a2.age); 做 法 三 : delete from t a1 where not exists(select * from t a2 where a1.id>a2.id and a1.name=a2.name and a1.age=a2.age ); 前 提 数 据 量 >100,0000 以 上 三 种 做 法, 均 可 但 是 第 三 种 做 法 的 性 能 最 佳 第 一 种 用 not in 没 办 法 用 到 索 引. 第 三 种 方 式 也 不 会 用 到 索 引 数 据 量 ,0000 方 法 一 方 法 二 第 二 种 方 式 快 于 第 一 种 方 式 SQL 优 化 的 实 质 就 是 在 结 果 正 确 的 前 提 下, 用 优 化 器 可 以 识 别 的 语 句, 充 份 利 用 索 引, 执 行 过 程 中 访 问 尽 量 少 的 数 据 块, 减 少 表 扫 描 的 I/O 次 数, 尽 量 避 免 全 表 扫 描 和 其 他 额 外 开 销 oracle 数 据 库 常 用 的 两 种 优 化 器 :RBO(rule-based-optimizer) 和 CBO(cost-based-optimizer) 目 前 更 多 地 采 用 CBO(cost-based-optimizer) 基 于 开 销 的 优 化 器 在 CBO 方 式 下,Oracle 会 根 据 表 及 索 引 的 状 态 信 息 来 选 择 计 划 ; 在 RBO 方 式 下,Oracle 会 根 据 自 己 内 部 设 置 的 一 些 -61-

62 规 则 来 决 定 选 择 计 划, 例 如 oracle 会 根 据 以 下 优 先 级 来 选 择 执 行 计 划 ( 越 靠 前,rank 越 低, 越 快 ): 17.1 尽 量 少 用 IN 操 作 符 基 本 上 所 有 的 IN 操 作 符 都 可 以 用 EXISTS 代 替, 在 选 择 IN 或 EXIST 操 作 时, 要 根 据 主 子 表 数 据 量 大 小 来 具 体 考 虑 17.2 尽 量 用 NOT EXISTS 或 者 外 连 接 替 代 NOT IN 操 作 符 因 为 NOT IN 不 能 应 用 表 的 索 引 17.3 尽 量 不 用 <> 或 者!= 操 作 符 不 等 于 操 作 符 是 永 远 不 会 用 到 索 引 的, 因 此 对 它 的 处 理 只 会 产 生 全 表 扫 描 比 如 :a<>0 改 为 a>0 or a< 在 设 计 表 时, 把 索 引 列 设 置 为 NOT NULL 判 断 字 段 是 否 为 空 一 般 是 不 会 应 用 索 引 的, 因 为 B 树 索 引 是 不 索 引 空 值 的 17.5 尽 量 不 用 通 配 符 % 或 者 _ 作 为 查 询 字 符 串 的 第 一 个 字 符 当 通 配 符 % 或 者 _ 作 为 查 询 字 符 串 的 第 一 个 字 符 时, 索 引 不 会 被 使 用 比 如 用 T 表 中 Column1 LIKE %5400% 这 个 条 件 会 产 生 全 表 扫 描, 如 果 改 成 Column1 X5400% OR Column1 LIKE B5400% 则 会 利 用 Column1 的 索 引 进 行 两 个 范 围 的 查 询, 性 能 肯 定 大 大 提 高 17.6 Where 子 句 中 避 免 在 索 引 列 上 使 用 计 算 如 果 索 引 不 是 基 于 函 数 的, 那 么 当 在 Where 子 句 中 对 索 引 列 使 用 函 数 时, 索 引 不 再 起 作 用 因 此 Where 子 句 中 避 免 在 索 引 列 上 使 用 计 算 比 如 : substr(no,1,4)= 5400, 优 化 处 理 :no like 5400% trunc(hiredate)=trunc(sysdate), 优 化 处 理 : hiredate >=trunc(sysdate) and hiredate <trunc(sysdate+1) 17.7 用 >= 替 代 > 大 于 或 小 于 操 作 符 一 般 情 况 下 是 不 用 调 整 的, 因 为 它 有 索 引 就 会 采 用 索 引 查 找, 但 有 的 情 况 下 可 以 对 它 进 行 优 化, 如 一 个 表 有 100 万 记 录, 一 个 数 值 型 字 段 A, 30 万 记 -62-

63 录 的 A=0,30 万 记 录 的 A=1,39 万 记 录 的 A=2,1 万 记 录 的 A=3 那 么 执 行 A>2 与 A>=3 的 效 果 就 有 很 大 的 区 别 了, 因 为 A>2 时 ORACLE 会 先 找 出 为 2 的 记 录 索 引 再 进 行 比 较, 而 A>=3 时 ORACLE 则 直 接 找 到 =3 的 记 录 索 引 17.8 利 用 SGA 共 享 池, 避 开 parse 阶 段 同 一 功 能 同 一 性 能 不 同 写 法 SQL 的 影 响 如 一 个 SQL 在 A 程 序 员 写 的 为 Select * from zl_yhjbqk B 程 序 员 写 的 为 Select * from dlyx.zl_yhjbqk( 带 表 所 有 者 的 前 缀 ) C 程 序 员 写 的 为 Select * from DLYX.ZLYHJBQK( 大 写 表 名 ) D 程 序 员 写 的 为 Select * from DLYX.ZLYHJBQK( 中 间 多 了 空 格 ) 以 上 四 个 SQL 在 ORACLE 分 析 整 理 之 后 产 生 的 结 果 及 执 行 的 时 间 是 一 样 的, 但 是 从 ORACLE 共 享 内 存 SGA 的 原 理, 可 以 得 出 ORACLE 对 每 个 SQL 都 会 对 其 进 行 一 次 分 析, 并 且 占 用 共 享 内 存, 如 果 将 SQL 的 字 符 串 及 格 式 写 得 完 全 相 同 则 ORACLE 只 会 分 析 一 次, 共 享 内 存 也 只 会 留 下 一 次 的 分 析 结 果, 这 不 仅 可 以 减 少 分 析 SQL 的 时 间, 而 且 可 以 减 少 共 享 内 存 重 复 的 信 息,ORACLE 也 可 以 准 确 统 计 SQL 的 执 行 频 率 不 同 区 域 出 现 的 相 同 的 Sql 语 句 要 保 证 查 询 字 符 完 全 相 同, 建 议 经 常 使 用 变 量 来 代 替 常 量, 以 尽 量 使 用 重 复 sql 代 码, 以 利 用 SGA 共 享 池, 避 开 parse 阶 段, 防 止 相 同 的 Sql 语 句 被 多 次 分 析, 提 高 执 行 速 度 因 此 使 用 存 储 过 程, 是 一 种 很 有 效 的 提 高 share pool 共 享 率, 跳 过 parse 阶 段, 提 高 效 率 的 办 法 17.9 WHERE 后 面 的 条 件 顺 序 要 求 WHERE 后 面 的 条 件, 表 连 接 语 句 写 在 最 前, 可 以 过 滤 掉 最 大 数 量 记 录 的 条 件 居 后 比 如 : Select * from zl_yhjbqk where dy_dj = '1KV 以 下 ' and xh_bz=1 Select * from zl_yhjbqk where xh_bz=1 and dy_dj = '1KV 以 下 ' 以 上 两 个 SQL 中 dy_dj( 电 压 等 级 ) 及 xh_bz( 销 户 标 志 ) 两 个 字 段 都 没 进 行 索 引, 所 以 执 行 的 时 候 都 是 全 表 扫 描, 第 一 条 SQL 的 dy_dj = '1KV 以 下 ' 条 件 在 记 录 集 内 比 率 为 99%, 而 xh_bz=1 的 比 率 只 为 0.5%, 在 进 行 第 一 条 SQL 的 时 候 99% 条 记 录 都 进 行 dy_dj 及 xh_bz -63-

64 的 比 较, 而 在 进 行 第 二 条 SQL 的 时 候 0.5% 条 记 录 都 进 行 dy_dj 及 xh_bz 的 比 较, 以 此 可 以 得 出 第 二 条 SQL 的 CPU 占 用 率 明 显 比 第 一 条 低 使 用 表 的 别 名, 并 将 之 作 为 每 列 的 前 缀 当 在 Sql 语 句 中 连 接 多 个 表 时, 使 用 表 的 别 名, 并 将 之 作 为 每 列 的 前 缀 这 样 可 以 减 少 解 析 时 间 进 行 了 显 式 或 隐 式 的 运 算 的 字 段 不 能 进 行 索 引 比 如 : ss_df+20>50, 优 化 处 理 :ss_df>30 X hbs_bh> X , 优 化 处 理 :hbs_bh> sk_rq+5=sysdate, 优 化 处 理 :sk_rq=sysdate-5 hbs_bh= , 优 化 处 理 :hbs_bh= , 注 : 此 条 件 对 hbs_bh 进 行 隐 式 的 to_number 转 换, 因 为 hbs_bh 字 段 是 字 符 型 用 UNION ALL 代 替 UNION UNION 是 最 常 用 的 集 操 作, 使 多 个 记 录 集 联 结 成 为 单 个 集, 对 返 回 的 数 据 行 有 唯 一 性 要 求, 所 以 oracle 就 需 要 进 行 SORT UNIQUE 操 作 ( 与 使 用 distinct 时 操 作 类 似 ), 如 果 结 果 集 又 比 较 大, 则 操 作 会 比 较 慢 ; UNION ALL 操 作 不 排 除 重 复 记 录 行, 所 以 会 快 很 多, 如 果 数 据 本 身 重 复 行 存 在 可 能 性 较 小 时, 用 union all 会 比 用 union 效 率 高 很 多! 其 他 操 作 尽 量 使 用 packages: Packages 在 第 一 次 调 用 时 能 将 整 个 包 load 进 内 存, 对 提 高 性 能 有 帮 助 尽 量 使 用 cached sequences 来 生 成 primary key : 提 高 主 键 生 成 速 度 和 使 用 性 能 很 好 地 利 用 空 间 : 如 用 VARCHAR2 数 据 类 型 代 替 CHAR 等 使 用 Sql 优 化 工 具 :sqlexpert;toad;explain-table;pl/sql;oem 通 过 改 变 oracle 的 SGA 的 大 小 SGA: 数 据 库 的 系 统 全 局 区 SGA 主 要 由 三 部 分 构 成 : 共 享 池 数 据 缓 冲 区 日 志 缓 冲 区 -64-

65 1 共 享 池 又 由 两 部 分 构 成 : 共 享 SQL 区 和 数 据 字 典 缓 冲 区 共 享 SQL 区 专 门 存 放 用 户 SQL 命 令,oracle 使 用 最 近 最 少 使 用 等 优 先 级 算 法 来 更 新 覆 盖 ; 数 据 字 典 缓 冲 区 (library cache) 存 放 数 据 库 运 行 的 动 态 信 息 数 据 库 运 行 一 段 时 间 后, DBA 需 要 查 看 这 些 内 存 区 域 的 命 中 率 以 从 数 据 库 角 度 对 数 据 库 性 能 调 优 通 过 执 行 下 述 语 句 查 看 : select (sum(pins - reloads)) / sum(pins) "Lib Cache" from v$librarycache; -- 查 看 共 享 SQL 区 的 重 用 率, 最 好 在 90% 以 上, 否 则 需 要 增 加 共 享 池 的 大 小 select (sum(gets - getmisses - usage - fixed)) / sum(gets) "Row Cache" from v$rowcache; -- 查 看 数 据 字 典 缓 冲 区 的 命 中 率, 最 好 在 90% 以 上, 否 则 需 要 增 加 共 享 池 的 大 小 2 数 据 缓 冲 区 : 存 放 sql 运 行 结 果 抓 取 到 的 data block; SELECT name, value FROM v$sysstat WHERE name IN ('db block gets', 'consistent gets','physical reads'); -- 查 看 数 据 库 数 据 缓 冲 区 的 使 用 情 况 查 询 出 来 的 结 果 可 以 计 算 出 来 数 据 缓 冲 区 的 使 用 命 中 率 =1 - ( physical reads / (db block gets + consistent gets) ) 命 中 率 应 该 在 90% 以 上, 否 则 需 要 增 加 数 据 缓 冲 区 的 大 小 3 日 志 缓 冲 区 : 存 放 数 据 库 运 行 生 成 的 日 志 select name,value from v$sysstat where name in ('redo entries','redo log space requests'); -- 查 看 日 志 缓 冲 区 的 使 用 情 况 查 询 出 的 结 果 可 以 计 算 出 日 志 缓 冲 区 的 申 请 失 败 率 : 申 请 失 败 率 =requests/entries, 申 请 失 败 率 应 该 接 近 于 0, 否 则 说 明 日 志 缓 冲 区 开 设 太 小, 需 要 增 加 ORACLE 数 据 库 的 日 志 缓 冲 区 第 十 八 章 序 列 同 义 词 17.1 创 建 序 列 Create sequence myseq Start with 1 Increment by 1 Order cache 20 Nocycle; 17.2 NextVal,CurrVal Select myseq.nextval from dual; Select myseq.currval from dual; ( 必 须 先 有 nextval, 才 能 有 currval) -65-

66 查 询 完 之 后 就 已 经 自 增 1 了 Insert into table1 values(myseq.nextval) 这 时 候 已 经 是 2 了 17.3 Cycle,Cache 而 用 了 nocycle, 就 可 以 确 保 当 该 序 列 用 于 多 张 表 的 时 候,ID 是 唯 一 的 用 cycle 时, 用 法 如 下 : create sequence myseq2 start with 1 increment by 1 cycle maxvalue 3 nocache ; 这 样 到 3 之 后, 要 会 重 新 从 1 开 始 如 果 指 定 CACHE 值,ORACLE 就 可 以 预 先 在 内 存 里 面 放 置 一 些 sequence, 这 样 存 取 的 快 些 cache 里 面 的 取 完 后,oracle 自 动 再 取 一 组 到 cache 使 用 cache 或 许 会 跳 号, 比 如 数 据 库 突 然 不 正 常 down 掉 (shutdown abort),cache 中 的 sequence 就 会 丢 失. 所 以 可 以 在 create sequence 的 时 候 用 nocache 防 止 这 种 情 况 不 能 改 变 当 前 值, 但 是 可 以 改 变 增 量 Alter sequence myseq increment by 3; 17.4 同 义 词 在 任 何 一 个 用 户 下, 都 可 以 直 接 访 问 dual, 而 不 需 要 加 上 前 缀 的 用 户 名 如 :scott.emp Select * from dual; 为 什 么? 因 为 同 义 词 的 存 在 Dual 其 实 是 sys 用 户 下 的 一 张 表 select table_name from user_tables where lower(table_name) = 'dual'; 作 用 : 很 方 便 的 操 作 不 同 用 户 下 的 对 象 能 使 两 个 应 用 程 序 使 用 不 同 的 名 字 指 向 同 一 张 表 使 用 不 同 的 用 户 指 向 同 一 张 表 的 Create synonym dept for soctt.dept;( 这 样 创 建 的 同 义 词 是 私 有 的, 只 有 创 建 者 才 能 用 ) Drop synonym dept; Create public synonym dept for soctt.dept;( 这 样 创 建 的 同 义 词 才 是 公 有 的 ) Drop public synonym dept; -66-

67 17.5 练 习 1: 创 建 一 个 包 含 1982 年 3 月 31 日 以 后 入 职 的 所 有 雇 员 的 视 图 2: 创 建 一 个 包 含 佣 金 高 于 其 薪 金 的 雇 员 视 图 3: 创 建 一 个 包 含 所 有 雇 员 的 雇 员 编 号 雇 员 名 称 部 门 名 称 和 薪 金 的 视 图 4: 创 建 一 个 有 手 下 的 雇 员 的 视 图, 包 括 雇 员 编 号, 雇 员 名 称 5: 创 建 一 个 包 含 各 种 工 作 的 薪 金 总 和 的 视 图 8: 创 建 一 个 序 列, 从 50 开 始, 每 次 增 加 10 9: 用 上 面 的 序 列 给 dept 表 加 一 条 数 据 9: 为 emp 表 创 建 一 个 同 义 词 emp1 10: 在 上 面 创 建 的 同 义 词 中 插 入 值, 并 观 察 对 基 表 的 影 响 11: 在 emp 表 的 empno 字 段 上 创 建 一 个 索 引, 并 检 查 是 否 可 以 创 建 12: 在 emp 表 的 sal 上 创 建 一 个 索 引 13: 列 出 您 所 创 建 的 全 部 视 图 同 义 词 序 列 和 索 引 14: 删 除 你 所 创 建 的 任 何 视 图 的 基 表, 然 后 尝 试 查 询 视 图, 并 观 察 查 询 的 输 出 情 况 15: 删 除 您 创 建 的 所 有 视 图 同 义 词 序 列 和 索 引 第 十 九 章 PL SQL 18.1 PL/SQL 块 PL/SQL 块 是 在 SQL 语 言 之 上 发 展 起 来 的 一 种 应 用, 可 以 集 中 的 处 理 各 种 复 杂 的 SQL 操 作 组 成 : DECLARE: 声 明 部 分 BEGIN 编 写 主 题 -67-

68 EXCEPTION 捕 获 异 常 END ; / 看 一 个 简 单 的 PL/SQL 块 DECLARE i NUMBER ; BEGIN i := 30 ; DBMS_OUTPUT.put_line('I 的 内 容 为 :' i) ; END ; / 此 时, 直 接 执 行 程 序 即 可 执 行 之 后 发 现 没 有 任 何 的 输 出 因 为 Oracle 在 系 统 设 置 中 默 认 设 置 了 输 出 不 显 示, 如 果 要 显 示 的 话, 输 入 以 下 命 令 : set serveroutput on DECLARE i NUMBER ; BEGIN i:= 1/0; EXCEPTION when ZERO_DIVIDE then dbms_output.put_line('error'); END ; / PL/SQL 块 还 可 以 接 收 用 户 的 输 入 信 息, 例 如 : 现 在 要 求 用 户 输 入 一 个 雇 员 编 号, 之 后 根 据 输 入 的 内 容 进 行 查 询, 查 询 雇 员 的 姓 名 用 户 的 输 入 信 息 使 用 & 完 成 DECLARE eno NUMBER ; en VARCHAR2(30) ; BEGIN -- 输 入 的 信 息 保 存 在 eno 里 eno := &no ; -- 之 后 根 据 eno 的 值, 对 数 据 库 进 行 查 询 操 作 SELECT ename INTO en FROM emp WHERE empno=eno ; DBMS_OUTPUT.put_line(' 编 号 为 :' eno ' 雇 员 的 姓 名 为 :' en) ; EXCEPTION WHEN no_data_found THEN DBMS_OUTPUT.put_line(' 没 有 此 雇 员 ') ; END ; / -68-

69 在 以 上 的 查 询 中 再 进 一 步 : 可 以 根 据 雇 员 的 编 号 查 出 姓 名 及 其 领 导 的 姓 名 和 所 在 的 部 门, 进 行 显 示 DECLARE eno emp.empno%type ; en emp.ename%type ; mn emp.ename%type ; dn dept.dname%type ; dept dept %rowtype ; BEGIN -- 输 入 的 信 息 保 存 在 eno 里 eno := &no ; -- 之 后 根 据 eno 的 值, 对 数 据 库 进 行 查 询 操 作 SELECT e.ename,m.ename,d.dname INTO en,mn,dn FROM emp e,dept d,emp m WHERE e.empno=7369 AND e.mgr=m.empno AND e.deptno=d.deptno ; DBMS_OUTPUT.put_line(' 编 号 为 :' eno ' 雇 员 的 姓 名 为 :' en) ; DBMS_OUTPUT.put_line(' 编 号 为 :' eno ' 雇 员 的 上 级 姓 名 为 :' mn) ; DBMS_OUTPUT.put_line(' 编 号 为 :' eno ' 雇 员 所 在 的 部 门 :' dn) ; DBMS_OUTPUT.put_line(dept.deptno) ; EXCEPTION WHEN no_data_found THEN DBMS_OUTPUT.put_line(' 没 有 此 雇 员 ') ; END ; / 说 明 : emp.empno%type ;: 表 示 以 emp 表 中 的 empno 字 段 的 类 型 定 义 变 量 e.ename,m.ename,d.dname INTO en,mn,dn: 一 次 可 以 同 时 放 进 去 多 个 值 dept dept %rowtype ; 表 示 dept 是 一 行 数 据, 类 似 于 Hibernate 的 PO 18.2 Loop 循 环 (do while) PL/SQL 之 中 也 包 含 了 : 循 环 分 支 等 条 件 控 制 语 句 Loop 循 环 (do while) 格 式 : LOOP 循 环 的 语 句 ; EXIT WHEN 终 止 条 件 ; 循 环 条 件 必 须 更 改 ; END LOOP ; 循 环 输 出 1~10 DECLARE cou NUMBER ; BEGIN -- 必 须 给 一 个 初 始 值 -69-

70 cou := 1 ; LOOP DBMS_OUTPUT.put_line('cou = ' cou) ; EXIT WHEN cou>10 ; cou := cou + 1 ; END LOOP ; END ; / 此 循 环 是 先 执 行 一 次 之 后 再 进 行 判 断 18.3 while 循 环 格 式 : while( 判 断 循 环 的 条 件 ) loop 循 环 的 语 句 ; 循 环 条 件 的 改 变 ; End loop ; 使 用 此 语 句 修 改 上 面 的 程 序 : DECLARE cou NUMBER ; BEGIN -- 必 须 给 一 个 初 始 值 cou := 1 ; WHILE(cou<10) LOOP DBMS_OUTPUT.put_line('cou = ' cou) ; cou := cou + 1 ; END LOOP ; END ; / 此 语 句, 是 先 判 断, 之 后 如 果 条 件 满 足 则 执 行, 与 while 循 环 类 似 18.4 for 循 环 格 式 : FOR 变 量 名 称 in 变 量 的 初 始 值.. 结 束 值 LOOP 循 环 语 句 ; END LOOP ; DECLARE cou NUMBER ; BEGIN FOR cou IN LOOP DBMS_OUTPUT.put_line('cou = ' cou) ; -70-

71 END LOOP ; END ; / 18.5 IF 语 句 条 件 判 断 格 式 : IF 条 件 THEN 满 足 条 件 时, 执 行 此 语 句 END IF ; DECLARE cou NUMBER ; BEGIN cou := 11 ; IF cou>10 THEN DBMS_OUTPUT.put_line('cou = ' cou) ; END IF ; END ; / 18.6 IF ELSE 语 句 如 果 IF 满 足 了, 则 执 行, 否 则 执 行 ELSE DECLARE cou NUMBER ; BEGIN cou := 1 ; IF cou>10 THEN DBMS_OUTPUT.put_line('cou = ' cou) ; ELSE DBMS_OUTPUT.put_line(' 条 件 不 满 足 ') ; END IF ; END ; / 18.7 IF ELSIF ELSE 语 句 DECLARE cou NUMBER ; -71-

72 BEGIN cou := 1 ; IF cou>10 THEN DBMS_OUTPUT.put_line('cou = ' cou) ; ELSIF cou<5 THEN DBMS_OUTPUT.put_line(' 值 小 于 5') ; ELSE DBMS_OUTPUT.put_line(' 条 件 不 满 足 ') ; END IF ; END ; / 18.8 GOTO 语 句 无 条 件 跳 转 语 句 DECLARE eno emp.empno%type ; sal emp.sal%type ; BEGIN eno := &en ; SELECT sal INTO sal FROM emp WHERE empno=eno ; IF sal>3500 THEN goto po1 ; ELSIF sal>2000 THEN goto po2 ; ELSE goto po3 ; END IF ; <<po1>> DBMS_OUTPUT.put_line(' 高 工 资 ') ; <<po2>> DBMS_OUTPUT.put_line(' 中 等 工 资 ') ; <<po3>> DBMS_OUTPUT.put_line(' 底 工 资 ') ; END ; / -72-

73 18.9 练 习 问 题 1: 输 入 一 个 雇 员 的 编 号, 如 果 其 工 资 高 于 3500, 则 显 示 高 工 资, 工 资 大 于 2000, 则 显 示 中 等 工 资, 工 资 小 于 2000 的 则 认 为 是 低 等 工 资 DECLARE eno emp.empno%type ; sal emp.sal%type ; BEGIN eno := &en ; SELECT sal INTO sal FROM emp WHERE empno=eno ; IF sal>3500 THEN DBMS_OUTPUT.put_line(' 高 工 资 ') ; ELSIF sal>2000 THEN DBMS_OUTPUT.put_line(' 中 等 工 资 ') ; ELSE DBMS_OUTPUT.put_line(' 底 工 资 ') ; END IF ; END ; / -73-

74 问 题 2: 输 入 一 个 雇 员 编 号, 根 据 它 所 在 的 部 门 涨 工 资, 规 则 : 10 部 门 上 涨 10% 20 部 门 上 涨 20% 30 部 门 上 涨 30% 所 有 部 门 的 上 涨 工 资, 最 不 能 超 过 5000, 如 果 超 过 5000, 则 工 资 就 为 5000 DECLARE eno emp.empno%type ; dno emp.deptno%type ; sal emp.sal%type ; BEGIN eno := &en ; SELECT deptno,sal INTO dno,sal FROM emp WHERE empno=eno ; IF dno=10 THEN IF sal*1.1>5000 THEN UPDATE emp SET sal=5000 WHERE empno=eno ; ELSE UPDATE emp SET sal=sal*1.1 WHERE empno=eno ; END IF ; ELSIF dno=20 THEN IF sal*1.2>5000 THEN UPDATE emp SET sal=5000 WHERE empno=eno ; ELSE UPDATE emp SET sal=sal*1.2 WHERE empno=eno ; END IF ; ELSIF dno=30 THEN IF sal*1.3>5000 THEN -74-

75 UPDATE emp SET sal=5000 WHERE empno=eno ; ELSE UPDATE emp SET sal=sal*1.3 WHERE empno=eno ; END IF ; ELSE null ; END IF ; END ; / declare eno emp.empno%type; dno emp.deptno%type; esal emp.sal%type; begin eno:=&no; select deptno,sal into dno,esal from emp where empno=eno; if dno=10 then esal := esal + esal*0.1; elsif dno=20 then esal := esal + esal*0.2; elsif dno=30 then esal := esal + esal*0.3; end if; if esal>5000 then end if; esal:=5000; update emp set sal=esal where empno=eno; end; / -75-

76 问 题 3: 接 收 部 门 编 号, 显 示 部 门 名 和 地 理 位 置 declare sno dept.deptno%type; dname dept.dname%type; loc dept.loc%type; begin sno:=&no; select dname,loc into dname,loc from dept where deptno=sno; dbms_output.put_line(dname ' ' loc); exception when no_data_found then dbms_output.put_line('not find data'); end; 问 题 4: 接 收 雇 员 号, 显 示 该 雇 员 的 工 资 和 提 成, 没 有 提 成 的 用 0 替 代 ( 用 %type 实 现 ) declare sno emp.empno%type; sal emp.sal%type; comm emp.comm%type; begin sno:=&no; select sal,nvl(comm,0) into sal,comm from emp where empno=sno; dbms_output.put_line(sal ' ' comm); exception when no_data_found then dbms_output.put_line('not find data'); end; 问 题 5: 接 收 雇 员 号, 显 示 该 雇 员 的 所 有 信 息, 没 有 提 成 的 用 0 替 代 ( 用 %rowtype 实 现 ) declare sno emp.empno%type; e1 emp%rowtype; begin sno:=&no; select * into e1 from emp where empno=sno; dbms_output.put_line(e1.empno ' ' e1.ename ' ' e1.job ' ' e1.mgr ' ' e1.hiredate ' ' e1.sal ' ' nvl(e1.comm,0) ' ' e1.deptno); exception when no_data_found then dbms_output.put_line('not find date'); -76-

77 end; 问 题 6: 接 收 一 个 雇 员 名, 判 断 他 的 job, 根 据 job 不 同, 为 他 增 加 相 应 的 sal( 用 if-elsif 实 现 ) declare sname emp.ename%type; ejob emp.job%type; esal emp.sal%type; begin sname:=&no; select job,sal into ejob,esal from emp where ename=sname; if(ejob='analyst') then esal:=esal+esal*0.1; elsif(ejob='clerk') then esal:=esal+esal*0.2; elsif(ejob='manager') then esal:=esal+esal*0.2; elsif(ejob='president') then esal:=esal+esal*0.2; elsif(ejob='salesman') then esal:=esal+esal*0.2; end if; update emp set sal=esal; exception WHEN NO_data_found then dbms_output.put_line('not find data'); end; 问 题 7: 用 loop 循 环 结 构, 为 dept 表 增 加 这 些 部 门 declare no number; begin no :=50; while (no <= 90) loop insert into dept(deptno) values(no); no := no+10; end loop; end; -77-

78 问 题 8: 接 收 一 个 雇 员 名, 显 示 该 雇 员 的 所 有 内 容,( 用 %rowtype 实 现 ), 当 没 有 这 个 雇 员 时 (no_data_found), 用 异 常 来 显 示 错 误 提 示 declare name emp.ename%type; e1 emp%rowtype; begin name:=&name; select * into e1 from emp where ename=name; dbms_output.put_line(e1.empno ' ' e1.job ' ' e1.mgr ' ' e1.hiredate ' ' e1.sal ' ' e1.comm ' ' e1.deptno); exception when no_data_found then dbms_output.put_line(' 没 有 这 个 雇 员 '); end; / 问 题 9: 编 写 一 个 PL/SQL 程 序 块 以 计 算 某 个 雇 员 的 年 度 薪 水 总 额 declare name emp.ename%type; sal number; begin name := &name; select (sal*12) into sal from emp where ename = name; dbms_output.put_line(' 薪 水 ' sal); exception when no_data_found then dbms_output.put_line(' 没 有 这 个 雇 员 '); end; / 问 题 10: 编 写 一 个 PL/SQL 程 序 块 以 向 emp 表 添 加 10 新 雇 员 编 号 ( ) declare eno emp.empno%type; begin eno := 7911; loop insert into emp(empno) values(eno); exit when eno = 7920; -78-

79 eno := eno+1; end loop; end; / 问 题 11: 接 受 2 个 数 相 除, 并 显 示 结 果, 如 果 除 数 为 0, 则 显 示 错 误 提 示 ; declare a number; b number; begin a := &a; b := &b; dbms_output.put_line(a ' 除 以 ' b '=' a/b); exception when zero_divide then dbms_output.put_line(' 被 除 数 不 能 为 0!'); end; / 第 二 十 章 游 标 函 数 19.1 游 标 游 标 是 一 种 PL/SQL 控 制 结 构 ; 可 以 对 SQL 语 句 的 处 理 进 行 显 示 控 制, 便 于 对 表 的 行 数 据 逐 条 进 行 处 理 游 标 并 不 是 一 个 数 据 库 对 象, 只 是 存 留 在 内 存 中 操 作 步 骤 : 声 明 游 标 打 开 游 标 取 出 结 果, 此 时 的 结 果 取 出 的 是 一 行 数 据 关 闭 游 标 到 底 那 种 类 型 可 以 把 一 行 的 数 据 都 装 进 来 此 时 使 用 ROWTYPE 类 型, 此 类 型 表 示 可 以 把 一 行 的 数 据 都 装 进 来 例 如 : 查 询 雇 员 编 号 为 7369 的 信 息 ( 肯 定 是 一 行 信 息 ) DECLARE eno emp.empno%type ; empinfo emp%rowtype ; BEGIN eno := &en ; -79-

80 SELECT * INTO empinfo FROM emp WHERE empno=eno ; DBMS_OUTPUT.put_line(' 雇 员 编 号 :' empinfo.empno) ; DBMS_OUTPUT.put_line(' 雇 员 姓 名 :' empinfo.ename) ; END ; / 使 用 for 循 环 操 作 游 标 ( 比 较 常 用 ) DECLARE -- 声 明 游 标 CURSOR mycur IS SELECT * FROM emp where empno=-1; empinfo emp%rowtype ; cou NUMBER ; BEGIN -- 游 标 操 作 使 用 循 环, 但 是 在 操 作 之 前 必 须 先 将 游 标 打 开 FOR empinfo IN mycur LOOP cou := mycur%rowcount ; DBMS_OUTPUT.put_line(cou ' 雇 员 编 号 :' empinfo.empno) ; DBMS_OUTPUT.put_line(cou ' 雇 员 姓 名 :' empinfo.ename) ; END LOOP ; END ; / 编 写 第 一 个 游 标, 输 出 全 部 的 信 息 DECLARE -- 声 明 游 标 CURSOR mycur IS SELECT * FROM emp ; -- List (EmpPo) empinfo emp%rowtype ; BEGIN -- 游 标 操 作 使 用 循 环, 但 是 在 操 作 之 前 必 须 先 将 游 标 打 开 OPEN mycur ; -- 使 游 标 向 下 一 行 FETCH mycur INTO empinfo ; -- 判 断 此 行 是 否 有 数 据 被 发 现 WHILE (mycur%found) LOOP DBMS_OUTPUT.put_line(' 雇 员 编 号 :' empinfo.empno) ; DBMS_OUTPUT.put_line(' 雇 员 姓 名 :' empinfo.ename) ; -- 修 改 游 标, 继 续 向 下 FETCH mycur INTO empinfo ; END LOOP ; END ; / 也 可 以 使 用 另 外 一 种 方 式 循 环 游 标 :LOOP END LOOP; DECLARE -- 声 明 游 标 -80-

81 CURSOR mycur IS SELECT * FROM emp ; empinfo emp%rowtype ; BEGIN -- 游 标 操 作 使 用 循 环, 但 是 在 操 作 之 前 必 须 先 将 游 标 打 开 OPEN mycur ; LOOP -- 使 游 标 向 下 一 行 FETCH mycur INTO empinfo ; EXIT WHEN mycur%notfound ; DBMS_OUTPUT.put_line(' 雇 员 编 号 :' empinfo.empno) ; DBMS_OUTPUT.put_line(' 雇 员 姓 名 :' empinfo.ename) ; END LOOP ; END ; / 注 意 1: 在 打 开 游 标 之 前 最 好 先 判 断 游 标 是 否 已 经 是 打 开 的 通 过 ISOPEN 判 断, 格 式 : 游 标 %ISOPEN IF mycur%isopen THEN null ; ELSE OPEN mycur ; END IF ; 注 意 2: 可 以 使 用 ROWCOUNT 对 游 标 所 操 作 的 行 数 进 行 记 录 DECLARE -- 声 明 游 标 CURSOR mycur IS SELECT * FROM emp ; empinfo emp%rowtype ; cou NUMBER ; BEGIN -- 游 标 操 作 使 用 循 环, 但 是 在 操 作 之 前 必 须 先 将 游 标 打 开 IF mycur%isopen THEN null ; ELSE OPEN mycur ; END IF ; LOOP -- 使 游 标 向 下 一 行 FETCH mycur INTO empinfo ; EXIT WHEN mycur%notfound ; cou := mycur%rowcount ; DBMS_OUTPUT.put_line(cou ' 雇 员 编 号 :' empinfo.empno) ; DBMS_OUTPUT.put_line(cou ' 雇 员 姓 名 :' empinfo.ename) ; END LOOP ; -81-

82 END ; / 一 次 性 上 涨 全 部 雇 员 的 工 资 根 据 它 所 在 的 部 门 涨 工 资, 规 则 : 10 部 门 上 涨 10% 20 部 门 上 涨 20% 30 部 门 上 涨 30% 所 有 部 门 的 上 涨 工 资, 最 不 能 超 过 5000, 如 果 超 过 5000, 则 工 资 就 为 5000 declare cursor mycur is select * from emp; empinfo emp%rowtype; s emp.sal%type; begin for empinfo in mycur loop if empinfo.deptno = 10 then s := empinfo.sal*1.1; elsif empinfo.deptno = 20 then s := empinfo.sal*1.2; elsif empinfo.deptno = 30 then s := empinfo.sal* 1.3; end if; if s > 5000 then s := 5000; end if; update emp set sal = s where empno = empinfo.empno; end loop; end; / 19.2 函 数 函 数 就 是 一 个 有 返 回 值 的 过 程 定 义 一 个 函 数 : 此 函 数 可 以 根 据 雇 员 的 编 号 查 询 出 雇 员 的 年 薪 CREATE OR REPLACE FUNCTION myfun(eno emp.empno%type) RETURN NUMBER AS rsal NUMBER ; BEGIN SELECT (sal+nvl(comm,0))*12 INTO rsal FROM emp WHERE empno=eno ; RETURN rsal ; END ; / 直 接 写 SQL 语 句, 调 用 此 函 数 : -82-

83 SELECT myfun(7369) FROM dual ; 19.3 练 习 1: 使 用 游 标 和 loop 循 环 来 显 示 所 有 部 门 的 名 称 2: 使 用 游 标 和 loop 循 环 来 显 示 所 有 部 门 的 的 地 理 位 置 ( 用 %found 属 性 ) 3: 接 收 用 户 输 入 的 部 门 编 号, 用 for 循 环 和 游 标, 打 印 出 此 部 门 的 所 有 雇 员 的 所 有 信 息 4: 向 游 标 传 递 一 个 工 种, 显 示 此 工 种 的 所 有 雇 员 的 所 有 信 息 5: 用 更 新 游 标 来 为 雇 员 加 佣 金 : 6: 编 写 一 个 PL/SQL 程 序 块, 对 名 字 以 A 或 S 开 始 的 所 有 雇 员 按 他 们 的 基 本 薪 水 的 10% 给 他 们 加 薪 7: 编 写 一 个 PL/SQL 程 序 块, 对 所 有 的 salesman 增 加 佣 金 500 8: 编 写 一 个 PL/SQL 程 序 块, 以 提 升 2 个 资 格 最 老 的 职 员 为 高 级 职 员 ( 工 作 时 间 越 长, 资 格 越 老 ) 9: 编 写 一 个 PL/SQL 程 序 块, 对 所 有 雇 员 按 他 们 的 基 本 薪 水 的 20% 为 他 们 加 薪, 如 果 增 加 的 薪 水 大 于 300 就 取 消 加 薪 写 一 个 函 数 输 入 一 个 员 工 名 字, 判 断 该 名 字 在 员 工 表 中 是 否 存 在 存 在 返 回 1, 不 存 在 返 回 0 create or replace function empfun(en emp.ename%type) return number as is_exist number; begin select count(*) into is_exist from emp where ename=upper(en); return is_exist; end; / 1. 写 一 个 函 数, 传 入 员 工 编 号, 返 回 所 在 部 门 名 称 create or replace function myfun(eno emp.empno%type) return varchar as name varchar(30); begin select d.dname into name from emp e,dept d where e.deptno = d.deptno and e.empno = eno; return name; end; / 2. 写 一 个 函 数, 传 入 时 间, 返 回 入 职 时 间 比 这 个 时 间 早 的 所 有 员 工 的 平 均 工 资 create or replace function getavgsal(hdate emp.hiredate%type) return number as esal number; -83-

84 begin select avg(sal) into esal from emp where hdate>emp.hiredate; return esal; end; / 删 除 一 张 表 重 复 记 录 (ID 是 自 增 唯 一, 重 复 记 录 : 其 他 字 段 都 是 一 样 ) 非 常 经 典 的 一 道 面 试 题 ( 可 能 存 在 很 多 数 据, 要 求 性 能 比 较 高 ) aa 1 louis 20 2 louis 20 3 jimmy 30 4 louis delete from aa where id not in(select min(id) from aa group by name,age); delete test where id in (select distinct t2.id from test t1,test t2 where t1.id<t2.id and t1.name=t2.name and t1.age=t2.age); delete test where id in (select distinct t1.id from test t1,test t2 where t1.id<t2.id and t1.name=t2.name and t1.age=t2.age); create table tmp as select distinct name,age from aa; truncate table aa; insert into aa select * from tmp; drop table tmp; create table tmp as select * from aa where 1=2; DECLARE CURSOR mycur IS select * from aa order by id; a1 aa%rowtype; cou number; begin for a1 in mycur loop select count(*) into cou from tmp where name=a1.name and age=a1.age; -84-

85 if cou=0 then insert into tmp values(a1.id,a1.name,a1.age); else delete from aa where id = a1.id; end if; end loop; end; DECLARE CURSOR mycur IS select * from aa order by id; a1 aa%rowtype; cou number; begin for a1 in mycur loop select count(*) into cou from tmp where name=a1.name and age=a1.age; if cou=0 then insert into tmp values(a1.id,a1.name,a1.age); end if; end loop; delete from aa; insert into aa select * from tmp; end; 1: 创 建 一 个 可 以 向 dept 表 中 插 入 一 行 的 过 程 2: 创 建 一 个 过 程, 传 入 雇 员 名, 返 回 该 雇 员 的 薪 水 ( 薪 金 + 佣 金 ) 3: 创 建 一 个 过 程, 传 入 雇 员 号, 和 薪 水 及 增 长 比 例 (10%=0.1) 其 中 薪 水 为 in out 参 数! 更 新 薪 水 为 新 薪 水 用 一 个 PL/SQL 程 序 块 来 调 用 此 过 程, 其 传 入 到 过 程 中 的 参 数 都 是 用 户 输 入 得 到 的 4: 编 写 一 个 函 数, 以 deptno 为 标 准, 返 回 此 部 门 所 有 雇 员 的 整 体 薪 水 5: 编 写 一 个 函 数, 接 收 deptno, 和 name(out), 返 回 此 部 门 的 名 称 和 地 址 6; 编 写 一 个 过 程 以 显 示 所 指 定 雇 员 名 的 雇 员 部 门 名 和 位 置 7; 编 写 一 个 给 特 殊 雇 员 加 薪 10% 的 过 程, 这 之 后, 检 查 如 果 已 经 雇 佣 该 雇 员 超 过 了 60 个 月, 则 给 他 额 外 加 薪

86 8: 编 写 一 个 函 数 一 检 查 所 指 定 雇 员 的 薪 水 是 否 在 有 效 范 围 内, 不 同 职 位 的 薪 水 范 围 为 : clerk salesman analyst others 4501-n 如 果 薪 水 在 此 范 围 内, 则 显 示 消 息 salaly is ok!, 否 则, 更 新 薪 水 为 该 范 围 内 的 最 小 值 9: 编 写 一 个 函 数 以 显 示 该 雇 员 在 此 组 织 中 的 工 作 天 数 第 二 十 一 章 存 储 过 程 20.1 过 程 ( 存 储 过 程 ) 与 过 程 相 比, 存 储 过 程 是 存 在 数 据 库 中 的 一 个 对 象 如 果 编 译 错 误 可 以 用 show errors or show errors procedure myproc 现 在 定 义 一 个 简 单 的 过 程, 就 是 打 印 一 个 数 字 CREATE OR REPLACE PROCEDURE myproc AS i NUMBER ; BEGIN i := 100 ; DBMS_OUTPUT.put_line('i = ' i) ; END ; / 执 行 过 程 : exec 过 程 名 字 下 面 编 写 一 个 过 程, 要 求, 可 以 传 入 部 门 的 编 号, 部 门 的 名 称, 部 门 的 位 置, 之 后 调 用 此 过 程 就 可 以 完 成 部 门 的 增 加 操 作 CREATE OR REPLACE PROCEDURE myproc(dno dept.deptno%type,name dept.dname%type,dl dept.loc%type) AS cou NUMBER ; BEGIN -- 判 断 插 入 的 部 门 编 号 是 否 存 在, 如 果 存 在 则 不 能 插 入 SELECT COUNT(deptno) INTO cou FROM dept WHERE deptno=dno ; IF cou=0 THEN -- 可 以 增 加 新 的 部 门 INSERT INTO dept(deptno,dname,loc) VALUES(dno,name,dl) ; -86-

87 DBMS_OUTPUT.put_line(' 部 门 插 入 成 功!') ; ELSE DBMS_OUTPUT.put_line(' 部 门 已 存 在, 无 法 插 入!') ; END IF ; END ; / 过 程 的 参 数 类 型 : IN: 值 传 递, 默 认 的 IN OUT: 带 值 进, 带 值 出 OUT: 不 带 值 进, 带 值 出 IN OUT 类 型 : CREATE OR REPLACE PROCEDURE myproc(dno IN OUT dept.deptno%type,name dept.dname%type,dl dept.loc%type) AS cou NUMBER ; BEGIN -- 判 断 插 入 的 部 门 编 号 是 否 存 在, 如 果 存 在 则 不 能 插 入 SELECT COUNT(deptno) INTO cou FROM dept WHERE deptno=dno ; IF cou=0 THEN -- 可 以 增 加 新 的 部 门 INSERT INTO dept(deptno,dname,loc) VALUES(dno,name,dl) ; DBMS_OUTPUT.put_line(' 部 门 插 入 成 功!') ; -- 修 改 dno 的 值 dno := 1 ; ELSE DBMS_OUTPUT.put_line(' 部 门 已 存 在, 无 法 插 入!') ; dno := -1 ; END IF ; END ; / 编 写 PL/SQL 块 验 证 过 程 : DECLARE deptno dept.deptno%type ; BEGIN deptno := 12 ; myproc(deptno,' 开 发 ',' 南 京 ') ; DBMS_OUTPUT.put_line(deptno) ; END ; / OUT 类 型 不 带 任 何 值 进, 只 把 值 带 出 来 CREATE OR REPLACE PROCEDURE myproc(dno OUT dept.deptno%type) AS I number -87-

88 BEGIN I:= dno; END ; / 执 行 上 面 的 存 储 过 程 DECLARE deptno dept.deptno%type ; BEGIN deptno :=12 myproc(deptno) ; DBMS_OUTPUT.put_line(deptno) ; END ; / 20.2 练 习 下 面 编 写 一 个 存 储 过 程, 要 求, 可 以 传 入 部 门 的 编 号, 部 门 的 名 称, 部 门 的 位 置, 之 后 调 用 此 过 程 就 可 以 完 成 部 门 的 增 加 操 作 create or replace procedure myproc(dno dept.deptno%type, dn dept.dname%type,dl dept.loc%type) as cou number; begin select count(*) into cou from dept where deptno = dno; if cou=0 then insert into dept values (dno,dn,dl); dbms_output.put_line(' 增 加 部 门 成 功 '); else dbms_output.put_line(' 部 门 已 存 在 '); end if; end; / 1. 创 建 三 张 表 dept10,dept20,dept30, 表 结 构 和 dept 一 致 ( 不 拷 贝 数 据 ) create table dept10 as select * from dept where 1=2; create table dept20 as select * from dept where 1=2; create table dept30 as select * from dept where 1=2; 2. 编 写 一 个 存 储 过 程 mypro, i. 把 dept 表 中 depto=10 的 数 据, 存 到 dept10, ii. 把 dept 表 中 depto=20 的 数 据, 存 到 dept20 iii. 把 dept 表 中 depto=30 的 数 据, 存 到 dept30 iv. 执 行 该 存 储 过 程 -88-

89 create or replace procedure myproc as begin insert into dept10 select * from dept where deptno=10; insert into dept20 select * from dept where deptno=20; insert into dept30 select * from dept where deptno=30; end; / create or replace procedure mypro as cursor mycur is select * from dept; empinfo emp%rowtype ; begin for empinfo in mycur loop if empinfo.deptno = 10 then insert into dept10 values(empinfo.deptno, empinfo.dname, empinfo.loc); elsif empinfo.deptno = 20 then insert into dept20 values(empinfo.deptno, empinfo.dname, empinfo.loc); elsif empinfo.deptno = 30 then insert into dept30 values(empinfo.deptno, empinfo.dname, empinfo.loc); end if; end loop; end; exec myproc; 3. 删 除 mypro 存 储 过 程 drop procedure myproc; 4. 写 一 个 存 储 过 程 ( 给 一 个 用 户 名, 判 断 该 用 户 名 是 否 存 在 ) create or replace procedure findname(name emp.ename%type,en out number) as i number; begin select count(*) into i from emp where ename=name; if i=1 then en:=i; dbms_output.put_line(' 用 户 存 在 '); else en:=0; dbms_output.put_line(' 用 户 不 存 在 '); end if; end; / -89-

90 5. 执 行 该 存 储 过 程 DECLARE deptno dept.deptno%type ; BEGIN findname(upper('aaa'),deptno) ; DBMS_OUTPUT.put_line(deptno) ; END ; / 6. 编 写 一 个 存 储 过 程, 批 量 插 入 1000 条 数 据 ( 只 插 入 ID 为 奇 数 的 数 据 ) create table test(i number(10)); create or replace procedure add1 as i number(10); begin for i in loop if mod(i,2) = 1 then insert into test values(i); end if; end loop; end; 第 二 十 二 章 触 发 器 存 放 在 数 据 库 中, 并 被 隐 含 执 行 的 存 储 过 程 在 Oracle8i 之 前, 只 允 许 给 予 表 或 者 视 图 的 的 DML 的 操 作, 而 从 Oracle8i 开 始, 不 仅 可 以 支 持 DML 触 发 器, 也 允 许 给 予 系 统 事 件 和 DDL 的 操 作 21.1 语 句 触 发 器 Before 语 句 触 发 器 例 如 : 禁 止 工 作 人 员 在 休 息 日 改 变 雇 员 信 息 create or replace trigger tr_src_emp before insert or update or delete on emp -90-

91 begin if to_char(sysdate,'dy','nls_date_language=american') in( 'SAT','SUN') then raise_application_error(-20001,'can t modify user information in weekend'); end if; end; / 使 用 条 件 谓 语 create or replace trigger tr_src_emp before insert or update or delete on emp begin if to_char(sysdate,'dy') in( ' 星 期 六 ',' 星 期 天 ') then case when inserting then raise_application_error(-20001,'fail to insert'); when updating then raise_application_error(-20001,'fail to update'); when deleting then raise_application_error(-20001,'fail to delete'); end case; end if; end; / after 语 句 触 发 器 例 如 : 为 了 统 计 在 EMP 表 上 的 增 删 改 的 次 数 先 建 一 张 表 Create table audit_table( Name varchar2(20),ins int,upd int,del int,starttime date,endtime date); 然 后 建 立 触 发 器 Create or replace trigger tr_audit_emp After insert or update or delete on emp Declare v_temp int; Begin Select count(*) into v_temp from audit_table Where name= EMP ; If v_temp=0 then Insert into audit_table values( EMP,0,0,0,sysdate,null); End if; -91-

92 Case When inserting then Update audit_table set ins=ins+1,endtime=sysdate where name= EMP ; When updating then Update audit_table set upd=upd+1,endtime=sysdate where name= EMP ; When deleting then Update audit_table set del= del +1,endtime=sysdate where name= EMP ; End case; End; / 21.2 行 触 发 器 执 行 DML 操 作 时, 每 作 用 一 行 就 触 发 一 次 触 发 器 Bofre 行 触 发 器 例 如 : 确 保 员 工 工 资 不 能 低 于 原 有 工 资 Create or replace trigger tr_emp_sal before update of sal on emp for each row begin if :new.sal<:old.sal then raise_application_error(-20010,'sal should not be less'); end if; end; / after 行 触 发 器 例 如 : 统 计 员 工 工 资 变 化 Create table audit_emp_change( Name varchar2(10), Oldsal number(6,2), Newsal number(6,2), Time date); Create or replace trigger tr_sal_sal after update of sal on emp for each row declare v_temp int; -92-

93 begin select count(*) into v_temp from audit_emp_change where name=:old.ename; if v_temp=0 then insert into audit_emp_change values(:old.ename,:old.sal,:new.sal,sysdate); else update audit_emp_change set oldsal=:old.sal,newsal=:new.sal,time=sysdate where name=:old.ename; end if; end; / 限 制 行 触 发 器 Create or replace trigger tr_sal_sal after update of sal on emp for each row when (old.job= SALESMAN ) declare v_temp int; begin select count(*) into v_temp from audit_emp_change where name=:old.ename; if v_temp=0 then insert into audit_emp_change values(:old.ename,:old.sal,:new.sal,sysdate); else update audit_emp_change set oldsal=:old.sal,newsal=:new.sal,time=sysdate where name=:old.ename; end if; end; / 21.3 注 意 事 项 编 写 DML 触 发 器 的 时, 触 发 器 代 码 不 能 从 触 发 器 所 对 应 的 基 表 中 读 取 数 据 例 如 : 如 果 要 基 于 EMP 表 建 立 触 发 器 那 么 该 触 发 器 的 执 行 代 码 不 能 包 含 对 EMP 表 的 查 询 操 作 Create or replace trigger tr_emp_sal Before update of sal on emp For each row declare Maxsal number(6,2); Begin -93-

94 Select max(sal) into maxsal from emp; If :new.sal>maxsal then Raise_application_error(-21000, error ); End if; End; / 创 建 的 时 候 不 会 报 错 但 是 一 旦 执 行 就 报 错 了 update emp set sal=sal*1.1 where deptno= 触 发 器 的 主 要 用 途 控 制 数 据 安 全 例 如 : 在 非 工 作 时 间 不 能 对 EMP 表 做 操 作 create or replace trigger tr_emp_time before insert or update or delete on emp begin if to_char(sysdate,'hh24') not between '9' AND '17' THEN raise_application_error(-20101,'not work time'); end if; end; / 实 现 数 据 统 计 例 如 : 上 面 提 到 的 记 载 员 工 的 工 资 变 化 等 实 现 数 据 的 完 整 性 例 如 : 如 果 只 是 限 制 员 工 的 工 资 不 能 低 于 800, 可 以 选 用 check 约 束 Alter table emp add constraint ck_sal check(sal>=800); 但 如 果 是 限 定 新 工 资 不 能 低 于 其 原 来 工 资, 也 不 能 高 于 20% 则 通 过 约 束 是 无 法 实 现 的 这 时 可 通 过 触 发 器 来 实 现 Create or replace trigger tr_check_sal Before update of sal on emp For each row When(new.sal<old.sal or new.sal>1.2*old.sal) Begin -94-

95 Raise_application_error(-20931, ddd ); End; / 实 现 参 照 完 整 性 约 束 可 实 现 级 联 删 除, 却 不 能 实 现 级 联 更 新 可 通 过 触 发 器 实 现 Create or replace trigger tr_update_cascade after update of deptno on dept for each row begin update emp set deptno=:new.deptno where deptno=:old.deptno; end; / 21.5 系 统 事 件 触 发 器 -95-

96 案 例 启 动 和 关 闭 触 发 器 登 录 和 退 出 触 发 器 -96-

97 DDL 触 发 器 -97-

98 21.6 管 理 触 发 器 -98-

99 第 二 十 三 章 事 务 ( 数 据 库 系 统 概 论 ) 22.1 事 务 控 制 在 oracle 中 每 个 连 接 都 会 产 生 一 个 Session, 一 个 session 对 数 据 库 的 修 改, 不 会 立 刻 反 映 到 数 据 库 的 真 实 数 据 上, 是 允 许 回 滚 的 只 有 当 提 交 了, 才 变 成 持 久 数 据 了 可 能 出 现 死 锁 的 情 况 原 子 性 (Atomicity) 一 致 性 (Consistency) 隔 离 性 (Isolation ) 持 久 性 (Durability ) 原 子 性 和 一 致 性 的 差 别? 原 子 性 : 只 一 个 事 务 中, 包 含 若 干 个 数 据 操 作, 这 些 操 作 是 一 个 整 体, 要 么 一 起 完 成, 要 么 一 起 不 完 成, 不 能 只 完 成 其 中 的 一 部 分 比 如 你 去 银 行 转 帐, 从 一 个 账 户 转 帐 到 另 一 个 账 户, 这 是 一 个 完 整 的 事 务, 包 括 两 个 操 作, 从 你 第 一 个 账 户 读 数, 增 加 到 第 二 个 账 户, 并 减 去 第 一 个 账 户 中 的 钱, 如 果 这 些 操 作 有 一 个 失 败 了, 整 个 事 务 都 必 须 还 原 成 最 开 始 的 状 态 一 致 性 : 是 指 数 据 库 从 一 个 完 整 的 状 态 跳 到 另 一 个 完 整 的 状 态, 是 用 于 保 护 数 据 库 的 完 整 性 的 比 如 你 修 改 数 据 库 的 某 个 外 键 值, 如 果 没 有 和 相 应 的 主 键 对 应, 就 违 反 了 数 据 库 的 一 致 性 另 外, 还 有 读 一 致 性, 如 : 你 刚 写 入 一 个 数 到 数 据 库 中, 但 还 没 有 提 交, 这 时 候 有 人 要 读 这 个 数, 就 涉 及 完 整 性 问 题, 要 保 证 读 取 的 数 据 在 整 个 数 据 库 中 是 处 于 和 其 他 数 据 一 致 的 一 个 状 态 -99-

100 第 二 十 四 章 用 户 管 理 注 意 : 如 果 要 创 建 用 户 只 能 在 管 理 员 下 完 成 : 超 级 管 理 员 :sys/sys 普 通 管 理 员 :system/system 用 户 : scott/tiger 23.1 创 建 用 户 CREATE USERS 用 户 名 IDENTIFIED BY 密 码 - create user test identified by admin - 用 户 名 :test - 密 码 :admin 23.2 删 除 用 户 Drop user test; 如 果 该 用 户 下 面 已 经 存 在 表 等 一 些 数 据 库 对 象 则 必 须 用 级 联 删 除 Drop user test cascade; 23.3 创 建 Session 权 限 一 般 在 数 据 库 中, 一 个 用 户 的 连 接 称 为 建 立 一 个 session, 如 果 一 个 新 的 用 户 想 访 问 数 据 库, 则 必 须 授 予 创 建 session 的 权 限 用 户 授 权 GRANT 权 限 TO 用 户 给 test 用 户 以 创 建 session 的 权 限 :GRANT create session TO test ; 以 上 用 户 虽 然 可 以 连 接 了, 但 是 不 能 有 任 何 的 操 作 ( 比 如 创 建 表 ) 23.4 用 户 角 色 角 色 是 权 限 的 集 合 在 Oracle 中 提 供 了 两 个 角 色, 可 以 直 接 将 这 两 个 角 色 给 用 户 : CONNECT 角 色 : RESOURCE 角 色 : 现 在 将 这 两 个 角 色 给 test 用 户 GRANT CONNECT,RESOURCE TO test ; -100-

101 这 时 有 创 建 表 的 权 限 了, 但 是 还 是 不 能 创 建 表 主 要 是 因 为 该 用 户 还 没 有 对 表 空 间 操 作 的 权 限 Q:ORA-01950: no privileges on Tablespace 'USERS' A: GRANT UNLIMITED TABLESPACE TO youruser; 1.CONNECT, RESOURCE, DBA 这 些 预 定 义 角 色 主 要 是 为 了 向 后 兼 容 其 主 要 是 用 于 数 据 库 管 理 oracle 建 议 用 户 自 己 设 计 数 据 库 管 理 和 安 全 的 权 限 规 划, 而 不 要 简 单 的 使 用 这 些 预 定 角 色 将 来 的 版 本 中 这 些 角 色 可 能 不 会 作 为 预 定 义 角 色 2.DELETE_CATALOG_ROLE, EXECUTE_CATALOG_ROLE, SELECT_CATALOG_ROLE 这 些 角 色 主 要 用 于 访 问 数 据 字 典 视 图 和 包 3.EXP_FULL_DATABASE, IMP_FULL_DATABASE 这 两 个 角 色 用 于 数 据 导 入 导 出 工 具 的 使 用 23.5 锁 住 一 个 用 户 ALTER USER 用 户 名 ACCOUNT LOCK UNLOCK - ALTER USER test ACCOUNT LOCK ; - ALTER USER test ACCOUNT UNLOCK ; 23.6 密 码 失 效 提 示 用 户 第 一 次 连 接 的 时 候 需 要 修 改 密 码, 让 用 户 的 密 码 到 期 - ALTER USER test PASSWORD expire ; 23.7 对 象 授 权 以 上 的 所 有 操 作 只 针 对 于 test 用 户 如 果 test 要 访 问 其 他 用 户 呢? 例 如, 访 问 emp 表 此 时 如 果 要 想 让 其 可 以 访 问, 则 必 须 把 scott 用 户 下 的 emp 表 的 查 询 权 限 给 test GRANT 权 限 (select update insert delete) ON schema.table TO 用 户 - GRANT select ON scott.emp TO test ; - Grant all on scott.emp to test; -- 将 表 相 关 的 所 有 权 限 付 给 test - Grant update(ename) on emp to test; 可 以 控 制 到 列 ( 还 有 insert) -101-

102 23.8 权 限 回 收 REVOKE 权 限 ON schema.table FROM 用 户 - REVOKE select ON scott.emp FROM test ; 23.9 查 看 权 限 select * from user_sys_privs; 权 限 传 递 Grant create session to test with admin option;( 可 以 就 可 以 实 现 权 限 传 递 ) Q: 如 果 权 限 sys->test->test1, 这 时 断 掉 test 的 权 限, test1 还 会 有 权 限 吗? A: 在 oracle9i 是, 答 案 是 还 会 有 角 色 角 色 就 是 一 堆 权 限 的 集 合 Create role myrole; Grant create table to myrole; Drop role myrole; 删 除 角 色 某 真 实 项 目 实 例 (BaoBao121) Linux 下 的 操 作 (Windows 下 类 似 ) 1: 建 立 相 应 的 目 录 并 变 更 其 所 有 者 以 及 组 ## 建 目 录 #mkdir /opt/oracle/oradata/baobaodata ## 变 更 所 有 者 #chown oracle /opt/oracle/oradata/baobaodata/ ## 变 更 组 #chgrp oinstall /opt/oracle/oradata/baobaodata/ 2: 创 建 表 空 间 ## 转 到 oracle 用 户 执 行 操 作, 注 意 要 有 中 划 线 #su - oracle -102-

103 ## 进 入 SQL 操 作 #sqlplus /nolog SQL>connect / as sysdba ## 执 行 创 建 表 空 间 SQL>CREATE TABLESPACE baobao121 DATAFILE '/opt/oracle/oradata/baobaodata/baobao121.dbf' SIZE 200M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; SQL>create temporary tablespace baobao121_temp tempfile '/opt/oracle/oradata/baobaodata/baobao121_temp.dbf' size 50M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL; 3: 增 加 相 关 的 用 户 及 权 限 ## 增 加 用 户 SQL>create user baobao121 identified by baobao121 DEFAULT TABLESPACE baobao121 temporary tablespace baobao121_temp; ## 增 加 权 限 SQL>grant all privileges to baobao121; ## 测 试 连 接 SQL>conn baobao121/baobao121; SQL>show user; 显 示 应 为 USER is "BAOBAO121" -103-

104 第 二 十 五 章 备 份 恢 复 SQLLoader Oracle 教 程 24.1 imp 导 入 import 24.2 exp 导 出 export 24.3 SQL Loader 在 Oracle 数 据 库 中, 我 们 通 常 在 不 同 数 据 库 的 表 间 记 录 进 行 复 制 或 迁 移 时 会 用 以 下 几 种 方 法 : 1. A 表 的 记 录 导 出 为 一 条 条 分 号 隔 开 的 insert 语 句, 然 后 执 行 插 入 到 B 表 中 2. 建 立 数 据 库 间 的 dblink, 然 后 用 create table B as select * from A@dblink where..., 或 insert into B select * from A@dblink where exp A 表, 再 imp 到 B 表,exp 时 可 加 查 询 条 件 4. 程 序 实 现 select from A.., 然 后 insert into B..., 也 要 分 批 提 交 5. 再 就 是 本 篇 要 说 到 的 Sql Loader(sqlldr) 来 导 入 数 据, 效 果 比 起 逐 条 insert 来 很 明 显 第 1 种 方 法 在 记 录 多 时 是 个 噩 梦, 需 三 五 百 条 的 分 批 提 交, 否 则 客 户 端 会 死 掉, 而 且 导 入 过 程 很 慢 如 果 要 不 产 生 REDO 来 提 高 insert into 的 性 能, 就 要 下 面 那 样 做 : alter table B nologging; sql loader 的 用 法 : 1. 只 使 用 一 个 控 制 文 件, 在 这 个 控 制 文 件 中 包 含 数 据 ( 推 荐 ) 2. 使 用 一 个 控 制 文 件 ( 作 为 模 板 ) 和 一 个 数 据 文 件 Csv 文 件 如 下 :(dept1.csv) " ","DEPTNO","DNAME","LOC" "1","10","ACCOUNTING","NEW YORK" "2","20","RESEARCH","DALLAS" "3","30","SALES","CHICAGO" "4","40","OPERATIONS","BOSTON" "5","50","sdsaf","adf" "6","12","aaa","aaa" Ctl 文 件 如 下 :(dept1.ctl) -104-

105 方 式 一 : Load data Infile c:\dept1.csv truncate Into table dept1 ( Deptno position(1:2), Dname position(3:5), Loc ) position(6:8) 方 式 二 : OPTIONS (skip=1,rows=128) -- sqlldr 命 令 显 示 的 选 项 可 以 写 到 这 里 边 来,skip=1 用 来 跳 过 数 据 中 的 第 一 行 LOAD DATA INFILE "c:\dept1.csv" -- 指 定 外 部 数 据 文 件, 可 以 写 多 个 INFILE "another_data_file.csv" 指 定 多 个 数 据 文 件 -- 这 里 还 可 以 使 用 BADFILE DISCARDFILE 来 指 定 坏 数 据 和 丢 弃 数 据 的 文 件, append -- 操 作 类 型, 用 truncate table 来 清 除 表 中 原 有 记 录 INTO TABLE dept1 -- 要 插 入 记 录 的 表 Fields terminated by "," -- 数 据 中 每 行 记 录 用 "," 分 隔 Optionally enclosed by '"' -- 数 据 中 每 个 字 段 用 '"' 框 起, 比 如 字 段 中 有 "," 分 隔 符 时 trailing nullcols -- 表 的 字 段 没 有 对 应 的 值 时 允 许 为 空 ( virtual_column FILLER, -- 跳 过 由 PL/SQL Developer 生 成 的 第 一 列 序 号 deptno,--"dept_seq.nextval", -- 这 一 列 直 接 取 序 列 的 下 一 值, 而 不 用 数 据 中 提 供 的 值 dname,--"'hi ' upper(:dname)",--, 还 能 用 SQL 函 数 或 运 算 对 数 据 进 行 加 工 处 理 loc ) 说 明 : 在 操 作 类 型 truncate 位 置 可 用 以 下 中 的 一 值 : 1) insert -- 为 缺 省 方 式, 在 数 据 装 载 开 始 时 要 求 表 为 空 2) append -- 在 表 中 追 加 新 记 录 3) replace -- 删 除 旧 记 录 ( 用 delete from table 语 句 ), 替 换 成 新 装 载 的 记 录 4) truncate -- 删 除 旧 记 录 ( 用 truncate table 语 句 ), 替 换 成 新 装 载 的 记 录 执 行 命 令 Sqlldr scott/tiger control=dept1.ctl 看 看 日 志 文 件, 坏 数 据 文 件, 从 中 可 让 你 更 好 的 理 解 Sql Loader, 里 面 有 对 控 制 文 件 的 解 析 列 出 每 个 字 段 的 类 型 加 载 记 录 的 统 计 出 错 原 因 等 信 息 -105-

106 第 二 十 六 章 数 据 库 设 计 范 式 25.1 第 一 范 式 : 字 段 要 设 计 的 不 可 再 分 Name 字 段 可 拆 分 成 FirstName+LastName 25.2 第 二 范 式 : 两 个 表 的 关 系, 在 第 三 张 关 系 表 中 体 现 比 如 学 生 和 课 程 表 为 多 对 多 的 关 系 这 种 关 系 需 要 在 第 三 张 表 中 体 现 25.3 第 三 范 式 : 多 张 表 中, 只 存 关 系, 不 存 具 体 信 息 ( 具 体 开 发 中 用 的 最 多 ) 比 如 : emp,dept 如 果 一 对 多 用 第 三 张 表 ( 关 系 表 ) 来 表 示, 则 会 出 现 问 题 ( 一 个 员 工 可 能 属 于 多 个 部 门, 显 然 这 是 不 符 合 现 实 逻 辑 的 ) 25.4 总 范 式 数 据 库 表 关 联 越 少 越 好,SQL 语 句 复 杂 度 越 低 越 好 三 种 范 式 其 实 只 供 参 与 数 据 库 设 计 原 则 : 数 据 库 表 关 联 越 少 越 好,SQL 语 句 复 杂 度 越 低 越 好 所 以 有 时 候, 违 反 了 第 三 范 式, 但 是 简 化 了 查 询 语 句 加 快 的 检 索 速 度 例 如 : 我 们 开 发 的 某 日 本 项 目 中, serviceoffice (serviceofficeid) (1 >N) careuserham (careuid serviceofficeid) careuserham (careuid serviceofficeid) (1 >N) helperassign (assigned careuid servicedate serviceofficeid) 这 里 的 helperassign 表 中 的 serviceofficeid 就 是 冗 余 字 段, 不 符 合 第 三 范 式 但 是 因 为 加 上 这 个 字 段, 使 的 检 索 速 度 加 快 不 下 10 倍 -106-

107 第 二 十 七 章 数 据 库 设 计 工 具 Oracle 教 程 26.1 PowerDesigner 26.2 ErWin 26.3 Rose 26.4 权 限 系 统 设 计 首 先, 我 来 介 绍 一 下 系 统 的 主 要 组 成 部 分, 因 为 是 权 限 系 统, 所 以 它 的 组 成 主 要 由 模 块 权 限 角 色 权 限 用 户 权 限 三 大 部 分 组 成, 下 面 将 详 细 介 绍 一 下 三 大 权 限 的 作 用 以 及 它 们 互 相 存 在 的 依 赖 性 模 块 权 限 部 份, 说 白 一 点 就 是 管 理 系 统 中 的 功 能 模 块, 而 在 这 些 模 块 中, 它 们 有 着 各 式 各 样 的 具 体 的 操 作, 这 些 具 体 的 操 作 权 限 就 是 模 块 权 限, 例 如 现 新 加 了 一 个 用 户 管 理 的 功 能 模 块, 在 这 个 模 块 设 计 中 需 要 进 行 浏 览 添 加 修 改 删 除 审 核 查 询 等 一 些 具 体 的 操 作, 在 系 统 运 行 的 过 程 中, 不 是 所 有 的 用 户 都 会 拥 有 这 些 权 限 的, 根 据 需 要, 就 产 生 了 下 面 的 角 色 权 限 -107-

108 角 色 权 限 部 分, 它 就 是 一 个 身 份, 拥 有 这 个 身 份 的 用 户 在 系 统 中 能 做 些 什 么, 不 能 做 些 什 么, 用 户 都 得 依 照 这 个 身 份, 无 法 过 界, 这 也 是 一 个 权 限 的 范 围 限 定, 在 一 个 管 理 系 统 有 很 多 的 用 户, 我 们 不 能 将 模 块 中 的 权 限 逐 个 的 分 配 给 用 户, 现 在 角 色 的 出 现 就 解 决 了 这 个 问 题, 它 就 像 一 个 权 限 组, 将 模 块 的 权 限 指 派 给 角 色, 让 拥 有 该 角 色 的 用 户 可 以 拥 有 对 模 块 对 应 的 操 作 权 限, 然 而, 一 个 系 统 中 用 户 可 能 会 成 千 上 万 不 等, 但 我 想 角 色 最 多 不 过 几 十 个, 将 模 块 权 限 授 权 给 几 十 个 角 色 比 授 权 给 上 万 个 用 户 轻 松 多 了, 角 色 虽 然 是 权 限 组, 有 限 定 的 作 用 范 围, 但 是 也 有 会 出 现 意 外 情 况 的 时 候, 如 果 一 个 用 户 有 操 作 用 户 模 块 的 角 色, 但 对 它 的 有 个 特 殊 的 要 求, 就 是 不 能 操 作 用 户 模 块 中 的 删 除 或 其 它 功 能, 还 有 就 是 它 还 有 操 作 另 外 模 块 的 权 限, 而 它 拥 有 的 角 色 只 能 访 问 用 户 模 块, 怎 么 办 呢? 难 道 要 为 这 一 个 用 户 再 建 立 一 个 角 色 吗? 我 的 回 答 是 No. 现 在 我 介 绍 我 们 系 统 中 的 最 后 一 个 权 限, 它 就 是 用 户 权 限, 我 想 很 多 朋 友 以 前 在 开 发 管 理 系 统 时 都 用 过 这 种 权 限 模 式, 虽 然 这 种 方 法 比 较 原 始, 但 它 能 解 决 我 们 上 面 所 遇 到 的 问 题, 当 然, 还 需 要 做 一 些 小 小 的 改 进, 在 角 色 中, 我 们 只 告 诉 用 户 能 做 什 么, 没 有 告 诉 的 就 不 能 做, 以 角 色 做 权 限 批 量 判 断 这 点 已 经 够 了, 而 用 户 单 独 的 权 限 判 断 有 点 特 殊, 它 得 跳 出 角 色 它 的 权 限 优 先 于 角 色 的 权 限, 它 拥 有 对 某 权 限 允 许 和 禁 止 操 作 的 功 能, 例 如 一 个 用 户 的 角 色 权 限 可 以 操 作 用 户 模 块 所 有 的 功 能, 而 该 用 户 拥 有 了 该 模 块 某 一 功 能 的 禁 止 权 限, 那 该 用 户 不 能 对 这 个 模 块 进 行 该 功 能 操 作, 反 之, 用 户 角 色 没 有 授 权 这 个 模 块 功 能, 而 用 户 权 限 被 授 予 了 这 个 功 能 模 块 的 允 许 权 限, 那 它 就 能 操 作 该 功 能, 流 程 图 如 下 -108-

109 功 能 表 :Function 序 号 列 名 数 据 类 型 长 度 小 数 位 标 识 主 键 允 许 空 默 认 值 说 明 1 FuctionId int 4 0 是 否 功 能 Id 2 FunctionName nvarchar 50 0 是 功 能 名 称 模 块 表 :Module 序 号 列 名 数 据 类 型 长 度 小 数 位 标 识 主 键 允 许 空 默 认 值 说 明 1 ModuleId int 4 0 是 是 否 模 块 Id 主 键 -109-

110 2 ModuleName nvarchar 50 0 是 模 块 名 称 3 ModuleUrl nvarchar 50 0 是 模 块 路 径 模 块 功 能 表 :ModuleFuntion 序 号 列 名 数 据 类 型 长 度 小 数 位 标 识 主 键 允 许 空 默 认 值 说 明 1 ModuleFuntionId int 4 0 是 否 模 块 功 能 Id 主 键 2 ModuleId int 4 0 是 模 块 Id 3 FunctionId int 4 0 是 功 能 Id 角 色 表 :Role 序 号 列 名 数 据 类 型 长 度 小 数 位 标 识 主 键 允 许 空 默 认 值 说 明 1 RoleId int 4 0 是 是 否 角 色 Id 主 键 2 RoleName nvarchar 50 0 是 角 色 名 称 角 色 权 限 表 :RoleRight 序 号 列 名 数 据 类 型 长 度 小 数 位 标 识 主 键 允 许 空 默 认 值 说 明 1 RoleRightId int 4 0 是 是 否 角 色 权 限 Id 主 键 2 RoleId int 4 0 是 角 色 Id 3 ModuleFunctionId int 4 0 是 模 块 功 能 Id 用 户 权 限 表 :UserRight -110-

111 序 号 列 名 数 据 类 型 长 度 小 数 位 标 识 主 键 允 许 空 默 认 值 说 明 1 UserRightId int 4 0 是 是 否 用 户 权 限 Id 主 键 2 UserId int 4 0 是 用 户 Id 3 ModuleFuctionId int 4 0 是 功 能 模 块 Id 用 户 角 色 表 :UserRole 序 号 列 名 数 据 类 型 长 度 小 数 位 标 识 主 键 允 许 空 默 认 值 说 明 1 UserRoleId int 4 0 是 否 用 户 角 色 Id 主 键 2 UserId int 4 0 是 用 户 Id 3 RoleId int 4 0 是 角 色 Id 用 户 表 :Users 序 号 列 名 数 据 类 型 长 度 小 数 位 标 识 主 键 允 许 空 默 认 值 说 明 1 UserId int 4 0 是 是 否 用 户 Id 主 键 自 动 递 增 2 UserName nvarchar 50 0 是 用 户 名 3 PassWord nvarchar 50 0 是 密 码 -111-

112 26.5 订 餐 系 统 设 计 26.6 工 学 结 合 项 目 系 统 设 计 第 二 十 八 章 对 象 关 系 数 据 库 系 统 27.1 数 据 库 发 展 历 程 层 次 型 数 据 库 网 状 型 数 据 库 关 系 型 数 据 库 ( 主 流 )(19 世 纪 70 年 代 ) 对 象 关 系 型 数 据 库 (20 世 纪 80 年 代 开 始 ) 定 义 :ORDBS 是 面 向 对 象 的 数 据 库 模 型 (Object Oriented Data Model 简 称 OO 模 型 ) 和 关 系 型 数 据 模 型 的 结 合 产 物 27.2 对 象 关 系 型 数 据 库 发 展 方 向 1 以 面 向 对 象 的 程 序 设 计 语 言 为 基 础, 研 究 持 久 化 的 程 序 设 计 语 言 支 持 OO 模 型 (Hibernate) 2 建 立 新 的 面 向 对 象 数 据 库 系 统 OODBS, 支 持 OO 数 据 模 型 3 以 关 系 数 据 库 和 SQL 为 基 础, 把 面 向 对 象 技 术 融 入 到 数 据 库 系 统 的 ORDBS 从 纯 粹 的 数 据 库 系 统 角 度 来 说, 第 三 种 发 展 较 为 卓 著 它 在 传 统 的 关 系 数 据 库 的 基 础 上 吸 收 了 OO 模 型 的 主 要 思 想, 同 时 又 保 持 了 关 系 数 据 库 系 统 的 优 点 成 功 开 发 了 诸 如 : Postgres,Illusta 等 原 型 系 统 本 章 课 程 主 要 以 第 三 种 发 展 方 向 来 阐 述 27.3 SQL3 SQL 全 名 是 结 构 化 查 询 语 言 (Structured Query Language), 是 用 于 数 据 库 中 的 标 准 数 据 查 询 语 言,IBM 公 司 最 早 使 用 在 其 开 发 的 数 据 库 系 统 中 1986 年 10 月, 美 国 ANSI 对 SQL 进 行 规 范 后, 以 此 作 为 关 系 式 数 据 库 管 理 系 统 的 标 准 语 言 (ANSI X ),1987 年 得 到 国 际 标 准 组 织 的 支 持 下 成 为 国 际 标 准 SQL3 是 1999 年 发 布 的 新 的 SQL 标 准 最 显 著 的 特 点 就 是 : 提 供 了 面 向 对 象 的 扩 展 克 服 的 原 来 关 系 型 数 据 库 数 据 类 型 单 一 的 缺 点 扩 展 的 类 型 LOB,Boolean, 集 合 类 型 Array. 用 户 定 义 的 Distinct 类 型 现 在 最 新 的 标 准 是 SQL99 ORACLE 不 但 对 标 准 的 SQL 完 全 兼 容, 而 且 有 自 己 更 为 方 便 的 增 强 SQL -112-

113 大 对 象 Lob(Large Object) 类 型 Lob 主 要 分 为 Blob(Binary Large Object), 用 于 存 储 音 频, 图 像 数 据 Clob(Character Large Object) 主 要 用 于 存 储 长 字 符 串 数 据 Lob 对 象 可 以 想 其 他 数 据 类 型 那 样 被 查 询, 修 改, 插 入, 但 是 必 须 为 LOB 提 供 足 够 大 的 缓 冲 区 应 用 程 序 通 常 并 不 传 输 整 个 Lob 类 型 的 值, 而 是 通 过 LOB 定 位 器 访 问 大 对 象 值 Boolean 类 型 除 了 not,and,or 还 增 加 了 every,any 集 合 类 型 (Array) Create table sales( Item_no char(20), // 商 品 号 Qty integer array[12];// 整 数 数 组 存 放 12 个 月 的 销 售 额 ); 插 入 值 的 方 式 : Insert into sales(item_no qty) values( nike10029,array[20,10,20,10,1,12,101,1,1,1,1,1]); 查 询 三 月 份 的 销 售 额 大 于 100 的 商 品 号 Select item_no from sales where qty[3]>100; Distinct 类 型 第 二 十 九 章 其 他 数 据 库 28.1 MYSQL MYSQL 简 介 服 务 器 端 下 载 : 下 载 地 址 : Title: The world's most popular open source database 安 装 的 时 候, -113-

114 第 一 个 选 项 为 : 把 MYSQL 安 装 的 开 发 的 机 器 上, 只 用 少 量 内 存 第 二 个 选 项 为 : 把 MYSQL 安 装 在 服 务 器 上, 将 会 应 用 大 部 分 内 存 第 三 个 选 项 为 : 把 MYSQL 安 装 在 专 门 的 服 务 器 上, 这 时 MYSQL 将 用 掉 所 有 可 用 的 内 存 编 码 格 式 一 定 要 注 意 默 认 开 发 国 内 的 项 目 一 般 选 择 GB

115 Enable root access from remote machines 指 的 是 是 否 可 以 从 远 程 客 户 端 访 问 该 数 据 库 客 户 端 简 介 Mysql Commang Line client( 命 令 行 的 客 户 端 ) Navicat for MySQL( 推 荐 ) Mysql 与 Oracle 的 区 别 特 别 注 意 : 数 据 类 型 的 区 别, 一 些 SQL 命 令 的 区 别, 比 如 :Limit 等 Select * from user limit 2,3 // 指 的 是 从 2 条 以 后 开 始, 找 出 3 条 MYSQL 数 据 库 里, 分 页 的 实 现 非 常 简 单 而 在 Oracle 中, 分 页 的 实 现 显 得 异 常 繁 琐 28.2 DB2-115-

说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基

说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基 内 部 资 料 东 北 师 范 大 教 运 行 基 本 状 态 据 报 告 2015 年 春 季 期 教 务 处 2015 年 10 月 27 日 说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度,

More information

I

I 机 电 一 级 注 册 建 造 师 继 续 教 育 培 训 广 东 培 训 点 网 上 报 名 操 作 使 用 手 册 (2013 年 1 月, 第 一 版 ) 第 一 章 个 人 注 册 与 个 人 信 息 管 理 1. 个 人 注 册 ( 请 每 人 只 申 请 一 个 注 册 号, 如 果 单 位 批 量 报 班 单 位 帮 申 请 注 册, 不 需 个 人 再 注 册 ) 首 次 报 班,

More information

<433A5C446F63756D656E747320616E642053657474696E67735C41646D696E6973747261746F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63>

<433A5C446F63756D656E747320616E642053657474696E67735C41646D696E6973747261746F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63> ( 一 ) 系 统 整 体 操 作 流 程 简 述 3 ( 二 ) 系 统 中 各 角 色 操 作 功 能 说 明 5 1. 学 院 管 理 员 5 2. 教 学 院 长 8 3. 指 导 教 师 10 4. 答 辩 组 组 长 12 5. 学 生 12 6. 系 统 管 理 员 15 ( 一 ) 论 文 系 统 常 见 问 题 16 ( 二 ) 论 文 查 重 常 见 问 题 22 1 2 主

More information

评 委 : 李 炎 斌 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

评 委 : 李 炎 斌 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单 评 委 : 李 炎 斌 - 个 人 清 标 评 审 明 细 表 评 审 因 素 序 号 投 标 单 位 清 标 评 审 1 深 圳 市 创 捷 科 技 有 限 合 格 2 四 川 川 大 智 胜 软 件 股 份 有 限 合 格 3 北 京 航 天 长 峰 科 技 工 业 集 团 有 限 公 司 合 格 4 深 圳 中 兴 力 维 技 术 有 限 合 格 5 深 圳 键 桥 通 讯 技 术 股 份 有

More information

修改版-操作手册.doc

修改版-操作手册.doc 职 称 信 息 系 统 升 级 指 南 须 使 用 IE9 及 其 以 上 版 本 浏 览 器 或 谷 歌 浏 览 器 登 录 www.njrs.gov.cn 南 京 市 职 称 ( 职 业 资 格 ) 工 作 领 导 小 组 办 公 室 2016 年 5 月 目 录 一 申 报 人 员 操 作 指 南...1 1.1 职 称 初 定 申 报...1 1.1.1 职 称 初 定 基 础 信 息 填

More information

文 化 记 忆 传 统 创 新 与 节 日 遗 产 保 护 根 据 德 国 学 者 阿 斯 曼 的 文 化 记 忆 理 论 仪 式 与 文 本 是 承 载 文 化 记 忆 的 两 大 媒 体 在 各 种 仪 式 行 为 中 节 日 以 其 高 度 的 公 共 性 有 组 织 性 和 历 史 性 而 特 别 适 用 于 文 化 记 忆 的 储 存 和 交 流 节 日 的 文 化 功 能 不 仅 在 于

More information

科 学 出 版 社 科 学 出 版 社 前 言 本 书 是 针 对 普 通 高 等 院 校 经 济 类 和 工 商 管 理 类 本 科 专 业 财 务 管 理 学 的 教 学 需 求, 结 合 教 育 部 经 济 管 理 类 本 科 财 务 管 理 学 课 程 教 学 大 纲 编 写 而 成 的 本 书 执 笔 者 都 是 长 期 工 作 在 财 务 管 理 教 学 一 线 的 专 业 教 师,

More information

何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知

何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知 第 卷 第 期 年 月 开 放 教 育 研 究 何 秋 琳 张 立 春 华 南 师 范 大 学 未 来 教 育 研 究 中 心 广 东 广 州 随 着 图 像 化 技 术 和 电 子 媒 体 的 发 展 视 觉 学 习 也 逐 步 发 展 为 学 习 科 学 的 一 个 研 究 分 支 得 到 研 究 人 员 和 教 育 工 作 者 的 广 泛 关 注 基 于 此 作 者 试 图 对 视 觉 学 习

More information

国债回购交易业务指引

国债回购交易业务指引 附 件 1 上 海 证 券 交 易 所 新 质 押 式 国 债 回 购 交 易 业 务 指 引 一 总 述 根 据 上 海 证 券 交 易 所 债 券 交 易 实 施 细 则, 上 证 所 将 于 2006 年 5 月 8 日 起 推 出 新 质 押 式 国 债 回 购 新 质 押 式 回 购 与 现 行 质 押 式 回 购 相 比 区 别 主 要 在 以 下 几 个 方 面 :1 新 质 押 式

More information

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学 1 安 排 组 织 全 国 网 络 统 考 九 月 批 次 网 上 考 前 辅 导 第 一 学 期 第 一 周 统 考 考 前 半 个 月 2 下 发 全 国 网 络 统 考 九 月 批 次 准 考 证 第 一 学 期 第 一 周 导 出 下 半 年 成 人 本 科 学 士 学 位 英 语 统 一 考 试 报 考 3 信 息 第 一 学 期 第 一 周 4 教 学 计 划 和 考 试 计 划 上 网,

More information

抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 % # % % % ) % % # # + #, ) +, % % % % % % % %

抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 % # % % % ) % % # # + #, ) +, % % % % % % % % 抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 王 红 曼 抗 战 时 期 国 民 政 府 为 适 应 战 时 经 济 金 融 的 需 要 实 行 由 财 政 部 四 联 总 处 中 央 银 行 等 多 家 机 构 先 后 共 同 参 与 的 多 元 化 银 行 监 理 体 制 对 战 时 状 态 下 的 银 行 发 展 与 经 营 安 全 进 行 了 大 规 模 的 设 计 与

More information

评 委 : 徐 岩 宇 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

评 委 : 徐 岩 宇 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单 评 委 : 徐 岩 宇 - 个 人 清 标 评 审 明 细 表 评 审 因 素 序 号 投 标 单 位 清 标 评 审 1 深 圳 市 创 捷 科 技 有 限 合 格 2 四 川 川 大 智 胜 软 件 股 份 有 限 合 格 3 北 京 航 天 长 峰 科 技 工 业 集 团 有 限 公 司 合 格 4 深 圳 中 兴 力 维 技 术 有 限 合 格 5 深 圳 键 桥 通 讯 技 术 股 份 有

More information

《C语言基础入门》课程教学大纲

《C语言基础入门》课程教学大纲 C 语 言 开 发 入 门 教 程 课 程 教 学 大 纲 课 程 编 号 :201409210011 学 分 :5 学 分 学 时 :58 学 时 ( 其 中 : 讲 课 学 时 :39 学 时 上 机 学 时 :19 学 时 ) 先 修 课 程 : 计 算 机 导 论 后 续 课 程 :C++ 程 序 设 计 适 用 专 业 : 信 息 及 其 计 算 机 相 关 专 业 开 课 部 门 : 计

More information

0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 考 核 ( 扣 原 因 ) 考 评 得 3 安 全 生 产 目 30 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 无 轻 伤 责 任 事 故 无 重 大 质 量

0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 考 核 ( 扣 原 因 ) 考 评 得 3 安 全 生 产 目 30 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 无 轻 伤 责 任 事 故 无 重 大 质 量 0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 3 无 轻 伤 责 任 事 故 目 标 30 及 事 无 重 大 质 量 工 作 过 失 故 管 无 其 他 一 般 责 任 事 故 理 在 公 司 文 明 环 境 创 建 中, 无 工 作 过 失 及 被 追 究 的

More information

2006年顺德区高中阶段学校招生录取分数线

2006年顺德区高中阶段学校招生录取分数线 2014 年 顺 德 区 高 中 阶 段 学 校 考 试 提 前 批 第 一 批 第 二 批 学 校 录 取 根 据 佛 山 市 办 提 供 的 考 生 数 据, 现 将 我 区 2014 年 高 中 阶 段 学 校 考 试 提 前 批 第 一 批 第 二 批 学 校 的 录 取 公 布 如 下 : 一 顺 德 一 中 录 取 分 第 1 志 愿, 总 分 585, 综 合 表 现 评 价 A, 考

More information

,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :,

,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :, : 周 晓 虹 : - -., - - - -. :( ), -,.( ),,, -. - ( ).( ) ', -,,,,, ( ).( ),,, -., '.,, :,,,, :,,,, ,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,,

More information

Microsoft Word - 第7章 图表反转形态.doc

Microsoft Word - 第7章 图表反转形态.doc 第 七 章 图 表 反 转 形 态 我 们 知 道 市 场 趋 势 共 有 三 种 : 上 升 趋 势 下 降 趋 势 和 横 向 整 理 市 场 的 价 格 波 动 都 是 运 行 在 这 三 种 趋 势 中, 所 有 的 走 势 都 是 这 三 种 趋 势 的 排 列 组 合 如 图 市 场 趋 势 结 构 示 意 图 7-1 所 示 市 场 趋 势 结 构 示 意 图 7-1 图 市 场 趋

More information

HSK( 一 级 ) 考 查 考 生 的 日 常 汉 语 应 用 能 力, 它 对 应 于 国 际 汉 语 能 力 标 准 一 级 欧 洲 语 言 共 同 参 考 框 架 (CEF) A1 级 通 过 HSK( 一 级 ) 的 考 生 可 以 理 解 并 使 用 一 些 非 常 简 单 的 汉 语

HSK( 一 级 ) 考 查 考 生 的 日 常 汉 语 应 用 能 力, 它 对 应 于 国 际 汉 语 能 力 标 准 一 级 欧 洲 语 言 共 同 参 考 框 架 (CEF) A1 级 通 过 HSK( 一 级 ) 的 考 生 可 以 理 解 并 使 用 一 些 非 常 简 单 的 汉 语 新 汉 语 水 平 考 试 HSK 为 使 汉 语 水 平 考 试 (HSK) 更 好 地 服 务 于 汉 语 学 习 者, 中 国 国 家 汉 办 组 织 中 外 汉 语 教 学 语 言 学 心 理 学 和 教 育 测 量 学 等 领 域 的 专 家, 在 充 分 调 查 了 解 海 外 实 际 汉 语 教 学 情 况 的 基 础 上, 吸 收 原 有 HSK 的 优 点, 借 鉴 近 年 来 国

More information

金 不 少 于 800 万 元, 净 资 产 不 少 于 960 万 元 ; (3) 近 五 年 独 立 承 担 过 单 项 合 同 额 不 少 于 1000 万 元 的 智 能 化 工 程 ( 设 计 或 施 工 或 设 计 施 工 一 体 ) 不 少 于 2 项 ; (4) 近 三 年 每 年

金 不 少 于 800 万 元, 净 资 产 不 少 于 960 万 元 ; (3) 近 五 年 独 立 承 担 过 单 项 合 同 额 不 少 于 1000 万 元 的 智 能 化 工 程 ( 设 计 或 施 工 或 设 计 施 工 一 体 ) 不 少 于 2 项 ; (4) 近 三 年 每 年 工 程 设 计 与 施 工 资 质 标 准 一 总 则 建 筑 智 能 化 工 程 设 计 与 施 工 资 质 标 准 ( 一 ) 为 了 加 强 对 从 事 建 筑 智 能 化 工 程 设 计 与 施 工 企 业 的 管 理, 维 护 建 筑 市 场 秩 序, 保 证 工 程 质 量 和 安 全, 促 进 行 业 健 康 发 展, 结 合 建 筑 智 能 化 工 程 的 特 点, 制 定 本 标

More information

一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起

一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起 县 乡 两 级 的 政 治 体 制 改 革 如 何 建 立 民 主 的 合 作 新 体 制 县 乡 人 大 运 行 机 制 研 究 课 题 组 引 言 一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起 二 密 县 在 周 初 是 两 个 小 国 密 国 和 郐 国 三 密 县 的 第 一 任 县 令 卓 茂 四 明 清 时 代 的 密 县 二 从 集 中 的 动 员 体

More information

龚 亚 夫 在 重 新 思 考 基 础 教 育 英 语 教 学 的 理 念 一 文 中 援 引 的 观 点 认 为 当 跳 出 本 族 语 主 义 的 思 维 定 式 后 需 要 重 新 思 考 许 多 相 连 带 的 问 题 比 如 许 多 发 音 的 细 微 区 别 并 不 影 响 理 解 和

龚 亚 夫 在 重 新 思 考 基 础 教 育 英 语 教 学 的 理 念 一 文 中 援 引 的 观 点 认 为 当 跳 出 本 族 语 主 义 的 思 维 定 式 后 需 要 重 新 思 考 许 多 相 连 带 的 问 题 比 如 许 多 发 音 的 细 微 区 别 并 不 影 响 理 解 和 语 音 语 篇 语 感 语 域 林 大 津 毛 浩 然 改 革 开 放 以 来 的 英 语 热 引 发 了 大 中 小 学 英 语 教 育 整 体 规 划 问 题 在 充 分 考 虑 地 区 学 校 和 个 体 差 异 以 及 各 家 观 点 的 基 础 上 遵 循 实 事 求 是 逐 级 定 位 逐 层 分 流 因 材 施 教 的 原 则 本 研 究 所 倡 导 的 语 音 语 篇 语 感 语 域

More information

(2015-2016-2)-0004186-04205-1 140242 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 37 37 1 教 203 17 周 2016 年 06 月 13 日 (08:00-09:35) (2015-2016-2)-0004186-04205-1 141011

(2015-2016-2)-0004186-04205-1 140242 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 37 37 1 教 203 17 周 2016 年 06 月 13 日 (08:00-09:35) (2015-2016-2)-0004186-04205-1 141011 关 于 2015-2016 学 年 第 二 学 期 期 末 周 内 考 试 时 间 地 点 安 排 选 课 课 号 班 级 名 称 课 程 名 称 课 程 性 质 合 考 人 数 实 际 人 数 考 试 教 室 考 试 段 考 试 时 间 (2015-2016-2)-0006178-04247-1 130101 测 试 技 术 基 础 学 科 基 础 必 修 课 35 35 1 教 401 17 周

More information

第2章 数据类型、常量与变量

第2章  数据类型、常量与变量 第 2 章 数 据 类 型 常 量 与 变 量 在 计 算 机 程 序 中 都 是 通 过 值 (value) 来 进 行 运 算 的, 能 够 表 示 并 操 作 值 的 类 型 为 数 据 类 型 在 本 章 里 将 会 介 绍 JavaScript 中 的 常 量 (literal) 变 量 (variable) 和 数 据 类 型 (data type) 2.1 基 本 数 据 类 型 JavaScript

More information

珠江钢琴股东大会

珠江钢琴股东大会 证 券 代 码 :002678 证 券 简 称 : 珠 江 钢 琴 公 告 编 号 :2015-038 广 州 珠 江 钢 琴 集 团 股 份 有 限 公 司 2015 年 年 度 股 东 大 会 决 议 公 告 本 公 司 及 董 事 会 全 体 成 员 保 证 信 息 披 露 的 内 容 真 实 准 确 完 整, 没 有 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏 特 别 提 示 :

More information

1600 1000 40 50 2030 2000 采 取 行 动 的 机 会 90% 开 拓 成 功 的 道 路 2

1600 1000 40 50 2030 2000 采 取 行 动 的 机 会 90% 开 拓 成 功 的 道 路 2 简 略 版 本 :2015 3 10 2016 2021 全 球 卫 生 部 门 病 毒 性 肝 炎 战 略 2016 2021 2015 3 12 2012 2010 2014 2015 2016 2021 140 55% 35% 5 15% 5 20% 2.4 1.3 1.5 1 1600 1000 40 50 2030 2000 采 取 行 动 的 机 会 90% 开 拓 成 功 的 道 路

More information

目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理 巡 检 计 划 查 询 详 情 销 售 管

目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理 巡 检 计 划 查 询 详 情 销 售 管 宝 汇 德 Turbocare 微 服 务 系 统 客 户 操 作 手 册 Version 2.0 北 京 宝 汇 德 技 术 服 务 器 有 限 公 司 技 术 研 发 部 目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理... 10 巡

More information

Oracle教程

Oracle教程 2009.5 Louis http://www.bzxindaxin.com http://www.gk-world.com http://www.bzxindaxin.com http://www.gk-world.com http://www.bzxindaxin.com http://www.gk-world.com http://www.bzxindaxin.com http://www.gk-world.com

More information

深圳市新亚电子制程股份有限公司

深圳市新亚电子制程股份有限公司 证 券 代 码 :002388 证 券 简 称 : 新 亚 制 程 公 告 编 号 :2016-053 深 圳 市 新 亚 电 子 制 程 股 份 有 限 公 司 2016 年 第 二 次 临 时 股 东 大 会 决 议 公 告 本 公 司 及 董 事 会 全 体 成 员 保 证 公 告 内 容 真 实 准 确 和 完 整, 不 存 在 虚 假 记 载 误 导 性 陈 述 或 者 重 大 遗 漏 特

More information

Microsoft Word - 文件汇编.doc

Microsoft Word - 文件汇编.doc 北 京 市 中 医 管 理 局 二 一 五 年 四 月 ... 1... 18 2015... 30 京 中 医 政 字 [2014]160 号 1 2 一 充 分 认 识 中 医 健 康 乡 村 建 设 工 作 的 重 要 意 义 二 建 立 健 全 工 作 保 障 机 制 2014 12 15 三 做 好 工 作 启 动 的 准 备 事 宜 1 2014 12 15 5-10 2014 12 15

More information

张 荣 芳 中 山 大 学 历 史 系 广 东 广 州 张 荣 芳 男 广 东 廉 江 人 中 山 大 学 历 史 系 教 授 博 士 生 导 师 我 们 要 打 破 以 前 学 术 界 上 的 一 切 偶 像 以 前 学 术 界 的 一 切 成 见 屏 除 我 们 要 实 地 搜 罗 材 料 到 民 众 中 寻 方 言 到 古 文 化 的 遗 址 去 发 掘 到 各 种 的 人 间 社 会 去

More information

目 录 一 系 统 访 问... 1 二 门 户 首 页 申 报 用 户 审 核 用 户... 2 三 系 统 登 录 用 户 名 密 码 登 录 新 用 户 注 册 用 户 登 录 已 注 册 用

目 录 一 系 统 访 问... 1 二 门 户 首 页 申 报 用 户 审 核 用 户... 2 三 系 统 登 录 用 户 名 密 码 登 录 新 用 户 注 册 用 户 登 录 已 注 册 用 水 路 运 输 建 设 综 合 管 理 信 息 系 统 - 门 户 系 统 用 户 手 册 二 零 一 五 年 十 一 月 目 录 一 系 统 访 问... 1 二 门 户 首 页... 1 1. 申 报 用 户... 1 2. 审 核 用 户... 2 三 系 统 登 录... 4 1. 用 户 名 密 码 登 录... 4 1.1 新 用 户 注 册... 4 1.2 用 户 登 录... 7

More information

上海证券交易所会议纪要

上海证券交易所会议纪要 附 件 上 海 市 场 首 次 公 开 发 行 股 票 网 下 发 行 实 施 细 则 第 一 章 总 则 第 一 条 为 规 范 拟 在 上 海 证 券 交 易 所 ( 以 下 简 称 上 交 所 ) 上 市 的 公 司 首 次 公 开 发 行 股 票 网 下 发 行 业 务, 提 高 首 次 公 开 发 行 股 票 网 下 申 购 及 资 金 结 算 效 率, 根 据 证 券 发 行 与 承 销

More information

中 中 中 中 部 中 岗 位 条 件 历 其 它 历 史 师 地 理 师 生 物 师 体 与 健 康 师 04 05 06 07 从 事 中 历 史 工 从 事 中 地 理 工 从 事 中 生 物 工 从 事 中 体 与 健 康 工 2. 课 程 与 论 ( 历 史 ); 2. 科 ( 历 史 )

中 中 中 中 部 中 岗 位 条 件 历 其 它 历 史 师 地 理 师 生 物 师 体 与 健 康 师 04 05 06 07 从 事 中 历 史 工 从 事 中 地 理 工 从 事 中 生 物 工 从 事 中 体 与 健 康 工 2. 课 程 与 论 ( 历 史 ); 2. 科 ( 历 史 ) 中 中 中 部 中 26 年 系 统 事 业 公 开 计 划 岗 位 条 件 历 其 它 数 师 英 语 师 物 理 师 02 0 从 事 中 数 工 从 事 中 英 语 工 从 事 中 物 理 工 2. 课 程 与 论 ( 数 ); 2. 科 ( 数 );. 数 ; 4. 基 础 数 ; 5. 计 算 数 ; 6. 概 率 论 与 数 理 统 计 ; 7. 应 用 数 ; 8. 数. 课 程 与

More information

2 熟 悉 Visual Basic 的 集 成 开 发 环 境 3 了 解 可 视 化 面 向 对 象 编 程 事 件 驱 动 交 互 式 开 发 等 基 本 概 念 4 了 解 Visual Basic 的 特 点 环 境 要 求 与 安 装 方 法 1 Visual Basic 开 发 应 用

2 熟 悉 Visual Basic 的 集 成 开 发 环 境 3 了 解 可 视 化 面 向 对 象 编 程 事 件 驱 动 交 互 式 开 发 等 基 本 概 念 4 了 解 Visual Basic 的 特 点 环 境 要 求 与 安 装 方 法 1 Visual Basic 开 发 应 用 Visual Basic 程 序 设 计 A 级 分 级 班 教 学 大 纲 ( 供 计 算 机 与 信 息 技 术 基 础 课 程 分 级 教 学 A 级 班 使 用 ) I 前 言 Visual Basic 程 序 设 计 课 程 是 一 门 计 算 机 语 言 基 础 课 程 通 过 对 该 课 程 的 学 习, 使 学 生 初 步 掌 握 Visual Basic 的 语 言 特 点, 掌

More information

中 国 软 科 学 年 第 期!!!

中 国 软 科 学 年 第 期!!! 山 寨 模 式 的 形 成 机 理 及 其 对 组 织 创 新 的 启 示 山 寨 模 式 的 形 成 机 理 及 其 对 组 织 创 新 的 启 示 陶 厚 永 李 燕 萍 骆 振 心 武 汉 大 学 经 济 与 管 理 学 院 武 汉 大 学 中 国 产 学 研 合 作 问 题 研 究 中 心 湖 北 武 汉 北 京 大 学 经 济 研 究 所 光 华 天 成 博 士 后 工 作 站 北 京 本

More information

课程类 别

课程类 别 美 声 演 唱 方 向 培 养 方 案 一 培 养 目 标 本 方 向 要 求 学 生 德 智 体 美 全 面 发 展, 培 养 能 在 文 艺 团 体 从 事 声 乐 演 唱 及 能 在 艺 术 院 校 从 事 本 方 向 教 学 的 高 级 门 人 才 二 培 养 规 格 本 方 向 学 生 应 系 统 掌 握 声 乐 演 唱 方 面 的 理 论 和 技 能, 具 备 较 高 的 声 乐 演 唱

More information

教师上报成绩流程图

教师上报成绩流程图 教 务 管 理 系 统 使 用 说 明 学 生 端 用 户 1 在 校 内 任 何 一 台 连 接 校 园 网 的 计 算 机 上 登 录 教 务 处 主 页 教 务 处 主 页 地 址 : http://jw.stdu.edu.cn/homepage 随 后 点 击 按 钮 ( 见 下 图 所 示 ), 即 可 进 入 综 合 教 务 管 理 系 统 2 在 综 合 教 务 管 理 区 域 内 键

More information

( 二 ) 现 行 统 一 高 考 制 度 不 利 于 培 养 人 的 创 新 精 神,,,,,,,,,,,,, [ ],,,,,,,,,,, :, ;,,,,,,? ( 三 ) 现 行 统 一 高 考 制 度 不 利 于 全 体 学 生 都 获 得 全 面 发 展,, [ ],,,,,,,,,,,

( 二 ) 现 行 统 一 高 考 制 度 不 利 于 培 养 人 的 创 新 精 神,,,,,,,,,,,,, [ ],,,,,,,,,,, :, ;,,,,,,? ( 三 ) 现 行 统 一 高 考 制 度 不 利 于 全 体 学 生 都 获 得 全 面 发 展,, [ ],,,,,,,,,,, ( ) ( )... 李 雪 岩, 龙 耀 (. 广 西 民 族 大 学 商 学 院, 广 西 南 宁 ;. 中 山 大 学 教 育 学 院, 广 东 广 州 ) : 高 等 教 育 是 专 业 教 育 高 考 是 为 高 等 教 育 服 务 的, 是 为 高 等 专 业 教 育 选 拔 有 专 业 培 养 潜 质 的 人 才 现 行 高 考 制 度 忽 略 专 业 潜 质 的 因 素, 过 份 强

More information

名 称 生 命 科 学 学 院 083001 环 境 科 学 1 生 物 学 仅 接 收 院 内 调 剂, 初 试 分 数 满 足 我 院 生 物 学 复 试 最 低 分 数 线 生 命 科 学 学 院 071300 生 态 学 5 生 态 学 或 生 物 学 生 命 科 学 学 院 040102

名 称 生 命 科 学 学 院 083001 环 境 科 学 1 生 物 学 仅 接 收 院 内 调 剂, 初 试 分 数 满 足 我 院 生 物 学 复 试 最 低 分 数 线 生 命 科 学 学 院 071300 生 态 学 5 生 态 学 或 生 物 学 生 命 科 学 学 院 040102 华 中 师 范 大 学 2016 年 接 收 校 内 外 优 秀 硕 士 研 究 生 调 剂 信 息 表 名 称 经 济 与 工 商 管 理 学 院 020101 政 治 经 济 学 1 经 济 学 类 毕 业 学 校 与 报 考 学 校 不 低 于 我 校 办 学 层 次 经 济 与 工 商 管 理 学 院 020105 世 界 经 济 学 1 经 济 学 类 毕 业 学 校 与 报 考 学 校

More information

 编号:

 编号: 编 号 : 企 业 内 高 技 能 人 才 培 养 评 价 实 施 方 案 ( 仅 适 用 于 企 业 特 有 行 业 特 有 工 种 ) 实 施 单 位 ( 公 章 ) 申 报 日 期 年 _ 月 日 1 企 业 内 高 技 能 人 才 培 养 评 价 项 目 实 施 方 案 申 报 表 项 目 名 称 等 级 项 目 性 质 课 时 申 报 单 位 联 系 人 通 讯 地 址 电 话 手 机 电

More information

登录、注册功能的测试用例设计.doc

登录、注册功能的测试用例设计.doc 注 册 登 陆 测 试 用 例 和 修 改 密 码 测 试 用 例 完 整 版 摘 自 网 络, 狗 狗 整 理 zqh139@126.com 修 改 历 史 日 期 版 本 作 者 修 改 内 容 评 审 号 变 更 控 制 号 2010-11-25 1.0 初 稿 2011-09-17 2.0 整 理 一 注 册 测 试 用 例 序 号 : 1 控 件 名 称 : 功 能 描 述 : 注 册 编

More information

i 1) 系 统 运 作 前 设 定 *1. [2.1 网 页 主 机 名 称 设 定 ] -- 设 定 校 务 系 统 的 主 机 IP 地 址, 以 供 其 他 个 人 电 脑 连 接 及 使 用 该 系 统 *2. [2.3.1 输 入 / 修 改 学 校 资 料 ] -- 输 入 系 统 使

i 1) 系 统 运 作 前 设 定 *1. [2.1 网 页 主 机 名 称 设 定 ] -- 设 定 校 务 系 统 的 主 机 IP 地 址, 以 供 其 他 个 人 电 脑 连 接 及 使 用 该 系 统 *2. [2.3.1 输 入 / 修 改 学 校 资 料 ] -- 输 入 系 统 使 校 务 系 统 使 用 步 骤 说 明 手 册 简 介 此 手 册 是 配 合 校 务 系 统 使 用 手 册 编 辑 的, 因 此 必 须 同 时 参 考 校 务 系 统 使 用 手 册, 以 获 知 更 详 细 的 使 用 说 明 此 手 册 主 要 记 载 几 项 较 为 复 杂 事 务 的 处 理 步 骤 及 说 明, 以 让 使 用 者 更 容 易 掌 握 及 使 用 校 务 系 统 其

More information

一、资质申请

一、资质申请 二 工 程 监 理 企 业 资 质 有 关 问 答 111 什 么 样 的 企 业 可 以 在 本 省 申 请 工 程 监 理 企 业 资 质? 答 : 在 鄂 取 得 法 人 营 业 执 照 或 合 伙 企 业 营 业 执 照 的 企 业, 都 可 依 法 向 工 商 注 册 所 在 省 或 市 建 设 行 政 主 管 部 门 行 政 审 批 部 门 申 请 工 程 监 理 企 业 资 质 取 得

More information

定 位 和 描 述 : 程 序 设 计 / 办 公 软 件 高 级 应 用 级 考 核 内 容 包 括 计 算 机 语 言 与 基 础 程 序 设 计 能 力, 要 求 参 试 者 掌 握 一 门 计 算 机 语 言, 可 选 类 别 有 高 级 语 言 程 序 设 计 类 数 据 库 编 程 类

定 位 和 描 述 : 程 序 设 计 / 办 公 软 件 高 级 应 用 级 考 核 内 容 包 括 计 算 机 语 言 与 基 础 程 序 设 计 能 力, 要 求 参 试 者 掌 握 一 门 计 算 机 语 言, 可 选 类 别 有 高 级 语 言 程 序 设 计 类 数 据 库 编 程 类 全 国 计 算 机 等 级 考 试 调 整 方 案 2011 年 7 月, 教 育 部 考 试 中 心 组 织 召 开 了 第 五 届 全 国 计 算 机 等 级 考 试 (NCRE) 考 委 会 会 议, 会 议 完 成 NCRE 考 委 会 换 届 选 举, 并 确 定 了 下 一 步 改 革 和 发 展 的 目 标 在 新 的 历 史 时 期,NCRE 将 以 保 持 稳 定 为 前 提 以

More information

黄 金 原 油 总 持 仓 增 长, 同 比 增 幅 分 别 为 4.2% 和 4.1% 而 铜 白 银 以 及 玉 米 则 出 现 减 持, 减 持 同 比 减 少 分 别 为 9.4%,9.4% 以 及 6.5% 大 豆, 豆 粕 结 束 连 续 4 周 总 持 仓 量 增 长, 出 现 小 幅

黄 金 原 油 总 持 仓 增 长, 同 比 增 幅 分 别 为 4.2% 和 4.1% 而 铜 白 银 以 及 玉 米 则 出 现 减 持, 减 持 同 比 减 少 分 别 为 9.4%,9.4% 以 及 6.5% 大 豆, 豆 粕 结 束 连 续 4 周 总 持 仓 量 增 长, 出 现 小 幅 小 麦 净 多 持 仓 增 加, 豆 油 豆 粕 净 多 持 仓 减 少 美 国 CFTC 持 仓 报 告 部 门 : 市 场 研 究 与 开 发 部 类 型 : 量 化 策 略 周 报 日 期 :212 年 5 月 7 日 电 话 :592-5678753 网 址 :www.jinyouqh.com 主 要 内 容 : 根 据 美 国 CFTC 公 布 的 数 据, 本 报 告 中 的 11 个

More information

世华财讯模拟操作手册

世华财讯模拟操作手册 第 一 部 分 : 股 票 模 拟 操 作 部 分 1. 登 录 与 主 界 面 1.1 登 录 学 生 在 桌 面 上, 打 开 世 华 文 件 夹, 直 接 双 击 文 件 夹 中 的 快 捷 图 标, 系 统 弹 出 世 华 财 讯 模 拟 股 票 交 易 系 统 ( 客 户 端 ) 窗 口, 如 图 1.1 所 示 图 1.1 请 输 入 登 录 名 称 及 密 码, 单 击 确 认 登 录

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 52 5 天 通 过 职 称 计 算 机 考 试 ( 考 点 视 频 串 讲 + 全 真 模 拟 ) Word 2003 中 文 字 处 理 ( 第 2 版 ) 第 3 章 3 字 符 格 式 需 要 掌 握 的 考 点 字 体 字 形 和 字 号 的 设 置 ; 上 标 下 标 空 心 字 等 字 体 效 果 的 使 用 ; 字 符 间 距 的 调 整 ; 改 变 字 符 颜 色 底 纹 添 加

More information

全国建筑市场注册执业人员不良行为记录认定标准(试行).doc

全国建筑市场注册执业人员不良行为记录认定标准(试行).doc - 1 - - 2 - 附 件 全 国 建 筑 市 场 注 册 执 业 人 员 不 良 记 录 认 定 标 准 ( 试 行 ) 说 明 为 了 完 善 建 筑 市 场 注 册 执 业 人 员 诚 信 体 系 建 设, 规 范 执 业 和 市 场 秩 序, 依 据 相 关 法 律 法 规 和 部 门 规 章, 根 据 各 行 业 特 点, 我 部 制 订 了 全 国 建 筑 市 场 注 册 执 业 人

More information

<433A5C55736572735C6B73625C4465736B746F705CB9FABCCAD6D0D2BDD2A9D7A8D2B5B8DFBCB6BCBCCAF5D6B0B3C6C6C0C9F3C9EAC7EBD6B8C4CFA3A832303136CDA8D3C3B0E6A3A92E646F63>

<433A5C55736572735C6B73625C4465736B746F705CB9FABCCAD6D0D2BDD2A9D7A8D2B5B8DFBCB6BCBCCAF5D6B0B3C6C6C0C9F3C9EAC7EBD6B8C4CFA3A832303136CDA8D3C3B0E6A3A92E646F63> 附 件 1 国 际 中 药 专 业 高 级 技 术 职 称 评 审 条 件 及 报 名 材 料 一 系 列 ( 一 ) 中 1 高 级 专 科 ( 副 ) 高 级 专 科 ( 副 ) 1 取 得 中 专 科 职 称 后, 独 立 从 事 中 临 床 实 践 5 年 以 上 2 取 得 中 博 士 学 位 后, 临 床 实 践 2 年 以 上 3 取 得 中 硕 士 学 位 后, 临 床 实 践 7

More information

<4D F736F F D D323630D6D0B9FAD3A6B6D4C6F8BAF2B1E4BBAFB5C4D5FEB2DFD3EBD0D0B6AF C4EAB6C8B1A8B8E6>

<4D F736F F D D323630D6D0B9FAD3A6B6D4C6F8BAF2B1E4BBAFB5C4D5FEB2DFD3EBD0D0B6AF C4EAB6C8B1A8B8E6> 中 国 应 对 气 候 变 化 的 政 策 与 行 动 2013 年 度 报 告 国 家 发 展 和 改 革 委 员 会 二 〇 一 三 年 十 一 月 100% 再 生 纸 资 源 目 录 前 言... 1 一 应 对 气 候 变 化 面 临 的 形 势... 3 二 完 善 顶 层 设 计 和 体 制 机 制... 4 三 减 缓 气 候 变 化... 8 四 适 应 气 候 变 化... 20

More information

一 开 放 性 的 政 策 与 法 规 二 两 岸 共 同 的 文 化 传 承 三 两 岸 高 校 各 自 具 有 专 业 优 势 远 见 杂 志 年 月 日

一 开 放 性 的 政 策 与 法 规 二 两 岸 共 同 的 文 化 传 承 三 两 岸 高 校 各 自 具 有 专 业 优 势 远 见 杂 志 年 月 日 河 北 师 范 大 学 学 报 新 时 期 海 峡 两 岸 高 校 开 放 招 生 问 题 探 讨 郑 若 玲 王 晓 勇 海 峡 两 岸 高 校 开 放 招 生 是 新 时 期 推 进 海 峡 两 岸 高 等 教 育 交 流 与 合 作 的 重 要 尝 试 系 统 梳 理 改 革 开 放 以 来 两 岸 招 生 政 策 与 就 学 人 数 发 展 变 化 的 历 史 进 程 可 发 现 促 进 两

More information

证券代码:000066 证券简称:长城电脑 公告编号:2014-000

证券代码:000066         证券简称:长城电脑        公告编号:2014-000 证 券 代 码 :000066 证 券 简 称 : 长 城 电 脑 公 告 编 号 :2016-092 中 国 长 城 计 算 机 深 圳 股 份 有 限 公 司 2016 年 度 第 三 次 临 时 股 东 大 会 决 议 公 告 本 公 司 及 其 董 事 会 全 体 成 员 保 证 信 息 披 露 内 容 的 真 实 准 确 完 整, 没 有 虚 假 记 载 误 导 性 陈 述 或 重 大 遗

More information

收 入 支 出 项 目 2016 年 预 算 项 目 2016 年 预 算 预 算 01 表 单 位 : 万 元 ( 保 留 两 位 小 数 ) 一 公 共 财 政 预 算 拨 款 50.06 一 人 员 经 费 23.59 1 一 般 财 力 50.06 1 人 员 支 出 21.95 2 成 品

收 入 支 出 项 目 2016 年 预 算 项 目 2016 年 预 算 预 算 01 表 单 位 : 万 元 ( 保 留 两 位 小 数 ) 一 公 共 财 政 预 算 拨 款 50.06 一 人 员 经 费 23.59 1 一 般 财 力 50.06 1 人 员 支 出 21.95 2 成 品 100.12 2016 年 龙 岩 市 部 门 预 算 表 报 送 日 期 : 年 月 日 单 位 负 责 人 签 章 : 财 务 负 责 人 签 章 : 制 表 人 签 章 : 收 入 支 出 项 目 2016 年 预 算 项 目 2016 年 预 算 预 算 01 表 单 位 : 万 元 ( 保 留 两 位 小 数 ) 一 公 共 财 政 预 算 拨 款 50.06 一 人 员 经 费 23.59

More information

Microsoft Word - 资料分析练习题09.doc

Microsoft Word - 资料分析练习题09.doc 行 测 高 分 冲 刺 练 习 题 资 料 分 析 ( 共 15 题, 参 考 时 限 10 分 钟 ) 材 料 题 - 1 2012 年 1 月 某 小 区 成 交 的 二 手 房 中, 面 积 为 60 平 方 米 左 右 的 住 宅 占 总 销 售 套 数 的 ( ) A.25% B.35% C.37.5% 长 沙 市 雨 花 区 侯 家 塘 佳 天 国 际 大 厦 北 栋 20 楼 第 1

More information

3 月 30 日 在 中 国 证 券 报 上 海 证 券 报 证 券 时 报 证 券 日 报 和 上 海 证 券 交 易 所 网 站 上 发 出 召 开 本 次 股 东 大 会 公 告, 该 公 告 中 载 明 了 召 开 股 东 大 会 的 日 期 网 络 投 票 的 方 式 时 间 以 及 审

3 月 30 日 在 中 国 证 券 报 上 海 证 券 报 证 券 时 报 证 券 日 报 和 上 海 证 券 交 易 所 网 站 上 发 出 召 开 本 次 股 东 大 会 公 告, 该 公 告 中 载 明 了 召 开 股 东 大 会 的 日 期 网 络 投 票 的 方 式 时 间 以 及 审 北 京 市 君 致 律 师 事 务 所 关 于 浪 潮 软 件 股 份 有 限 公 司 2015 年 度 股 东 大 会 的 法 律 意 见 书 致 : 浪 潮 软 件 股 份 有 限 公 司 北 京 市 君 致 律 师 事 务 所 ( 以 下 简 称 本 所 ) 受 浪 潮 软 件 股 份 有 限 公 司 ( 以 下 简 称 公 司 ) 的 委 托, 指 派 律 师 出 席 2016 年 4 月

More information

<4D6963726F736F667420576F7264202D20B3D6B2D6CFDEB6EEB1EDB8F1D7EED6D52E646F63>

<4D6963726F736F667420576F7264202D20B3D6B2D6CFDEB6EEB1EDB8F1D7EED6D52E646F63> 国 内 各 期 货 交 易 所 关 于 合 约 限 仓 方 面 的 规 定 上 海 期 货 交 易 所 经 纪 会 员 非 经 纪 会 员 和 客 户 的 期 货 合 约 在 不 同 时 期 限 仓 的 具 体 比 例 和 数 额 如 下 : ( 单 位 : ) 合 约 挂 牌 至 交 割 月 前 第 二 月 的 最 后 一 个 交 易 日 交 割 月 前 第 一 月 交 割 月 份 某 一 期 货

More information

<4D6963726F736F667420576F7264202D20B9D8D3DAB0BABBAAA3A8C9CFBAA3A3A9D7D4B6AFBBAFB9A4B3CCB9C9B7DDD3D0CFDEB9ABCBBE32303132C4EAC4EAB6C8B9C9B6ABB4F3BBE1B7A8C2C9D2E2BCFBCAE92E646F6378>

<4D6963726F736F667420576F7264202D20B9D8D3DAB0BABBAAA3A8C9CFBAA3A3A9D7D4B6AFBBAFB9A4B3CCB9C9B7DDD3D0CFDEB9ABCBBE32303132C4EAC4EAB6C8B9C9B6ABB4F3BBE1B7A8C2C9D2E2BCFBCAE92E646F6378> 上 海 德 载 中 怡 律 师 事 务 所 关 于 昂 华 ( 上 海 ) 自 动 化 工 程 股 份 有 限 公 司 二 〇 一 二 年 年 度 股 东 大 会 法 律 意 见 书 上 海 德 载 中 怡 律 师 事 务 所 上 海 市 银 城 中 路 168 号 上 海 银 行 大 厦 1705 室 (200120) 电 话 :8621-5012 2258 传 真 :8621-5012 2257

More information

ETF、分级基金规模、份额变化统计20130816

ETF、分级基金规模、份额变化统计20130816 ETF 分 级 基 金 规 模 份 额 变 化 统 计 截 至 上 周 末, 全 市 场 股 票 型 ETF 规 模 约 1451 亿, 份 额 约 1215 亿,ETF 总 份 额 及 规 模 的 周 变 动 值 分 别 为 -23-44 亿, 份 额 与 规 模 均 下 降 ; 分 级 基 金 规 模 约 438 亿, 份 额 572 亿, 总 份 额 及 规 模 的 周 变 动 值 分 别 为

More information

(Microsoft Word - NCRE\314\345\317\265\265\367\325\37313\324\27221\272\3051.doc)

(Microsoft Word - NCRE\314\345\317\265\265\367\325\37313\324\27221\272\3051.doc) 川 教 考 院 2013 21 号 全 国 计 算 机 等 级 考 试 调 整 方 案 2011 年 7 月, 教 育 部 考 试 中 心 组 织 召 开 了 第 五 届 全 国 计 算 机 等 级 考 试 NCRE 考 委 会 会 议, 会 议 完 成 NCRE 考 委 会 换 届 选 举, 并 确 定 了 下 一 步 改 革 和 发 展 的 目 标 在 新 的 历 史 时 期,NCRE 将 以

More information

一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创 新 能 力, 综 合 运 用 所 学 知 识 发 现 问 题, 分 析 问 题 和 解 决

一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创 新 能 力, 综 合 运 用 所 学 知 识 发 现 问 题, 分 析 问 题 和 解 决 上 海 市 公 共 卫 生 硕 士 专 业 学 位 论 文 基 本 要 求 和 评 价 指 标 体 系 ( 试 行 ) 上 海 市 学 位 委 员 会 办 公 室 二 O 一 二 年 三 月 一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创

More information

伊 犁 师 范 学 院 611 语 言 学 概 论 全 套 考 研 资 料 <2016 年 最 新 考 研 资 料 > 2-2 语 言 学 纲 要 笔 记, 由 考 取 本 校 本 专 业 高 分 研 究 生 总 结 而 来, 重 点 突 出, 借 助 此 笔 记 可 以 大 大 提 高 复 习 效

伊 犁 师 范 学 院 611 语 言 学 概 论 全 套 考 研 资 料 <2016 年 最 新 考 研 资 料 > 2-2 语 言 学 纲 要 笔 记, 由 考 取 本 校 本 专 业 高 分 研 究 生 总 结 而 来, 重 点 突 出, 借 助 此 笔 记 可 以 大 大 提 高 复 习 效 伊 犁 师 范 学 院 611 语 言 学 概 论 全 套 考 研 资 料 ......2 伊 犁 师 范 学 院 802 文 学 概 论 全 套 考 研 资 料 ......2 伊 犁 师 范 学 院 702 普 通 物 理 全 套 考 研 资 料 ......3 伊 犁

More information

马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则!! # #

马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则!! # # 马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则 马 俊 峰 在 社 会 公 正 问 题 的 大 讨 论 中 罗 尔 斯 诺 齐 克 哈 耶 克 麦 金 泰 尔 等 当 代 西 方 思 想 家 的 论 述 被 反 复 引 用 和 申 说 而 将 马 克 思 恩 格 斯 等 经 典 作 家 的 观 点 置 于 一 种 被 忽 视 甚 至 被 忘 却 的 状 态 形 成 这 种

More information

4 进 入 交 互 区 设 置 的 组 件 管 理, 在 组 件 管 理 中, 教 师 可 以 选 择 课 程 空 间 中 的 所 有 组 件, 并 通 过 点 击 启 用 或 不 启 用 选 定 组 件 在 课 程 空 间 中 的 显 示 5 进 入 工 作 室 管 理 的 工 作 室 首 页,

4 进 入 交 互 区 设 置 的 组 件 管 理, 在 组 件 管 理 中, 教 师 可 以 选 择 课 程 空 间 中 的 所 有 组 件, 并 通 过 点 击 启 用 或 不 启 用 选 定 组 件 在 课 程 空 间 中 的 显 示 5 进 入 工 作 室 管 理 的 工 作 室 首 页, 网 络 教 育 新 平 台 教 师 使 用 简 易 手 册 一 登 录 教 师 工 作 室 1 打 开 西 南 科 技 大 学 网 络 教 育 教 学 教 务 新 平 台 主 页 面 :http://www.swust.net.cn/ 2 在 主 页 面 左 边 的 登 陆 区 中, 用 户 名 和 密 码 处 分 别 输 入 自 己 的 用 户 名 ( 教 师 ID 号 ) 和 密 码 ( 初 始

More information

上证指数

上证指数 上 证 与 修 正 方 法 一 ( 一 ) 计 算 公 式 1. 上 证 指 数 系 列 均 采 用 派 许 加 权 综 合 价 格 指 数 公 式 计 算 2. 上 证 180 指 数 上 证 50 指 数 等 以 成 份 股 的 调 整 股 本 数 为 权 数 进 行 加 权 计 算, 计 算 公 式 为 : 报 告 期 指 数 =( 报 告 期 样 本 股 的 调 整 市 值 / 基 期 )

More information

上海证券交易所会议纪要

上海证券交易所会议纪要 附 件 上 海 市 场 首 次 公 开 发 行 股 票 网 上 发 行 实 施 细 则 第 一 章 总 则 第 一 条 为 规 范 上 海 市 场 首 次 公 开 发 行 股 票 网 上 发 行 行 为, 根 据 证 券 发 行 与 承 销 管 理 办 法 及 相 关 规 定, 制 定 本 细 则 第 二 条 通 过 上 海 证 券 交 易 所 ( 以 下 简 称 上 交 所 ) 交 易 系 统 并

More information

2014年中央财经大学研究生招生录取工作简报

2014年中央财经大学研究生招生录取工作简报 2015 年 中 央 财 经 大 学 研 究 生 招 生 录 取 工 作 简 报 一 硕 士 研 究 生 招 生 录 取 情 况 2015 年 共 有 8705 人 报 考 我 校 硕 士 研 究 生, 其 中 学 术 型 研 究 生 报 考 3657 人, 专 业 硕 士 研 究 生 报 考 5048 人 ; 总 报 考 人 数 较 2014 年 增 长 1.4%, 学 术 型 报 考 人 数 较

More information

西 南 大 学 硕 士 学 位 论 文 网 络 购 物 动 机 问 卷 的 编 制 及 实 测 姓 名 : 曹 建 英 申 请 学 位 级 别 : 硕 士 专 业 : 基 础 心 理 学 指 导 教 师 : 张 进 辅 20090401 网 络 购 物 动 机 问 卷 的

More information

关于修订《沪市股票上网发行资金申购

关于修订《沪市股票上网发行资金申购 关 于 修 订 沪 市 股 票 上 网 发 行 资 金 申 购 实 施 办 法 的 通 知 各 有 关 单 位 : 沪 市 股 票 上 网 发 行 资 金 申 购 实 施 办 法 ( 修 订 稿 ) ( 见 附 件 ) 已 经 中 国 证 券 监 督 管 理 委 员 会 批 准, 现 将 修 订 所 涉 主 要 内 容 公 布 如 下 一 第 二 条 ( 二 ) 申 购 单 位 及 上 限 修 改

More information

2015-2016 学 年 第 二 学 期 集 中 考 试 安 排 (18 周 ) 考 试 日 期 :6 月 27 日 星 期 一 8:10-9:50 第 二 公 共 教 学 楼 A 区 A303 10811046 高 等 数 学 ( 理 二 2) 复 材 1501-2 材 料 科 学 与 工 程

2015-2016 学 年 第 二 学 期 集 中 考 试 安 排 (18 周 ) 考 试 日 期 :6 月 27 日 星 期 一 8:10-9:50 第 二 公 共 教 学 楼 A 区 A303 10811046 高 等 数 学 ( 理 二 2) 复 材 1501-2 材 料 科 学 与 工 程 考 试 时 间 2015-2016 学 年 第 二 学 期 集 中 考 试 安 排 (18 周 ) 考 试 日 期 :6 月 27 日 星 期 一 考 场 所 在 教 学 楼 ( 教 学 区 ) 考 试 教 室 课 程 号 课 程 名 考 生 所 在 专 业 ( 班 级 ) 考 生 所 属 学 院 8:10-9:50 第 二 公 共 教 学 楼 A 区 A101 10811026 高 等 数 学 (

More information

<443A5C6D B5C30312EB9A4D7F7CEC4B5B55C30322EBACFCDACCEC4B5B55C C30342EC8CBC9E7CCFC5C31332ECFEEC4BFC5E0D1B55C E30385C322EB2D9D7F7CAD6B2E12E646F63>

<443A5C6D B5C30312EB9A4D7F7CEC4B5B55C30322EBACFCDACCEC4B5B55C C30342EC8CBC9E7CCFC5C31332ECFEEC4BFC5E0D1B55C E30385C322EB2D9D7F7CAD6B2E12E646F63> 浙 江 职 业 能 力 建 设 信 息 系 统 职 业 技 能 鉴 定 考 务 管 理 用 户 操 作 手 册 二 〇 一 五 年 八 月 目 录 0. 系 统 概 述...3 0.0. 简 要 概 述...3 0.1. 业 务 流 程 图... 3 1. 考 生 网 上 报 名... 3 1.0. 考 生 用 户 注 册 登 录... 5 1.1. 报 名 及 下 载 打 印 报 名 申 请 表...7

More information

附 件 : 上 海 市 建 筑 施 工 企 业 施 工 现 场 项 目 管 理 机 构 关 键 岗 位 人 员 配 备 指 南 二 一 四 年 九 月 十 一 日 2

附 件 : 上 海 市 建 筑 施 工 企 业 施 工 现 场 项 目 管 理 机 构 关 键 岗 位 人 员 配 备 指 南 二 一 四 年 九 月 十 一 日 2 公 开 上 海 市 城 乡 建 设 和 管 理 委 员 会 文 件 沪 建 管 2014 758 号 上 海 市 城 乡 建 设 和 管 理 委 员 会 关 于 印 发 上 海 市 建 筑 施 工 企 业 施 工 现 场 项 目 管 理 机 构 关 键 岗 位 人 员 配 备 指 南 的 通 知 各 区 县 建 设 和 交 通 委 员 会 : 为 进 一 步 加 强 对 建 设 工 程 施 工 现

More information

2. 本 次 修 改 后, 投 资 者 申 购 新 股 的 持 有 市 值 要 求 市 值 计 算 规 则 及 证 券 账 户 使 用 的 相 关 规 定 是 否 发 生 了 变 化? 答 : 未 发 生 变 化 投 资 者 申 购 新 股 的 持 有 市 值 是 指, 以 投 资 者 为 单 位

2. 本 次 修 改 后, 投 资 者 申 购 新 股 的 持 有 市 值 要 求 市 值 计 算 规 则 及 证 券 账 户 使 用 的 相 关 规 定 是 否 发 生 了 变 化? 答 : 未 发 生 变 化 投 资 者 申 购 新 股 的 持 有 市 值 是 指, 以 投 资 者 为 单 位 新 股 网 上 网 下 发 行 实 施 细 则 问 答 上 交 所 2016-01-05 一 网 上 发 行 业 务 问 答 1. 本 次 修 改 的 主 要 内 容 是 什 么? 答 : 本 次 修 改 的 主 要 内 容 包 括 : 一 是 取 消 了 投 资 者 在 申 购 委 托 时 应 全 额 缴 纳 申 购 资 金 的 规 定, 明 确 了 投 资 者 应 根 据 最 终 确 定 的 发

More information

目 录 第 一 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 硬 件 使 用 介 绍... 3 第 二 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 管 理 员 端 功 能 使 用 介 绍... 4 2.1 系 统 管 理 员 登 陆... 4 2.2 班

目 录 第 一 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 硬 件 使 用 介 绍... 3 第 二 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 管 理 员 端 功 能 使 用 介 绍... 4 2.1 系 统 管 理 员 登 陆... 4 2.2 班 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 使 用 说 明 书 制 作 : 北 京 博 导 前 程 信 息 技 术 有 限 公 司 目 录 第 一 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 硬 件 使 用 介 绍... 3 第 二 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 管 理 员 端 功 能 使 用 介 绍... 4 2.1

More information

公 开 刊 物 须 有 国 内 统 一 刊 (CN), 发 表 文 章 的 刊 物 需 要 在 国 家 新 闻 出 版 广 电 总 局 (www.gapp.gov.cn 办 事 服 务 便 民 查 询 新 闻 出 版 机 构 查 询 ) 上 能 够 查 到 刊 凡 在 有 中 国 标 准 书 公 开

公 开 刊 物 须 有 国 内 统 一 刊 (CN), 发 表 文 章 的 刊 物 需 要 在 国 家 新 闻 出 版 广 电 总 局 (www.gapp.gov.cn 办 事 服 务 便 民 查 询 新 闻 出 版 机 构 查 询 ) 上 能 够 查 到 刊 凡 在 有 中 国 标 准 书 公 开 杭 教 人 2014 7 杭 州 市 教 育 局 关 于 中 小 学 教 师 系 列 ( 含 实 验 教 育 管 理 ) 晋 升 高 级 专 业 技 术 资 格 有 关 论 文 要 求 的 通 知 各 区 县 ( 市 ) 教 育 局 ( 社 发 局 ), 直 属 学 校 ( 单 位 ), 委 托 单 位 : 为 进 一 步 规 范 杭 州 市 中 小 学 教 师 系 列 ( 含 实 验 教 育 管

More information

工 程 造 价 咨 询 企 业 管 理 系 统 操 作 手 册 目 录 1 造 价 企 业 登 录... 1 2 企 业 基 本 信 息 查 看... 3 3 企 业 人 员 信 息 查 看... 4 4 企 业 基 本 信 息 操 作... 5 4.1 企 业 简 介... 5 4.2 企 业 章

工 程 造 价 咨 询 企 业 管 理 系 统 操 作 手 册 目 录 1 造 价 企 业 登 录... 1 2 企 业 基 本 信 息 查 看... 3 3 企 业 人 员 信 息 查 看... 4 4 企 业 基 本 信 息 操 作... 5 4.1 企 业 简 介... 5 4.2 企 业 章 工 程 造 价 咨 询 企 业 管 理 系 统 操 作 手 册 工 程 造 价 咨 询 企 业 管 理 系 统 ( 造 价 企 业 ) 用 户 手 册 工 程 造 价 咨 询 企 业 管 理 系 统 操 作 手 册 目 录 1 造 价 企 业 登 录... 1 2 企 业 基 本 信 息 查 看... 3 3 企 业 人 员 信 息 查 看... 4 4 企 业 基 本 信 息 操 作... 5 4.1

More information

作 为 生 产 者 式 文 本 的 女 性 主 义 通 俗 小 说 梅 丽 本 文 借 鉴 文 化 研 究 理 论 家 约 翰 费 斯 克 的 生 产 者 式 文 本 这 一 概 念 考 察 女 性 主 义 通 俗 小 说 的 文 本 特 征 写 作 策 略 和 微 观 政 治 意 义 女 性 主 义 通 俗 小 说 通 过 对 传 统 通 俗 小 说 的 挪 用 和 戏 仿 传 播 女 性 主 义

More information

西 南 民 族 学 院 学 报 哲 学 社 会 科 学 版 第 卷 资 料 来 源 中 国 统 计 年 鉴 年 年 新 中 国 五 十 年 统 计 资 料 汇 编 中 国 人 口 统 计 年 鉴 年 数 据 资 料 来 源 中 国 统 计 年 鉴 中 国 统 计 出 版 社 年 版 资 料 来 源

西 南 民 族 学 院 学 报 哲 学 社 会 科 学 版 第 卷 资 料 来 源 中 国 统 计 年 鉴 年 年 新 中 国 五 十 年 统 计 资 料 汇 编 中 国 人 口 统 计 年 鉴 年 数 据 资 料 来 源 中 国 统 计 年 鉴 中 国 统 计 出 版 社 年 版 资 料 来 源 郑 长 德 教 育 的 发 展 人 力 资 源 的 开 发 是 决 定 西 部 民 族 地 区 未 来 发 展 的 关 键 因 素 之 一 是 实 施 西 部 大 开 发 战 略 提 高 其 经 济 竞 争 力 和 综 合 实 力 的 重 要 保 障 本 文 从 西 部 民 族 地 区 教 育 发 展 的 现 状 入 手 指 出 中 华 人 民 共 和 国 成 立 多 年 来 西 部 民 族 地 区

More information

·岗位设置管理流程

·岗位设置管理流程 实 施 岗 位 设 置 岗 位 设 置 编 码 受 控 状 态 执 行 心 门 行 政 人 力 资 控 制 门 总 经 办 源 各 职 能 门 行 政 人 力 资 源 总 经 办 总 经 理 根 据 公 司 发 展 战 略 进 行 职 能 分 解 和 机 构 设 置 工 作 分 析 根 据 人 力 资 源 规 划 确 定 编 制 意 见 职 责 划 分 与 岗 位 设 置 制 作 职 务 说 明 书

More information

2 2015 年 8 月 11 日, 公 司 召 开 2015 年 第 五 次 临 时 股 东 大 会, 审 议 通 过 了 关 于 公 司 <2015 年 股 票 期 权 激 励 计 划 ( 草 案 )> 及 其 摘 要 的 议 案 关 于 提 请 股 东 大 会 授 权 董 事 会 办 理 公

2 2015 年 8 月 11 日, 公 司 召 开 2015 年 第 五 次 临 时 股 东 大 会, 审 议 通 过 了 关 于 公 司 <2015 年 股 票 期 权 激 励 计 划 ( 草 案 )> 及 其 摘 要 的 议 案 关 于 提 请 股 东 大 会 授 权 董 事 会 办 理 公 证 券 代 码 :300017 证 券 简 称 : 网 宿 科 技 公 告 编 号 :2016-053 网 宿 科 技 股 份 有 限 公 司 关 于 调 整 公 司 2015 年 股 票 期 权 激 励 计 划 激 励 对 象 股 票 期 权 数 量 和 行 权 价 格 的 公 告 本 公 司 及 董 事 会 全 体 成 员 保 证 公 告 内 容 真 实 准 确 和 完 整, 没 有 虚 假 记

More information

全国教师资格认定管理信息系统

全国教师资格认定管理信息系统 操 作 说 明 一 教 师 资 格 认 定 申 请 人 1 : 1. 未 参 加 全 国 统 考 申 请 人 2.1 登 录 未 参 加 全 国 统 考 申 请 人 网 上 报 名 系 统 登 录 中 国 教 师 资 格 网 (http://www.jszg.edu.cn), 未 参 加 全 国 统 考 申 请 人 有 两 种 途 径 进 入 报 名 系 统 第 一 种 途 径 : 点 击 网 站

More information

抗 日 战 争 研 究 年 第 期

抗 日 战 争 研 究 年 第 期 田 子 渝 武 汉 抗 战 时 期 是 国 共 第 二 次 合 作 的 最 好 时 期 在 国 共 合 作 的 基 础 上 出 现 了 抗 日 救 亡 共 御 外 侮 的 局 面 这 个 大 好 局 面 的 出 现 与 中 共 长 江 局 的 丰 功 伟 绩 是 分 不 开 的 但 长 期 以 来 由 于 有 一 个 王 明 的 右 倾 错 误 直 接 影 响 了 对 它 的 全 面 科 学 准 确

More information

金融全渠道银行彩页中文版0702

金融全渠道银行彩页中文版0702 目 录 /CONTENT 02 华 为 全 渠 道 银 行 总 览 同 城 灾 备 中 心 呼 叫 中 心 跨 渠 道 协 同 多 媒 体 协 同 办 公 分 行 主 数 据 中 心 总 行 商 场 研 发 中 心 网 点 现 有 渠 道 优 化 电 话 营 销 中 心 创 新 网 点 票 据 影 像 数 据 管 理 社 区 / 企 业 渠 道 创 新 移 动 营 销 VTM 远 程 银 行 远 程

More information

现 场 会 议 时 间 为 :2016 年 5 月 19 日 网 络 投 票 时 间 为 :2016 年 5 月 18 日 -2016 年 5 月 19 日 其 中 通 过 深 圳 证 券 交 易 所 交 易 系 统 进 行 网 络 投 票 的 时 间 为 2016 年 5 月 19 日 9:30-

现 场 会 议 时 间 为 :2016 年 5 月 19 日 网 络 投 票 时 间 为 :2016 年 5 月 18 日 -2016 年 5 月 19 日 其 中 通 过 深 圳 证 券 交 易 所 交 易 系 统 进 行 网 络 投 票 的 时 间 为 2016 年 5 月 19 日 9:30- 证 券 代 码 :300439 证 券 简 称 : 美 康 生 物 公 告 编 号 :2016-046 宁 波 美 康 生 物 科 技 股 份 有 限 公 司 2015 年 度 股 东 大 会 决 议 公 告 公 司 及 董 事 会 全 体 成 员 保 证 信 息 披 露 的 内 容 真 实 准 确 完 整, 没 有 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏 特 别 提 示 : 1 2016

More information

正 规 培 训 达 规 定 标 准 学 时 数, 并 取 得 结 业 证 书 二 级 可 编 程 师 ( 具 备 以 下 条 件 之 一 者 ) (1) 连 续 从 事 本 职 业 工 作 13 年 以 上 (2) 取 得 本 职 业 三 级 职 业 资 格 证 书 后, 连 续 从 事 本 职 业

正 规 培 训 达 规 定 标 准 学 时 数, 并 取 得 结 业 证 书 二 级 可 编 程 师 ( 具 备 以 下 条 件 之 一 者 ) (1) 连 续 从 事 本 职 业 工 作 13 年 以 上 (2) 取 得 本 职 业 三 级 职 业 资 格 证 书 后, 连 续 从 事 本 职 业 1. 职 业 概 况 1.1 职 业 名 称 可 编 程 师 1.2 职 业 定 义 可 编 程 师 国 家 职 业 标 准 从 事 可 编 程 序 控 制 器 (PLC) 选 型 编 程, 并 对 应 用 进 行 集 成 和 运 行 管 理 的 人 员 1.3 职 业 等 级 本 职 业 共 设 四 个 等 级, 分 别 为 : 四 级 可 编 程 师 ( 国 家 职 业 资 格 四 级 ) 三

More information

Template BR_Rec_2005.dot

Template BR_Rec_2005.dot ITU-R BT.1789 建 议 书 1 ITU-R BT.1789 建 议 书 在 分 组 视 频 传 输 中 利 用 传 输 误 码 信 息 重 建 接 收 视 频 的 方 法 (ITU-R 44/6 和 ITU-R 109/6 课 题 ) (2007 年 ) 范 围 本 建 议 书 对 业 务 提 供 商 重 建 接 收 视 频 的 方 法 做 了 详 细 介 绍, 以 便 利 用 传 输

More information

工 程 勘 察 资 质 标 准 根 据 建 设 工 程 勘 察 设 计 管 理 条 例 和 建 设 工 程 勘 察 设 计 资 质 管 理 规 定, 制 定 本 标 准 一 总 则 ( 一 ) 本 标 准 包 括 工 程 勘 察 相 应 专 业 类 型 主 要 专 业 技 术 人 员 配 备 技 术

工 程 勘 察 资 质 标 准 根 据 建 设 工 程 勘 察 设 计 管 理 条 例 和 建 设 工 程 勘 察 设 计 资 质 管 理 规 定, 制 定 本 标 准 一 总 则 ( 一 ) 本 标 准 包 括 工 程 勘 察 相 应 专 业 类 型 主 要 专 业 技 术 人 员 配 备 技 术 住 房 和 城 乡 建 设 部 关 于 印 发 工 程 勘 察 资 质 标 准 的 通 知 建 市 [2013]9 号 各 省 自 治 区 住 房 和 城 乡 建 设 厅, 北 京 市 规 划 委, 天 津 上 海 市 建 设 交 通 委, 重 庆 市 城 乡 建 设 委, 新 疆 生 产 建 设 兵 团 建 设 局, 总 后 基 建 营 房 部 工 程 局, 国 务 院 有 关 部 门 建 设 司,

More information

21 业 余 制 -- 高 起 专 (12 级 ) 75 元 / 学 分 网 络 学 院 学 生 沪 教 委 财 (2005)49 号 江 西 化 校 工 科 22 业 余 制 -- 高 起 专 (12 级 ) 70 元 / 学 分 网 络 学 院 学 生 沪 教 委 财 (2005)49 号 吉

21 业 余 制 -- 高 起 专 (12 级 ) 75 元 / 学 分 网 络 学 院 学 生 沪 教 委 财 (2005)49 号 江 西 化 校 工 科 22 业 余 制 -- 高 起 专 (12 级 ) 70 元 / 学 分 网 络 学 院 学 生 沪 教 委 财 (2005)49 号 吉 1 普 通 高 校 学 费 5000 元 / 学 年 一 般 专 业 2 普 通 高 校 学 费 5500 元 / 学 年 特 殊 专 业 3 普 通 高 校 学 费 10000 元 / 学 年 艺 术 专 业 4 中 德 合 作 办 学 15000 元 / 学 年 本 科 生 本 科 学 费 5 ( 含 港 澳 修 读 第 二 专 业 辅 修 专 业 及 学 位 学 费 不 超 过 选 读 专 业

More information

自 服 务 按 钮 无 法 访 问 新 系 统 的 自 服 务 页 面 因 此 建 议 用 户 从 信 网 中 心 (http://nc.tju.edu.cn) 主 页, 右 下 角 位 置 的 常 用 下 载, 或 校 园 网 用 户 自 服 务 (http://g.tju.edu.cn) 首 页

自 服 务 按 钮 无 法 访 问 新 系 统 的 自 服 务 页 面 因 此 建 议 用 户 从 信 网 中 心 (http://nc.tju.edu.cn) 主 页, 右 下 角 位 置 的 常 用 下 载, 或 校 园 网 用 户 自 服 务 (http://g.tju.edu.cn) 首 页 校 园 网 认 证 计 费 系 统 变 更 说 明 及 使 用 帮 助 为 提 高 校 园 网 的 可 靠 性 和 可 用 性, 提 升 用 户 的 上 网 体 验, 同 时 也 为 解 决 近 期 校 园 网 无 法 认 证 或 登 录 页 面 弹 出 缓 慢 的 问 题, 信 网 中 心 于 近 期 对 校 园 网 认 证 计 费 系 统 进 行 升 级 切 换 现 将 升 级 后 新 系 统

More information

云信Linux SSH认证代理用户手册

云信Linux SSH认证代理用户手册 Windows 主 机 登 录 保 护 (RDP) 管 理 员 配 置 手 册 V1.0 云 信 事 业 部 飞 天 诚 信 科 技 股 份 有 限 公 司 www.cloudentify.com 章 节 目 录 第 1 章 管 理 平 台 配 置 说 明... 1 1.1 注 册... 1 1.2 登 录... 3 1.3 添 加 应 用... 4 1.4 添 加 用 户... 7 1.5 激 活

More information

¹ º ¹ º 农 业 流 动 人 口 是 指 户 口 性 质 为 农 业 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 月 及 以 上 的 流 动 人 口 非 农 流 动 人 口 是 指 户 口 性 质 为 非 农 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个

¹ º ¹ º 农 业 流 动 人 口 是 指 户 口 性 质 为 农 业 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 月 及 以 上 的 流 动 人 口 非 农 流 动 人 口 是 指 户 口 性 质 为 非 农 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 ¹ 改 革 开 放 年 来 人 口 流 动 规 模 持 续 增 加 对 我 国 社 会 经 济 的 持 续 发 展 起 到 了 重 要 作 用 为 全 面 了 解 我 国 流 动 人 口 生 存 状 况 准 确 把 握 流 动 人 口 发 展 规 律 和 趋 势 不 断 加 强 流 动 人 口 服 务 管 理 引 导 人 口 有 序 流 动 合 理 分 布 国 家 人 口 计 生 委 于 年 月 启

More information

微软用户

微软用户 学 生 空 间 用 户 操 作 手 册 目 录 前 言... 2 一 登 录 学 生 空 间... 2 二 学 生 空 间 页 面... 3 三 功 能 区... 3 3.1 课 程 学 习... 5 3.2 学 务 管 理... 7 3.3 学 习 档 案... 7 3.4 资 料 管 理... 8 3.7 课 程 班 级... 11 3.8 我 要 评 价... 11 四 交 流 互 动...

More information

2016年南开大学MBA招生信息

2016年南开大学MBA招生信息 全 年 申 请 分 批 面 试 一 报 名 条 件 二 招 生 政 策 三 全 国 MBA 联 考 四 强 化 训 练 五 研 究 方 向 六 计 划 招 生 名 额 七 报 考 流 程 MBA 项 目 ( 在 职 ) 报 考 流 程 在 线 提 交 材 料 截 止 日 期 (2015 年 8 月 29 日 上 午 10:00 前 ) 在 线 提 交 材 料 截 止 日 期 (2015 年 10

More information

合 并 计 算 配 售 对 象 持 有 多 个 证 券 账 户 的, 多 个 证 券 账 户 市 值 合 并 计 算 确 认 多 个 证 券 账 户 为 同 一 配 售 对 象 持 有 的 原 则 为 证 券 账 户 注 册 资 料 中 的 账 户 持 有 人 名 称 有 效 身 份 证 明 文 件

合 并 计 算 配 售 对 象 持 有 多 个 证 券 账 户 的, 多 个 证 券 账 户 市 值 合 并 计 算 确 认 多 个 证 券 账 户 为 同 一 配 售 对 象 持 有 的 原 则 为 证 券 账 户 注 册 资 料 中 的 账 户 持 有 人 名 称 有 效 身 份 证 明 文 件 深 圳 市 场 首 次 公 开 发 行 股 票 网 下 发 行 实 施 细 则 ( 征 求 意 见 稿 ) 第 一 章 总 则 第 一 条 为 规 范 深 圳 市 场 首 次 公 开 发 行 股 票 网 下 发 行 行 为, 根 据 证 券 发 行 与 承 销 管 理 办 法 及 相 关 规 定, 制 定 本 细 则 第 二 条 本 细 则 所 称 网 下 发 行 是 指 首 次 公 开 发 行 股

More information

<4D6963726F736F667420576F7264202D20BFC9B1E0B3CCD0F2BFD8D6C6CFB5CDB3C9E8BCC6CAA6B9FABCD2D6B0D2B5B1EAD7BC2E646F63>

<4D6963726F736F667420576F7264202D20BFC9B1E0B3CCD0F2BFD8D6C6CFB5CDB3C9E8BCC6CAA6B9FABCD2D6B0D2B5B1EAD7BC2E646F63> 国 家 职 业 标 准 1 可 编 程 序 控 制 系 统 设 计 师 国 家 职 业 标 准 1. 职 业 概 况 1.1 职 业 名 称 可 编 程 序 控 制 系 统 设 计 师 1.2 职 业 定 义 从 事 可 编 程 序 控 制 器 (PLC) 选 型 编 程, 并 对 应 用 系 统 进 行 设 计 集 成 和 运 行 管 理 的 人 员 1.3 职 业 等 级 本 职 业 共 设 四

More information

三门峡市质量技术监督局清单公示

三门峡市质量技术监督局清单公示 附 件 4 卢 氏 县 财 政 局 行 政 职 权 运 行 流 程 图 一 行 政 处 罚 类 1. 第 1 项 一 般 程 序 流 程 图 案 件 来 源 初 步 确 认 违 法 事 实, 责 令 停 止 违 法 行 为 县 财 政 局 立 案 审 批 综 合 股 登 记 立 案 调 查 取 证 不 予 立 案 综 合 股 撰 写 调 查 终 结 报 告 移 送 有 关 部 门 综 合 股 提 出

More information

目 录 一 激 活 账 号... 2 二 忘 记 密 码 后 如 何 找 回 密 码?... 3 三 如 何 管 理 学 校 信 息 及 球 队 学 生 教 师 等 信 息... 6 四 如 何 发 布 本 校 校 园 文 化?... 11 五 如 何 向 教 师 发 送 通 知?... 13 六

目 录 一 激 活 账 号... 2 二 忘 记 密 码 后 如 何 找 回 密 码?... 3 三 如 何 管 理 学 校 信 息 及 球 队 学 生 教 师 等 信 息... 6 四 如 何 发 布 本 校 校 园 文 化?... 11 五 如 何 向 教 师 发 送 通 知?... 13 六 一 刻 校 园 足 球 管 理 平 台 使 用 说 明 ( 学 校 管 理 员 版 ) 一 刻 软 件 科 技 有 限 公 司 目 录 一 激 活 账 号... 2 二 忘 记 密 码 后 如 何 找 回 密 码?... 3 三 如 何 管 理 学 校 信 息 及 球 队 学 生 教 师 等 信 息... 6 四 如 何 发 布 本 校 校 园 文 化?... 11 五 如 何 向 教 师 发 送

More information

2.5 选 举 陈 晓 非 女 士 为 第 六 届 董 事 会 董 事 候 选 人 的 议 案 ; 2.6 选 举 卢 婕 女 士 为 第 六 届 董 事 会 董 事 候 选 人 的 议 案 ; 2.7 选 举 张 文 君 先 生 为 第 六 届 董 事 会 独 立 董 事 候 选 人 的 议 案

2.5 选 举 陈 晓 非 女 士 为 第 六 届 董 事 会 董 事 候 选 人 的 议 案 ; 2.6 选 举 卢 婕 女 士 为 第 六 届 董 事 会 董 事 候 选 人 的 议 案 ; 2.7 选 举 张 文 君 先 生 为 第 六 届 董 事 会 独 立 董 事 候 选 人 的 议 案 证 券 代 码 :000982 证 券 简 称 : 中 银 绒 业 公 告 编 号 :2014-83 宁 夏 中 银 绒 业 股 份 有 限 公 司 董 事 会 关 于 召 开 2014 年 第 五 次 临 时 股 东 大 会 网 络 投 票 流 程 的 提 示 公 告 本 公 司 及 董 事 会 全 体 成 员 保 证 信 息 披 露 的 内 容 真 实 准 确 完 整, 没 有 虚 假 记 载

More information

解 决 困 扰 事 业 单 位 高 效 运 行 的 人 员 编 制 难 题 应 摒 弃 既 有 经 验 化 判 断 的 思 维 限 囿 经 由 规 范 化 程 式 化 维 度 专 注 于 事 业 单 位 人 员 编 制 的 标 准 管 理 考 虑 到 事 业 单 位 人 员 编 制 的 复 杂 性 和 公 益 导 向 宜 在 编 制 标 准 定 位 上 确 定 整 体 性 发 展 性 公 益 性 取

More information

全国艺术科学规划项目

全国艺术科学规划项目 全 国 艺 术 科 学 规 划 项 目 网 上 申 报 常 见 问 题 及 解 决 方 法 目 录 一 申 报 流 程...4 二 立 项 流 程...5 三 常 见 问 题 与 处 理...6 (1). 如 何 注 册...6 (2). 系 统 中 没 有 我 的 单 位 怎 么 办?...7 (3). 在 注 册 时 写 错 身 份 证 号 名 字 而 系 统 中 不 能 修 改 怎 么 办?...

More information