freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第6章數(shù)據(jù)庫設計-資料下載頁

2024-10-24 15:07本頁面

【導讀】數(shù)據(jù)庫設計是指根據(jù)用戶需求研制數(shù)據(jù)庫結構。戶的信息要求和處理要求。也就是把現(xiàn)實世界中的數(shù)據(jù),根據(jù)各種應用處。系統(tǒng)目標的數(shù)據(jù)庫。數(shù)據(jù)庫設計的任務如圖。數(shù)據(jù)庫的結構設計指是根據(jù)給定的應用環(huán)境,進行數(shù)據(jù)庫的模式或子模式的設計。它包括數(shù)據(jù)庫的概念設計、邏輯設計和物理設。用戶的行為總是使數(shù)據(jù)庫的內(nèi)容發(fā)生變化,所以行為。設計是動態(tài)的,行為設計又稱為動態(tài)模型設計。在70年代末80年代初,人們?yōu)榱搜芯繑?shù)據(jù)庫設計方法?,F(xiàn)代數(shù)據(jù)庫的設計的特點是強調(diào)結構設計與行。小、安全有效的數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)庫設計方法目前可分為四類:直觀設計法、規(guī)范設計法、計。直觀設計法也叫手工試湊法,它是最早使用的數(shù)據(jù)庫設計方法。為了改變這種情況,1978年10月,來自三十多個國家的數(shù)據(jù)庫專。題,他們運用軟件工程的思想和方法,提出了數(shù)據(jù)庫設計的規(guī)范,確定數(shù)據(jù)庫模式中的全部屬性和屬性間的依賴關系,生的文檔組織評審,與用戶進行交流。

  

【正文】 , 可以對關系模式進行垂直分解和水平分解 。 ?水平分解 是把關系的元組分為若干子集合 , 定義每個子集合為一個子關系 。 ?對于經(jīng)常進行大量數(shù)據(jù)的分類條件查詢的關系 ,可進行水平分解 , 這樣可以減少應用系統(tǒng)每次查詢需要訪問的記錄數(shù) , 從而提高了查詢性能 。 返回 返回 82 ?例如 , 有學生關系 ( 學號 , 姓名 , 類別 …… ) , 其中類別包括大專生 、 本科生和研究生 。 如果多數(shù)查詢一次只涉及其中的一類學生 , 就應該把整個學生關系水平分割為大專生 、 本科生和研究生三個關系 。 ?垂直分解 是把關系模式的屬性分解為若干子集合 , 形成若干子關系模式 。 垂直分解的原則是把經(jīng)常一起使用的屬性分解出來 , 形成一個子關系模式 。 ?例如 , 有教師關系 ( 教師號 , 姓名 , 性別 , 年齡 ,職稱 , 工資 , 崗位津貼 , 住址 , 電話 ) , 如果經(jīng)常查詢的僅是前六項 , 而后三項很少使用 , 則可以將教師關系進行垂直分割 , 得到兩個教師關系: 教師關系 1( 教師號 , 姓名 , 性別 , 年齡 , 職稱 , 工資 ) 教師關系 2( 教師號 , 崗位津貼 , 住址 , 電話 ) ?這樣 , 便減少了查詢的數(shù)據(jù)傳遞量 , 提高了查詢速度 。 返回 返回 83 ? 垂直分解可以提高某些事務的效率 , 但也有可能使另一些事務不得不執(zhí)行連接操作 , 從而降低了效率 。 因此是否要進行垂直分解要看分解后的所有事務的總效率是否得到了提高 。 垂直分解要保證分解后的關系具有無損連接性和函數(shù)依賴保持性 。 相關的分解算法已經(jīng)在第 4章進行了詳細介紹 。 ? 經(jīng)過多次的模式評價和模式改進之后 , 最終的數(shù)據(jù)庫模式得以確定 。 邏輯設計階段的結果是全局邏輯數(shù)據(jù)庫結構 。 對于關系數(shù)據(jù)庫系統(tǒng)來說 , 就是一組符合一定規(guī)范的關系模式組成的關系數(shù)據(jù)庫模型 。 ? 數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)物理獨立性特點消除了由于物理存儲改變而引起的對應程序的修改 。 標準的 DBMS例行程序應適用于所有的訪問 , 查詢和更新事務的優(yōu)化應當在系統(tǒng)軟件一級上實現(xiàn) 。 這樣 , 邏輯數(shù)據(jù)庫確定之后 , 就可以開始進行應用程序設計了 。 返回 返回 84 ?數(shù)據(jù)庫最終要存儲在物理設備上 。 對于給定的邏輯數(shù)據(jù)模型 , 選取一個最適合應用環(huán)境的物理結構的過程 , 稱為數(shù)據(jù)庫物理設計 。 物理設計的任務是為了有效地實現(xiàn)邏輯模式 , 確定所采取的存儲策略 。 此階段是以邏輯設計的結果作為輸入 , 結合具體 DBMS的特點與存儲設備特性進行設計 , 選定數(shù)據(jù)庫在物理設備上的存儲結構和存取方法 。 ?數(shù)據(jù)庫的物理設計可分為兩步: (1) 確定物理結構 , 在關系數(shù)據(jù)庫中主要指存取方法和存儲結構; (2)評價物理結構 , 評價的重點是時間和空間效率 。 數(shù)據(jù)庫物理設計 返回 返回 85 確定物理結構 ? 設計人員必須深入了解給定的 DBMS的功能 , DBMS提供的環(huán)境和工具 、 硬件環(huán)境 ,特別是存儲設備的特征 。 另一方面也要了解應用環(huán)境的具體要求 , 如各種應用的數(shù)據(jù)量 、 處理頻率和響應時間等 。 只有 “ 知己知彼 ”才能設計出較好的物理結構 。 1. 存儲記錄結構的設計 ? 在物理結構中 , 數(shù)據(jù)的基本存取單位是存儲記錄 。 有了邏輯記錄結構以后 , 就可以設計存儲記錄結構 , 一個存儲記錄可以和一個或多個邏輯記錄相對應 。 存儲記錄結構包括記錄的組成 、 數(shù)據(jù)項的類型和長度 , 以及邏輯記錄到存儲記錄的映射 。 某一類型的所有存儲記錄的集合稱為 “ 文件 ” , 文件的存儲記錄可以是定長的 , 也可以是變長的 。 ? 文件組織或文件結構是組成文件的存儲記錄的表示法 。 文件結構應該表示文件格式 、 邏輯次序 、 物理次序 、 訪問路徑 、 物理設備的分配 。 物理數(shù)據(jù)庫就是指數(shù)據(jù)庫中實際存儲記錄的格式 、 邏輯次序和物理次序 、 訪問路徑 、 物理設備的分配 。 ? 決定存儲結構的主要因素包括存取時間 、 存儲空間和維護代價三個方面 。 設計時應當根據(jù)實際情況對這三個方面進行綜合權衡 。 一般DBMS也提供一定的靈活性可供選擇 , 包括聚簇和索引 。 返回 返回 86 (1) 聚簇 ( Cluster) ? 聚簇就是為了提高查詢速度 , 把在一個 ( 或一組 ) 屬性上具有相同值的元組集中地存放在一個物理塊中 。如果存放不下 , 可以存放在相鄰的物理塊中 。 其中 ,這個 ( 或這組 ) 屬性稱為聚簇碼 。 ? 為什么要使用聚簇呢 ? 聚簇有兩個作用: ① 使用聚簇以后 , 聚簇碼相同的元組集中在一起了 , 因而聚簇值不必在每個元組中重復存儲 , 只要在一組中存儲一次即可 ,因此可以節(jié)省存儲空間 。 ② 聚簇功能可以大大提高按聚簇碼進行查詢的效率 。 例如 , 假設要查詢學生關系中計算機系的學生名單 , 設計算機系有 300名學生 。 在極端情況下 , 這些學生的記錄會分布在 300個不同的物理塊中 , 這時如果要查詢計算機系的學生 , 就需要做 300次的I/O操作 , 這將影響系統(tǒng)查詢的性能 。 如果按照系別建立聚簇 ,使同一個系的學生記錄集中存放 , 則每做一次 I/O操作 , 就可以獲得多個滿足查詢條件和記錄 , 從而顯著地減少了訪問磁盤的次數(shù) 。 返回 返回 87 (2) 索引 ? 存儲記錄是屬性值的集合 , 主關系鍵可以惟一確定一個記錄 , 而其他屬性的一個具體值不能惟一確定是哪個記錄 。 在主關系鍵上應該建立惟一索引 , 這樣不但可以提高查詢速度 , 還能避免關系鍵重復值的錄入 ,確保了數(shù)據(jù)的完整性 。 ? 在數(shù)據(jù)庫中 , 用戶訪問的最小單位是屬性 。 如果對某些非主屬性的檢索很頻繁 , 可以考慮建立這些屬性的索引文件 。 索引文件對存儲記錄重新進行內(nèi)部鏈接 ,從邏輯上改變了記錄的存儲位置 , 從而改變了訪問數(shù)據(jù)的入口點 。 關系中數(shù)據(jù)越多索引的優(yōu)越性也就越明顯 。 ? 建立多個索引文件可以縮短存取時間 , 但是增加了索引文件所占用的存儲空間以及維護的開銷 。 因此 , 應該根據(jù)實際需要綜合考慮 。 返回 返回 88 2. 訪問方法的設計 ? 訪問方法是為存儲在物理設備 ( 通常指輔存 ) 上的數(shù)據(jù)提供存儲和檢索能力的方法 。 一個訪問方法包括存儲結構和檢索機構兩個部分 。 存儲結構限定了可能訪問的路徑和存儲記錄;檢索機構定義了每個應用的訪問路徑 , 但不涉及存儲結構的設計和設備分配 。 ? 存儲記錄是屬性的集合 , 屬性是數(shù)據(jù)項類型 , 可用作主鍵或輔助鍵 。 主鍵惟一地確定了一個記錄 。 輔助鍵是用作記錄索引的屬性 , 可能并不惟一確定某一個記錄 。 ? 訪問路徑的設計分成主訪問路徑與輔訪問路徑的設計 。 主訪問路徑與初始記錄的裝入有關 , 通常是用主鍵來檢索的 。首先利用這種方法設計各個文件 , 使其能最有效地處理主要的應用 。 一個物理數(shù)據(jù)庫很可能有幾套主訪問路徑 。 輔訪問路徑是通過輔助鍵的索引對存儲記錄重新進行內(nèi)部鏈接 , 從而改變訪問數(shù)據(jù)的入口點 。 用輔助索引可以縮短訪問時間 , 但增加了輔存空間和索引維護的開銷 。 設計者應根據(jù)具體情況作出權衡 。 返回 返回 89 3. 數(shù)據(jù)存放位置的設計 ?為了提高系統(tǒng)性能 , 應該根據(jù)應用情況將數(shù)據(jù)的易變部分 、 穩(wěn)定部分 、 經(jīng)常存取部分和存取頻率較低部分分開存放 。 ?例如 , 目前許多計算機都有多個磁盤 , 因此可以將表和索引分別存放在不同的磁盤上 , 在查詢時 , 由于兩個磁盤驅動器并行工作 , 可以提高物理讀寫的速度 。 ?在多用戶環(huán)境下 , 可能將日志文件和數(shù)據(jù)庫對象 ( 表 、 索引等 ) 放在不同的磁盤上 , 以加快存取速度 。 另外 , 數(shù)據(jù)庫的數(shù)據(jù)備份 、 日志文件備份等 , 只在數(shù)據(jù)庫發(fā)生故障進行恢復時才使用 , 而且數(shù)據(jù)量很大 , 可以存放在磁帶上 ,以改進整個系統(tǒng)的性能 。 返回 返回 90 4. 系統(tǒng)配置的設計 ? DBMS產(chǎn)品一般都提供了一些系統(tǒng)配置變量 、 存儲分配參數(shù) , 供設計人員和 DBA對數(shù)據(jù)庫進行物理優(yōu)化 。 系統(tǒng)為這些變量設定了初始值 , 但是這些值不一定適合每一種應用環(huán)境 , 在物理設計階段 , 要根據(jù)實際情況重新對這些變量賦值 , 以滿足新的要求 。 ? 系統(tǒng)配置變量和參數(shù)很多 , 例如 , 同時使用數(shù)據(jù)庫的用戶數(shù) 、 同時打開的數(shù)據(jù)庫對象數(shù) 、 內(nèi)存分配參數(shù) 、緩沖區(qū)分配參數(shù) ( 使用的緩沖區(qū)長度 、 個數(shù) ) 、 存儲分配參數(shù) 、 數(shù)據(jù)庫的大小 、 時間片的大小 、 鎖的數(shù)目等 , 這些參數(shù)值影響存取時間和存儲空間的分配 , 在物理設計時要根據(jù)應用環(huán)境確定這些參數(shù)值 , 以使系統(tǒng)的性能達到最優(yōu) 。 返回 返回 91 評價物理結構 ?和前面幾個設計階段一樣,在確定了數(shù)據(jù)庫的物理結構之后,要進行評價,重點是時間和空間的效率。 ?如果評價結果滿足設計要求,則可進行數(shù)據(jù)庫實施。 ?實際上,往往需要經(jīng)過反復測試才能優(yōu)化物理設計。 返回 返回 92 ?數(shù)據(jù)庫實施是指根據(jù)邏輯設計和物理設計的結果 , 在計算機上建立起實際的數(shù)據(jù)庫結構 、 裝入數(shù)據(jù) 、 進行測試和試運行的過程 。 ?數(shù)據(jù)庫實施主要包括以下工作: ?建立實際數(shù)據(jù)庫結構; ?裝入數(shù)據(jù); ?應用程序編碼與調(diào)試; ?數(shù)據(jù)庫試運行; ?整理文檔 。 數(shù)據(jù)庫實施 返回 返回 93 建立實際數(shù)據(jù)庫結構 ? DBMS提供的數(shù)據(jù)定義語言 ( DDL) 可以定義數(shù)據(jù)庫結構 ??墒褂玫?3章所講的 SQL定義語句中的 CREATE TABLE語句定義所需的基本表 , 使用 CREATE VIEW語句定義視圖 。 裝入數(shù)據(jù) ? 裝入數(shù)據(jù)又稱為數(shù)據(jù)庫加載 ( Loading) , 是數(shù)據(jù)庫實施階段的主要工作 。 在數(shù)據(jù)庫結構建立好之后 , 就可以向數(shù)據(jù)庫中加載數(shù)據(jù)了 。 ? 由于數(shù)據(jù)庫的數(shù)據(jù)量一般都很大 , 它們分散于一個企業(yè) ( 或組織 ) 中各個部門的數(shù)據(jù)文件 、 報表或多種形式的單據(jù)中 , 它們存在著大量的重復 , 并且其格式和結構一般都不符合數(shù)據(jù)庫的要求 , 必須把這些數(shù)據(jù)收集起來加以整理 , 去掉冗余并轉換成數(shù)據(jù)庫所規(guī)定的格式 , 這樣處理之后才能裝入數(shù)據(jù)庫 。 因此 , 需要耗費大量的人力 、 物力 , 是一種非常單調(diào)乏味而又意義重大的工作 。 返回 返回 94 ? 由于應用環(huán)境和數(shù)據(jù)來源的差異 , 所以不可能存在普遍通用的轉換規(guī)則 , 現(xiàn)有的 DBMS并不提供通用的數(shù)據(jù)轉換軟件來完成這一工作 。 ? 對于一般的小型系統(tǒng) , 裝入數(shù)據(jù)量較少 , 可以采用人工方法來完成 。 ? 首先將需要裝入的數(shù)據(jù)從各個部門的數(shù)據(jù)文件中篩選出來 , 轉換成符合數(shù)據(jù)庫要求的數(shù)據(jù)格式 , ? 然后輸入到計算機中 , ? 最后進行數(shù)據(jù)校驗 , 檢查輸入的數(shù)據(jù)是否有誤 。 ? 但是 , 人工方法不僅效率低 , 而且容易產(chǎn)生差錯 。 對于數(shù)據(jù)量較大的系統(tǒng) , 應該由計算機來完成這一工作 。 通常是設計一個數(shù)據(jù)輸入子系統(tǒng) , 其主要功能是從大量的原始數(shù)據(jù)文件中篩選 、 分類 、 綜合和轉換數(shù)據(jù)庫所需的數(shù)據(jù) , 把它們加工成數(shù)據(jù)庫所要求的結構形式 , 最后裝入數(shù)據(jù)庫中 ,同時還要采用多種檢驗技術檢查輸入數(shù)據(jù)的正確性 。 ? 為了保證裝入數(shù)據(jù)庫中數(shù)據(jù)的正確無誤 , 必須高度重視數(shù)據(jù)的校驗工作 。 在輸入子系統(tǒng)的設計中應該考慮多種數(shù)據(jù)檢驗技術 , 在數(shù)據(jù)轉換過程中應使用不同的方法進行多次檢驗 , 確認正確后方可入庫 。 返回 返回 95 ?如果在數(shù)據(jù)庫設計時 , 原來的數(shù)據(jù)庫系統(tǒng)仍在使用 , 則數(shù)據(jù)的轉換工作是將原來老系統(tǒng)中的數(shù)據(jù)轉換成新系統(tǒng)中的數(shù)據(jù)結構 。 同時還要轉換原來的應用程序 , 使之能在新系統(tǒng)下有效地運行 。 ?數(shù)據(jù)的轉換 、 分類和綜合常常需要多次才能完成 , 因而輸入子系統(tǒng)的設計和實施是很復雜的 ,需要編寫許多應用程序 , 由于這一工作需要耗費較多的時間 , 為了保證數(shù)據(jù)能夠及時入庫 ,應該在數(shù)據(jù)庫物理設計的同時編制數(shù)據(jù)輸入子系統(tǒng) , 而不能等物理設計完成后才開始 。 返回 返回 96 應用程序編碼與調(diào)試 ? 數(shù)據(jù)庫應用程序的設計屬于一般的程序設計范疇 , 但數(shù)據(jù)庫應用程序有自己的一些特點 。 例如 , 大量使用屏幕顯示控制語句 、 形式多樣的輸出報表 、 重視數(shù)據(jù)的有效性和完整性檢查 、 有靈活的交互功能 。 ? 為了加快應用系統(tǒng)的開發(fā)速度 , 一般選擇第四代語言開發(fā)環(huán)境 , 利用自動生成技術和軟件復用技術 , 在程序設計編寫中往往采用工具 ( CASE) 軟件來幫助編寫程序和文檔 , 如目前普遍使用的 PowerBuilder、Delphi以及由北京航空航天大學研制的 863/CMIS支持的數(shù)據(jù)庫開發(fā)工具 OpenTools等 。 ? 數(shù)據(jù)庫結構建立好之后 , 就可以開始編制與調(diào)試數(shù)據(jù)庫的應用程序 , 這時由于數(shù)據(jù)入庫尚未完成 , 調(diào)試程序時可以先使用模擬數(shù)據(jù) 。 返回 返回 97 數(shù)據(jù)庫試運行 ? 應用程序編寫完成 , 并有了一小部分數(shù)據(jù)裝入后
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1