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