《《數(shù)據(jù)庫設(shè)計》課件》由會員分享,可在線閱讀,更多相關(guān)《《數(shù)據(jù)庫設(shè)計》課件(27頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第4章 數(shù)據(jù)庫設(shè)計計 算 中 心 本章將要了解什么問題? 該 如 何 完 成 數(shù) 據(jù) 庫 設(shè) 計 本章內(nèi)容4.1 數(shù) 據(jù) 庫 設(shè) 計 過 程 概 述4.2 E-R模 型 及 其 到 關(guān) 系 模 型 的 轉(zhuǎn) 化4.3 簡 單 的 數(shù) 據(jù) 庫 設(shè) 計 實 例 l 數(shù) 據(jù) 庫 設(shè) 計l 數(shù) 據(jù) 庫 系 統(tǒng) 設(shè) 計 包 括 以 及 圍 繞數(shù) 據(jù) 模 式 的 兩 個 部 分 。l 在 關(guān) 系 數(shù) 據(jù) 庫 系 統(tǒng) 中 , 數(shù) 據(jù) 模 式 設(shè) 計 即 設(shè) 計一 組 來 記 錄 用 戶 需 求 數(shù) 據(jù) , 設(shè) 計 二 維表 的 兩 個 原 則 : l 針 對 具 體 應(yīng) 用 提 供 足 夠 的 信 息 量l
2、符 合 關(guān) 系 的 設(shè) 計 規(guī) 范 ( 1NF、 2NF、 3NF)4.1 數(shù)據(jù)庫設(shè)計過程概述請求回應(yīng)數(shù)據(jù)庫應(yīng)用程序 4.1 數(shù)據(jù)庫設(shè)計過程概述l 數(shù) 據(jù) 庫 設(shè) 計 過 程l 各 個 階 段 如 右 圖其 中 重 點 部 分 是和 , 常 用 E-R模型 作 為 設(shè) 計 工 具 , 再 按 照一 定 規(guī) 則 從 E-R模 型 轉(zhuǎn) 換為 關(guān) 系 模 型 。 l 數(shù) 據(jù) 庫 設(shè) 計 不 是 一 蹴 而 就的 , 而 是 一 個 “ 反 復(fù) 探 尋 、逐 步 求 精 ” 的 過 程 。 需 求 分 析概 念 設(shè) 計邏 輯 設(shè) 計物 理 設(shè) 計實 施 與 維 護 4.1 數(shù)據(jù)庫設(shè)計過程概述調(diào) 研 用
3、 戶 的 實 際 需 求 , 與 用 戶 達 成 共 識 ,然 后 分 析 與 表 達 這 些 需 求 。把 用 戶 需 求 進 行 綜 合 、 歸 納 與 抽 象 , 統(tǒng) 一到 一 個 概 念 結(jié) 構(gòu) 中 , 形 成 數(shù) 據(jù) 庫 的 概 念 模型 。 面 向 用 戶 , 與 DBMS無 關(guān) 。 ( E-R圖 ) 4.1 數(shù)據(jù)庫設(shè)計過程概述將 概 念 結(jié) 構(gòu) 轉(zhuǎn) 換 為 某 個 DBMS所 支 持 的 數(shù) 據(jù) 模 型 , 并 對其 進 行 優(yōu) 化 。 ( 將 E-R圖 轉(zhuǎn) 換 為 關(guān) 系 模 型 )為 一 個 給 定 的 邏 輯 數(shù) 據(jù) 模 型 選 取 一 個 最 適 合 應(yīng) 用 環(huán) 境 的物
4、 理 結(jié) 構(gòu) ( 存 儲 結(jié) 構(gòu) 與 存 取 方 法 ) 的 過 程 。 依 賴 于 給 定的 計 算 機 系 統(tǒng) 和 DBMS。確 定 了 數(shù) 據(jù) 庫 的 邏 輯 結(jié) 構(gòu) 和 物 理 結(jié) 構(gòu) 后 , 用 所 選 的DBMS來 實 施 數(shù) 據(jù) 庫 , 為 了 使 數(shù) 據(jù) 庫 長 期 穩(wěn) 定 正 常 的 運行 , 維 護 數(shù) 據(jù) 庫 是 一 項 重 要 的 任 務(wù) 。 4.2 E-R模型及其到關(guān)系模型的轉(zhuǎn)化l 轉(zhuǎn) 化 過 程 E-R模 型 關(guān) 系 模 型對 問 題 進 行 分 析 轉(zhuǎn) 化圖4-1 E-R模型到關(guān)系模型的轉(zhuǎn)化過程l 獨 立 實 體 到 關(guān) 系 模 型 的 轉(zhuǎn) 化一 個 獨 立 實
5、體 轉(zhuǎn) 化 為 一 個 關(guān) 系 模 型 (即 一 張 關(guān) 系 表 ), 其 他 屬 性 轉(zhuǎn) 化 為關(guān) 系 表 的 屬 性 , 注 意 根 據(jù) 實 際 對 象 屬 性 情 況 確 定 關(guān)系 屬 性 的 取 值 域 。 4.2 E-R模型及其到關(guān)系模型的轉(zhuǎn)化: 對 于 圖 4-1所 示 的 學(xué) 生 實 體 , 將 其 轉(zhuǎn) 化 為關(guān) 系 。學(xué) 號民 族籍 貫姓 名 圖 4-1 學(xué) 生 實 體 的 E-R圖轉(zhuǎn) 化 為 關(guān) 系 : ( ,姓 名 ,民 族 ,籍 貫 )其 中 下 劃 線 標 注 的 屬 性 表 示 關(guān) 鍵 字 。 4.2 E-R模型及其到關(guān)系模型的轉(zhuǎn)化l 1:1聯(lián) 系 到 關(guān) 系 模 型
6、 的 轉(zhuǎn) 化 11公 司領(lǐng) 導(dǎo)姓 名住 址年齡電 話民 族名 稱電 話類 型注冊地 圖 4-2 1:1 聯(lián) 系 E-R圖 4.2 E-R模型及其到關(guān)系模型的轉(zhuǎn)化對 圖 4-2轉(zhuǎn) 化 為 關(guān) 系 模 型 :(姓 名 ,民 族 ,住 址 ,年 齡 ,電 話 , )(名 稱 ,注 冊 地 ,類 型 ,電 話 , )其 中 名 稱 和 姓 名 分 別 是 “ 公 司 ” 和 “ 經(jīng) 理 ” 兩 個 關(guān)系 模 式 的 關(guān) 鍵 字 , 在 “ 經(jīng) 理 ” 和 “ 公 司 ” 兩 個 關(guān) 系中 , 為 了 表 明 兩 者 間 的 聯(lián) 系 , 當(dāng) 兩 個 表 中 出 現(xiàn) 下 面 的 元 組時 , 表 明 了
7、張 小 輝 是 京 廣 實 業(yè) 公 司 的 經(jīng) 理 。( ,漢 ,北 京 前 門 大 街 156號 ,48,68705633,)和 ( ,北 京 復(fù) 興 門 外 大 街 278號 ,有 限 責(zé)任 ,65783265, ) 4.2 E-R模型及其到關(guān)系模型的轉(zhuǎn)化l 1:n聯(lián) 系 到 關(guān) 系 模 型 的 轉(zhuǎn) 化要 轉(zhuǎn) 化 1:n聯(lián) 系 , ,。 1n屬 于姓 名學(xué) 號民 族生日名 稱班 號系年 級專 業(yè)圖 4-3 1:n聯(lián) 系 E-R圖 4.2 E-R模型及其到關(guān)系模型的轉(zhuǎn)化如 圖 4-3所 示 , “ 班 級 ” 與 “ 學(xué) 生 ” 的 聯(lián) 系 是 1:n的 聯(lián) 系 , 學(xué) 生 方 是 n方 ,
8、 對 圖 4-3進 行 轉(zhuǎn) 化 , 得 到關(guān) 系 模 型 :( ,姓 名 ,民 族 ,生 日 , )( ,名 稱 ,年 級 ,系 ,專 業(yè) )在 學(xué) 生 表 中 增 加 “ 班 級 ” 中 的 關(guān) 鍵 字 “ 班 號 ” 作為 外 部 關(guān) 鍵 字 。 4.2 E-R模型及其到關(guān)系模型的轉(zhuǎn)化l m:n聯(lián) 系 到 關(guān) 系 模 型 的 轉(zhuǎn) 化一 個 m:n聯(lián) 系 m n學(xué) 號姓 名生日民 族課程號課程名學(xué)時數(shù)成績圖 4-4 m:n聯(lián) 系 E-R圖 4.2 E-R模型及其到關(guān)系模型的轉(zhuǎn)化圖 4-4描 述 的 學(xué) 生 與 課 程 的 聯(lián) 系 是 m:n聯(lián)系 , 將 E-R圖 轉(zhuǎn) 化 為 關(guān) 系 模 型
9、:( , 姓 名 , 民 族 , 生 日 )( , 課 程 名 , 學(xué) 時 數(shù) )( , , 成 績 ) 4.2 E-R模型及其到關(guān)系模型的轉(zhuǎn)化l 多 元 聯(lián) 系 到 關(guān) 系 模 型 的 轉(zhuǎn) 化所 謂 , 即 是 說 該 聯(lián) 系 涉 及 兩 個 以 上 的實 體 。 例 如 一 個 課 程 表 , 涉 及 班 級 、 課 程 、 教師 、 教 室 4個 實 體 。轉(zhuǎn) 化 時 , 應(yīng) , 得 到 關(guān) 系模 式 如 下 :( , , , ,周 次 )。 4.2 E-R模型及其到關(guān)系模型的轉(zhuǎn)化l 自 聯(lián) 系 到 關(guān) 系 模 型 的 轉(zhuǎn) 化指 同 一 個 實 體 類 中 實 體 間 的 聯(lián) 系 。 例
10、 如 一 個公 司 的 所 有 員 工 組 成 的 實 體 類 中 , 員 工 中 存 在 領(lǐng)導(dǎo) 與 被 領(lǐng) 導(dǎo) 這 樣 的 聯(lián) 系 , 只 要 分 清 兩 部 分 實 體 在聯(lián) 系 中 的 身 份 , 其 余 的 情 況 與 一 般 二 元 關(guān) 系 相 同 ,如 圖 4-5所 示 。姓 名員工號民 族 基本工資職 務(wù)住 址領(lǐng) 導(dǎo)圖 4-5 自 聯(lián) 系 E-R圖 4.2 E-R模型及其到關(guān)系模型的轉(zhuǎn)化對 圖 4-5所 示 E-R圖 轉(zhuǎn) 化 為 關(guān) 系 模 型 :( ,姓 名 ,住 址 ,民 族 ,基 本 工 資 ,職 務(wù) )( , )在 領(lǐng) 導(dǎo) 關(guān) 系 表 中 , 是 只 反 映 直 接 領(lǐng)
11、導(dǎo) 關(guān) 系 , 還是 把 非 直 接 領(lǐng) 導(dǎo) 關(guān) 系 也 進 行 反 映 , 由 應(yīng) 用 系 統(tǒng)的 要 求 確 定 。 課堂練習(xí)為 一 個 綜 合 性 運 動 會 建 立 數(shù) 據(jù) 庫 , 設(shè) 計 的 實 體 如 下 :代 表 團 : 代 表 團 名 稱 、 代 表 團 人 數(shù) 和 團 長 姓 名 ; 運動 員 : 運 動 員 編 號 、 姓 名 、 性 別 和 出 生 年 月 ; 競賽 項 目 : 項 目 編 號 、 名 稱 、 比 賽 時 間 、 比 賽 地 點和 參 數(shù) 運 動 員 成 績其 中 , 一 個 運 動 員 可 以 參 加 多 項 比 賽 , 一 個 比 賽 項目 也 允 許
12、多 個 運 動 員 參 賽 , 運 動 員 參 加 完 比 賽 后記 錄 成 績 ; 一 個 代 表 團 有 多 個 運 動 員 , 一 個 運 動員 只 能 代 表 一 個 代 表 團 參 賽 。 試 畫 出 E-R圖 并 將其 轉(zhuǎn) 化 為 關(guān) 系 模 型 。 課堂練習(xí)答案關(guān) 系 模 型 : 代 表 團 ( 代 表 團 名稱 ,代 表 團 人 數(shù) ,團長 姓 名 )運 動 員 ( 運 動 員 編號 ,姓 名 ,性 別 ,出 生年 月 ,代 表 團 名 稱 )競 賽 項 目 ( 項 目 編號 ,名 稱 ,比 賽 時 間 ,比 賽 地 點 )參 賽 ( 項 目 編 號 ,運 動 員 編 號 ,成
13、 績 ) 4.3 簡單的數(shù)據(jù)庫設(shè)計實例l 問 題 概 述為 一 個 物 資 供 應(yīng) 公 司 設(shè) 計 一 個 貨 物 商 品 管 理 系 統(tǒng) , 該 公 司業(yè) 務(wù) 流 程 如 圖 4-6: 銷售公司商品供應(yīng)商客戶采購訂單銷售訂單庫存文件圖4-6 某銷售公司業(yè)務(wù)流程圖 4.3 簡單的數(shù)據(jù)庫設(shè)計實例該 系 統(tǒng) 數(shù) 據(jù) 模 型 包 含 的 數(shù) 據(jù) 實 體 有 :(Supplier): 為 該 公 司 提 供 商 品 的 公 司 。(2) (Goods): 該 公 司 經(jīng) 營 的 商 品 。(3) (Customer): 該 公 司 提 供 服 務(wù) 的 廠 家 。(4) (Employee): 該 公
14、司 的 員 工 。(5) (Transporter): 為 該 公 司 提 供 運 輸 服 務(wù) 的 公 司 。(6) (Sell_Order): 該 公 司 與 用 戶 簽 定 的 銷 售 合 同 。(7) (Purchase_Order): 該 公 司 與 供 應(yīng) 商 簽 定 的 采購 合 同 。 4.3 簡單的數(shù)據(jù)庫設(shè)計實例員工銷售訂單商品采購訂單供應(yīng)商運輸商客戶 圖4-7 數(shù)據(jù)實體之間的關(guān)系 4.3 簡單的數(shù)據(jù)庫設(shè)計實例l 數(shù) 據(jù) 實 體 的 E-R圖這 個 實 例 包 含 的 數(shù) 據(jù) 實 體 較 多 , 聯(lián) 系 較 復(fù) 雜 , 如 果用 一 般 的 E-R圖 描 述 , 幅 面 會 比
15、 較 大 , 對 于 這 種 問題 , 常 常 用 一 種 來 描 述 。在 這 種 變 形 圖 中 , 實 體 及 其 屬 性 用 一 個 矩 形 框 描 述 ,實 體 名 稱 標 注 在 矩 形 框 的 頂 部 , 實 體 關(guān) 鍵 字 用 *標出 , 并 緊 跟 在 實 體 名 稱 后 面 , 實 體 屬 性 依 次 標 注 。實 體 間 的 聯(lián) 系 省 略 菱 形 框 , 只 用 連 線 , 并 在 連 線的 兩 端 標 注 聯(lián) 系 類 型 。 ( 參 看 P35圖 2-10) 4.3 簡單的數(shù)據(jù)庫設(shè)計實例l 數(shù) 據(jù) 表 設(shè) 計 示 例以 員 工 、 銷 售 訂 單 、 商 品 以 及
16、部 門 4個 數(shù) 據(jù) 實 體 及 其 相互 間 的 聯(lián) 系 為 例 , 說 明 這 種 轉(zhuǎn) 換 過 程 。 從 圖 2-10和 圖 2-11中 看 出 , “ 員 工 ” 實 體 有 9個 屬 性 ,Employee_ID是 其 關(guān) 鍵 屬 性 , 該 實 體 與 “ 銷 售 訂 單 ”實 體 間 有 一 個 1:n的 聯(lián) 系 。 此 外 , 與 “ 部 門 ” 實 體 間有 一 個 n:1的 聯(lián) 系 , 為 描 述 這 種 聯(lián) 系 , 需 要 增 加 一 個外 部 關(guān) 鍵 字 Department_ID, 轉(zhuǎn) 換 結(jié) 果 見 表 2-8。 4.3 簡單的數(shù)據(jù)庫設(shè)計實例 “ 銷 售 訂 單 ”
17、 實 體 包 含 Order_ID1等 7個 屬 性 , 還 與 “ 客戶 ” 等 4個 實 體 具 有 n:1的 聯(lián) 系 , 為 描 述 這 種 聯(lián) 系 , 需要 增 加 4個 外 部 關(guān) 鍵 字 (實 體 中 已 列 出 了 這 4個 外 部 關(guān) 鍵字 )。 轉(zhuǎn) 換 結(jié) 果 見 表 2-9。“ 商 品 ” 實 體 包 含 6個 屬 性 , 關(guān) 鍵 屬 性 是 “ 商 品 代 碼(Goods_ID)”, “ 商 品 ” 實 體 與 “ 銷 售 訂 單 ” 實 體 及“ 采 購 訂 單 ” 實 體 間 有 1:n的 聯(lián) 系 , 與 “ 商 品 規(guī) 格 ” 實體 有 n:1的 聯(lián) 系 。 轉(zhuǎn) 換 結(jié) 果 見 表 2-10?!?部 門 ” 實 體 有 4個 屬 性 , 并 且 與 “ 員 工 ” 實 體 有 1:n的聯(lián) 系 , 轉(zhuǎn) 換 結(jié) 果 見 表 2-11。 小結(jié)與提問l 了 解 數(shù) 據(jù) 庫 設(shè) 計l 主 要 設(shè) 計 過 程 和 步 驟l E-R模 型 到 關(guān) 系 模 型 的 轉(zhuǎn) 化l 實 例 分 析l 會 設(shè) 計 一 個 簡 單 的 數(shù) 據(jù) 庫 嗎