《數(shù)據(jù)庫及應用程序開發(fā)數(shù)據(jù)庫設計》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫及應用程序開發(fā)數(shù)據(jù)庫設計(46頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、1 第4章 數(shù)據(jù)庫及應用程序開發(fā) 數(shù)據(jù)庫設計 2 4.2 數(shù)據(jù)庫設計n 只 有 對 數(shù) 據(jù) 庫 進 行 合 理 的 邏 輯 設 計 和 有 效 的物 理 設 計 才 能 開 發(fā) 出 完 善 而 高 效 的 信 息 系 統(tǒng) n 需 求 分 析n 概 念 設 計n 邏 輯 結(jié) 構(gòu) 設 計n 物 理 結(jié) 構(gòu) 設 計 n 數(shù) 據(jù) 庫 實 施 階 段 3 4.2.1需 求 分 析 與 概 念 設 計n 1需求分析n 需 求 分 析 就 是 分 析 用 戶 的 要 求 n 結(jié) 果 是 否 準 確 地 反 映 了 用 戶 的 實 際 要 求 , 將 直 接 影 響到 后 面 各 個 階 段 的 設 計 ,
2、并 影 響 到 設 計 結(jié) 果 是 否 合 理和 實 用n 需 求 分 析 的 任 務 : n 詳 細 調(diào) 查 要 處 理 的 對 象n 了 解 原 系 統(tǒng) 工 作 概 況 ,明 確 用 戶 的 各 種 需 求 n 確 定 新 系 統(tǒng) 的 功 能n 考 慮 今 后 可 能 的 擴 充 和 改 變 4 n 信 息 要 求n 要 從 數(shù) 據(jù) 庫 中 獲 得 信 息 的 內(nèi) 容 與 性 質(zhì)n 處 理 要 求n 要 完 成 什 么 處 理 功 能 , 對 處 理 的 響 應 時 間 有 什 么 要 求 。n 安 全 性 與 完 整 性 要 求n 安 全 性 要 求 描 述 不 同 用 戶 使 用 和
3、操 作 數(shù) 據(jù) 庫 的 情 況n 完 整 性 要 求 描 述 數(shù) 據(jù) 之 間 的 關(guān) 聯(lián) 以 及 數(shù) 據(jù) 的 取 值 范 圍 5 2 概 念 設 計 n 以 DFD和 DD提 供 的 信 息 作 為 輸 入 , 運 用 信 息 模型 工 具 對 目 標 進 行 描 述 , 并 以 用 戶 能 理 解 的 形式 表 達 信 息 。 這 種 表 達 獨 立 于 具 體 的 DBMS n ER方 法 實 體 聯(lián) 系 模 型 n 將 現(xiàn) 實 世 界 抽 象 為 具 有 屬 性 的 實 體 及 聯(lián) 系 。 畫出 一 張 ER圖 , 就 得 到 了 一 個 對 系 統(tǒng) 信 息 的 初步 描 述 , 進 而
4、 形 成 數(shù) 據(jù) 庫 的 概 念 模 型 。 6 4.2.2邏 輯 結(jié) 構(gòu) 設 計 n ER關(guān) 系 模 型n 步 驟 :n 將 概 念 結(jié) 構(gòu) 轉(zhuǎn) 化 為 一 般 的 關(guān) 系 模 型 。n 將 轉(zhuǎn) 化 來 的 關(guān) 系 模 型 向 特 定 DBMS支 持 下 的 數(shù)據(jù) 模 型 轉(zhuǎn) 換 。n 對 數(shù) 據(jù) 模 型 進 行 優(yōu) 化 7 1數(shù)據(jù)庫邏輯模型的產(chǎn)生( 1) 一 個 實 體 型 轉(zhuǎn) 換 為 一 個 關(guān) 系 模 式 。 實 體 的屬 性 就 是 關(guān) 系 的 屬 性 , 實 體 的 碼 就 是 關(guān) 系 的 碼 。 8 ( 2) 一 個 1:l聯(lián) 系 ,n 可 以 轉(zhuǎn) 換 為 一 個 獨 立 的 關(guān)
5、 系 模 式 : 各 實 體 的 碼以 及 聯(lián) 系 本 身 的 屬 性 均 轉(zhuǎn) 換 為 關(guān) 系 的 屬 性 , 每個 實 體 的 碼 均 是 該 關(guān) 系 的 候 選 碼 。 n 與 一 端 的 關(guān) 系 模 式 合 并 : 在 該 關(guān) 系 模 式 的 屬 性中 加 入 另 一 個 關(guān) 系 模 式 的 碼 和 聯(lián) 系 本 身 的 屬性 。 9 【 例 4-43】 將 1: 1聯(lián) 系 的 E-R圖 轉(zhuǎn) 換 為 關(guān) 系 模 型 。 10 方 案 1 n 職 工 ( 職 工 號 , 姓 名 , 年 齡 )n 產(chǎn) 品 ( 產(chǎn) 品 號 , 產(chǎn) 品 名 , 價 格 )n 負 責 ( 職 工 號 , 產(chǎn) 品 號
6、 )n 方 案 2n 職 工 ( 職 工 號 , 姓 名 , 年 齡 , 產(chǎn) 品 號 )n 產(chǎn) 品 ( 產(chǎn) 品 號 , 產(chǎn) 品 名 , 價 格 )n 方 案 3 n 職 工 ( 職 工 號 , 姓 名 , 年 齡 )n 產(chǎn) 品 ( 產(chǎn) 品 號 , 產(chǎn) 品 名 , 價 格 , 職 工 號 )n 方 案 3比 較 合 理 11 (3)一個1:n聯(lián)系n 可 以 轉(zhuǎn) 換 為 一 個 獨 立 的 關(guān) 系 模 式 :n 與 該 聯(lián) 系 相 連 的 各 實 體 的 碼 以 及 聯(lián) 系 本 身 的屬 性 均 換 為 關(guān) 系 的 屬 性 , 而 關(guān) 系 的 碼 為 n端實 體 的 碼n 與 n端 對 應 的 關(guān)
7、 系 模 式 合 并 :n 聯(lián) 系 本 身 的 屬 性 均 換 為 關(guān) 系 的 屬 性 , 再 加 1端 實 體 的 碼 12 【 例 4-44】 n 將 含 有 1: n聯(lián) 系 的 E-R圖 轉(zhuǎn) 換 為 關(guān) 系 模 型 13 n 方 案 1: 1:n聯(lián) 系 形 成 的 關(guān) 系 獨 立 存 在 。n 倉 庫 ( 倉 庫 號 , 地 點 , 面 積 )n 產(chǎn) 品 ( 產(chǎn) 品 號 , 產(chǎn) 品 名 , 價 格 )n 倉 儲 ( 倉 庫 號 , 產(chǎn) 品 號 , 數(shù) 量 )n 方 案 2: 聯(lián) 系 形 成 的 關(guān) 系 與 n端 對 象 合 并n 倉 庫 ( 倉 庫 號 , 地 點 , 面 積 )n 產(chǎn)
8、品 ( 產(chǎn) 品 號 , 產(chǎn) 品 名 , 價 格 , 倉 庫 號 , 數(shù) 量 )n 方 案 2較 優(yōu) 14 (4)m:n聯(lián)系n 一 個 m: n聯(lián) 系 轉(zhuǎn) 換 為 一 個 關(guān) 系 模 式 :n 與 該 聯(lián) 系 相 連 的 各 實 體 的 碼 以 及 聯(lián) 系 本 身的 屬 性 均 轉(zhuǎn) 換 為 關(guān) 系 的 屬 性 。 而 關(guān) 系 的 碼為 各 實 體 碼 的 組 合 。 15 【 例 4-45】 一 個 m: n聯(lián) 系 轉(zhuǎn) 換 為 一 個 關(guān) 系 模 式 16 【 例 4-45】 n 學 生 ( 學 號 , 姓 名 , 年 齡 , 性 別 ) ;n 課 程 ( 課 程 號 , 課 程 名 , 學 時
9、 數(shù) ) ;n 選 修 ( 學 號 , 課 程 號 , 成 績 ) 。 17 (5)三個及以上實體間聯(lián)系n 三 個 或 三 個 以 上 實 體 間 的 一 個 多 元 聯(lián) 系 轉(zhuǎn) 換 為一 個 關(guān) 系 模 式 。 與 該 多 元 聯(lián) 系 相 連 的 各 實 體 的碼 以 及 聯(lián) 系 本 身 的 屬 性 均 轉(zhuǎn) 換 為 關(guān) 系 的 屬 性 。而 關(guān) 系 的 碼 為 各 實 體 碼 的 組 合 。 18 【 例 4-46】 一 個 m: n聯(lián) 系 轉(zhuǎn) 換 為 一 個 關(guān) 系 模 式 19 【 例 4-46】 n 供 應 商 ( 供 應 商 號 , 供 應 商 名 , 地 址 )n 零 件 ( 零
10、件 號 , 零 件 名 , 單 價 )n 產(chǎn) 品 ( 產(chǎn) 品 號 , 產(chǎn) 品 名 , 型 號 )n 供 應 ( 供 應 商 號 , 零 件 號 , 產(chǎn) 品 號 , 數(shù) 量 ) 20 (6)同一實體集聯(lián)系,按 上 述 1: 1, 1:n和 m: n三 種 情 況 分 別 處 理 。 21 【 例 4-47】 n 將 含 有 同 一 實 體 集 的 1:n聯(lián) 系 的 E-R圖 轉(zhuǎn) 換 為 關(guān)系 模 型 22 n 方 案 1: 轉(zhuǎn) 換 為 兩 個 關(guān) 系 模 式 。 職 工 ( 職 工 號 , 姓 名 , 年 齡 ) 領(lǐng) 導 ( 領(lǐng) 導 工 號 , 職 工 號 )n 方 案 2:轉(zhuǎn) 換 為 一 個
11、關(guān) 系 模 式 。 職 工 ( 職 工 號 , 姓 名 , 年 齡 , 領(lǐng) 導 工 號 ) 23 【 例 4-48】 n 將 含 有 同 實 體 集 間 m:n聯(lián) 系 的 E-R圖 轉(zhuǎn) 換 為 關(guān)系 模 式 24 n 零 件 ( 零 件 號 , 名 稱 , 價 格 )n 組 裝 ( 組 裝 件 號 , 零 件 號 , 數(shù) 量 ) 25 2.數(shù) 據(jù) 模 型 的 優(yōu) 化 n 以 規(guī) 范 化 理 論 為 指 導 n ( 1) 確 定 數(shù) 據(jù) 依 賴 。 按 需 求 分 析 , 寫 出 各屬 性 之 間 的 數(shù) 據(jù) 依 賴 。n ( 2) 考 查 是 否 存 在 部 分 函 數(shù) 依 賴 、 傳 遞 函
12、數(shù) 依 賴 等 , 確 定 各 關(guān) 系 模 式 分 別 屬 于 第 幾 范式 。n ( 3) 按 照 需 求 分 析 對 數(shù) 據(jù) 處 理 的 要 求 , 確定 是 否 需 要 對 它 們 進 行 合 并 或 分 解 。 n 并 不 是 規(guī) 范 化 程 度 越 高 的 關(guān) 系 就 越 好 26 3 設 計 用 戶 模 式 n 利 用 視 圖 功 能 設 計 更 符 合 局 部 用 戶 需 要 的 用 戶外 模 式 。n 定 義 數(shù) 據(jù) 庫 模 式 主 要 是 從 系 統(tǒng) 的 時 間 效 率 、 空間 效 率 、 易 維 護 等 角 度 出 發(fā) 。n 用 戶 外 模 式 與 模 式 是 獨 立 的
13、 , 因 此 在 定 義 用 戶外 模 式 時 更 應 該 注 重 考 慮 用 戶 的 習 慣 與 方 便 n ( 1) 使 用 更 符 合 用 戶 習 慣 的 別 名 n ( 2) 針 對 不 同 級 別 的 用 戶 定 義 不 同 的 外 模式 , 以 滿 足 系 統(tǒng) 對 安 全 性 的 要 求 。 27 4.2.3數(shù) 據(jù) 庫 物 理 設 計 及 實 施n 物 理 設 備 上 的 存 儲 結(jié) 構(gòu) 與 存 取 方 法 稱 為 數(shù) 據(jù) 庫的 物 理 結(jié) 構(gòu) n 1確定數(shù)據(jù)的存儲結(jié)構(gòu)n 綜 合 考 慮 存 取 時 間 、 存 儲 空 間 利 用 率 和 維 護 代 價3方 面 的 因 素 。n
14、2設計數(shù)據(jù)的存取路徑 n 在 關(guān) 系 數(shù) 據(jù) 庫 中 , 選 擇 存 取 路 徑 主 要 是 指 確 定 如何 建 立 索 引 。 28 索 引 n ( 1) 聚 簇 索 引n 聚 簇 鍵 相 同 的 元 組 自 然 地 被 放 在 同 一 個 物 理頁 中 , 如 果 元 組 過 多 , 一 個 物 理 頁 放 不 下 ,則 被 鏈 接 到 多 個 物 理 頁 中 。n ( 2) 非 聚 簇 索 引n 索 引 頁 上 的 順 序 與 物 理 數(shù) 據(jù) 頁 上 的 順 序 一 般不 一 致 。 29 建立索引原則n 一 個 ( 組 ) 屬 性 經(jīng) 常 在 操 作 條 件 中 出 現(xiàn) 。n 一 個
15、 ( 組 ) 屬 性 經(jīng) 常 作 為 聚 集 函 數(shù) 的 參 數(shù) 。n 一 個 ( 組 ) 屬 性 經(jīng) 常 在 連 接 操 作 的 連 接 條 件 中出 現(xiàn) 。 30 建立聚簇索引原則n 檢 索 數(shù) 據(jù) 時 , 常 以 某 個 ( 組 ) 屬 性 作 為 排 序 、分 組 條 件 。n 檢 索 數(shù) 據(jù) 時 , 常 以 某 個 ( 組 ) 屬 性 作 為 檢 索 限制 條 件 , 并 返 回 大 量 數(shù) 據(jù) 。n 表 中 某 個 ( 組 ) 的 值 重 復 性 較 大 。 31 3確定數(shù)據(jù)的存放位置n 為 了 提 高 系 統(tǒng) 性 能 , 數(shù) 據(jù) 應 該 根 據(jù) 應 用 情 況 將易 變 部 分
16、與 穩(wěn) 定 部 分 、 經(jīng) 常 存 取 部 分 和 存 取 頻率 較 低 部 分 分 開 存 放 。 n 數(shù) 據(jù) 庫 數(shù) 據(jù) 備 份 、 日 志 文 件 備 份 等 , 可 以 考 慮存 放 在 磁 帶 上 。n 可 以 考 慮 將 表 和 索 引 分 別 放 在 不 同 的 磁 盤 上 。在 查 詢 時 , 由 于 兩 個 磁 盤 驅(qū) 動 器 分 別 在 工 作 ,因 而 可 以 保 證 物 理 讀 寫 速 度 比 較 快 。 32 4 確 定 系 統(tǒng) 配 置 n 同 時 使 用 數(shù) 據(jù) 庫 的 用 戶 數(shù)n 同 時 打 開 的 數(shù) 據(jù) 庫 對 象 數(shù)n 使 用 的 緩 沖 區(qū) 長 度 、
17、個 數(shù)n 時 間 片 大 小 , 數(shù) 據(jù) 庫 大 小n 物 理 塊 的 大 小 , 物 理 塊 的 裝 填 因 子 33 5數(shù)據(jù)庫的實施( 1) 定 義 數(shù) 據(jù) 庫 結(jié) 構(gòu)( 2) 數(shù) 據(jù) 裝 載 34 例 子 建 立 圖 書 館 需 求 分 析n 查 詢 圖 書 : 通 過 書 名 和 類 別 查 詢 庫 中 的 圖 書 ,其 中 書 名 為 模 糊 查 詢 。n 借 書 處 理 : 在 查 詢 的 基 礎 上 完 成 借 書 登 記 處 理 。借 書 時 需 要 輸 入 書 號 和 讀 者 編 號 , 修 改 圖 書 表記 錄 和 增 加 借 閱 表 的 記 錄 。n 還 書 處 理 :
18、實 現(xiàn) 還 書 處 理 操 作 。 還 書 時 需 要 先修 改 圖 書 記 錄 , 改 變 其 借 出 否 標 志 , 再 刪 除 相關(guān) 的 借 閱 記 錄 。 35 數(shù)據(jù)庫設計n 概 念 模 型讀 者 36 圖 書 37 借 書 38 數(shù) 據(jù) 庫 邏 輯 模 型 n 讀 者 ( 編 號 , 姓 名 , 單 位 , 性 別 , 電 話 )n 圖 書 ( 書 號 , 類 別 , 出 版 社 , 作 者 , 書 名 , 定價 , 借 出 否 )n 借 閱 ( 書 號 , 讀 者 編 號 , 借 閱 日 期 ) 39 規(guī) 范 化 n 圖 書 : 書 號 類 別 , 書 號 出 版 社 , 書 號
19、作 者 , 書 號 書 名 , 書 號 定 價 , 書 號 借 出否 ;n 讀 者 : 編 號 姓 名 , 編 號 單 位 , 編 號 性別 , 編 號 電 話 ;n 借 閱 : ( 書 號 , 讀 者 編 號 ) 借 閱 日 期 ;所 有 非 主 屬 性 對 碼 完 全 并 直 接 依 賴 。 各 表 均 為 第三 范 式 。 40 完 整 性 約 束 n 主 碼 約 束 :在 “ 圖 書 ” 表 中 , “ 書 號 ” 為 主 碼 ;在 “ 讀 者 ” 表 中 , “ 編 號 ” 為 主 碼 ;在 “ 借 閱 ” 表 中 , “ 書 號 ” 和 “ 讀 者 編 號 ” 為 主碼 。這 些
20、主 碼 的 屬 性 值 具 有 惟 一 性 和 非 空 性 。 41 借 閱 表 和 圖 書 表 間 的 外 碼 約 束 : n 借 閱 中 書 號 為 外 碼 , 參 照 表 為 圖 書 , 參 照 屬 性為 書 號 。n 在 借 閱 關(guān) 系 中 插 入 元 組 ( 借 閱 圖 書 ) 時 , 僅 當圖 書 表 中 有 相 應 書 號 時 , 系 統(tǒng) 才 執(zhí) 行 插 人 操 作 ,否 則 拒 絕 此 操 作 。 42 借 閱 表 和 讀 者 表 間 的 外 碼 約 束借 閱 中 讀 者 編 號 為 外 碼 , 參 照 表 為 讀 者 , 參 照 屬性 為 編 號 。在 借 閱 關(guān) 系 中 插 入 元 組 ( 借 閱 圖 書 ) 時 , 僅 當 讀者 表 中 有 相 應 讀 者 編 號 時 , 系 統(tǒng) 才 執(zhí) 行 插 人 操作 , 否 則 拒 絕 此 操 作 。 43 關(guān)系的屬性設計關(guān) 系 屬 性 的 設 計 包 括 :n 屬 性 名 、n 數(shù) 據(jù) 類 型 、n 數(shù) 據(jù) 長 度 、n 該 屬 性 是 否 允 許 空 值 、n 是 否 為 主 碼 、 n 是 否 為 索 引 項n 及 約 束 條 件 。 44 讀者表 45 圖書表 46 借閱表