第2章 資料庫系統 2-1 資料庫環境的四大組成元件 2-2 ANSI/SPARC的三層資料庫系統架構 第2章 資料庫系統 2-1 資料庫環境的四大組成元件 長存資料、系統目錄、索引資料、交易記錄 2-2 ANSI/SPARC的三層資料庫系統架構 2-3 資料庫綱要(Database Schema) 資料庫綱要間的對映 2-4 實際與邏輯資料獨立 2-5 資料庫系統的優缺點 2-6 資料庫管理系統 基本功能 ACID交易 系統架構 常見的資料庫管理系統 2-7 資料庫管理師 資料庫(DB) ch02
2-1 資料庫環境的四大組成元件 2-1-1 使用者 2-1-2 資料 2-1-3 軟體 2-1-4 硬體 資料庫(DB) ch02
2-1 資料庫環境的四大組成元件 2. 3. 4. 1. 資料庫(DB) ch02
2-1-1 使用者-1.終端使用者 終端使用者(End Users): 主要工作是查詢或更新資料庫,或是存取資料庫以產生所需的報表 終端使用者可分為數種: 初級使用者(Naive or Parametric Users) 不常使用的使用者(Casual Users) 熟練使用者(Sophisticated Users) 資料庫(DB) ch02
2-1-1 使用者-2.資料庫設計師 資料庫設計師(Database Designers): 精通資料庫設計 主要的工作: 建立資料庫結構,判斷哪些資料需要儲存在資料庫,和使用什麼樣的結構來儲存這些資料 使用資料庫設計工具(Database Design Tools)來建立資料庫結構 資料庫(DB) ch02
2-1-1 使用者-3.資料庫管理師 資料庫管理師(Database Administrator, DBA): 負責管理整個資料庫環境 資料庫系統需要一位或一組對整個系統十分了解的人員作為資料庫管理師 資料庫管理師需要擁有公司管理和資料庫等電腦技術的專業知識 特別適合主修資訊管理或資訊工程且擁有管理經驗的人員來擔任 資料庫(DB) ch02
2-1-1 使用者-4.系統分析師 系統分析師(System Analyst,SA): 系統分析師與應用程式設計師屬於專業使用者(Specialized Users) 系統分析師: 依據終端使用者的需要,主要是指初級使用者(Naive or Parametric Users)的需要來製定資料庫應用程式的規格與功能 應用程式設計師(Application Programmer): 依據系統分析師定義的規格建立終端使用者使用的資料庫應用程式 利用程式開發工具或指定的程式語言,呼叫資料庫系統提供的資料庫存取函式庫(Database Access Library)建立所需的資料庫應用程式 資料庫(DB) ch02
2-1-2 資料-1.長存資料 長存資料(Persistent Data): 資料庫儲存的是公司或組織的非暫時資料 長時間存在的資料,使用者以應用程式使用介面輸入(新增、刪除或更新操作)建立的資料 資料可進一步執行各項查詢和運算,得到使用者所需的資料 資料庫(DB) ch02
2-1-2 資料-2.系統目錄 系統目錄(System Catalog): 資料庫管理系統自動產生的資料 資料庫管理系統稱為系統目錄(System Catalog或Data Dictionary) 內容是從前述的操作資料所衍生的一些資料 例如: 資料庫結構的定義資料,是用來描述資料本身,也稱為中繼資料(The data about data) 系統目錄主要用途:用來提供維護資料庫所需的資訊 http://technet.microsoft.com/zh-tw/library/ms189082(v=SQL.105).aspx 例如,下列查詢會使用 sys.objects 目錄檢視來傳回過去 10 天內修改過的所有資料庫物件。 SELECT name AS object_name ,SCHEMA_NAME(schema_id) AS schema_name ,type_desc ,create_date ,modify_date FROM sys.objects WHERE modify_date > GETDATE() - 10 ORDER BY modify_date; 資料庫(DB) ch02
2-1-2 資料-3.索引資料(說明) 索引資料(Indexes): 索引(Indexes)的目的: 為了在資料庫儲存的龐大資料中,能夠更快速的找到資料 索引資料是一些參考資料,將資料庫中特定部分(屬性)的資料預先進行排序 且提供指標(Pointer)指向資料庫真正儲存資料的位置 資料庫管理系統使用雜湊函數(Hash Function)或B樹(B-Tree)等演算法來建立索引資料 資料庫(DB) ch02
2-1-2 資料-索引資料(圖例) 例如:在關聯式資料庫的Students關聯表,建立GPA屬性的單層有序次索引,如下圖所示: 資料庫(DB) ch02
2-1-2 資料-4.交易記錄 交易記錄(Transaction Log): 交易記錄是資料庫管理系統自動產生的歷史資料,可以記錄使用者在什麼時間下達什麼指令或執行什麼操作 交易記錄對於一般使用者沒有什麼用處,但是對於資料庫管理師就是十分重要的參考資訊 資料庫(DB) ch02
2-1-3 軟體-1.資料庫管理系統(說明) 資料庫管理系統(DBMS): 資料庫管理系統是一組程式模組用來定義、處理和管理資料庫的資料 通用用途的資料庫管理系統,如下圖所示: 資料庫(DB) ch02
2-1-3 軟體-資料庫管理系統(語言) 資料庫管理系統語言(DBMS Languages)分成 3 個部分: 資料定義語言(Data Definition Language,DDL) : 定義資料庫的結構 資料操作語言(Data Manipulation Language,DML): 可查詢資料庫資料或新增、刪除或更新資料庫的資料 資料控制語言(Data control Language,DCL): 管理資料庫,控制資料庫內物件的使用權限與安全設定 資料庫(DB) ch02
2-1-3 軟體-2.應用程式 應用程式(Application Program): 應用程式是程式設計師使用開發工具或程式語言,所自行建立的專屬軟體 應用程式提供使用者相關的使用介面,透過使用介面的選單或按鈕,就可以向資料庫管理系統下達查詢語言的相關指令,在取得所需資料後,顯示或產生所需的報表 配合公司或組織的需求,可在資料庫管理系統的基礎上,建立各種不同的應用程式 例如:選課系統、人事資料系統、進銷存系統、會計系統和公文系統等 資料庫(DB) ch02
2-1-3 軟體-3.開發工具 開發工具(Development Tools): 開發工具是用來建立資料庫和開發應用程式 例如: 資料庫設計工具、資料庫開發工具或程式語言的整合開發環境,可幫助資料庫設計師建立資料庫結構和程式設計者快速建立應用程式 PowerBuilder、Oracle Developer、Visual Studio.NET和Visual Stuido 2005等 資料庫(DB) ch02
2-1-4 硬體 安裝資料庫相關軟體的硬體設備 包含:主機(CPU、記憶體和網路卡等)、磁碟機、磁碟陣列、光碟機、磁帶機和備份裝置 資料庫系統硬體處理架構依其運算方式,分為: 集中式或分散式的主從架構 資料庫(DB) ch02
2-2 ANSI/SPARC的三層資料庫系統架構 外部層 概念層 內部層 資料庫(DB) ch02
2-2 ANSI/SPARC的三層資料庫系統架構說明 外部層(External Level): 一般使用者觀點(User Views)的資料 代表不同使用者在資料庫系統所看見的資料,通常只是部分資料庫的資料,如:使用者觀點1:學生註冊資料、使用者觀點2:學生選課資料、使用者觀點3:學生成績單資料 概念層(Conceptual Level): 資料庫管理師觀點的資料 是資料庫儲存的完整資料,屬於在概念上看到的完整資料庫 只是概念上的資料庫,不用考量資料實際的儲存結構,因為這是內部層(Internal Level)的問題 內部層(Internal Level): 實際觀點所呈現的資料 實際資料庫儲存在電腦儲存裝置的資料 扮演資料庫管理系統與作業系統的介面 資料是實際儲存在資料庫的資料結構或檔案組織所呈現的資料,如:使用鏈結串列結構儲存資料,如下圖: 資料庫(DB) ch02
2-2-1 概念層-範例 關聯式資料模型的資料庫在概念層所見的是以二維表格顯示的資料,如下圖所示: 關聯式資料庫的關聯表(Relations)是資料庫所看到的完整資料 資料庫(DB) ch02
2-2-2 外部層-範例 資料以不同的方式呈現: 只包含使用者有興趣的資料: 相同資料可以顯示不同格式: 外部層的資料如同裁縫師手上的布,可以將概念層的資料剪裁成不同衣服樣式的資料 如:使用清單、表格或表單內容(例如:Visual Basic的表單或HTML表單)方式來呈現資料 只包含使用者有興趣的資料: 外部層的資料只是部分資料庫 如:二位使用者分別看到Students關聯表的部分或導出內容,年齡Age是由生日計算而得 相同資料可以顯示不同格式: 雖然在資料庫儲存的資料是單一格式,不過在顯示時可以使用不同格式 資料庫(DB) ch02
2-2-4 ANSI/SPARC三層資料庫架構的目的(1) 使用者角度: 所見的資料是獨立的: 不同使用者可以存取相同資料,只是觀點可能不同 但是,各觀點的資料是獨立的,更改觀點的資料,並不會影響其他使用者觀點的資料 使用者不用了解實際資料的儲存方式: 使用者的焦點是在處理資料本身,而不是了解到底這些資料是如何儲存 資料庫(DB) ch02
2-2-4 ANSI/SPARC三層資料庫架構的目的(2) 資料庫管理師角度: 更改實際儲存結構不會影響使用者觀點的資料: 當有全新的儲存結構和索引技術時,就算更改資料庫的儲存結構,也不會影響外部層使用者觀點的資料 更改概念層的完整資料庫也不會影響使用者觀點的資料: 如果將資料庫從關聯式資料模型改為物件導向式資料庫模型時,仍然可以顯示完全相同的使用者觀點資料,並不會影響使用者看到的資料 資料庫(DB) ch02
2-3 資料庫綱要(Database Schema)圖例 指整個資料庫的描述,即描述整個資料庫儲存資料的定義資料,如下圖所示: 資料庫(DB) ch02
2-3 資料庫綱要(Database Schema)說明 資料描述的定義資料 對比程式語言的變數的資料型態(Data Type),如:C語言宣告成整數的age年齡變數,如下圖: int age; 資料(Data): 資料本身,也就是程式語言的變數值,如:年齡為20,如下所示: age = 20; 資料庫(DB) ch02
2-3-1 三層資料庫綱要圖例 外部綱要 概念綱要 內部綱要 資料庫(DB) ch02
2-3-1 三層資料庫綱要-外部綱要 外部綱要(External Schema): 描述使用的資料 外部綱要源於概念綱要,主要是描述外部層顯示的資料,每一個外部層綱要只描述資料庫的部分資料,隱藏其他部分的資料 每一個外部層使用者觀點的資料都需要一個外部綱要,一個資料庫可能擁有多個外部綱要,如下圖: 資料庫(DB) ch02
2-3-1 三層資料庫綱要-概念綱要 概念綱要(Conceptual Schema): 描述資料本身的意義 概念綱要是描述概念層的完整資料庫,是概念資料庫設計(Conceptual Database Design)的結果 概念資料庫設計: 分析使用者資訊,定義所需的資料項目,不涉及使用那一套資料庫管理系統 概念綱要描述完整資料庫的資料和其關聯,資料庫只有一個概念綱要 資料庫(DB) ch02
2-3-1 三層資料庫綱要-內部綱要 內部綱要(Internal Schema): 描述儲存的資料 內部綱要是描述內部層實際觀點的資料,定義資料的儲存結構和那些資料需要建立索引 資料庫只有一個內部綱要 例如:C語言宣告學生Students的結構,如下: struct Students { char no[5]; char name[15]; char address[40]; int telephone; struct Date birthday; struct Student *next; }; 資料庫(DB) ch02
2-3-2 資料庫綱要間的對映說明 三層資料庫綱要只是描述資料,真正的資料儲存在外部儲存裝置的資料庫 對映(Mapping): 在各層間進行的資料轉換過程,稱為對映 處理步驟: 以外部層使用者觀點顯示資料,也就是參考外部綱要向概念綱要請求資料 概念綱要請求內部綱要從資料庫取得資料,取得真正的資料後,資料需要進行轉換來符合概念綱要的定義 再轉換成符合外部綱要的定義,最後才是外部層使用者觀點看到的資料 資料庫(DB) ch02
2-3-2 資料庫綱要間的對映圖例 資料庫(DB) ch02
2-3-2 資料庫綱要間的對映種類 各層綱要間的對映主要有 2 種: 外部與概念對映(External/Conceptual Mapping): 所有外部綱要都對映到概念綱要,以便資料庫管理系統知道如何將外部層的資料連結到那一部分的概念綱要 例如: 在外部綱要(S_No, Name, Age) S_No是對映到概念綱要的No Age是從概念綱要的Birthday運算而得 概念與內部對映(Conceptual/Internal Mapping): 概念綱要對映到內部綱要的關聯,以便資料庫管理系統可找到實際儲存裝置的記錄資料後,建立概念綱要的邏輯結構 資料庫(DB) ch02
2-4-1 資料獨立的基礎說明 三層資料庫綱要主要目的: 為了達成資料獨立(Data Independence) 上層的綱要不會受到下層綱要的影響,當下層綱要更改時,也不會影響到上層綱要 資料相依(Data Dependence): 例如:使用C語言建立堆疊(Stacks)資料結構 資料庫(DB) ch02
2-4-1 資料獨立的基礎種類 三層資料庫綱要有 2 種資料獨立: 外部與概念對映的邏輯資料獨立(Logical Data Independence): 更改概念綱要,如:新增或刪除實體、屬性或關聯性,不用同時更改存在的外部綱要或重寫程式碼,可透過外部與概念對映來達成邏輯資料獨立 當資料庫需要更改概念綱要,只需配合修改外部與概念對映的定義,就可在不更改存在的外部綱要下,取得相同使用者觀點的資料 概念與內部對映的實體資料獨立(Physical Data Independence) 更改內部綱要,如:使用不同的檔案組織或儲存結構,不用更改概念綱要和外部綱要,可透過概念與內部對映來達成實體資料獨立 當資料庫需要更改內部綱要,只需配合修改概念與內部對映的定義,就可完全不動到概念綱要和外部綱要 資料庫(DB) ch02
2-4-2 邏輯資料獨立圖例 資料庫(DB) ch02
2-4-3 實體資料獨立圖例 資料庫(DB) ch02
2-5-1 資料庫系統的優點-1~3 整合的資料管理: 相關資料檔案是集中管理 不像檔案處理系統,需要額外操作或程序來處理位在不同檔案的資料 資料共享: 資料庫的資料可以由多人共享,允許多人同時存取資料庫,只需透過網路或Internet,就算位在世界各地都可存取資料庫的資料 減少資料重複(Data Redundancy): 不同於檔案處理系統將資料分割成多個檔案來儲存,資料庫系統集中管理資料庫的資料,可大幅降低資料重複的可能性 資料庫(DB) ch02
2-5-1 資料庫系統的優點-4~5 維持資料的一致性(Data Consistency): 資料庫系統可減少資料重複,加上資料庫管理系統可檢查完整性限制條件(Integrity Constraints),不只可保證輸入資料的正確,還可維持資料的一致 資料獨立(Data Independence): 在檔案處理系統存取資料需要了解詳細的資料結構 資料庫管理系統提供資料獨立,如果資料結構或存取方式改變,並不會影響應用程式的執行 例如:學號從5碼改為6碼,不需要更改應用程式的程式碼 資料庫(DB) ch02
2-5-1 資料庫系統的優點-6~8 提供單一介面和語言存取資料: 資料庫系統提供4GL的資料庫語言存取資料庫 例如:SQL語言,或是透過應用程式的操作介面存取資料,可隱藏資料庫管理系統的實際資料存取方式 更多的資料保密、安全管理和控制能力: 資料庫系統提供資料保密、使用者存取權限和資料存取的控制,可強迫達成標準化的資料管理 例如:標準的文件格式或不同層級的資料存取 提供多種觀點的資料: 資料庫系統是由多人共享,每位使用者可以分別取得所需的資料,且以不同的觀點來符合其需求 例如:同樣是教授,它可是學生的老師,也可是學校的員工 資料庫(DB) ch02
2-5-1 資料庫系統的優點-9~11 支援交易管理(Transaction Management): 資料庫系統提供交易管理和並行處理,可處理商業交易,保障交易進行的正確無誤 具高可靠性(Reliability): 資料庫系統十分可靠,提供備份與回復功能來進一步保障資料的安全,在出現狀況時,可以回復資料庫系統的資料 降低軟體開發的費用: 直接選擇現成的資料庫管理系統,在管理系統下開發所需的資料庫系統,不用重頭開發整個資料庫系統 資料庫(DB) ch02
2-5-2 資料庫系統的缺點-1~2 龐大的額外費用: 建構資料庫系統需要升級電腦硬體和軟體環境,一套企業永續經營的資料庫系統,包含網路建置,硬體和軟體升級,將會是一筆相當龐大的額外預算 資料轉換的成本: 各部門的資料都需要轉換成資料庫結構,以便存入資料庫,不只是資訊部門的一項大工程,且需要全公司各部門人員的充分支援 資料庫(DB) ch02
2-5-2 資料庫系統的缺點-3~4 安全管理的漏洞: 雖然資料庫擁有安全管理能力,但是人為錯誤或非專業人員的控管,資料共享的優點,反而容易造成人為的安全問題 例如:沒有取消離職員工的帳號,增加公司重要資料被竊取的機會 大幅更改作業流程: 資料庫系統可能大幅更改現有公司的作業流程,使用者不只需熟悉全新的應用程式操作,還需適應新的資料處理流程,如此可能產生額外的人力支援和不合作的使用者,加重資訊部門的負擔和責任 資料庫(DB) ch02
2-5-2 資料庫系統的缺點-5 系統風險增加: 資料庫系統使用集中方式管理資料,一旦系統停擺,將會讓公司蒙受重大損失 資料庫系統可能因為電腦病毒、天災、硬體故障或人為操作錯誤等情況造成系統癱瘓 資料庫系統在建置時,就需考量備援系統或額外的保護設備 例如: 不斷電系統(Un-interrupt Power Systems)防止不預警的停電 如果是一套全年無休持續運作的NonStop資料庫系統,還需要準備異地備援系統,以免公司主機遭遇地震或火災受損時,仍然可以使用位在其他地方的資料庫系統,維持公司的正常運作 資料庫(DB) ch02
2-5-2 資料庫系統的缺點-6 人為風險增加: 人為錯誤和破壞才是資料庫系統的最大敵人 如果資料庫系統設計錯誤,一旦人為的資料輸入錯誤,小則只是系統受損,大則錯誤的資料,可能造成決策錯誤和管理作業上的混亂 如果資訊部門有不肖人員(或駭客),蓄意進行破壞,集中管理的資料庫系統,反而成為最佳的攻擊目標 資料庫系統除了系統管理外,相關人員的忠誠管理也是一項重要的工作 資料庫(DB) ch02
2-6 資料庫管理系統DBMS 資料庫管理系統(Database Management System, DBMS): 一套管理資料庫的軟體系統 由一組程式模組負責組織、管理、儲存和讀取資料庫系的資料 使用者對於資料庫的任何操作,都一定要透過資料庫管理系統來處理 資料庫(DB) ch02
2-6-1 資料庫管理系統基本功能 資料庫管理系統基本功能,有6 個: 資料管理 資料庫管理系統語言 安全管理 備份與回復管理 交易管理 資料完整性管理 資料庫(DB) ch02
2-6-1 資料庫管理系統基本功能-1.資料管理 資料管理(Data Management): 資料庫管理系統的最基本功能是資料管理 管理資料庫儲存的各種資料,包含:資料檔、系統目錄、索引資料、備份檔(資料庫管理系統備份資料庫時建立的檔案)和異動記錄,如下圖所示: 資料庫(DB) ch02
2-6-1 資料庫管理系統基本功能-2.資料庫管理系統語言 資料庫管理系統語言(DBMS Languages): 資料庫管理系統提供第4代語言(4GL),可讓使用者定義、查詢或存取資料 資料庫管理系統語言可分成 3大類,如下所示: 資料定義語言DDL(Data Definition Language): 主要目的是建立資料庫綱要(Database Schema) 其編譯後的指令敘述是儲存在系統目錄(System Catalog),使用者只需使用此語言就可以建立資料庫綱要 資料操作語言DML(Data Manipulation Language): 可讓使用者存取和操作資料庫的資料,這是使用者與資料庫管理系統間溝通的語言 資料控制語言(Data control Language,DCL): 管理資料庫,控制資料庫內物件的使用權限與安全設定 資料庫(DB) ch02
2-6-1 資料庫管理系統基本功能-3.安全管理 安全管理(Security Management): 資料庫儲存的資料屬於使用者共享的資料,資料庫管理系統需要提供使用者安全管理,以避免使用者不當使用資料庫的資料 安全管理通常是指定使用者密碼(Password)來授予存取權限的控制(Access Control),常用的方式有 2 種: 自由選擇存取控制(Discretionary Access Control, DAC): 授予或取消使用者擁有新增、刪除、更新或修改資料的權限 強制存取控制(Mandatory Access Control, MAC): 將資料和使用者分類成不同的安全層級,使用者只能存取授予安全層級的資料。 資料庫(DB) ch02
2-6-1 資料庫管理系統基本功能-4.備份與回復管理 備份與回復管理(Backup and Recover Management): 資料庫備份是將資料庫的資料儲存到備份裝置 如:磁帶機或可讀寫光碟機,資料庫管理師負責定期備份資料庫 當突發狀況產生時,因為資料庫管理系統會自動產生交易記錄(Transaction Log),可使用此記錄了解交易(Transaction)的狀態,回復程序可參考交易記錄正確的回存資料 資料庫(DB) ch02
2-6-1 資料庫管理系統基本功能-5.交易管理1 異動(交易)管理(Transaction Management): 資料庫系統通常都會支援商業用途 商業系統架構的基礎是商業交易 商業交易的操作需一併執行,視為一個無法分割的單位 整個過程對於資料庫來說是一個交易(Transaction) 資料庫(DB) ch02
2-6-1 資料庫管理系統基本功能-5.交易管理2 例如:從帳戶A匯款到帳戶B,如下圖所示: 資料庫(DB) ch02
2-6-1 資料庫管理系統基本功能-5.交易管理3 交易成功是指需要滿足4 項基本的交易屬性,縮寫為ACID交易: 單元性(Atomicity) 一致性(Consistency)(另:並行性 Concurrency ) 隔離性(Isolation) 持續性(Durability) 資料庫(DB) ch02
ACID:單元性(Atomicity) 單元性(Atomicity): 將交易過程的每個操作都視為同一個工作,不是全部執行完,就是通通不執行 例如:提款 由銀行帳戶扣錢、 給錢 此兩動作必須全部做完(稱為委任 Commit),或完 全不做(稱為撤回 abort) 若只做其中一個動作會引起爭議 資料庫(DB) ch02
ACID:一致性(Consistency) 交易會更改資料庫的資料,不過在交易之前和之後,資料庫的資料仍然需要滿足完整性限制條件,維持資料的一致性 另:並行性(Concurrency) 多人可共同存取同一資料庫,但要作好異動執行時的並行控制(Concurrency Control),不得互相干擾 結果要像大家按順序排隊來做異動(Transaction) 的結果一樣 資料庫(DB) ch02
ACID:隔離性(Isolation) 隔離性(Isolation): 多個交易是並行處理,各交易仍是獨立的依序執行,任何一個交易並不會影響到其他交易的結果 異動在尚未委任前的中間執行結果,不得讓其它同時在執行的異動存取,以防止異動因交錯執行而產生錯誤,或連鎖撤回反應 例如:大華原有10000 元,要提1000 元;且小明還給大華5000 元 正常: 10000-1000 = 9000 (已寫回資料) 9000+5000 = 14000 不正常: 10000-1000 = 9000 (尚未寫回資料) 10000+5000 = 15000 或 10000+1000 =11000 資料庫(DB) ch02
ACID:持續性(Durability) 當交易完成後,資料庫資料是永久改變 如果在交易過程中發生錯誤,執行回復程序,回復程序仍然需要執行完整個交易 例: 若異動執行過程完全正常,但在委任(Commit) 將異動結果反應到資料庫的過程,系統卻發生錯誤 在系統回復後,應當將原來未做的後續動作完成 異動記錄(Transaction Log) 是維持此特性的主角 異動完成後要做異動記錄 ;當機時再根據異動記錄來回復 資料庫(DB) ch02
2-6-1 資料庫管理系統基本功能-6.資料完整性管理 資料完整性管理(Data Integrity Management): 資料庫管理系統能夠檢查新增或更新資料時,不會產生資料不一致的資料完整性(Data Integrity)問題 例如:帳戶餘額不能為負值,員工年齡不可超過100歲 資料庫(DB) ch02
2-6-2 資料庫管理系統的系統架構圖例 2. 3. 4. 1. 資料庫(DB) ch02
2-6-2 資料庫管理系統系統架構-1.儲存管理 儲存管理(Storage Manager): 儲存管理對於簡單的資料庫管理系統來說 就是作業系統檔案管理 為了效率考量,資料庫管理系統通常會自行配置磁碟空間,將資料存入位在外部儲存裝置的資料庫,例如:磁碟機,或是從資料庫讀取資料,可分為: 檔案管理(File Manager): 實際配置磁碟空間後將資料存入磁碟 緩衝區管理(Buffer Manager): 負責電腦記憶體的管理 資料庫(DB) ch02
2-6-2 資料庫管理系統系統架構-2.查詢處理模組 查詢處理模組(Query Processor): 負責處理使用者下達的查詢語言指令敘述 可再細分成多個模組: 負責檢查語法 最佳化查詢指令的處理程序 查詢處理模組參考系統目錄的Meta-data進行查詢轉換(Query Transformation) 將外部綱要查詢轉換成內部綱要的查詢 或使用索引加速資料查詢 若是異動,就交給異動管理來處理 資料庫(DB) ch02
2-6-2 資料庫管理系統系統架構-3.交易管理 交易管理(Transaction Manager): 負責處理資料庫的交易,保障資料庫商業交易的操作需要一併執行 鎖定管理(Lock Manager): 又稱並行控制管理(Concurrency-Control Manager)子系統 負責資源鎖定 資料庫(DB) ch02
2-6-2 資料庫管理系統系統架構-4.回復管理 回復管理(Recovery Manager): 主要分為: 記錄管理(Log Manager)子系統: 負責記錄資料庫的所有操作,包含異動操作的記錄,以便同名的回復管理(Recovery Manager)子系統能夠執行回復程序,回復資料庫系統 資料庫(DB) ch02
2-6-3 常見的資料庫管理系統 商用的資料庫管理系統: 免費的資料庫管理系統: SQL Server MySQL Access IBM的DB2 Oracle INGRES Sybase Informix InterBase 免費的資料庫管理系統: MySQL PostgreSQL Firebird 資料庫(DB) ch02
2-7 資料庫管理師說明 資料庫管理師(Database Administrator, DBA): 負責和執行一個成功資料庫環境的相關管理和維護工作 資料庫管理師負責很多工作,可以是一個人,也可能是一個小組來擔任 資料庫管理師的主要目的: 維護資料庫系統的正常運作 提供使用者存取所需的資料 資料庫(DB) ch02
2-7 資料庫管理師所需背景 資料庫管理師需要的相關電腦知識: 熟悉作業系統操作 熟悉一種或數種資料庫管理系統的使用 精通資料庫系統提供的查詢語言 例如: SQL Server 的 Transact-SQL Oracle 的 PL/SQL 資料庫設計,至少需要清楚公司資料庫系統的資料庫綱要 對電腦硬體的網路架構有一定的了解 例如:主從架構和Internet網際網路 資料庫(DB) ch02
2-7-1 資料庫管理師扮演的角色 資料庫(DB) ch02
2-7-2 資料庫管理師負責的工作 資料庫管理師負責的工作: 維護資料庫綱要 資料管理 維護和監控資料庫管理系統 資料庫(DB) ch02
2-7-2 資料庫管理師負責的工作-1.維護資料庫綱要 維護資料庫綱要: 資料庫管理師需參與資料庫設計(Database Design) 提供關於概念層綱要的修改建議 資料庫管理師需負責資料庫使用的資料模型 例如: 關聯式資料模型,和系統規格建立有效的資料庫設計,即描述資料庫在外部儲存裝置的實際資料結構 主要的工作: 決定哪些資料存入資料庫 決定使用的資料結構 決定使用者觀點的資料 資料庫(DB) ch02
2-7-2 資料庫管理師負責的工作-2.資料管理 資料管理: 資料庫管理師最主要的工作是資料管理 提供公司或組織一個集中管理的資料庫,且依據各部門的需求,提供不同觀點的資料 主要的工作: 管理和維護系統目錄(System Catalog) 使用者管理和存取控制 資料安全控制(Data Security Control) 資料完整性檢查(Data Integrity Checking) 轉換資料 資料庫(DB) ch02
2-7-2 資料庫管理師負責的工作-3.維護和監控資料庫管理系統 維護和監控資料庫管理系統: 工作: 安裝和升級資料庫管理系統 監控和調整資料庫的效能 使用者的稽核追蹤 容量計劃和選擇儲存裝置 備份與回復 資料庫(DB) ch02