第四章 SQL 介紹



Similar documents
Microsoft Word - 第四章.doc

6-1-1極限的概念

xls

所 3 學 分 課 程, 及 兩 門 跨 領 域 課 程 共 6 學 分 以 上 課 程 學 生 在 修 課 前, 必 須 填 寫 課 程 修 課 認 定 表, 經 班 主 任 或 指 導 教 授 簽 名 後 始 認 定 此 課 程 學 分 ) 10. 本 規 章 未 盡 事 宜, 悉 依 學 位

Microsoft Word doc

證 券 簡 易 下 單 :2121 證 券 簡 易 下 單 1. 主 工 具 列 的 視 窗 搜 尋 器 直 接 輸 入 點 擊 主 選 單 證 券 專 區 下 單 特 殊 下 單 2121 證 券 簡 易 下 單 畫 面 說 明 1. 下 單 區 2. 個 股 行 情 資 訊 與

<4D F736F F D D313032A7DEC075BAC2BC66B56EB04FB44EC5AAA7D3C440A7C7A874B2CEBEDEA740A4E2A5552E646F63>

實德證券網上交易系統示範

第一章 緒論

Microsoft PowerPoint - 資料庫正規化(ccchen).ppt

Microsoft PowerPoint - 使用 Word 編輯與排版文件 (II).ppt

Microsoft Word - ch07

如何加強規管物業管理行業

<4D F736F F D20B773AAA9ADBBB4E4BAF4B8F4BBC8A6E6BEDEA740A4E2A5555FABC8A4E1BADD2DADD3A448AAA95F2E646F63>

第 6. 節 不 定 積 分 的 基 本 公 式 我 們 可 以 把 已 經 知 道 反 導 函 數 之 所 有 函 數 都 視 為 不 定 積 分 的 基 本 公 式 基 本 公 式 涵 蓋 的 範 圍 愈 大, 我 們 求 解 積 分 就 愈 容 易, 但 有 記 憶 不 易 的 情 事 研 讀

簽 呈

目 錄 項 目 內 容 頁 數 1 手 機 要 求 3 2 登 記 程 序 3 3 登 入 程 序 4 4 輸 入 買 賣 指 示 6 5 更 改 指 示 14 6 取 消 指 示 18 7 查 詢 股 票 結 存 21 8 查 詢 買 賣 指 示 23 9 更 改 密 碼 查 詢 股

Microsoft Word 網頁設計.doc

四 修 正 幼 兒 園 師 資 類 科 應 修 學 分 數 為 四 十 八 學 分, 並 明 定 學 分 數 抵 免 之 相 關 規 定 及 規 範 修 習 幼 兒 園 教 育 專 業 課 程 之 最 低 年 限 ( 修 正 條 文 第 五 條 ) 五 發 給 修 畢 師 資 職 前 教 育 證 明

骨 折 別 日 數 表 1. 鼻 骨 眶 骨 ( 含 顴 骨 ) 14 天 11. 骨 盤 ( 包 括 腸 骨 恥 骨 坐 骨 薦 骨 ) 40 天 2. 掌 骨 指 骨 14 天 12. 臂 骨 40 天 3. 蹠 骨 趾 骨 14 天 13. 橈 骨 與 尺 骨 40 天 4. 下 顎 ( 齒

<4D F736F F D20B0EAA5C1A470BEC7BB50B0EAA5C1A4A4BEC7AF5AAFC5BD73A8EEA4CEB1D0C2BEADFBADFBC342BD73A8EEB1F8A4E5B9EFB7D3AAED A14B>

Microsoft Word - 全華Ch2-05.doc

e-Submission System Quick Reference Guide for Publication Related Matters (Chinese version)

前 項 第 三 款 所 定 有 機 農 產 品 及 有 機 農 產 加 工 品 驗 證 基 準, 如 附 件 一 第 七 條 驗 證 機 構 受 理 有 機 農 產 品 及 有 機 農 產 加 工 品 之 驗 證, 應 辦 理 書 面 審 查 實 地 查 驗 產 品 檢 驗 及 驗 證 決 定 之

章節

A2: 國 中 基 測 是 一 種 標 準 化 測 驗, 測 驗 結 果 是 以 量 尺 分 數 表 示 量 尺 分 數 是 透 過 統 計 方 法, 由 答 對 題 數 轉 換 而 來, 其 目 的 是 要 呈 現 每 一 位 考 生 的 每 一 測 驗 學 科 在 所 有 考 生 中 的 相 對

Microsoft PowerPoint - 102教師升等說明會

Microsoft Word - Draft circular on Sub Leg Apr (chi)_Traditional

校 長 遴 選 者 就 相 關 遴 選 事 項, 有 程 序 外 之 接 觸 遴 選 會 委 員 在 任 期 間 因 故 無 法 執 行 任 務 或 有 不 適 當 之 行 為 者, 由 各 該 主 管 機 關 解 聘 之 ; 其 缺 額, 依 第 一 項 至 第 五 項 規 定 聘 ( 派 ) 委

NCKU elearning Manual

<4D F736F F F696E74202D20C4B3C344322DA8CCAA6BB5BDA5CEB3CCA6B3A751BCD0A4CEADADA8EEA9CAA9DBBCD0BFECB27AB1C4C1CAA4A7A740AA6B2E707074>

目 錄 一 系 統 登 入... 2 ( 一 ) 系 統 登 入 畫 面... 2 ( 二 ) 首 次 登 入 請 先 註 冊... 3 ( 三 ) 忘 記 單 位 帳 號... 8 ( 四 ) 忘 記 密 碼 ( 五 ) 健 保 卡 更 換 ( 六 ) 重 寄 確 認 信.

128 提 示 樞 紐 分 析 表 的 用 途 樞 紐 分 析 表 是 指 可 以 用 來 快 速 合 併 和 比 較 大 量 資 料 的 互 動 式 表 格, 透 過 它 可 以 詳 細 分 析 數 值 資 料, 特 別 適 用 於 下 列 情 況 : 需 要 從 含 有 大 量 資 料 的 清


Microsoft Word - ATTCH4.docx

PowerPoint 簡報

<4D F736F F D20B3E6A4B830312D2D2DBCC6BD75BB50BEE3BCC6AABAA55BB4EEB942BAE22E646F6378>


(Microsoft Word - MOODLE990201\266i\266\245\244\342\245U )

研究一:n人以『剪刀、石頭、布』猜拳法猜拳一次,決定一人勝

<4D F736F F D20A4A4B0EAA4E5A4C6A46ABEC7C0B3A5CEBCC6BEC7A874BEC7B873C3D2AED1B1C2BB50BFECAA6B F F2E646F63>

<30332EAAFEA5F3A440A142A447A142A454A142A57CA147BEC7A5CDB14DB77EC3D2B7D3BEC7B2DFA661B9CF2E786C73>

目 錄 壹 題 目 1: 新 增 商 品 ( 商 品 名 稱 為 玉 井 芒 果 乾 禮 盒 )... 3 貳 題 目 2: 新 增 商 品 ( 商 品 名 稱 為 紅 磚 布 丁 精 選 禮 盒 )... 5 參 題 目 3: 新 增 商 品 ( 商 品 名 稱 為 晶 鑽 XO 醬 禮 盒 ).

投影片 1

Microsoft Word - 15

授 課 老 師 章 節 第 一 章 教 學 教 具 間 3 分 鐘 粉 筆 CNC 銑 床 教 學 內 容 CNC 銑 床 之 基 本 操 作 教 材 來 源 數 值 控 制 機 械 實 習 Ⅰ 1. 了 解 CNC 銑 床 的 發 展 2. 了 解 CNC 銑 床 刀 具 的 選 用 3. 了 解


中華民國 第51屆中小學科學展覽會

題目:中醫師配發藥材及合成中成藥簡介會

???T????????

投影片 1

一、模型資訊

(3) 澳 門 特 別 行 政 區 之 稅 務 知 識 及 (4) 商 法 典 ( 二 ) 重 新 批 准 註 冊 為 註 冊 會 計 師 / 專 業 會 計 員 之 筆 試 科 目 如 下 : (1) 澳 門 特 別 行 政 區 之 稅 務 知 識 及 (2) 商 法 典 ( 三 ) 考 試 範

99年版人口推計報告

網 路 請 購 操 作 手 冊 目 錄 (95~154) 壹 使 用 網 路 請 購 系 統 資 格...95~95 貳 如 何 進 入 網 路 請 購 系 統...96~96 參 網 路 請 購 / 查 詢 系 統 功 能 簡 介...97~111 肆 受 款 人 填 法 範 例...112~11

Microsoft Word - EXCEL操作說明doc.doc

一、 資格條件:

臺灣省教師申訴評議委員會再申訴評議書(草案)

Microsoft Word - 立法會十四題附件.doc

內 政 統 計 通 報

PROSPECT EXPLORATION 壹 前 言 第 9 卷 第 2 期 中 華 民 國 100 年 2 月

七 同 意 主 管 機 關 委 請 相 關 機 關 ( 構 ) 查 詢 申 請 登 記 人 之 債 信 刑 案 素 行 及 考 核 資 料 之 同 意 書 前 項 各 款 文 件 應 於 登 記 時 備 齊, 交 付 受 理 登 記 機 關 文 件 不 齊 者, 不 予 受 理 登 記 ; 其 需

101年度社會福利方案 網路線上操作手冊

投影片 1

寫 作 背 景 導 讀 [98] L Lyman Frank Baum

<4D F736F F D20BB4FC657B4E4B0C8AAD1A5F7A6B3ADADA4BDA571B773B669A448ADFBBAC2BFEFB357BD64>

鍵 標 準 型 數 位 話 機 來 電 指 示 燈 會 談 暫 留 鈴 聲 跟 隨 靜 音 禁 鈴 可 程 式 鍵 喇 叭 6 ABC DEF 暫 切 4 GHI 5 JKL 6 MNO 重 撥 固 定 功 能 鍵 7 PQRS 8 TUV 9 WXYZ 功 能 聽 筒 0

包 裝 維 生 素 礦 物 質 類 之 錠 狀 膠 囊 狀 食 品 營 養 標 示 應 遵 行 事 項 一 本 規 定 依 食 品 安 全 衛 生 管 理 法 第 二 十 二 條 第 三 項 規 定 訂 定 之 二 本 規 定 所 稱 維 生 素 礦 物 質 類 之 錠 狀 膠 囊 狀 食 品, 指

<4D F736F F D2045A4C6AA41B0C8C2E0ABACBB50B3D0B7735FA4A3A650AAC0B873B5B2BA63A455AA41B0C8C4DDA9CAA76CA4DEA44FB1B4B0515F46696E616C5F325F2E646F63>

目 錄 頁 1. 歡 迎 使 用 網 上 預 約 面 談 訪 問 系 統 新 用 戶 新 用 戶 登 入 帳 戶 程 序 啟 動 網 上 預 約 面 談 訪 問 帳 戶 核 對 帳 戶 的 地 址 資 料

期交所規則、規例及程序

Microsoft Word - 論文v27.doc

壹、組織編制 代碼:C0101意見反映

立積電子股份有限公司

Microsoft Word - 雲林區_免試平台_國中模擬選填_操作手冊.doc

教育實習問與答:

1、目的

行政院金融監督管理委員會全球資訊網-行政院金融監督管理委員會

Microsoft Word - 銓敘部退一字第 號函

須 重 補 修 學 校 課 程 異 動 時, 新 舊 課 程 應 有 修 習 對 照 表, 供 休 復 學 生 或 重 補 修 學 生 使 用 學 生 所 修 全 學 年 之 選 修 課 程, 如 僅 單 一 學 期 成 績 及 格, 仍 承 認 該 學 期 選 修 學 分 學 生 每 學 期 修

連江縣政府所屬學校兼任代課及代理教師聘任實施要點(草案)

Microsoft Word - labour_comparison.doc

Microsoft Word - Auto_GPS.doc

瑞興銀行

<4D F736F F D20AA69AD59ABC2A4BDA571B6C5B56FA6E6A4CEB56FA6E6A4CEC2E0B4ABBFECAA6B >

2016年中國語文科試卷三聆聽及綜合能力考核樣本試卷示例及說明

Microsoft Word - 15-刪空白頁

Microsoft Word - dsejdoc_ _03.doc

<4D F736F F D A7DEC075AB4FB065A44ABEC7BAF4B8F4ADD3A74FB3F8A657A740B77EB0D1A6D2A4E2A5552DA6D2A5CDBADD2E646F63>

會 員 專 區 使 用 手 冊 目 錄 一 基 本 介 紹 會 員 專 區 登 入 位 置 主 畫 面 與 網 站 架 構 : 功 能 導 覽 列 說 明 :... 3 二 DOI 查 詢 與 維 護... 4 三 DOI 註 冊 期 刊 類 型...


2 2.1 A H ir@abchina.com 2

長跨距暨挑高建築特殊結構系統之調查分析

(DP_MFP_Training

第二組掃描器規範書

一、報考資格: 碩士班:公立或已立案之私立大學或獨立學院或經教育部認可之國外大學畢業生或應屆畢業生,或具報考大學碩士班之同等學力資格,並符合本校各所訂定之條件者

度 ph 度 降 量 量 phph 糖 ph 度 更 3 說 酪 不 不 什 參 度 識 不 度 1

第 二 章 登 入 交 易 系 統 統 在 您 上 網 後, 可 輸 入 網 路 證 券 ebroker 交 易 網 網 址 到 達 網 路 下 單 交 易 系 首 先 您 將 會 進 入 到 客 戶 登 入 身 份 確 認 畫 面 Step 1. 直 接 輸 入 身 份 字 號, 第 一 位 英

(Microsoft Word - \246\250\301Z\272\336\262z.doc)

BSP 烤箱 - 封面-2

Transcription:

第 四 章 SQL 介 紹 黃 仁 鵬 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 1

4-1 資 料 庫 共 通 的 語 言 -SQL 像 大 多 數 資 料 庫 相 同,ORACLE 只 會 說 一 種 共 通 的 語 言, 而 這 種 語 言 就 是 SQL (Structural Query Language, 結 構 化 查 詢 語 言 ) 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 2

4-2 SQL 的 歷 史 在 70 年 代,E.F.Codd 首 先 提 出 關 聯 式 資 料 模 型 (Relational Data Model) 而 後 IBM 公 司 在 System R 關 聯 式 資 料 庫 管 理 系 統 中, 研 發 出 最 早 的 SQL 語 言 叫 做 SEQUEL (Structured English Query Language) 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 3

4.3 SQL 的 基 本 語 言 資 料 定 義 語 言 (Data Definition Language,DDL) 資 料 操 縱 語 言 (Data Manipulation Language,DML) 資 料 控 制 語 言 (Data Control Language, DCL) 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 4

資 料 定 義 語 言 (Data Definition Language,DDL) 用 來 定 義 資 料 庫 的 綱 要 (Schema), 如 關 聯 表 名 稱, 關 聯 表 內 部 的 欄 位 屬 性 資 料 型 態 定 義 或 更 改 整 合 限 制 條 件 (Integrity Constraint), 給 予 (Grant) 或 取 消 (Revoke) 權 限 (Privilege) 或 角 色 (Role) 等 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 5

資 料 操 縱 語 言 (Data Manipulation Language,DML) 主 要 提 供 使 用 者 資 料 庫 中 資 料 操 作 的 指 令, 如 新 增 (Insert) 刪 除 (Delete) 修 改 (Update) 與 查 詢 (Select) 等 運 算 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 6

資 料 控 制 語 言 (Data Control Language,DCL) 用 來 控 制 資 料 庫 系 統 內 部 的 異 動 交 易 (Transaction) 處 理 與 系 統 效 能 等 指 令 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 7

然 而 ORACLE 除 了 以 上 三 種 SQL 基 本 語 言 外,ORACLE 又 把 資 料 控 制 語 言 (Data Control Language) 更 細 分 成 : 異 動 交 易 處 理 指 令 (Transaction Control Command) 連 線 會 談 期 間 控 制 指 令 (Session Control Command) 系 統 控 制 指 令 (System Control Command) 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 8

異 動 交 易 處 理 指 令 (Transaction Control Command): 用 來 控 制 對 資 料 作 出 的 改 變, 也 就 是 處 理 由 DML 指 令 在 異 動 交 易 過 程 (Transaction) 所 做 的 修 改, 如 委 付 確 認 (Commit) 回 復 (Rollback) 以 及 設 定 儲 存 點 (Savepoint) 等 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 9

連 線 會 談 期 間 控 制 指 令 (Session Control Command): 用 來 動 態 地 控 制 使 用 者 連 線 期 間 的 特 性 (Property), 如 改 變 連 線 會 談 期 間 的 內 定 語 言 關 閉 資 料 庫 鏈 結 (Database Link) 等 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 10

系 統 控 制 指 令 (System Control Command) 用 來 動 態 的 管 理 一 個 ORACLE Instance ( 資 料 庫 實 例 ) 的 特 性 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 11

4-3-1 資 料 定 義 語 言 (Data Definition Language, DDL) 資 料 定 義 語 言 (Data Definition Language,DDL) 的 主 要 功 用 為 : 1. 新 增 修 改 刪 除 物 件 (Object) 2. 給 予 (Grant) 撤 回 (Revoke) 刪 除 (Drop) 權 限 (Privilege) 與 角 色 (Role) 3. 建 立 系 統 稽 核 (Audit) 功 能 4. 在 資 料 字 典 (Data Dictionary) 中 加 入 註 解 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 12

4-3-2 資 料 操 縱 語 言 (Data Manipulation Language) 用 來 處 理 與 查 詢 綱 要 物 件 (Schema Object) 的 資 料 這 些 DML 指 令 並 不 會 自 動 地 做 內 隱 式 委 付 確 認 (Implicitly Commit) 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 13

4-3-3 異 動 交 易 處 理 指 令 (Transaction Control Command) 異 動 交 易 處 理 指 令 (Transaction Control Command) 的 主 要 功 用 為 : 處 理 DML 指 令 在 異 動 交 易 過 程 (Transaction) 中 所 做 的 修 改 這 些 指 令 並 不 會 自 動 地 做 內 隱 式 委 付 確 認 (Implicitly Commit) 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 14

4-3-4 連 線 會 談 期 控 制 指 令 (Session Control Command) 連 線 會 談 期 間 控 制 指 令 (Session Control Command) 的 主 要 功 用 為 : 它 動 態 地 控 制 使 用 者 連 線 會 談 期 間 的 特 性 這 些 指 令 並 不 會 自 動 地 做 內 隱 式 委 付 確 認 (Implicitly Commit) 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 15

4-3-5 系 統 控 制 指 令 (System Control Command) 系 統 控 制 指 令 (System Control Command) 的 主 要 功 用 為 : 它 動 態 地 管 理 ORACLE 實 例 (ORACLE Instance) 的 特 性, 這 些 指 令 不 會 自 動 地 做 內 隱 式 委 付 確 認 (Implicitly Commit) 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 16

4-3-6 內 嵌 式 SQL 指 令 (Embedded SQL Command) 內 嵌 式 SQL 指 令 的 主 要 功 用 為 : 它 可 將 資 料 定 義 語 言 (Data Definition Language,DDL) 資 料 操 縱 語 言 (Data Manipulation Language, DML) 異 動 交 易 處 理 指 令 (Transaction Control Command) 等 指 令 放 入 程 序 化 語 言 的 程 式 中 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 17

4-4 資 料 型 態 ANSI-SQL 主 要 提 供 三 種 主 要 的 資 料 型 態 : 字 元 數 字 浮 點 數 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 18

4-5 資 料 型 態 轉 換 在 ORACLE 中 能 夠 將 某 種 資 料 型 態 轉 換 成 另 一 種 資 料 型 態 資 料 型 態 的 轉 換 可 以 透 過 ORACLE 系 統 自 動 轉 換, 或 是 透 過 資 料 型 態 轉 換 函 數 來 完 成 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 19

4-6 基 本 表 格 (BASED TABLE) 一 個 基 本 表 格 (Based Table) 實 質 上 由 兩 部 分 組 成 : 表 格 名 和 一 組 欄 位 名 構 成 的 分 類 資 訊 實 際 存 放 的 資 料 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 20

4-6-1 表 格 名 欄 位 名 的 命 名 規 則 在 使 用 CREATE TABLE 命 令 建 立 表 格 時, 定 義 表 格 名 和 欄 位 名 的 規 則 如 下 : 1. 表 格 名 欄 位 名 必 須 以 字 母 開 頭, 大 小 寫 均 可, 其 後 的 字 元 可 以 由 字 母 數 字 組 成, 也 可 以 包 括 $ # 和 底 線 _ 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 21

2. 同 一 個 使 用 者 的 基 本 表 格 名 必 須 唯 一, 而 且 不 能 與 ORACLE 的 保 留 字 相 同 ; 同 一 基 本 表 格 中 的 欄 位 名 也 須 唯 一, 不 允 許 在 同 一 基 本 表 格 中 兩 個 欄 位 名 相 同 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 22

3. 表 格 名 與 欄 位 名 是 不 區 分 大 小 寫 的 例 如 :FIRSTNAME,FirstName 和 Firstname 均 認 為 是 相 同 的 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 23

4. 如 果 表 格 名 欄 位 名 用 雙 引 號 括 起 來, 則 可 以 不 滿 足 上 述 規 則 如 果 使 用 了 雙 引 號, 則 要 區 分 字 母 的 大 小 寫, 如 FIRSTNAME 與 Firstname 就 不 再 認 為 是 相 同 的 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 24

4-6-2 建 立 基 本 表 與 輸 入 資 料 建 立 基 本 表 命 令 - CREATE TABLE CREATE TABLE < 表 格 名 > < 欄 位 名 1>< 型 態 > [NULL NOT NULL][, < 欄 位 名 2>< 型 態 > [NULL NOT NULL]] 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 25

插 入 資 料 -INSERT INTO INSERT INTO < 表 格 名 >(< 欄 位 名 1>,< 欄 位 名 2>, ) VALUES(< 值 1>,< 值 2>, ); 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 26

關 聯 表 格 內 部 的 整 合 限 制 (Integrity Constraints) 可 分 為 三 種 : 個 体 整 合 限 制 (Entity Integrity Constraints) 值 域 整 合 限 制 (Domain Integrity Constraints) 參 考 整 合 限 制 (Referential Integrity Constraints 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 27

個 体 整 合 限 制 (Entity Integrity Constraints) 它 規 範 關 聯 表 內 部 的 整 合 限 制 條 件, 例 如 : 主 鍵 (Primary Key) 的 值 不 可 為 虛 值 (Null) 欄 位 的 值 是 否 唯 一 (Unique) 欄 位 的 值 是 否 可 為 虛 值 (Null) PRIMARY KEY (< 主 鍵 欄 位 名 >) [NOT] NULL UNIQUE 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 28

值 域 整 合 限 制 (Domain Integrity Constraints) 它 規 範 關 聯 表 內 部 屬 性 值 必 須 在 某 一 限 制 範 圍 之 內, 例 如 : 欄 位 的 型 態 (Type) 與 大 小 (Size) 輸 入 值 的 檢 查 (Check) CHECK DEFAULT 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 29

參 考 整 合 限 制 (Referential Integrity Constraints) 它 規 範 關 聯 表 格 與 關 聯 表 格 之 間 的 整 合 限 制 條 件, 例 如 : 表 格 中 的 外 來 鍵 (Foreign Key) 設 定 FOREIGN KEY 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 30

4-6-3 更 新 資 料 更 新 資 料 -UPDATE SET UPDATE < 表 格 名 > SET < 欄 位 名 1>=< 新 值 1>, WHERE < 被 更 新 記 錄 的 條 件 > < 欄 位 名 2>=< 新 值 2>,... < 欄 位 名 n>=< 新 值 n> 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 31

4-6-4 刪 除 資 料 刪 除 資 料 -DELETE FROM DELETE FROM < 表 格 名 > WHERE < 條 件 > 刪 除 指 令 不 能 只 刪 除 部 分 欄 位 中 的 資 料, 因 此 不 需 要 指 明 欄 位 名 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 32

4-6-5 修 改 基 本 資 料 表 格 (Based Table) 結 構 修 改 基 本 資 料 表 格 結 構 命 令, 主 要 可 分 為 : 1. 新 增 欄 位 定 義 2. 修 改 欄 位 定 義 3. 廢 除 欄 位 定 義 4. 新 增 整 合 限 制 5. 修 改 整 合 限 制 6. 廢 除 整 合 限 制 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 33

新 增 欄 位 定 義 -ALTER TABLE ADD ALTER TABLE < 表 格 名 > ADD (< 欄 位 名 1>< 資 料 型 態 > [,< 欄 位 名 2>< 資 料 型 態 > ]); 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 34

修 改 欄 位 的 定 義 -ALTER TABLE MODIFY ALTER TABLE< 表 格 名 > MODIFY (< 欄 位 名 1> [< 資 料 型 態 >] [NULL NOT NULL] [,< 欄 位 名 2>[< 資 料 型 態 >[NULL NOT NULL]] ]); 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 35

廢 除 欄 位 定 義 --ALTER TABLE DROP COLUMN ALTER TABLE < 表 格 名 > DROP COLUMN < 欄 位 名 > 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 36

新 增 整 合 限 制 (Integrity Constraint)- ALTER TABLE ADD CONSTRAINT ALTER TABLE < 表 格 名 > ADD (CONSTRAINT < 整 合 限 制 名 1>< 整 合 限 制 條 件 1> [, CONSTRAINT < 整 合 限 制 名 2>< 整 合 限 制 條 件 2> ]); 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 37

修 改 整 合 限 制 修 改 整 合 限 制 又 可 分 成 : 實 施 整 合 限 制 (ENABLE) ALTER TABLE < 表 格 > ENABLE CONSTRAINT 暫 時 取 消 整 合 限 制 (DISABLE) ALTER TABLE < 表 格 > DISABLE CONSTRAINT 廢 除 整 合 限 制 ALTER TABLE < 表 格 > DROP CONSTRAINT 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 38

4-6-6 廢 除 基 本 表 格 廢 除 基 本 表 格 命 令 -DROP TABLE 當 要 廢 除 的 基 本 表 格 中 含 有 參 考 整 合 限 制 時, 也 就 是 被 別 的 表 格 參 考 到 表 格 中 的 候 選 鍵 時, 必 須 加 入 CASCADE CONSTRAINTS 才 能 廢 除 表 格 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 39

4-6-7 建 立 表 格 的 建 議 步 驟 1. 廢 除 表 格, 以 免 原 表 格 已 存 在 而 產 生 錯 誤 2. 建 立 表 格 3. 建 立 個 体 整 合 限 制 與 值 域 整 合 限 制 4. 建 立 參 考 整 合 限 制 5. 插 入 資 料 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 40

4-6-8 建 立 表 格 時 加 入 整 合 限 制 此 時 建 立 表 格 的 順 序 就 很 重 要 被 關 聯 的 表 格 要 先 建 立, 例 如 :parent 表 格 要 比 student 表 格 先 建 立 ; parent 表 格 的 資 料 要 比 student 表 格 資 料 先 輸 入 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 41

4-6-9 簡 易 查 詢 簡 易 查 詢 -SELECT SELECT < 查 詢 內 容 > FROM < 表 格 名 > WHERE < 條 件 > ORDER BY < 排 序 內 容 > 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 42

4-7-1 虛 擬 欄 位 虛 擬 欄 位 (Pseudo Column) 不 是 任 何 表 格 的 一 個 真 實 欄 位, 然 而, 當 其 出 現 於 一 個 SELECT 指 令 的 選 擇 列 表 中 時, 它 將 提 供 一 個 具 有 特 殊 或 特 別 意 義 的 值 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 43

4-7-2 虛 擬 表 格 虛 擬 表 格 (DUAL) 是 ORACLE 提 供 的 最 小 的 工 作 表, 它 僅 包 含 一 行 一 列 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 44

4-8 資 料 型 態 轉 換 函 數 HEXTORAW(CHAR) RAWTOCHAR(RAW) TO_CHAR (DATE, 特 定 日 期 格 式 ) TO_CHAR (NUMBER, 特 定 數 值 格 式 ) TO_DATE(CHAR, 特 定 日 期 格 式 ) TO_NUMBER(CHAR, 特 定 數 值 格 式 ) 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 45

特 定 的 日 期 格 式 參 數 舉 例 說 明 : TO_DATE( 31-3 月 -1964, DD-MONTH-YYYY ) TO_CHAR(HIREDATE, DD/MM/YYYY ) TO_CHAR(HIREDATE, AD DD-MON-YYYY ); 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 46

4-9 條 件 運 算 1. 用 來 比 較 的 : 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 47

2. 在 ( 或 不 在 ) 某 連 續 範 圍 之 內 (NOT) BETWEEN AND 3. 在 ( 或 不 在 ) 某 值 域 範 圍 (NOT) IN ( 值 域 範 圍 ) 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 48

4. 與 某 一 綱 要 相 匹 配 ( 或 不 匹 配 ) (NOT) LIKE ( 綱 要 ) 在 ORACLE 系 統 中 匹 配 綱 要 是 用 % ( 百 分 比 符 號 ) 表 示 任 何 字 元 ; 用 _ ( 底 線 符 號 ) 表 示 任 一 字 元 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 49

5. 列 表 或 子 查 詢 結 果 中 的 任 一 (ANY) 或 全 部 (ALL) 值 ANY 任 一 ALL 全 部 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 50

6. 辨 別 子 查 詢 結 果 有 無 傳 回 值 (NOT) EXISTS 7. 虛 值 (NULL) 判 斷 條 件 IS(NOT)NULL 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 51

4-10 SQL 中 常 用 的 函 數 SQL 函 數 是 用 來 處 理 一 個 資 料 項, 並 傳 回 結 果 的 運 算 函 數 可 以 接 受 零 個 或 多 個 參 數, 利 用 不 同 參 數 的 函 數 完 成 不 同 的 運 算, 並 產 生 一 個 或 多 個 結 果 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 52

函 數 種 類 1. 數 值 函 數 : 數 值 函 數 接 受 數 值 輸 入, 傳 回 數 值 2. 字 元 函 數 : 字 元 函 數 接 受 字 元 輸 入, 可 傳 回 字 元 或 數 值 3. 日 期 函 數 日 期 函 數 操 作 DATE 資 料 型 態 的 值, 除 MONTHS_BETWEEN 外, 其 他 所 有 的 日 期 函 數 會 傳 回 一 個 DATE 型 態 的 值 4. 虛 值 函 數 NVL 5. 群 組 函 數 (Aggregation functions) 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 53

數 值 函 數 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 54

字 元 函 數 函 數 說 明 CHR(n) 傳 回 字 元, 其 ASCII 碼 等 於 n CONCAT(s1, s2) 傳 回 s1 字 串 連 接 s2 字 串 的 新 字 串 INITCAP(s) 將 字 串 s 的 第 一 個 字 母 為 大 寫, 其 它 的 為 小 寫 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 55

字 元 函 數 (cont.) LENGTH(s) 傳 回 字 串 的 長 度 LOWER(s) 將 所 有 字 母 為 小 寫 LPAD(s1, n[, s2]) 用 s2 字 元 填 入 s1 字 串 中 的 左 邊, 使 其 總 長 度 為 n s2 的 預 設 值 為 單 個 空 格 ( ) 如 果 s1 字 串 長 度 大 於 n, 函 數 則 傳 回 s1 字 串 的 部 分 n 為 傳 回 值 的 總 長 度 LTRIM(s [,set]) 從 s 字 串 的 左 邊 開 始 移 去 set 字 串 中 的 字 元, 直 至 第 一 個 不 是 set 中 的 字 元 為 止 set 的 預 設 值 為 單 個 空 格 ( ) 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 56

字 元 函 數 (cont.) REPLACE(s, 搜 尋 字 串 串 ]) [, 取 代 字 將 用 取 代 字 串 代 替 每 一 個 搜 尋 字 串 的 值, 如 果 取 代 字 串 不 寫, 則 所 有 搜 尋 字 串 的 值 被 刪 去 RPAD(s1, n[,s2]) 用 s2 填 入 字 串 的 右 邊, 使 其 總 長 度 為 n s2 字 串 的 預 設 值 為 單 個 空 格 ( ) 如 果 s1 比 n 長, 則 傳 回 s1 的 部 份 n 為 傳 回 值 的 總 長 度 RTRIM(s [,set]) 從 右 邊 開 始 移 去 set 字 串 中 的 字 元, 直 至 最 後 一 個 不 set 中 的 字 元 為 止 set 的 預 設 值 為 單 個 空 格 ( ) 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 57

字 元 函 數 (cont.) SUBSTR ( s, m [,n]) 求 s 字 串 的 子 字 串, 從 m 處 的 字 元 開 始, 取 n 個 字 元 長 TRANSLATE (s, froms, tos) 將 s 字 串 中 的 froms 字 串 中 每 一 個 字 元 值 利 用 tos 字 串 中 相 應 字 元 替 換 不 在 froms 字 串 中 的 s 的 字 元 則 不 進 行 轉 換 UPPER(s) 傳 回 s, 其 中 所 有 字 母 為 大 寫, 傳 回 值 與 引 數 s 有 相 同 資 料 型 態 DECODE(ex, s1, r1 [, s2, r2, ], d) 依 照 ex 的 值 傳 回 不 同 的 值, 若 ex 的 值 為 s1 則 傳 回 值 r1,[ 若 ex 的 值 為 s2 則 傳 回 值 r2,] 否 則 傳 回 值 d 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 58

日 期 函 數 函 數 說 明 ADD_MONTHS(d,n) 傳 回 加 n 個 月 的 d 日 期, 引 數 n 為 整 數 如 果 d 為 該 月 中 最 後 一 天 ( 例 如 :31 日 ), 而 且 結 果 月 份 的 總 天 數 較 少 ( 例 如 : 二 月 的 28 日 ), 則 結 果 的 日 期 為 結 果 月 份 的 最 後 一 日 ( 例 如 :28 日 ), 否 則 結 果 日 期 的 天 數 與 d 中 的 原 日 期 一 致 LAST_DAY(d) 傳 回 包 含 d 日 期 的 月 份 最 後 一 天 之 日 期 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 59

日 期 函 數 (Cont.) MONTHS_BETWEEN(d1,d2) 傳 回 日 期 d1 和 d2 之 間 的 月 數 如 果 d1 比 d2 晚, 結 果 為 正 ; 如 果 d1 比 d2 早, 則 為 負 ; 如 果 d1 與 d2 為 同 一 日 期, 則 結 果 為 0 NEXT_DAY(d, 星 期 幾 ) 傳 回 比 日 期 d 晚 的 第 一 個 星 期 幾 ROUND(d[,fmt]) 傳 回 依 照 指 定 的 格 式 (fmt) 的 單 位 將 d 四 捨 五 入 到 最 近 日 期 TRUNC(d[,fmt]) 傳 回 依 照 指 定 的 格 式 (fmt) 的 單 位 將 d 無 條 件 捨 去 到 最 近 的 日 期 SYSDATE 傳 回 當 前 的 日 期 和 時 間 注 意 :CHECK 約 束 條 件 中 不 能 使 用 該 函 數 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 60

虛 值 函 數 NVL 虛 值 不 是 零, 也 非 空 白, 用 來 記 錄 目 前 資 料 值 未 知 的 情 況 虛 值 本 身 不 能 做 任 何 比 較 與 運 算, 因 為 結 果 都 是 虛 值 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 61

以 虛 值 的 特 性 與 意 義 可 大 致 分 為 以 下 三 種 : 1. 可 適 用 的 虛 值 (Applicable Null Values) 2. 不 可 適 用 的 虛 值 (Inapplicable Null Values) 3. 完 全 不 知 道 的 虛 值 (Totally Unknown) 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 62

可 適 用 的 虛 值 (Applicable Null Values) 若 是 某 特 定 欄 位 的 值 確 實 存 在, 但 是 我 們 並 不 知 道 其 值 為 何, 所 以 暫 時 存 放 一 個 虛 值, 等 到 日 後 得 知 確 實 數 值 後 再 填 入 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 63

不 可 適 用 的 虛 值 (Inapplicable Null Values) 若 是 某 特 定 欄 位 的 值 根 本 就 不 存 在, 則 我 們 就 可 放 入 一 個 虛 值, 表 示 此 欄 位 的 值 並 不 存 在 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 64

完 全 不 知 道 的 虛 值 (Totally Unknown) 若 是 某 特 定 欄 位 的 值, 我 們 完 全 不 知 道 這 個 值 是 否 存 在 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 65

群 組 函 數 (Aggregation functions) SQL 可 利 用 GROUP BY 子 句 將 查 詢 的 結 果 分 組, 並 對 每 個 群 組 利 用 前 面 介 紹 的 群 組 函 數 傳 回 單 列 群 組 資 訊 查 詢 的 資 料 依 照 GROUP BY 子 句 所 指 定 的 運 算 式 的 值 分 組, 將 相 同 值 的 資 料 組 成 一 組 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 66

4-11 SELECT 指 令 小 結 SELECT < 欄 位 名 1>,< 欄 位 名 2>,,< 欄 位 名 n> FROM < 表 格 名 1>,< 表 格 名 2>,,< 表 格 名 n> [WHERE 條 件 ] GROUP BY < 欄 位 名 1>,< 欄 位 名 2>,,< 欄 位 名 n> [HAVING 分 組 篩 選 條 件 ] [ORDER BY < 欄 位 名 1>,< 欄 位 名 2>,,< 欄 位 名 n>] 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 67

4-12-1 視 觀 表 格 (View) 的 概 念 可 以 由 一 個 基 本 表 格 中 選 取 的 某 些 資 料 列 和 欄 位 組 成, 也 可 以 由 幾 個 表 格 中 滿 足 一 定 條 件 的 資 料 組 成 視 觀 表 格 如 同 是 基 本 表 格 (Base Table) 窗 口, 它 反 映 了 一 個 或 多 個 基 本 表 格 的 局 部 資 料, 但 視 觀 表 格 本 身 並 無 實 際 存 放 資 料, 資 料 都 來 自 於 基 本 表 格, 視 觀 表 格 僅 是 對 應 基 本 表 格 的 部 分 資 料, 因 此 視 觀 表 格 只 是 一 個 虛 擬 表 格 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 68

使 用 視 觀 表 格 的 主 要 原 因 視 觀 表 格 可 以 提 供 安 全 : 視 觀 表 格 是 建 立 在 一 個 或 數 個 表 格 上, 使 用 者 可 以 操 作 視 觀 表 格 而 不 會 直 接 存 取 表 格 中 較 機 密 的 資 料 欄 位 視 觀 表 格 可 以 隱 藏 複 雜 的 資 料 查 詢 : 跨 多 表 格 的 關 聯 查 詢 或 是 較 複 雜 的 查 詢 都 可 以 利 用 視 觀 表 格 來 代 替, 如 此 可 以 簡 化 查 詢 操 作 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 69

4-12-2 建 立 視 觀 表 格 的 指 令 建 立 視 觀 表 格 (View)-CREATE VIEWCREATE VIEW < 視 觀 表 格 名 > [< 視 觀 表 格 欄 位 名 串 列 >] AS SELECT 指 令 [WITH CHECK OPTION]; 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 70

4-12-3 使 用 視 觀 表 格 (View) 的 指 令 視 觀 表 格 的 使 用 如 同 基 本 表 格 一 樣, 使 用 者 可 以 查 詢 其 中 的 資 料, 在 某 些 情 況 下 可 以 對 視 觀 表 格 進 行 修 改 刪 除 或 插 入 資 料 操 作, 其 操 作 方 式 與 一 般 基 本 表 格 相 同 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 71

4-12-4 廢 除 視 觀 表 格 廢 除 視 觀 表 格 -DROP VIEW DROP VIEW < 視 觀 表 名 >; 雖 然 視 觀 表 格 (View) 的 廢 除 不 會 影 響 基 本 表 格 的 使 用, 但 會 導 致 該 視 觀 表 格 相 關 的 所 有 授 權 被 自 動 取 消, 該 視 觀 表 格 相 關 的 所 有 視 觀 表 格 和 同 義 字 變 成 無 效 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 72

4-13 基 本 表 格 視 觀 表 格 的 拷 貝 在 使 用 資 料 庫 時, 經 常 需 要 對 原 始 的 資 料 資 訊 進 行 備 份, 備 份 資 料 可 以 用 來 做 刪 除 前 的 歸 檔 資 料, 或 用 來 做 臨 時 性 修 改, 或 是 提 供 給 其 他 人 使 用 我 們 可 以 在 資 料 庫 內 拷 貝 基 本 表 格 或 視 觀 表 格 拷 貝 一 個 基 本 表 格, 一 般 包 括 該 表 格 的 欄 位 定 義 和 所 有 的 資 料 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 73

拷 貝 表 格 CREATE TABLE AS SELECT CREATE TABLE < 表 格 名 >[(< 欄 位 名 > [NOT NULL] )] AS SELECT 命 令 ; 其 中 :< 表 格 名 > 為 新 表 格 的 名 字 ;[ ( < 欄 位 名 > [NOT NULL] ) ] 為 可 選 項, 如 果 不 選 這 項, 則 備 份 表 格 的 各 欄 位 名 及 資 料 型 態 是 由 SELECT 敘 述 的 查 詢 結 果 決 定 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 74

4-14 建 立 與 使 用 序 列 (SEQUENCE) 在 ORACLE 系 統 中 並 沒 有 提 供 任 何 自 動 編 號 的 欄 位, 所 以 ORACLE 就 利 用 序 列 (SEQUENCES), 來 達 成 相 同 的 功 能 它 的 功 能 類 似 一 個 計 數 器 (Counter) 序 列 是 產 生 連 續 數 字 最 有 效 率 的 方 法 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 75

建 立 序 列 方 法 CREATE SEQUENCE < 序 列 名 > 當 你 建 立 了 序 列 之 後, 一 般 預 設 的 情 況 下 ORACLE 系 統 會 在 記 憶 體 之 中 產 生 20 組 號 碼, 以 供 你 使 用 每 一 個 號 碼 只 能 產 生 一 次 就 換 到 下 一 個 號 碼, 你 可 以 使 用 sequence_name.currval 來 得 到 目 前 值 與 利 用 sequence_name.nextval 得 到 下 一 個 可 用 之 值 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 76

更 改 序 列 -- ALTER SEQUENCE ALTER SEQUENCE < 序 列 名 > <New_paramenters>; 其 中 <New_parameters> 為 新 的 選 項 參 數 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 77

廢 除 序 列 -- DROP SEQUENCE DROP SEQUENCE < 序 列 名 > 此 外 我 們 可 以 利 用 查 詢 ORACLE 系 統 中 資 料 字 典 的 視 觀 表 格 user_sequences 得 知 使 用 者 目 前 建 立 了 那 些 序 列 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 78

4-15-1 索 引 (Index) 的 概 念 索 引 (Index) 就 好 比 書 籍 中 的 目 錄, 當 你 要 找 尋 某 章 節 時, 可 迅 速 地 找 到, 節 省 找 尋 的 時 間 然 而 在 一 般 查 詢 中,ORACLE 要 逐 列 查 詢 該 表 格, 檢 查 是 否 為 所 需 的 資 料, 直 到 找 到 所 有 符 合 WHERE 子 句 中 的 條 件 的 資 料 列 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 79

4-15-2 建 立 索 引 建 立 索 引 -CREATE INDEX ON CREATE [UNIQUE] INDEX < 索 引 名 > ON < 表 格 名 > ( < 欄 位 名 > [ASC/DESC] [, < 欄 位 名 >[ASC/DESC] ] ); 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 80

建 立 索 引 的 原 則 (1) 較 大 的 基 本 表 格 應 該 建 立 索 引 表 格 越 大, 索 引 越 能 更 好 地 改 善 回 應 時 間, 索 引 也 越 有 效,ORACLE 系 統 越 有 機 會 找 到 最 短 路 徑 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 81

建 立 索 引 的 原 則 (cont.) (2) 對 一 個 基 本 表 格 可 以 建 立 多 個 索 引, 但 建 議 最 好 不 要 超 過 三 個 一 個 表 格 可 以 有 多 個 索 引, 索 引 越 多, 查 詢 速 度 越 快 但 是 建 立 太 多 的 索 引 是 不 合 適 的 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 82

建 立 索 引 的 原 則 (cont.) (3) 一 般 在 主 鍵 欄 位 上 建 立 索 引 當 一 個 主 鍵 為 複 合 欄 位 主 鍵 時, 那 麼 最 好 是 把 資 料 種 類 最 多 的 欄 位 放 在 CREATE INDEX 命 令 列 的 首 位 如 果 各 欄 位 資 料 種 類 相 近, 則 將 最 經 常 用 到 的 欄 位 放 在 前 面 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 83

建 立 索 引 的 原 則 (cont.) (4) 建 立 索 引 要 注 意 先 後 順 序 通 常 在 表 格 中 輸 入 資 料 後 才 建 立 索 引 如 果 先 建 索 引 後 輸 入 資 料, 則 每 插 入 一 列 都 要 對 索 引 進 行 一 次 更 新, 這 很 浪 費 時 間 但 如 果 希 望 保 證 輸 入 資 料 的 唯 一 性, 那 麼 只 能 以 犧 牲 性 能 為 代 價, 在 輸 入 資 料 前 先 建 立 好 唯 一 索 引 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 84

建 立 索 引 的 原 則 (cont.) (5) 建 立 索 引 要 注 意 95/5 法 則 在 某 些 情 況 下 使 用 索 引 會 拖 慢 速 度 你 可 利 用 95/5 法 則 評 估 是 否 使 用 索 引 當 查 詢 回 覆 結 果 小 於 表 格 全 部 資 料 的 5% 時, 使 用 索 引 是 最 佳 的 查 詢 方 式 如 果 查 詢 回 覆 結 果 超 過 表 格 全 部 資 料 的 95% 時, 不 使 用 索 引 查 詢 的 方 式 通 常 會 有 比 較 好 的 效 能 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 85

索 引 的 內 部 結 構 ORACLE 系 統 採 用 的 索 引 內 部 結 構 是 B + 樹, 從 而 保 證 對 表 格 中 任 何 一 列 的 存 取 所 需 要 的 時 間 都 差 不 多 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 86

4-15-3 索 引 的 類 型 依 建 立 方 式 分 類 : 單 鍵 索 引 多 鍵 索 引 依 索 引 欄 位 值 是 否 可 重 覆 分 類 : 唯 一 索 引 非 唯 一 索 引 依 儲 存 方 式 分 類 : 壓 縮 索 引 非 壓 縮 索 引 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 87

單 鍵 索 引 和 多 鍵 索 引 單 鍵 索 引 是 指 在 表 格 中 利 用 某 一 欄 位 所 建 立 的 索 引 多 鍵 索 引 是 指 在 表 格 中 利 用 多 於 一 個 欄 位 所 建 立 的 索 引 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 88

唯 一 索 引 和 非 唯 一 索 引 唯 一 索 引 和 非 唯 一 索 引 是 根 據 在 建 立 索 引 時 是 否 指 明 UNIQUE 來 確 定 的 唯 一 索 引 要 求 被 索 引 的 欄 位 值 不 能 重 覆 非 唯 一 索 引 則 允 許 索 引 欄 位 值 可 以 重 覆 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 89

壓 縮 索 引 和 非 壓 縮 索 引 建 立 索 引 時, 若 索 引 按 壓 縮 方 式 儲 存, 則 為 壓 縮 索 引, 否 則 為 非 壓 縮 索 引 壓 縮 索 引 的 優 點 是 減 少 了 儲 存 需 要, 因 而 減 少 了 I/O 的 次 數, 但 是 為 了 完 成 壓 縮 以 及 在 檢 索 時, 對 壓 縮 檔 做 解 碼 需 要 耗 費 一 定 的 時 間 使 用 非 壓 縮 索 引, 由 於 在 尋 找 時 無 需 進 行 解 碼, 因 而 加 快 了 執 行 速 度 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 90

4-15-4 廢 除 索 引 廢 除 索 引 -DROP INDEX DROP INDEX [< 使 用 者 名 稱 >. ]< 索 引 名 >; 當 使 用 者 不 再 需 要 使 用 索 引 時, 可 以 使 用 DROP INDEX 指 令 廢 除 索 引 其 中 :< 索 引 名 > 指 出 要 廢 除 的 索 引 名 字 [< 使 用 者 名 稱 >] 的 選 項, 表 示 該 索 引 的 擁 有 者 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 91

4-16 同 義 字 (Synonym) ORACLE 系 統 中 提 供 了 一 個 很 方 便 的 物 件 - Synonym ( 同 義 字 ) 同 義 字 可 分 為 Public ( 公 用 ) 與 Private ( 專 用 ) 兩 種 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 92

同 義 字 的 主 要 目 的 隱 藏 原 資 料 庫 物 件 的 原 擁 有 者 的 資 訊 為 某 物 件 提 供 一 個 較 簡 單 或 是 方 便 的 名 字 隱 藏 某 資 料 庫 物 件 的 實 際 位 置 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 93

4-16-1 定 義 同 義 字 定 義 同 義 字 -CREATE SYNONYM FOR 建 立 同 義 字 的 命 令 如 下 : CREATE [PUBLIC] SYNONYM < 同 義 字 > FOR [< 使 用 者 名 稱 >.] < 資 料 庫 物 件 >; 其 中 :[PUBLIC] 為 選 項, 如 果 選 擇 該 項, 則 表 示 建 立 的 這 個 同 義 字 可 以 被 所 有 使 用 者 使 用, 也 就 是 一 個 公 用 的 (public) 同 義 字, 但 只 有 DBA ( 資 料 庫 管 理 員 ) 能 夠 選 擇 [PUBLIC] 項 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 94

4-16-2 廢 除 同 義 字 廢 除 同 義 字 -DROP SYNONYM DROP [PUBLIC] SYNONYM < 同 義 字 >; 只 有 DBA 才 能 選 擇 [PUBLIC] 項 來 刪 除 公 用 同 義 字 同 義 字 的 廢 除 不 會 影 響 其 原 本 表 格 視 觀 表 格 (View) 使 用 權 限 改 變 一 個 同 義 字 的 方 法 是 先 廢 除 該 同 義 字, 再 重 建 該 同 義 字 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 95

4-17 資 料 庫 鏈 結 (Database Link) 資 料 庫 鏈 結 允 許 使 用 者 處 理 遠 端 資 料 庫 的 資 料, 可 使 用 已 經 設 定 好 的 資 料 庫 鏈 結 而 不 需 要 知 道 遠 端 資 料 庫 的 實 際 位 置 使 用 資 料 庫 鏈 結 時, 系 統 會 透 過 網 路 啟 動 一 個 連 線 (session), 以 便 執 行 你 的 SQL 指 令 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 96

4-17-1 建 立 資 料 庫 鏈 結 建 立 資 料 庫 鏈 結 -CREATE DATABASE LINK CREATE [PUBLIC] DATABASE LINK < 資 料 庫 鏈 結 名 > CONNECT TO < 使 用 者 > IDENTIFIED BY < 密 碼 > USING < 主 機 字 串 > 其 中 :< 使 用 者 > 為 連 線 遠 端 主 機 中 的 合 法 使 用 者 ;< 主 機 字 串 > 為 利 用 NET8 Easy Config 設 定 好 的 主 機 字 串 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 97

4-17-2 廢 除 資 料 庫 鏈 結 廢 除 資 料 庫 鏈 結 -DROP DATABASE LINK DROP DATABASE LINK < 資 料 庫 鏈 結 名 > 2009/3/26 資 料 庫 系 統 理 論 與 實 務 - 使 用 Oracle 98