數(shù)據(jù)模型和系統(tǒng)結(jié)構(gòu).ppt
《數(shù)據(jù)模型和系統(tǒng)結(jié)構(gòu).ppt》由會員分享,可在線閱讀,更多相關《數(shù)據(jù)模型和系統(tǒng)結(jié)構(gòu).ppt(108頁珍藏版)》請在裝配圖網(wǎng)上搜索。
數(shù)據(jù)庫原理及應用 第2章數(shù)據(jù)模型與系統(tǒng)結(jié)構(gòu) 第2章數(shù)據(jù)模型與系統(tǒng)結(jié)構(gòu) 2 1數(shù)據(jù)模型的基本概念2 2概念數(shù)據(jù)模型2 3邏輯數(shù)據(jù)模型2 4數(shù)據(jù)庫的系統(tǒng)結(jié)構(gòu) 2 1數(shù)據(jù)模型的基本概念 實體屬性實體和屬性的型與值關鍵字實體集合三個世界的觀點實體間的聯(lián)系數(shù)據(jù)模型的構(gòu)成要素 2 1數(shù)據(jù)模型的基本概念 1 實體實體是現(xiàn)實世界中任何可被識別的事物的抽象 可以是具體的人 事 物或抽象的概念 2 屬性事物的性質(zhì)和特征的抽象表示被稱為屬性 屬性是對實體的描述 一個實體可以由若干個屬性來刻畫 3 實體和屬性的型與值實體與屬性的結(jié)構(gòu)稱為型 在結(jié)構(gòu)約束下的取值稱為值 2 1數(shù)據(jù)模型的基本概念 續(xù) 4 關鍵字在實體的屬性中 可惟一標識一個個體的屬性或?qū)傩越M 該屬性組為極小屬性組 即去掉其中任一屬性就不能惟一標識一個個體 稱為關鍵字 又稱 標準碼 候選碼 或 碼 碼中的屬性稱為 主屬性 未包含在任一碼中的屬性稱為 非主屬性 若存在多個碼 則選定其中一個作 主碼 5 實體集合同一類型實體的集合稱為實體集 也就是同一類型事物的抽象 2 1數(shù)據(jù)模型的基本概念 續(xù) 6 三個世界的觀點在數(shù)據(jù)庫中用數(shù)據(jù)模型這個工具來抽象 表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息 通俗地講數(shù)據(jù)模型就是現(xiàn)實世界的模擬 對現(xiàn)實世界數(shù)據(jù)特征的抽象 從事物的客觀特性到計算機里的具體表現(xiàn)經(jīng)歷了現(xiàn)實世界 信息世界和機器世界三個數(shù)據(jù)領域 2 1數(shù)據(jù)模型的基本概念 續(xù) 6 三個世界的觀點現(xiàn)實世界又稱物質(zhì)世界 涉及的對象是客觀存在的事物 這些事物可以是具體的 也可以是抽象的 信息世界信息世界又稱抽象世界 概念世界 是現(xiàn)實世界在人們頭腦中的反映 是對現(xiàn)實世界事物的抽象 在進行數(shù)據(jù)處理時對現(xiàn)實世界事物的最高級抽象 抽象結(jié)果稱為概念模型 機器世界是按計算機系統(tǒng)的觀點對數(shù)據(jù)建模 是對信息世界的具體描述 2 1數(shù)據(jù)模型的基本概念 續(xù) 6 三個世界的觀點信息世界中研究結(jié)果又分三個層次 物理模型 邏輯模型和外部模型 物理模型描述數(shù)據(jù)在計算機外存上的存儲方式和方法 它依賴于硬件和軟件 是最低層次的抽象 邏輯模型按照選定的DBMS描述整體數(shù)據(jù)的邏輯關系 它不依賴計算機硬件 但依賴軟件 DBMS 外部模型面向用戶 是邏輯模型的一部分 2 1數(shù)據(jù)模型的基本概念 續(xù) 7 實體間的聯(lián)系以下三種類型 一對一聯(lián)系 記為1 1 一對多聯(lián)系 記為1 n 多對多聯(lián)系 記為m n 7 實體間的聯(lián)系 續(xù) 一對一聯(lián)系 如果實體集E1中每個實體至多和實體集E2中的一個實體有聯(lián)系 反之亦然 那么實體集E1和E2的聯(lián)系稱為 一對一聯(lián)系 記為 1 1 一對一聯(lián)系 7 實體間的聯(lián)系 續(xù) 一對多聯(lián)系 如果實體集E1中每個實體可以與實體集E2中任意個 零個或多個 實體間有聯(lián)系 而E2中每個實體至多和E1中一個實體有聯(lián)系 那么稱E1對E2的聯(lián)系是 一對多聯(lián)系 記為 1 n 一對多聯(lián)系 7 實體間的聯(lián)系 續(xù) 多對多聯(lián)系 如果實體集E1中每個實體可以與實體集E2中任意個 零個或多個 實體有聯(lián)系 反之亦然 那么稱E1和E2的聯(lián)系是 多對多聯(lián)系 記為 m n 多對多聯(lián)系 2 1數(shù)據(jù)模型的基本概念 續(xù) 8 數(shù)據(jù)模型的構(gòu)成要素數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)操作數(shù)據(jù)的完整性約束條件 2 1數(shù)據(jù)模型的基本概念 續(xù) 8 數(shù)據(jù)模型的構(gòu)成要素數(shù)據(jù)結(jié)構(gòu)是所研究的數(shù)據(jù)類型和數(shù)據(jù)之間聯(lián)系的集合 對數(shù)據(jù)模型的靜態(tài)描述 數(shù)據(jù)操作指對數(shù)據(jù)模型中的各種對象的值允許執(zhí)行的操作的集合 是對數(shù)據(jù)模型的動態(tài)描述 數(shù)據(jù)的完整性約束條件是數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則的集合 用來限定基于這種數(shù)據(jù)模型的數(shù)據(jù)庫的狀態(tài)及變化 保證數(shù)據(jù)的正確 有效和一致性 2 2概念數(shù)據(jù)模型 概念模型的用途概念模型用于信息世界的建模是現(xiàn)實世界到機器世界的一個中間層次獨立于計算機系統(tǒng) 完全不涉及信息在計算機中的表示 只是用來描述某個特定組織所關心的信息結(jié)構(gòu)是數(shù)據(jù)庫設計的有力工具數(shù)據(jù)庫設計人員和用戶之間進行交流的語言 概念模型的一種表示方法 實體 聯(lián)系方法 E R方法 用E R圖來描述現(xiàn)實世界的概念模型E R方法也稱為E R模型 E R圖 實體型用矩形表示 矩形框內(nèi)寫明實體名 屬性用橢圓形表示 并用無向邊將其與相應的實體連接起來 學生 教師 E R圖 續(xù) 聯(lián)系聯(lián)系本身 用菱形表示 菱形框內(nèi)寫明聯(lián)系名 并用無向邊分別與有關實體連接起來 同時在無向邊旁標上聯(lián)系的類型 1 1 1 n或m n 聯(lián)系的表示方法 聯(lián)系的屬性 聯(lián)系的屬性 聯(lián)系本身也是一種實體型 也可以有屬性 如果一個聯(lián)系具有屬性 則這些屬性也要用無向邊與該聯(lián)系連接起來 聯(lián)系的表示方法示例 聯(lián)系的表示方法示例 多個實體型間的一對多聯(lián)系例如 課程 教師與參考書三個實體型一門課程可以有若干個教師講授 使用若干本參考書 每一個教師只講授一門課程 每一本參考書只供一門課程使用 聯(lián)系的表示方法示例 多個實體型間的一對一聯(lián)系兩個以上實體型間的多對多聯(lián)系實例供應商 項目 零件三個實體型一個供應商可以供給多個項目多種零件每個項目可以使用多個供應商供應的零件每種零件可由不同供應商供給 聯(lián)系的表示方法 單個實體型內(nèi)的聯(lián)系 聯(lián)系的表示方法示例 一對多聯(lián)系實例職工實體型內(nèi)部具有領導與被領導的聯(lián)系某一職工 干部 領導 若干名職工一個職工僅被另外一個職工直接領導這是一對多的聯(lián)系一對一聯(lián)系多對多聯(lián)系 一個實例 用E R圖表示學生選課系統(tǒng)的概念模型實體學生 學號 姓名 年齡 性別 身份證號 聯(lián)系方式 專業(yè)課程 課程編號 課程名稱 授課時間 授課教師 所屬專業(yè) 課程描述專業(yè) 專業(yè)編號 專業(yè)名稱教師 教師編號 姓名 年齡 性別 專業(yè) 職稱 聯(lián)系方式 1 學生實體屬性圖 圖2 9學生實體及其屬性圖 2 課程實體屬性圖 圖2 10課程實體及其屬性圖 3 專業(yè)實體屬性圖 圖2 11專業(yè)實體及其屬性圖 4 教師實體屬性圖 圖2 12教師實體及其屬性圖 5 學生選課系統(tǒng)E R圖 學生和課程之間的關系是多對多的關系 一門課程可以被多個學生選修 同時 一個學生也可以選修多門課程 但是課程不能重復 教師和課程之間的關系是多對多的關系 一門課程可以有多個教師教 同時 一個老師也可以教多門課程 例如 不同的專業(yè)都可以開設計算機基礎課 那么所有專業(yè)的計算機基礎課可以是同一個老師教也可以是不同的老師教 同理 一個計算機老師既可以講計算機基礎課也可以講其他的計算機課程 課程和專業(yè)之間的關系是多對多的關系 一個專業(yè)的課程都由多個課程組成 每一門課程特別是公共課可以屬于多個專業(yè) 例如 計算機基礎課可以被多個專業(yè)開設 學生和專業(yè)之間的關系是多對一的關系 一個學生只能屬于一個專業(yè) 而一個專業(yè)可以由多個學生組成 5 學生選課系統(tǒng)E R圖 圖2 13選課系統(tǒng)的E R圖 m n n 1 m n m n 2 3邏輯數(shù)據(jù)模型 非關系模型層次模型網(wǎng)狀模型關系模型 2 3 1層次模型 層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型層次模型用樹狀結(jié)構(gòu)來表示各類實體以及實體間的聯(lián)系典型代表是美國IBM公司于1968年開發(fā)的IMS 一 層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 層次模型滿足下面兩個條件的基本層次聯(lián)系的集合為層次模型1 有且只有一個結(jié)點沒有雙親結(jié)點 這個結(jié)點稱為根結(jié)點2 根以外的其它結(jié)點有且只有一個雙親結(jié)點層次模型中的幾個術(shù)語根結(jié)點 雙親結(jié)點 兄弟結(jié)點 葉結(jié)點 一 層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 續(xù) 一 層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 續(xù) 層次模型數(shù)據(jù)結(jié)構(gòu)的特點 結(jié)點的雙親是唯一的只能直接處理一對多的實體聯(lián)系每個記錄類型可以定義一個排序字段 也稱為碼字段任何記錄值只有按其路徑查看時 才能顯出它的全部意義沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在 層次模型示例圖 圖2 14層次模型示例圖 二 層次模型的數(shù)據(jù)操縱 層次模型的數(shù)據(jù)操縱查詢插入刪除更新 三 層次模型的完整性約束條件無相應的雙親結(jié)點值就不能插入子女結(jié)點值如果刪除雙親結(jié)點值 則相應的子女結(jié)點值也被同時刪除更新操作時 應更新所有相應記錄 以保證數(shù)據(jù)的一致性 四 層次數(shù)據(jù)模型的存儲結(jié)構(gòu) 鄰接法按照層次樹前序遍歷的順序把所有記錄值依次鄰接存放 即通過物理空間的位置相鄰來實現(xiàn)層次順序 層次數(shù)據(jù)模型的存儲結(jié)構(gòu) 續(xù) 層次數(shù)據(jù)庫及其實例 按鄰接法存放圖中以根記錄A1為首的層次記錄實例集 按鄰接法存放圖中以根記錄A1為首的層次記錄實例集 層次數(shù)據(jù)模型的存儲結(jié)構(gòu) 續(xù) 鏈接法用指引來反映數(shù)據(jù)之間的層次聯(lián)系子女 兄弟鏈接法層次序列鏈接法 層次數(shù)據(jù)模型的存儲結(jié)構(gòu) 續(xù) 子女 兄弟鏈接法每個記錄設兩類指針 分別指向最左邊的子女 每個記錄型對應一個 和最近的兄弟 層次數(shù)據(jù)模型的存儲結(jié)構(gòu) 續(xù) 層次序列鏈接法按樹的前序穿越順序鏈接各記錄值 五 層次模型的優(yōu)缺點 優(yōu)點層次模型的數(shù)據(jù)結(jié)構(gòu)比較簡單清晰查詢效率高 性能優(yōu)于關系模型 不低于網(wǎng)狀模型層次數(shù)據(jù)模型提供了良好的完整性支持缺點多對多聯(lián)系表示不自然對插入和刪除操作的限制多 應用程序的編寫比較復雜查詢子女結(jié)點必須通過雙親結(jié)點由于結(jié)構(gòu)嚴密 層次命令趨于程序化 2 3 2網(wǎng)狀模型 用有向圖結(jié)構(gòu)表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型稱為網(wǎng)狀模型 基于網(wǎng)狀模型的數(shù)據(jù)庫管理系統(tǒng)有IDMS DMS1100等 一 網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 網(wǎng)狀模型滿足下面兩個條件的基本層次聯(lián)系的集合 1 允許一個以上的結(jié)點無雙親 2 一個結(jié)點可以有多于一個的雙親 網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 續(xù) 表示方法 與層次數(shù)據(jù)模型相同 實體型 用記錄類型描述每個結(jié)點表示一個記錄類型 實體 屬性 用字段描述每個記錄類型可包含若干個字段聯(lián)系 用結(jié)點之間的連線表示記錄類型 實體 之間的一對多的父子聯(lián)系 網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 續(xù) 網(wǎng)狀模型與層次模型的區(qū)別網(wǎng)狀模型允許多個結(jié)點沒有雙親結(jié)點網(wǎng)狀模型允許結(jié)點有多個雙親結(jié)點網(wǎng)狀模型允許兩個結(jié)點之間有多種聯(lián)系 復合聯(lián)系 網(wǎng)狀模型可以更直接地去描述現(xiàn)實世界層次模型實際上是網(wǎng)狀模型的一個特例 網(wǎng)狀模型的例子 圖2 15網(wǎng)狀模型示例圖 二 網(wǎng)狀模型的數(shù)據(jù)操縱 主要有查詢 插入 刪除和修改 其中執(zhí)行插入操作時 允許插入無雙親的子結(jié)點 執(zhí)行刪除操作時 允許只刪除雙親結(jié)點 其子結(jié)點仍在 執(zhí)行修改操作時 只需修改指定記錄即可 查詢操作可以有多種實現(xiàn)方法 三 網(wǎng)狀模型的完整性約束 網(wǎng)狀數(shù)據(jù)庫系統(tǒng) 如DBTG 對數(shù)據(jù)操縱加了一些限制 提供了一定的完整性約束碼 唯一標識記錄的數(shù)據(jù)項的集合一個聯(lián)系中雙親記錄與子女記錄之間是一對多聯(lián)系支持雙親記錄和子女記錄之間某些約束條件 四 網(wǎng)狀數(shù)據(jù)模型的存儲結(jié)構(gòu) 關鍵實現(xiàn)記錄之間的聯(lián)系常用方法單向鏈接雙向鏈接環(huán)狀鏈接向首鏈接 網(wǎng)狀數(shù)據(jù)模型的存儲結(jié)構(gòu) 續(xù) 學生 選課 課程的網(wǎng)狀數(shù)據(jù)庫實例 學生記錄 課程記錄 選課記錄 五 網(wǎng)狀數(shù)據(jù)模型的優(yōu)缺點 優(yōu)點能夠直接描述現(xiàn)實世界 查詢方便 結(jié)構(gòu)對稱 查詢格式相同 操作功能強 速度快 存取效率較高 缺點數(shù)據(jù)結(jié)構(gòu)及其對應的數(shù)據(jù)操作語言極為復雜 數(shù)據(jù)獨立性差 由于實體間的聯(lián)系是通過存取路徑來指示的 程序訪問時要指定存取路徑 程序設計困難 2 3 3關系模型 關系模型 RelationalModel 的主要特征是用二維表格表達實體集 與前兩種模型相比 數(shù)據(jù)結(jié)構(gòu)簡單 容易為初學者理解 關系模型是由一組關系組成 每個關系的數(shù)據(jù)結(jié)構(gòu)實際上是一張二維表格 規(guī)范化 一 關系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 在用戶觀點下 關系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表 它由行和列組成 學生登記表 屬性 記錄 關系 Relation 一個關系對應通常說的一張表元組 Tuple 表中的一行即為一個元組屬性 Attribute 表中的一列即為一個屬性 給每一個屬性起一個名稱即屬性名 主碼 Key 表中的某個屬性組 它可以唯一確定一個元組 域 Domain 屬性的取值范圍 分量元組中的一個屬性值 關系模式對關系的描述關系名 屬性1 屬性2 屬性n 學生 學號 姓名 年齡 性別 系 年級 關系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 續(xù) 例1學生 系 系與學生之間的一對多聯(lián)系 學生 學號 姓名 年齡 性別 系號 年級 系 系號 系名 辦公地點 例2系 系主任 系與系主任間的一對一聯(lián)系 關系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 續(xù) 例3學生 課程 學生與課程之間的多對多聯(lián)系 學生 學號 姓名 年齡 性別 系號 年級 課程 課程號 課程名 學分 選修 學號 課程號 成績 關系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 續(xù) 關系必須是規(guī)范化的 滿足一定的規(guī)范條件最基本的規(guī)范條件 關系的每一個分量必須是一個不可分的數(shù)據(jù)項 不允許表中還有表圖中工資和扣除是可分的數(shù)據(jù)項 不符合關系模型要求 一個工資表 表中有表 實例 關系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 續(xù) 術(shù)語對比 二 關系數(shù)據(jù)模型的操縱 數(shù)據(jù)操作是集合操作 操作對象和操作結(jié)果都是關系查詢插入刪除更新數(shù)據(jù)操作是集合操作 操作對象和操作結(jié)果都是關系 即若干元組的集合存取路徑對用戶隱蔽 用戶只要指出 干什么 不必詳細說明 怎么干 三 關系數(shù)據(jù)模型的完整性約束 關系的完整性約束條件實體完整性參照完整性用戶定義的完整性 四 關系數(shù)據(jù)模型的存儲結(jié)構(gòu) 實體及實體間的聯(lián)系都用表來表示表以文件形式存儲有的DBMS一個表對應一個操作系統(tǒng)文件有的DBMS自己設計文件結(jié)構(gòu) 五 關系數(shù)據(jù)模型的優(yōu)缺點 優(yōu)點建立在嚴格的數(shù)學概念的基礎上概念單一 結(jié)構(gòu)簡單直觀 易理解 語言表達簡練實體和各類聯(lián)系都用關系來表示對數(shù)據(jù)的檢索結(jié)果也是關系關系模型的存取路徑對用戶透明具有更高的數(shù)據(jù)獨立性 更好的安全保密性簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作 關系數(shù)據(jù)模型的優(yōu)缺點 續(xù) 缺點存取路徑對用戶透明導致查詢效率往往不如非關系數(shù)據(jù)模型為提高性能 必須對用戶的查詢請求進行優(yōu)化增加了開發(fā)DBMS的難度 2 3 4面向?qū)ο髷?shù)據(jù)模型 指在面向?qū)ο蟪绦蛟O計中所支持的對象語義的邏輯數(shù)據(jù)模型 它是持久的和共享的對象集合 具有模擬整個解決方案的能力 一 面向?qū)ο髷?shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 面向?qū)ο髷?shù)據(jù)模型把實體表示為類 一個類描述了對象屬性和實體行為 類 對象的實例對應于客戶個體 在對象內(nèi)部 類的屬性用特殊值來區(qū)分每個客戶 對象 但所有對象都屬于類 共享類的行為模式 面向?qū)ο髷?shù)據(jù)庫通過邏輯包含 logicalcontainment 來維護聯(lián)系 二 面向?qū)ο髷?shù)據(jù)模型的特點 1 對象與封裝性 2 類和繼承 三 面向?qū)ο髷?shù)據(jù)模型的優(yōu)缺點 適合處理各種各樣的數(shù)據(jù)類型面向?qū)ο髷?shù)據(jù)庫適合存儲不同類型的數(shù)據(jù)面向?qū)ο蟪绦蛟O計與數(shù)據(jù)庫技術(shù)相結(jié)合提高開發(fā)效率面向?qū)ο髷?shù)據(jù)模型提供強大的特性 例如繼承 多態(tài)和動態(tài)綁定 允許用戶不用編寫特定對象的代碼就可以構(gòu)成對象并提供解決方案 改善數(shù)據(jù)訪問 三 面向?qū)ο髷?shù)據(jù)模型的優(yōu)缺點 沒有準確的定義維護困難隨著組織信息需求的改變 對象的定義也要求改變并且需移植現(xiàn)有數(shù)據(jù)庫 以完成新對象的定義當改變對象的定義和移植數(shù)據(jù)庫時 它可能面臨真正的挑戰(zhàn) 不適合所有的應用面向?qū)ο髷?shù)據(jù)模型用于需要管理數(shù)據(jù)對象之間存在的復雜關系的應用 適合于特定的應用當用于普通應用時 其性能會降低并要求很高的處理能力 2 4數(shù)據(jù)庫的系統(tǒng)結(jié)構(gòu) 從數(shù)據(jù)庫最終用戶角度看 數(shù)據(jù)庫系統(tǒng)外部的體系結(jié)構(gòu) 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)分為 集中式數(shù)據(jù)庫系統(tǒng)客戶 服務器數(shù)據(jù)庫系統(tǒng) C S結(jié)構(gòu) 并行數(shù)據(jù)庫系統(tǒng)分布式數(shù)據(jù)庫系統(tǒng)Internet與客戶端 服務器模式 1 集中式數(shù)據(jù)庫系統(tǒng) 由一個處理器 與它相關聯(lián)的數(shù)據(jù)存儲設備以及其他外圍設備組成 它被物理地定義到單個位置 簡單的說 就是指運行在一臺計算機上的數(shù)據(jù)庫系統(tǒng) 如運行在大型機 小型機或PC機 工作站上的數(shù)據(jù)庫系統(tǒng) 集中式數(shù)據(jù)庫系統(tǒng)的優(yōu)缺點 優(yōu)點 在集中式數(shù)據(jù)庫里 大多數(shù)功能 如修改 備份 查詢 控制訪問等 都很容易實現(xiàn) 數(shù)據(jù)庫大小和它所在的計算機不需要擔心數(shù)據(jù)庫是否在中心位置 缺點 當中心站點計算機或數(shù)據(jù)庫系統(tǒng)不能運行時 在系統(tǒng)恢復之前所有用戶都不能使用系統(tǒng) 從終端到中心站點的通信開銷是很昂貴的 客戶 服務器數(shù)據(jù)庫系統(tǒng) C S結(jié)構(gòu) 由客戶端 client 和服務器端 server 邏輯組件構(gòu)成 客戶端一般是個人電腦或工作站 服務器端是大型工作站 小型計算機系統(tǒng)或大型計算機系統(tǒng) 客戶 服務器數(shù)據(jù)庫架構(gòu)由三個組件組成 分別是 客戶端應用程序 DBMS服務器和通信網(wǎng)絡接口 客戶 服務器數(shù)據(jù)庫系統(tǒng)的優(yōu)點 用比較低廉的平臺支持以前只能在大且昂貴的小型或大型計算機上運行的應用程序 客戶端提供基于圖標的菜單驅(qū)動的界面 比在大且昂貴的小型或大型計算機上只能使用傳統(tǒng)的命令行 啞終端界面更高級 客戶 服務器環(huán)境讓用戶更容易進行產(chǎn)品化工作 并能更好地使用現(xiàn)有的數(shù)據(jù) 與集中式系統(tǒng)相比 客戶 服務器數(shù)據(jù)庫系統(tǒng)更靈活 響應時間和吞吐量高 服務器 數(shù)據(jù)庫 機器能夠按照客戶需求構(gòu)建 定制 DBMS功能 這樣可以提供更好的DBMS性能 客戶端 應用數(shù)據(jù)庫 可以是個人工作站 可以按終端用戶的需求進行定制 這樣能提供更好的界面 更高的可用性 更快的響應 并且用戶更易于使用 幾個不同的客戶 應用 系統(tǒng)可以共享一個數(shù)據(jù)庫 在服務器上 客戶 服務器數(shù)據(jù)庫系統(tǒng)的缺點 在客戶 服務器環(huán)境中 工作量大或者編程代價高 特別是在初始階段 缺乏對DBMS 客戶 操作系統(tǒng)以及網(wǎng)絡環(huán)境進行診斷 性能監(jiān)控 跟蹤和安全控制的管理工具 3 并行數(shù)據(jù)庫系統(tǒng) 并行數(shù)據(jù)庫系統(tǒng)中有多個CPU 多個存儲器 多個磁盤并行操作 以提高處理速度和I O速度 并行數(shù)據(jù)庫系統(tǒng)用于必須要對非常大的數(shù)據(jù)庫進行查詢的應用或者是每秒鐘必須處理大量事務的應用 采用以下幾種不同的架構(gòu)來實現(xiàn)并行數(shù)據(jù)庫系統(tǒng) 共享數(shù)據(jù)存儲磁盤共享內(nèi)存層次獨立資源 并行數(shù)據(jù)庫系統(tǒng)的優(yōu)缺點 優(yōu)點 并行數(shù)據(jù)庫系統(tǒng)對于必須要查詢大型數(shù)據(jù)庫 千兆字節(jié)級的數(shù)據(jù)庫 的應用或者是每秒鐘必須處理大量事務 每秒處理上千事務 的應用非常有用 在并行數(shù)據(jù)庫系統(tǒng)里 吞吐量和響應時間是非常高的 缺點 在并行數(shù)據(jù)庫系統(tǒng)中 存在初始化單個進程相關的啟動代價 而且啟動時間可能掩蓋實際的處理時間 反過來又會影響加速 由于在并行系統(tǒng)中執(zhí)行的進程經(jīng)常訪問共享資源 因此在新的進程與現(xiàn)有進程競爭共享資源 例如共享數(shù)據(jù)存儲磁盤 系統(tǒng)總線等 時 就會產(chǎn)生干擾 使速度下降 4 分布式數(shù)據(jù)庫系統(tǒng) 與客戶 服務器架構(gòu)類似 使用多個計算機系統(tǒng)以及用戶能夠訪問遠程系統(tǒng)的數(shù)據(jù) 分布式數(shù)據(jù)庫系統(tǒng)可以更好地實現(xiàn)數(shù)據(jù)共享 超過了客戶 服務器系統(tǒng)可以達到的程度 數(shù)據(jù)庫存儲在不同計算機上 計算機間通過互連網(wǎng)絡互相通信 發(fā)送和接收數(shù)據(jù) 與并行數(shù)據(jù)庫系統(tǒng)不同 計算機之間不共享存儲器或磁盤 分布在不同計算機上的數(shù)據(jù)庫是局部獨立的 分布式數(shù)據(jù)庫系統(tǒng)的優(yōu)缺點 優(yōu)點 分布式數(shù)據(jù)庫架構(gòu)提供更高的效率和更好的性能 響應時間和吞吐量高 服務器 數(shù)據(jù)庫 機器能夠按照客戶需求構(gòu)建 定制 DBMS功能 這樣可以提供更好的DBMS性能 客戶端 應用數(shù)據(jù)庫 可以是個人工作站 可以按終端用戶的需求進行定制 這樣能提供更好的界面 更高的可用性 更快的響應 并且用戶更易于使用 幾個不同的客戶 應用 系統(tǒng)可以共享一個數(shù)據(jù)庫 在服務器上 與數(shù)據(jù)量和事務率增加一樣 用戶也可以增加系統(tǒng) 當增加新的站點時 對正在進行的操作影響很小 分布式數(shù)據(jù)庫系統(tǒng)提供本地自治 localautonomy 缺點 在分布式數(shù)據(jù)庫系統(tǒng)中 故障的恢復比集中式系統(tǒng)更復雜 5 Internet與客戶端 服務器模式 圖2 19Internet與客戶 服務器模式 2 4 2數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu) 模式 Schema 外模式 ExternalSchema 內(nèi)模式 InternalSchema 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu) 續(xù) 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu) 一 模式 Schema 模式 也稱邏輯模式或概念模式 數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述所有用戶的公共數(shù)據(jù)視圖 綜合了所有用戶的需求一個數(shù)據(jù)庫只有一個模式模式的地位 是數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層與數(shù)據(jù)的物理存儲細節(jié)和硬件環(huán)境無關與具體的應用程序 開發(fā)工具及高級程序設計語言無關 模式 續(xù) 概念模式描述了一個整個數(shù)據(jù)庫 是對數(shù)據(jù)需求的全部視圖 包括下列活動 數(shù)據(jù)上的約束 數(shù)據(jù)的語義信息 檢查并保持數(shù)據(jù)的一致性和完整性 安全信息 二 外模式 ExternalSchema 外模式 也稱子模式或用戶模式 數(shù)據(jù)庫用戶 包括應用程序員和最終用戶 使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述數(shù)據(jù)庫用戶的數(shù)據(jù)視圖 是與某一應用有關的數(shù)據(jù)的邏輯表示 外模式 續(xù) 外模式的地位 介于模式與應用之間模式與外模式的關系 一對多外模式通常是模式的子集一個數(shù)據(jù)庫可以有多個外模式 反映了不同的用戶的應用需求 看待數(shù)據(jù)的方式 對數(shù)據(jù)保密的要求對模式中同一數(shù)據(jù) 在外模式中的結(jié)構(gòu) 類型 長度 保密級別等都可以不同外模式與應用的關系 一對多同一外模式也可以為某一用戶的多個應用系統(tǒng)所使用但一個應用程序只能使用一個外模式 外模式 續(xù) 外模式的用途保證數(shù)據(jù)庫安全性的一個有力措施每個用戶只能看見和訪問所對應的外模式中的數(shù)據(jù) 三 內(nèi)模式 InternalSchema 內(nèi)模式 也稱存儲模式 是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式記錄的存儲方式 順序存儲 按照B樹結(jié)構(gòu)存儲 按hash方法存儲 索引的組織方式數(shù)據(jù)是否壓縮存儲數(shù)據(jù)是否加密數(shù)據(jù)存儲記錄結(jié)構(gòu)的規(guī)定一個數(shù)據(jù)庫只有一個內(nèi)模式 內(nèi)模式 續(xù) 例如學生記錄 如果按堆存儲 則插入一條新記錄總是放在學生記錄存儲的最后 如右圖所示 內(nèi)模式 續(xù) 如果按學號升序存儲 則插入一條記錄就要找到它應在的位置插入 如圖 b 所示如果按照學生年齡聚簇存放 假如新插入的S3是16歲 則應插入的位置如圖 c 所示 記錄不同的存儲方式示意圖 三級模式的特點 三層數(shù)據(jù)庫模式結(jié)構(gòu)的優(yōu)點 每個用戶能訪問相同數(shù)據(jù)但有他們自己所需要的 經(jīng)過定制的不同數(shù)據(jù)視圖 每個用戶可改變自己查看數(shù)據(jù)的方式并且這種改變不會影響相同數(shù)據(jù)庫的其他用戶 用戶不用關心物理數(shù)據(jù)存儲細節(jié) 用戶與數(shù)據(jù)庫之間的交互獨立于物理數(shù)據(jù)存儲組織 物理存儲組織的改變 例如轉(zhuǎn)到新的存儲設備 不影響數(shù)據(jù)庫的內(nèi)部結(jié)構(gòu) 數(shù)據(jù)庫管理員 DBA 能改變數(shù)據(jù)庫的存儲結(jié)構(gòu)而不會影響用戶視圖 DBA能改變數(shù)據(jù)庫的概念結(jié)構(gòu)而不會影響所有用戶 2 4 3數(shù)據(jù)獨立性與二級映射功能 三級模式是對數(shù)據(jù)的三個抽象級別二級映象在DBMS內(nèi)部實現(xiàn)這三個抽象層次的聯(lián)系和轉(zhuǎn)換外模式 概念模式映射概念模式 內(nèi)模式映射 2 4 3數(shù)據(jù)獨立性與二級映射功能 續(xù) 1 數(shù)據(jù)的物理獨立性當數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了 例如選用了另一種存儲結(jié)構(gòu) 數(shù)據(jù)庫管理員修改概念模式 內(nèi)模式映射 使概念模式保持不變應用程序不受影響 保證了數(shù)據(jù)與程序的物理獨立性 簡稱數(shù)據(jù)的物理獨立性 2 4 3數(shù)據(jù)獨立性與二級映射功能 續(xù) 2 數(shù)據(jù)的邏輯獨立性當模式改變時 數(shù)據(jù)庫管理員修改有關的外模式 概念模式映射 使外模式保持不變應用程序是依據(jù)數(shù)據(jù)的外模式編寫的 從而應用程序不必修改 保證了數(shù)據(jù)與程序的邏輯獨立性 簡稱數(shù)據(jù)的邏輯獨立性 3 概念模式 內(nèi)模式映射 概念模式 內(nèi)模式映射定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應關系 例如 說明邏輯記錄和字段在內(nèi)部是如何表示的數(shù)據(jù)庫中概念模式 內(nèi)模式映像是唯一的該映像定義通常包含在概念模式描述中 3 概念模式 內(nèi)模式映射 續(xù) 數(shù)據(jù)庫模式即全局邏輯結(jié)構(gòu)是數(shù)據(jù)庫的中心與關鍵獨立于數(shù)據(jù)庫的其他層次設計數(shù)據(jù)庫模式結(jié)構(gòu)時應首先確定數(shù)據(jù)庫的邏輯模式 3 概念模式 內(nèi)模式映射 續(xù) 數(shù)據(jù)庫的內(nèi)模式依賴于它的全局邏輯結(jié)構(gòu)獨立于數(shù)據(jù)庫的用戶視圖 即外模式獨立于具體的存儲設備將全局邏輯結(jié)構(gòu)中所定義的數(shù)據(jù)結(jié)構(gòu)及其聯(lián)系按照一定的物理存儲策略進行組織 以達到較好的時間與空間效率 3 概念模式 內(nèi)模式映射 續(xù) 數(shù)據(jù)與程序之間的獨立性 使得數(shù)據(jù)的定義和描述可以從應用程序中分離出去數(shù)據(jù)的存取由DBMS管理用戶不必考慮存取路徑等細節(jié)簡化了應用程序的編制大大減少了應用程序的維護和修改 4 外模式 概念模式映射 概念模式 描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu)外模式 描述的是數(shù)據(jù)的局部邏輯結(jié)構(gòu)同一個模式可以有任意多個外模式每一個外模式 數(shù)據(jù)庫系統(tǒng)都有一個外模式 概念模式映射 定義外模式與模式之間的對應關系映射定義通常包含在各自外模式的描述中 4 外模式 概念模式映射 續(xù) 數(shù)據(jù)庫的外模式面向具體的應用程序定義在邏輯模式之上獨立于存儲模式和存儲設備當應用需求發(fā)生較大變化 相應外模式不能滿足其視圖要求時 該外模式就得做相應改動設計外模式時應充分考慮到應用的擴充性 4 外模式 概念模式映射 續(xù) 特定的應用程序在外模式描述的數(shù)據(jù)結(jié)構(gòu)上編制的依賴于特定的外模式與數(shù)據(jù)庫的模式和存儲結(jié)構(gòu)獨立不同的應用程序有時可以共用同一個外模式數(shù)據(jù)庫的二級映射保證了數(shù)據(jù)庫外模式的穩(wěn)定性從底層保證了應用程序的穩(wěn)定性 除非應用需求本身發(fā)生變化 否則應用程序一般不需要修改 小結(jié) 數(shù)據(jù)模型數(shù)據(jù)模型的三要素概念模型 E R模型三種主要數(shù)據(jù)庫模型數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)三級模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)兩層映像系統(tǒng)結(jié)構(gòu)- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關 鍵 詞:
- 數(shù)據(jù)模型 系統(tǒng) 結(jié)構(gòu)
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。
相關資源
更多
正為您匹配相似的精品文檔
鏈接地址:http://m.italysoccerbets.com/p-7167950.html