《數(shù)據(jù)庫原理與應用》課后習題參考答案
《《數(shù)據(jù)庫原理與應用》課后習題參考答案》由會員分享,可在線閱讀,更多相關《《數(shù)據(jù)庫原理與應用》課后習題參考答案(12頁珍藏版)》請在裝配圖網(wǎng)上搜索。
數(shù)據(jù)庫原理與應用 課后習題參考答案 第一章 作業(yè)參考答案 1 單選題 C C D B C 2 判斷題 對錯錯 錯對 3 填空題 網(wǎng)狀模型 用戶 商業(yè)智能 數(shù)據(jù)挖掘 系統(tǒng)設計 4 簡答題 1 數(shù)據(jù)模型是指描述事物對象的數(shù)據(jù)組成 數(shù)據(jù)關系 數(shù)據(jù)約束的抽象結構及其 說明 數(shù)據(jù)模型是指描述事物對象的數(shù)據(jù)組成 數(shù)據(jù)關系 數(shù)據(jù)約束的抽象結構及 其說明 數(shù)據(jù)模型是指描述事物對象的數(shù)據(jù)組成 數(shù)據(jù)關系 數(shù)據(jù)約束的抽象結構 及其說明 3 數(shù)據(jù)約束 用于描述數(shù)據(jù)結構中數(shù)據(jù)之間的語義聯(lián)系 數(shù)據(jù)之間的制 約和依存關系 以及數(shù)據(jù)動態(tài)變化的規(guī)則 主流數(shù)據(jù)庫采用關系圖模型 數(shù)據(jù)庫典 型數(shù)據(jù)模型 層次數(shù)據(jù)模型 網(wǎng)狀數(shù)據(jù)模型 關系數(shù)據(jù)模型其它數(shù)據(jù)模型 如對象數(shù) 據(jù)模型 鍵值對數(shù)據(jù)模型 列式數(shù)據(jù)模型 2 數(shù)據(jù)庫 是一種依照特定數(shù)據(jù)模型組織 存儲和管理數(shù)據(jù)的文件 數(shù)據(jù)庫文 件一般存放在輔助存儲器以便長久保存 數(shù)據(jù)庫具有如下特點 數(shù)據(jù)不重復存放 提供給多種應用程序訪問 數(shù)據(jù)結構獨立于使用它的應用程序 對數(shù)據(jù)增 刪 改 檢索由統(tǒng)一軟件進行管理和控制 3 數(shù)據(jù)庫 Database 是一種依照特定模型組織 存儲和管理數(shù)據(jù)的數(shù)據(jù)結構 在 數(shù)據(jù)庫中 不僅存放了數(shù)據(jù) 而且還存放了數(shù)據(jù)與數(shù)據(jù)之間的關系 數(shù)據(jù)庫內(nèi)部元 素 用戶表 用戶在數(shù)據(jù)庫中創(chuàng)建的數(shù)據(jù)庫表 系統(tǒng)表 數(shù)據(jù)庫中系統(tǒng)自帶的數(shù)據(jù) 庫表 視圖 數(shù)據(jù)庫中用于對數(shù)據(jù)進行查詢的虛擬表 索引 數(shù)據(jù)庫中用于加快數(shù) 據(jù)查詢的索引項 約束 數(shù)據(jù)庫中對數(shù)據(jù) 數(shù)據(jù)關系施加的規(guī)則 存儲過程 數(shù)據(jù) 庫內(nèi)部完成特定功能處理的程序 觸發(fā)器 數(shù)據(jù)庫內(nèi)部因數(shù)據(jù)變化自動執(zhí)行的一類 存儲過程等等 4 數(shù)據(jù)庫系統(tǒng)包括 用戶 數(shù)據(jù)庫應用程序 數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫四個組成 要素 5 數(shù)據(jù)庫管理系統(tǒng) Database Manage System DBMS 是一種專門用來創(chuàng) 建數(shù)據(jù)庫 管理數(shù)據(jù)庫 維護數(shù)據(jù)庫 并提供對數(shù)據(jù)庫訪問的系統(tǒng)軟件 數(shù)據(jù)庫管 理系統(tǒng) DBMS 主要功能 創(chuàng)建數(shù)據(jù)庫和表 創(chuàng)建支持結構 如索引等 讀取數(shù)據(jù)庫 數(shù)據(jù) 修改數(shù)據(jù)庫數(shù)據(jù) 維護數(shù)據(jù)庫結構 執(zhí)行規(guī)則 并發(fā)控制 提供安全性 執(zhí)行備份 和恢復等等 第二章 作業(yè)參考答案 1 單選題 C B D A A 2 判斷題 對對錯 對 錯 3 填空題 全外連接 數(shù)據(jù)約束 候選鍵 用戶定義完整性 4 簡答題 外碼 鍵 1 在關系模型中 使用 關系 來存儲 實體 中的數(shù)據(jù) 關系 relation 是指存放實體數(shù)據(jù)的二維表 關系特征 行存儲實體的個體數(shù)據(jù) 列存儲所有 實體個體屬性的數(shù)據(jù) 表中單元格存儲單個值 所有的列必須是原子的 每列的所 有實體個體數(shù)據(jù)類型一致 每列具有唯一名稱 列順序可任意 行順序可任意 任意兩行互不重復 2 鍵 key 是指關系中用來唯一標識元組的單個列或多列 候選鍵 關 系中可能有多個鍵 每個都是候選鍵 主鍵 Primary key 也是候選鍵之一 關系 表可以有多個候選鍵 但只能定義一個主鍵 主鍵作用 唯一標識關系的每行 作為關聯(lián)表的外鍵 鏈接兩個表 使用主鍵值來組織關系的存儲 使用主鍵索引 快速檢索數(shù)據(jù) 3 代理鍵 采用 DBMS 自動生成的數(shù)字序列作為關系表的主鍵 由 DBMS 自 動生成的數(shù)字序列作為主鍵 可替代復合主鍵 由 DBMS 自動生成的數(shù)字序列作為 主鍵 可替代復合主鍵 4 在關系表定義中 主鍵屬性不允許空值 Null 即必須有具體值 其它屬性 可以允許空值 NULL 值只是代表該屬性可以沒有具體值 它與零值 空格字符 Tab 字符是不同的 5 參照完整性 關系模型中實體及實體間的聯(lián)系都是用關系來描述的 因此可 能存在著關系與關系間的引用 參照完整性規(guī)則 若屬性 或屬性組 F 是基本關 系 R 的外碼 它與基本關系 S 的主碼 Ks 相對應 基本關系 R 和 S 不一定是不同的 關系 則對于 R 中每個元組在 F 上的值必須為 或者取空值 F 的每個屬性值均 為空值 或者等于 S 中某個元組的主碼值 參照完整性屬于表間規(guī)則例子 課程 表 字段名稱 字段編碼 數(shù)據(jù)類型 字段大小 必填字段 是否為鍵 課程編號 CourseID 文本 4 是 主鍵 課程名 CourseName 文本 20 是 否 課程類別 CourseType 文本 10 否 否 學分 CourseCredit 數(shù)字 短整型 否 否 學時 CoursePeriod 數(shù)字 短整型 否 否 考核方式 學生表 TestMethod 文本 10 否 否 字段名稱 字段編碼 數(shù)據(jù)類型 字段大小 必填字段 是否為鍵 學號 StudentID 文本 12 是 主鍵 姓名 StudentName 文本 10 是 否 性別 StudentGender 文本 2 否 否 出生日期 BirthDay 日期 短日期 否 否 專業(yè) Major 文本 30 否 否 手機號 StudentPhone 文本 11 否 否 選課注冊表 有兩個外鍵開課編號 學號 字段名稱 字段編碼 數(shù)據(jù)類型 字段大小 必填字段 是否為鍵注冊編號 CourseRegID 自 動編號 長整型 是 代理鍵 開課編號 CoursePlanID 數(shù)字 長整型 是 外鍵 學號 StudentID 文本 12 是 外鍵 備注 Note 文本 5 應用題 1 a 30 否 否 A B C B C D a2 b1 c2 b1 c2 d3 a2 b1 c2 b2 c1 d1 a2 b1 c2 b3 c3 d3 a1 b3 c1 b1 c2 d3 a1 b3 c1 b2 c1 d1 a1 b3 c1 b3 c3 d3 a2 b2 c1 b1 c2 d3 a2 b2 c1 b2 c1 d1 a2 b2 c1 b3 c3 d3 a2 b3 c3 b1 c2 d3 a2 b3 c3 b2 c1 d1 a2 b3 c3 b3 c3 d3 a3 b1 c2 b1 c2 d3 a3 b1 c2 b2 c1 d1 a3 b b1 a2 c c2 b3 c3 d3 a2 b1 c2 d3 a2 b2 c1 d1 a2 b3 c3 d3 a2 d b1 c2 d3 a2 b1 c2 d3 a2 b2 c1 d1 a2 b3 c3 d3 a2 b1 c2 d3 2 IIname READER jion BOOK Join PUBLISH 3 第三章 作業(yè)參考答案 1 單選題 A C D C A 2 判斷題 對錯 對錯 對 3 填空題 IBM insert update sum left jion 4 簡答題 1 SQL Structured Query Language 結構化查詢語言 是一種對數(shù)據(jù)庫進行訪問的數(shù)據(jù)操作 子語言 其 SQL 語句執(zhí)行命令完成對數(shù)據(jù)庫訪問操作 1 語法簡單 易學易用 類似于英 語自然語言 2 高度非過程化的語言 只輸入操作的種類和范圍 不關心存取路徑等內(nèi)容 3 面向集合 的語言 4 SQL 獨立使用 也可以嵌入到宿主語言 5 功能強大 定義關系模式 創(chuàng)建數(shù)據(jù) 庫 插入數(shù)據(jù) 更新數(shù)據(jù) 復雜查詢 維護數(shù)據(jù) 重構數(shù)據(jù)庫和控制數(shù)據(jù)庫安全等 2 在實際應用中 通常需要關聯(lián)多表才能獲得所需的信息 在 SELECT 查詢語句中 可使用 子查詢方式實現(xiàn)多表關聯(lián)查詢 在處理多個表時 子查詢只有在結果來自一個表的情況下才 有用 但如果需要顯示兩個或多個表中的數(shù)據(jù) 就不能使用子查詢 而需要采用連接操作 在 SQL 語言中 實現(xiàn)多表關聯(lián)查詢還可以使用 JOIN ON 關鍵詞的語句格式 3 關系表中數(shù)據(jù)完整性 表之間數(shù)據(jù)一致性等要求 具體是由業(yè)務需求來確定 數(shù)據(jù)的完 整性包括實體完整性 參照完整性 用戶定義完整性 具體在關系數(shù)據(jù)庫表中的約束 主 鍵的定義 屬性列取值類型 屬性列取值范圍 屬性列取值是否唯一 unique 屬性列是否允許空值 關聯(lián)表的參照完整性約束即外鍵的定義 4 列約束是定義在每個列上 列約束子句包括 PRIMARY KEY 主鍵 NOT NULL 非空 值 NULL 空值 UNIQUE 值唯一 CHECK 有效性檢查 DEFAULT 缺省值 表約束是對整個表格的約束性 使用表約束定義主鍵的優(yōu)點 CONSTRAINT DEPARTMENT PK PRIMARY KEY DepartmentName 便于定義復合主鍵 可命名主鍵約 束 便于定義代理鍵 外鍵及其參照完整性約束 CONSTRAINT DEPARTMENT FK FOREIGN KEY DEPARTMENT REFERENCES DEPARTMENT DepartmentName 5 視圖 是一種通過其它表或視圖構建的虛擬表 它本身沒有自己的數(shù)據(jù) 而是使用了存 儲在表或其它視圖中的數(shù)據(jù) 基本語句格式 CREATE VIEW 列名 1 列名 2 AS 使用視圖簡化復雜 SQL 查詢操作 通過視圖 數(shù)據(jù)庫開發(fā)人員可以將復雜的查詢語句封裝 在視圖內(nèi) 使外部程序只需要使用簡單方式訪問該視圖 便可獲取所需要的數(shù)據(jù) 使用視圖提高數(shù)據(jù)訪問安全性通過視圖可以將基本數(shù)據(jù)表部分敏感數(shù)據(jù)隱藏起來 外部用戶 無法得知數(shù)據(jù)表的完整數(shù)據(jù) 降低數(shù)據(jù)庫被攻擊的風險 此外 還可以保護部分隱私數(shù)據(jù) 3 提供一定程度的數(shù)據(jù)邏輯獨立性 通過視圖 可提供一定程度的數(shù)據(jù)邏輯獨立性 當數(shù)據(jù) 表結構發(fā)生改變 只要視圖結構不變 應用程序可以不作修改 集中展示用戶所感興趣的特定數(shù)據(jù) 通過視圖 可以將部分用戶不關心的數(shù)據(jù)進行過濾 僅 僅提供他們所感興趣的數(shù)據(jù) 第四章 1 單選題 C B C B A 2 判斷題 對對錯 錯 錯 3 填空題 弱實體 概念模型設計 邏輯模型設計 物理模型設計 1 1 一對一 1 N 一對多 m N 多對多 ID 依賴 非 ID 依賴 父實體子實體 4 簡答題 1 在從現(xiàn)實世界到計算機世界的數(shù)據(jù)庫設計過程中 經(jīng)歷了概念層設計 邏輯層設計及物理 層設計三個階段 其創(chuàng)建的數(shù)據(jù)模型分別稱為概念數(shù)據(jù)模型 邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模 型 在從現(xiàn)實世界到計算機世界的數(shù)據(jù)庫設計過程中 經(jīng)歷了概念層設計 邏輯層設計及 物理層設計三個階段 其創(chuàng)建的數(shù)據(jù)模型分別稱為概念數(shù)據(jù)模型 邏輯數(shù)據(jù)模型和物理數(shù) 據(jù)模型 在邏輯數(shù)據(jù)模型中 是從系統(tǒng)設計角度描述系統(tǒng)的數(shù)據(jù)對象組成及其關系 并考 慮這些數(shù)據(jù)對象在計算機系統(tǒng)中的邏輯表示 在物理數(shù)據(jù)模型中 系統(tǒng)數(shù)據(jù)被描述為 數(shù) 據(jù)表 主鍵 外鍵 等形式 該數(shù)據(jù)模型需要考慮在計算機系統(tǒng)中的具體 DBMS 實現(xiàn)方式 2 數(shù)據(jù)需求分析選題概念數(shù)據(jù)建模 系統(tǒng)邏輯數(shù)據(jù)建模 系統(tǒng)物理數(shù)據(jù)建模 數(shù)據(jù)庫實現(xiàn) E R 模型是 實體 關系模型 Entity Relationship Model 的簡稱 它是一種描述現(xiàn)實世界概 念數(shù)據(jù)模型的有效方法 3 實體 Entity 是客觀世界中描述事物數(shù)據(jù)對象的抽象概念 實體可以是人 也可以是物或 抽象的概念 可以指事物本身 也可以指事物之間的關系 如一個人 一件物品 一個部門 等都可以是實體 實每個實體都有自己的一組數(shù)據(jù)特征 這些描述實體的數(shù)據(jù)特征稱為實體 的屬性 Attribute 例如 學生實體具有學號 姓名 性別等屬性 不同實體的屬性是不同 的 實體間的關系 關系表示一個或多個實體之間的關聯(lián)關系 4 實體之間關聯(lián)的數(shù)目稱為元 實體自己與自己之間的關系稱為一元關系 也稱遞歸關系 兩個實體之間的關系稱為二元關系 三個實體之間的關系稱為三元關系 在實際應用中 二 元關系是最常見的實體關系 5 在 一對一 一對多 和 多對多 的關系中 把兩個實體集中有關系的實體關系數(shù) 量分成兩種類型 唯一 和 不唯一 例如 學校規(guī)定對于全校公選課 學生每學期至 少選修 1 門課程 最多選修 5 門課程 每門課程最少要有 15 個人選 最多不能超過 150 人 對于這種情況 首先確定學生的基數(shù)是 15 150 課程的基數(shù)是 1 5 這種實體 關系的對應數(shù)目稱為這個關系的基數(shù) 用 min max 形式表示 其中 min 表示最小基數(shù) max 表示最大基數(shù) 如果最小基數(shù)為 0 則關系中的實體參與是可選的 如果最小基數(shù)為 1 則關系中的實體參與是強制性的 6 二元實體關系有三種類型 一對一關系 一對多關系和多對多關系 作業(yè)參考答案 7 數(shù)據(jù)庫概念數(shù)據(jù)模型設計是通過對現(xiàn)實世界中信息實體進行抽取 分類 聚集和概括等處 理 建立數(shù)據(jù)庫概念數(shù)據(jù)結構的過程 概念數(shù)據(jù)庫設計的方法主要有兩種 集中式設計方法 視圖綜合設計方法 集中式設計方法基于需求分析階段得到的系統(tǒng)數(shù)據(jù)需求 設計一個描述系統(tǒng)概念數(shù)據(jù)關系的 數(shù)據(jù)模型 用于反映系統(tǒng)的數(shù)據(jù)需求 集中式方法要求所有概念數(shù)據(jù)模型設計工作都必須由 具有較高水平的數(shù)據(jù)庫設計者完成 視圖綜合設計由一個視圖設計階段和一個視圖合并階段組成 它不要求應用需求的合并 在 視圖設計階段 設計者根據(jù)每個應用的需求 獨立地為每個用戶和應用設計一個概念數(shù)據(jù)庫 模式 這里每個應用的概念數(shù)據(jù)庫模式都稱為視圖 視圖設計階段完成后 進入到視圖合并 階段 在此階段設計者把所有視圖有機地合并成一個統(tǒng)一的概念數(shù)據(jù)庫模式 這個最終的概 念數(shù)據(jù)庫模式支持所有的應用 第五章 1 單選題 C C C A A 2 判斷題 對對錯 錯 對 3 填空題 主鍵 代理鍵 表 列 主鍵 數(shù)據(jù)冗余 決定因素 依賴 4 簡答題 1 數(shù)據(jù)模型轉換設計有兩種方案 一種是由概念數(shù)據(jù)模型生成對應的邏輯數(shù)據(jù)模型 再從邏 輯數(shù)據(jù)模型轉換生成物理數(shù)據(jù)模型 另一種是從概念數(shù)據(jù)模型直接轉換為對應的物理數(shù)據(jù)模 型 當使用關系數(shù)據(jù)庫時 物理數(shù)據(jù)模型即為關系模型 其基本轉換原理如下 a 將每一個 實體轉換成一個表 實體的屬性轉換為表的列 實體的標識符轉換為表的主鍵 b 將實體關系轉化為表間的參照完整性約束 即通過設置外鍵來參照主鍵 根據(jù)關系的不同 類型 通過外鍵參照主鍵的方式有所不同 為每個實體定義一個表 表名與實體名相同 將 實體的標識符作為表的主鍵 然后 實體的屬性轉換為表中的列 實體的標識符轉換為表的 主鍵 在關系數(shù)據(jù)庫設計中 當數(shù)據(jù)表中的候選鍵都不適合當主鍵時 例如 候選鍵的內(nèi)容 太大或者復合候選鍵包含的屬性太多 就會定義代理鍵作為主鍵 代理鍵由 DBMS 自動生 成數(shù)字鍵值 且永不改變 實體屬性轉換為表的列后 必須為每個列指定其特性 包括數(shù)據(jù)類型 空值狀態(tài) 默認值及 數(shù)值的約束 數(shù)據(jù)類型 每個 DBMS 都有自己的數(shù)據(jù)類型定義 對于每一列 應指明在該列 中存儲何種類型的數(shù)據(jù) 空值狀態(tài) 在表中插入新行時 某些列必須有值 對于這樣的列 將其標注為 NOT NULL 某些列允許不輸入值 將其標注為 NULL 默認值 默認值是指當插 入新行時 如果用戶沒有顯式輸入某個列的值 則由 DBMS 自動設置為預先設定的值 數(shù)值 的約束 一些列中的數(shù)據(jù)值可能有限制 這些限制稱為數(shù)據(jù)約束 弱實體有時候需要特別的處理 弱實體在邏輯上依賴于另一個實體 ID 依賴弱實體的標識符 應該含有它所依賴實體的標識符 因此需要將被依賴實體的標識符放入 ID 依賴弱實體轉換 生成的表中 和 ID 依賴弱實體的標識符共同轉換成復合主鍵 2 當實體繼承關系轉換到物理數(shù)據(jù)模型時 首先父實體和子實體都各自轉換為表 其屬性均 轉換為表的列 在處理繼承關系轉換時 將父表中的主鍵放置到子表中 既做主鍵又做外鍵 3 1 N 實體關系的轉換方法很簡單 兩個實體分別轉換為表 然后將 1 父實體表的主鍵放入 N 子實體表中做外鍵 將圖 5 9 所示的實體關系轉換為表參照約束 班級實體 學生實體 在 學生中把班級的主鍵加入進去作為外碼鍵 4 N M 實體關系不能像 1 1 和 1 N 實體關系那樣直接轉換 將任一個實體表的主鍵放置到另 一個實體表中做外鍵都是無法實現(xiàn)的 必須要重新產(chǎn)生一張新表 用于表示兩個實體之間的 關系 新表的名稱通常有兩種命名方法 一種是以 N M 關系的名稱命名 一種是用下劃線連 接 N M 關系兩側的實體名稱作為新表的名稱 新表把兩個表的關鍵字作為復合主鍵并定義外 碼應用關系 5 1 1 實體關系的轉換 學生表和助學金發(fā)放賬號表 有兩種轉換方案 一種是將學生表的主 鍵 學號 放入助研金賬號表中做外鍵 另一種是將助研金賬號表的主鍵 賬號 放入學生 表中做外鍵 這兩種方案均是可行的 由設計者根據(jù)應用情況自主做出選擇 6 數(shù)據(jù)庫表規(guī)范化設計是指在數(shù)據(jù)庫中減少數(shù)據(jù)冗余和定義一個規(guī)范的表間結構 實現(xiàn)數(shù)據(jù) 完整性與一致性 所謂數(shù)據(jù)冗余是指一組數(shù)據(jù)重復出現(xiàn)在數(shù)據(jù)庫的多個表中 在數(shù)據(jù)庫設計 中 盡量避免表間的重復數(shù)據(jù)列 規(guī)范化數(shù)據(jù)庫設計為數(shù)據(jù)庫系統(tǒng)帶來如下益處 冗余數(shù)據(jù) 被消除 同一數(shù)據(jù)在數(shù)據(jù)庫中僅保存一份 有效降低維護數(shù)據(jù)一致性的工作量 設計合理的表間依賴關系和約束關系 便于實現(xiàn)數(shù)據(jù)完整性和一致性 設計合理的數(shù)據(jù)庫結構 便于系統(tǒng)對數(shù)據(jù)高效訪問處理 7 在將系統(tǒng)物理數(shù)據(jù)模型在數(shù)據(jù)庫中實現(xiàn)前 需要對所設計的系統(tǒng) PDM 模型進行設計驗證檢 查 以發(fā)現(xiàn)系統(tǒng) PDM 模型設計中的錯誤 系統(tǒng)設計者則需根據(jù)錯誤信息對數(shù)據(jù)模型進行修 正 并再次進行檢查 直到?jīng)]有任何錯誤和警告為止 第六章 1 單選題 B D B C C 2 判斷題 對對錯對 錯 3 填空題 隔離性 持久性 用戶的對象 可串行化 回收 revoke 權限 拒絕 deny 權限磁帶 庫 關盤庫 4 簡答題 1 DBMS 的功能包括數(shù)據(jù)庫定義 定義數(shù)據(jù)庫完整性 安全保密 存取路徑等 數(shù)據(jù)存取 提供數(shù)據(jù)的操縱語言以便對數(shù)據(jù)進行查找和增刪改 數(shù)據(jù)庫運行管理 事務管理 自動恢復 并發(fā)控制 死鎖檢測或防止 安全性檢查 存取控 制 完整性檢查 日志記錄等 數(shù)據(jù)組織 存儲和管理 數(shù)據(jù)字典 用戶數(shù)據(jù) 存取路徑的組織存儲和管理 以便提高存儲 空間利用率 并方便存取數(shù)據(jù)庫的建立和維護 數(shù)據(jù)庫初建 轉儲 恢復 重組 重構以及 性能檢測等數(shù)據(jù)傳輸 網(wǎng)絡通信 數(shù)據(jù)轉換 異構數(shù)據(jù)庫互訪等 2 在數(shù)據(jù)庫中 事務 Transaction 是指由構成單個邏輯處理單元的一組數(shù)據(jù)庫訪問操作 它 們要么都成功執(zhí)行 要么都不執(zhí)行 在數(shù)據(jù)庫系統(tǒng)中 事務是 DBMS 執(zhí)行的最小任務單元 作業(yè)參考答案 同時 事務也是 DBMS 最小的故障恢復任務單元和并發(fā)控制任務單元 為了確保數(shù)據(jù)庫共享 訪問的數(shù)據(jù)正確性 要求 DBMS 的事務管理機制維護事務的 ACID 特性 事務程序主要解決 并發(fā)控制和系統(tǒng)恢復 3 防止死鎖的策略 允許用戶一次發(fā)出當前所需全部資源的鎖定 使用完成后 再釋放給其 它用戶訪問 規(guī)定所有應用程序鎖定資源的順序必須完全相同 當發(fā)生死鎖時 回滾其中的 一個事務 并取消它對數(shù)據(jù)庫所做的改動 順序封鎖法 將數(shù)據(jù)庫對象按某種規(guī)定的順序排列 要求事務實行封鎖也必須按照這個順序進 行 一次封鎖法 要求事務在開始執(zhí)行前先申請到所需的所有封鎖 如果有一個封鎖沒有申請到 則事務中止 用時間戳的死鎖預防 根據(jù)事務啟動時的時間戳設置事務的優(yōu)先級 越早開始運行的事務優(yōu) 先級越高 為預防死鎖 在事務 Ti 申請的封鎖與事務 Tj 已經(jīng)擁有的封鎖發(fā)生沖突時 鎖管 理器可使用如下兩種不同的機制 Wait die 機制 若 Ti 優(yōu)先級較高 則 Ti 可以等待 否則 中止事務 Ti Wound wait 機制 若 Ti 優(yōu)先級較高 則中止 Tj 否則 Ti 等待 4 數(shù)據(jù)庫系統(tǒng)安全模型 身份驗證 用來確認登錄用戶是否是合法使用者 權限控制 通 過權限機制控制用戶對數(shù)據(jù)的訪問 系統(tǒng)防護 OS 系統(tǒng)安全機制防范非法系統(tǒng)訪問 權限 控制 通過加密算法對數(shù)據(jù)庫中數(shù)據(jù)進行加密存儲 實現(xiàn)方法 用戶要訪問數(shù)據(jù)庫 必須 先在 DBMS 中創(chuàng)建其賬號 并成為數(shù)據(jù)庫的用戶 此后 用戶每次訪問數(shù)據(jù)庫 都需要在 DBMS 進行身份驗證 只有合法用戶才能進入系統(tǒng) 訪問操作數(shù)據(jù)庫對象 5 數(shù)據(jù)庫備份 是指將數(shù)據(jù)庫當前數(shù)據(jù)和狀態(tài)進行副本復制 以便當數(shù)據(jù)庫受到破壞或丟失數(shù)據(jù)時可以進 行修復 數(shù)據(jù)庫恢復 是指數(shù)據(jù)庫中數(shù)據(jù)丟失或被破壞時 從備份副本將數(shù)據(jù)庫從錯誤狀 態(tài)恢復到某一正確狀態(tài) 恢復機制涉及兩個關鍵問題 如何建立冗余數(shù)據(jù) 在數(shù)據(jù)庫正常運 行的情況下隨時記錄數(shù)據(jù)庫的變化 如何利用冗余數(shù)據(jù)實施數(shù)據(jù)庫恢復 數(shù)據(jù)庫一旦失效 用記錄的數(shù)據(jù)進行恢復 恢復技術是衡量數(shù)據(jù)庫管理系統(tǒng)優(yōu)劣的重要指標 恢復機制常用的 技術 記錄日志文件和數(shù)據(jù)轉儲 備份內(nèi)容 包括數(shù)據(jù)文件 日志文件 系統(tǒng)數(shù)據(jù)庫等 所謂轉儲是指 DBA 定期地將整個數(shù) 據(jù)庫復制到某種存儲介質 如磁帶 磁盤 光盤等 上保存起來的過程 備用的數(shù)據(jù)文本稱 為后備副本或后援副本 數(shù)據(jù)轉儲是數(shù)據(jù)庫恢復中采用的基本技術 備份時機 當系統(tǒng)數(shù) 據(jù)庫被修改 日志被清理 用戶數(shù)據(jù)庫創(chuàng)建 用戶數(shù)據(jù)庫加載等事件出現(xiàn)時或定期備份 靜 態(tài)轉儲與動態(tài)轉儲 完全轉儲與增量轉儲 第七章 1 單選題 A C C 2 判斷題 對錯對錯 對對 3 填空題 過程參數(shù) 系統(tǒng)存儲過程 臨時存儲過程 存儲過程 4 簡答題 1 數(shù)據(jù)庫應用系統(tǒng)從作用范圍的角度可分為三種類型 基于單機的數(shù)據(jù)庫應用系統(tǒng) 特點 在單機結構系統(tǒng)中 整個數(shù)據(jù)庫系統(tǒng)都裝在一臺計算機上 由一個用戶進行訪問操作 數(shù)據(jù) 不能共享 數(shù)據(jù)冗余度大 集中式結構 數(shù)據(jù)庫系統(tǒng)的應用程序 DBMS 數(shù)據(jù) 都放在同 一主機上 所有的處理任務由主機完成 多個用戶可同時并發(fā)地存取數(shù)據(jù) 能夠共享數(shù)據(jù) 基于局域網(wǎng)的客戶 服務器 C S 數(shù)據(jù)庫應用系統(tǒng) 用戶將數(shù)據(jù)傳送到服務器進行處理 服 務器將結果返回給用戶 提高了系統(tǒng)的性能和負載能力 但可能帶來網(wǎng)絡上數(shù)據(jù)傳數(shù)量過大 基于互聯(lián)網(wǎng)的瀏覽器 服務器 B S 的數(shù)據(jù)庫應用系統(tǒng) 分布式結構 用戶將數(shù)據(jù)傳送到服 務器進行處理 服務器將結果返回給用戶 提高了系統(tǒng)的性能和負載能力 但可能帶來網(wǎng)絡 上數(shù)據(jù)傳數(shù)量過大 用戶將數(shù)據(jù)傳送到服務器進行處理 服務器將結果返回給用戶 提高了 系統(tǒng)的性能和負載能力 但可能帶來網(wǎng)絡上數(shù)據(jù)傳數(shù)量過大 2 數(shù)據(jù)庫開發(fā)生命周期是一個設計 實現(xiàn)和維護數(shù)據(jù)庫系統(tǒng)的過程 需要符合組織戰(zhàn)略和 操作信息的需求 數(shù)據(jù)庫開發(fā)生命周期與信息系統(tǒng)軟件開發(fā)生命周期是內(nèi)在關聯(lián)的 DDLC 與 SDLC 是同步進行的 a 系統(tǒng)需求分析系統(tǒng)分析人員與用戶交流 按照軟件工程方法獲取系統(tǒng)數(shù)據(jù)需求信息 并 采用模型定義系統(tǒng)數(shù)據(jù)組成 及其數(shù)據(jù)字典 b 系統(tǒng)數(shù)據(jù)架構設計 系統(tǒng)架構設計人員根據(jù)系統(tǒng)功能和性能需求 對系統(tǒng)數(shù)據(jù)架構模型進 行設計 包括系統(tǒng)數(shù)據(jù)概念模型 系統(tǒng)數(shù)據(jù)邏輯模型和系統(tǒng)數(shù)據(jù)物理模型 c 系統(tǒng)數(shù)據(jù)庫實現(xiàn) 系統(tǒng)數(shù)據(jù)庫開發(fā)人員根據(jù)系統(tǒng)設計方案 對系統(tǒng)數(shù)據(jù)庫進行部署和模型 實現(xiàn) 包括系統(tǒng)數(shù)據(jù)庫創(chuàng)建 數(shù)據(jù)表創(chuàng)建 索引和約束等對象創(chuàng)建 d 系統(tǒng)測試 系統(tǒng)測試人員將測試數(shù)據(jù)上載到數(shù)據(jù)庫中 對數(shù)據(jù)庫對象進行測試操作訪問 實現(xiàn)數(shù)據(jù)庫功能和性能測試 e 系統(tǒng)運行與維護 系統(tǒng)運維人員在系統(tǒng)投入運行過程中 對系統(tǒng)數(shù)據(jù)庫進行定期維護和 優(yōu)化 以保證數(shù)據(jù)庫系統(tǒng)正常地 高效地運行 3 軟件開發(fā)生命周期包括需求或概念階段 規(guī)格說明階段 將用戶需求寫成規(guī)格說明文檔 闡述軟件產(chǎn)品的預期功能 計劃階段 草擬軟件項目管理計劃 細化軟件開發(fā)的各個方面 設計階段 為實現(xiàn)軟件規(guī)格說明文檔中的功能而經(jīng)歷兩個連續(xù)的設計階段 第一個階段是 概要設計階段 第二個階段是詳細設計階段 這兩個設計階段的文檔描述如何實現(xiàn)軟件產(chǎn) 品 編程 編碼或實現(xiàn) 階段 用特定的計算機編程語言編寫各個模塊的代碼 集成 測試 階段 完成模塊的單獨測試和集成測試 經(jīng)歷 Alpha 測試和 Beta 測試 維護階 段 完成所有維護工作 當增強和更改軟件時 需要更新相應的軟件規(guī)格說明文檔 4 應 用程序在訪問數(shù)據(jù)庫時 需要與 DBMS 建立通信連接 但是 不同廠家的 DBMS 提供不同 的數(shù)據(jù)庫訪問應用程序接口 Application Programming Interface API 因此 需要提供一 種統(tǒng)一的數(shù)據(jù)庫通信方式來屏蔽不同廠家的 DBMS 的 API 差異性 數(shù)據(jù)庫連接中間件正是 這樣一種技術 主要 ODBC JDBC 和嵌入式 SQL 技術 ODBC Open Database Connectivity 開放數(shù)據(jù)庫互連 是微軟公司開放服務結構 WOSA Windows Open Services Architecture 中有關數(shù)據(jù)庫的一個組成部分 它建立了一組規(guī)范 并提供了一組對數(shù)據(jù)庫訪問的標準 API 這些 API 利用 SQL 來完成其大部分任務 JDBC Java Data Base Connectivity Java 數(shù)據(jù)庫連接 是一種用于執(zhí)行 SQL 語句的 Java API 可以為多種關系數(shù)據(jù)庫提供統(tǒng)一訪問 它由一組用 Java 語言編寫的類和接口組成 有了 JDBC API 就不必為訪問 Sybase 數(shù)據(jù)庫專門寫一個程序 為訪問 Oracle 數(shù)據(jù)庫又專門 寫一個程序 或為訪問 SQL Server 數(shù)據(jù)庫又編寫另一個程序等 作為 API JDBC 為程序開發(fā) 作業(yè)參考答案 提供標準的接口 并為數(shù)據(jù)庫廠商及第三方中間件廠商實現(xiàn)與數(shù)據(jù)庫的連接提供了標準方法 JDBC 使用已有的 SQL 標準并支持與其他數(shù)據(jù)庫連接標準 如 ODBC 之間的橋接 JDBC 實現(xiàn) 了所有這些面向標準的目標并且具有簡單 嚴格類型定義且高性能實現(xiàn)的接口 JDBC 實際 上做了 3 件事 建立與數(shù)據(jù)庫的連接 發(fā)送 SQL 處理結果 SQL 語言可以獨立使用 稱為交互式 Interactive SQL ISQL 但 ISQL 的功能僅限于數(shù)據(jù)庫上 操作 缺少數(shù)據(jù)處理能力 而一個應用程序既要訪問數(shù)據(jù) 又要處理數(shù)據(jù) 把 SQL 嵌入到程 序設計語言 如 C C Java 等 即宿主語言中 將兩者的功能相結合起來 是目前解決這 個問題的實現(xiàn)途徑 這樣使用的 SQL 稱為嵌入式 SQL Embedded SQL ESQL 5 DBMS 通過游標 Cursor 提供了一種從記錄集中逐一訪問記錄的靈活手段 就本質而言 游標實際上是一種能從包括多條數(shù)據(jù)記錄的結果集中每次提取一條記錄的機制 游標總是與 一條 SQL 選擇語句 Select 相關聯(lián) Transact SQL 游標是由 DECLARE CURSOR 語法定義 主 要用在 Transact SQL 腳本 存儲過程和觸發(fā)器中 Transact SQL 游標主要用在服務器上 由 從客戶端發(fā)送給服務器的 Transact SQL 語句或是批處理 存儲過程 觸發(fā)器中的 Transact SQL 進行管理 Transact SQL 游標不支持提取數(shù)據(jù)塊或多行數(shù)據(jù) 6 存儲過程是一組已被編輯在一起的 存儲在服務器上的 執(zhí)行某種功能的預編譯 SQL 語句 它是一種封裝重復任務操作方法 支持用戶提供的參數(shù)變量 具有強大的編程能力 存儲過 程非常類似于 DOS 系統(tǒng)中的批處理文件 它將完成某項任務的許多 SQL 語句寫在一起 組 成命令集合的形式 然后通過執(zhí)行該存儲過程就可以完成相應的任務 優(yōu)點 加快程序的執(zhí)行速度 減少網(wǎng)絡的流量 提供一種安全機制 允許程序模塊化設計 提高編程的靈活性 7 從本質上看 觸發(fā)器是一種特殊的存儲過程 它不同于我們前面介紹過的存儲過程 觸發(fā) 器主要是通過事件進行觸發(fā)而被執(zhí)行的 而存儲過程可以通過存儲過程名字而被直接調(diào)用 觸發(fā)器在插入 刪除或修改特定表中的數(shù)據(jù)時觸發(fā)執(zhí)行 它比數(shù)據(jù)庫本身標準的功能有更精 細和更復雜的數(shù)據(jù)控制能力 當使用 INSERT DELETE UPDATE 命令對觸發(fā)器所保護的數(shù)據(jù) 進行修改時 觸發(fā)器能夠被自動激活 從而確保對數(shù)據(jù)的處理必須符合由這些 SQL 語句所定 義的規(guī)則 它除了能夠完成復雜的完整性約束以外 還可以在主動數(shù)據(jù)庫 Active Database 的應用中對不同的外部事件做出及時反應 作用 維護約束 前面討論了觸發(fā)器可以用于維護外碼和語義約束 這種類型的觸發(fā)器通 常形式是使用 ON DELETE 和 ON UPDATE 子句 業(yè)務規(guī)則 業(yè)務是對基本規(guī)則簡潔的正式陳述 這些基本規(guī)則是企業(yè)中業(yè)務運作的基礎 監(jiān)控 由于在數(shù)據(jù)庫中每條新記錄的插入都是一個事件 觸發(fā)器可以間接地用于監(jiān)控這些 對象的狀態(tài) 輔助高速緩存數(shù)據(jù)的維護 物化視圖 MATERIALIZED VIEW 是這類應用的實例 每當物化 視圖的基礎表發(fā)生改變時 與該基礎表相連的觸發(fā)器就會更新物化視圖 簡化應用設計 將核心編程邏輯從異常處理中分離出來 可以相當大地簡化某些應用 若 異 常可以被模型化為數(shù)據(jù)庫中的更新操作 則觸發(fā)器是此類應用的理想實現(xiàn)途徑 CREATE TRIGGER 觸發(fā)器名稱 ON table view FOR AFTER INSTEAD OF INSERT UPDATE DELETE AS- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 數(shù)據(jù)庫原理與應用 數(shù)據(jù)庫 原理 應用 課后 習題 參考答案
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
相關資源
更多
正為您匹配相似的精品文檔
相關搜索
鏈接地址:http://italysoccerbets.com/p-9298004.html