330 likes | 463 Views
結構化系統分析與設計. 第七章 資料庫設計. 7-1 概述. 7-1.1 資料檔的缺點. 圖:資料檔 之應用. 7-1 概述. 7-1.1 資料檔的缺點 資料重複 使用不便 維護困難 程式撰寫與維護困難 資料不安全. 7-1 概述. 7-1.2 資料檔的定義. 圖: 資料庫之應用. 7-1 概述. 7-1.2 資料檔的定義
E N D
結構化系統分析與設計 第七章 資料庫設計
7-1 概述 7-1.1 資料檔的缺點 圖:資料檔之應用
7-1 概述 7-1.1 資料檔的缺點 • 資料重複 • 使用不便 • 維護困難 • 程式撰寫與維護困難 • 資料不安全
7-1 概述 7-1.2 資料檔的定義 圖: 資料庫之應用
7-1 概述 7-1.2 資料檔的定義 • 資料庫與資料檔均同樣是由許多相關資料所組成的集合體,但資料庫係以資料為中心,它以最佳的方式將任何一個或數個作業所需大量而繁雜之資料,全部集中組織存放在一起,使各種不同用途的應用程式及使用者,可共同使用該資料庫。
7-1 概述 7-1.3 資料庫系統之架構 • 資料庫 • 應用程式 • 外部綱要(External Schema) • 概念綱要(Conceptual Schema) • 內部綱要(Internal Schema) • 影射訊息(Mapping Information)
7-1 概述 圖: 資料庫系統之架構
7-1 概述 7-1.4 資料庫系統的優點 • 避免資料重複 • 資料獨立 • 避免資料不一致 • 維持資料的完整性或整體性 • 簡化程式撰寫工作 • 保護資料的安全 • 資料共通性
7-2 資料庫的結構 • 為達到資料獨立的目的,資料庫結構就有「邏輯結構」(Logical Structure)與「實體結構」(Physical Structure)之分。 • 所謂「邏輯結構」是從使用的觀點來描述資料間的相互關係;至於「實體結構」則為資料實際儲存在磁碟內的結構方式。
7-2 資料庫的結構 7-2.1 邏輯結構 • 邏輯結構並無一定的組織方式,它每隨設計方法的不同而各異,目前常用的結構方式有三種,即層次結構(Hierarchy Structure)、網狀結構(Network Structure)及關連結構(Relational Structure)。 • 層次結構:亦稱樹狀結構(Tree Structure),它將一個資料記錄分成數個段(Segment),然後按其相互間的從屬關係,排成樹狀結構圖。
7-2 資料庫的結構 圖: 綱要之相互關係
7-2 資料庫的結構 A 第一層次 C B F 第二層次 D E G 第三層次 圖: 樹狀結構圖
7-2 資料庫的結構 7-2.1 邏輯結構 • 層次結構的層次數與段型數通常均有一定的限制。 • 層次結構資料庫之每一樹枝均與其他樹枝無關,也就是每段不能擁有一個以上的父段。 • 將資料記錄分成段型的方法,通常是先將資料記錄內變動欄分出,使成第二層段型,剩餘之固定項目則屬第一層段型,若第二層之變動欄部分又包含有變動欄,可再將其分出,形成次一層次之段型,如此反覆處理,一直到無法或不需再分出變動欄為止。
7-2 資料庫的結構 7-2.1 邏輯結構 • 網狀結構:網狀結構的基本資料單位亦為資料項目(Data Item),一個或數個資料項目可組成一個「記錄型」(Record Type),它相當於前述的段型(Segment Type)。 • 所謂網狀結構就是將有關的「記錄型」使用指標(Pointer)予以相互連接起來,任何一個記錄型均可與其他記錄型相連接,且不限數量。
A B C D 7-2 資料庫的結構 7-2.1 邏輯結構 • 關於網狀結構資料庫的設計方法與前述層次結構亦頗相似,也就是將固定資料項與變動資料項分開,然後將固定項目組成主要資料集(Master Data Set),變動資料項則組成變動資料集(Variable Data Set)。
7-2 資料庫的結構 7-2.1 邏輯結構 • 關聯結構:關連結構資料庫係一種表格式(Table)的資料組織結構,亦即由許多行(Columns)列(Rows)資料所組成的一種資料庫,此種行列資料即為「關連」。「關連」之定義如下: 1.由許多相關之「元素對」(Tuple)所組成的集合體。 2.由許多「領域」(Domain)所組成的集合體。 • 領域是關連資料庫的最基本資料單位,每個領域均由數個領域值(Domain Value)集合而成。
7-2 資料庫的結構 7-2.1 邏輯結構 • 關連結構的設計方法與前述網狀結構相似,首先應將變動項目分出,另外建立一個「關連」,固定項目則自成一個「關連」,但為便於兩種「關連」之相互連接,每一「關連」中可能會出現重複領域。在變動項的「關連」中,若欲以其中某一領域作為控制鍵,可將該資料項再分出另外建立一個「關連」,茲以前述兩種結構所用例題,改用關連結構設計如下:
7-2 資料庫的結構 產品關連
7-2 資料庫的結構 物料關連
7-2 資料庫的結構 產品物料關連
7-2 資料庫的結構 經銷商關連
7-2 資料庫的結構 產品經銷商關連
7-2 資料庫的結構 SELECT PS WHERE SALES=’AIG’
7-2 資料庫的結構 7-2.2 實體結構 • 資料庫的實體結構方式,每因機型不同而各異,常用的實體結構方式有: • 順序型組織(Segment Organization) • 直接式組織(Direct Organization) • 串列組織(List Organization)等三種。
7-3 資料庫管理系統 7-3.1 資料庫管理系統的意義 • 資料庫系統的另一個特性是「資料共用性」,也就是指資料庫的內含資料可同時供多數使用者使用,為達成此一目的,資料庫系統就必須要有一套軟體系統,作為使用者與資料庫間的橋樑,專司資料的存取工作(參閱圖7-12),此種軟體系統即稱為「資料庫管理系統」(Data Base Management System,簡稱DBMS)。
7-3 資料庫管理系統 圖: 資料庫管理系統
7-3 資料庫管理系統 圖: 應用程式與資料庫管理系統的關係
7-3 資料庫管理系統 7-3.2 資料庫管理系統的功能 • 資料庫管理系統的功能可歸納為下列四點: • 定義資料庫的邏輯結構與實體結構。 • 儲存、擷取及傳輸資料。 • 維持資料的完整性與安全性。 • 當電腦發生故障,它能使資料庫內資料恢復原狀。
7-3 資料庫管理系統 7-3.3 資料庫管理系統的架構 • 資料庫管理系統係由下列四部份所構成。 • 資料描述語言(Data Description Language,簡稱DDL) • 資料整理語言(Data Manipulation Language,簡稱DML) • 查詢語言(Query Language) • 編製報表(Report Writer)
7-3 資料庫系統的建立 7-4.1 資料庫管理師 • 資料庫管理師的主要職掌,約可歸納為下列三種: • 資料庫的定義與設計 • 資料庫的管理 • 資料庫的維護 • 有關資料庫的建立,雖然是資料庫管理師的主要責任,但系統分析師、使用者與程式設計師的參與亦是必要的,因此資料庫管理師在規劃建立資料庫系統時,應經常與這些人保持協調、溝通。
7-4 資料庫系統的建立 7-4.2 資料庫系統的建立 • 有關資料庫系統的建立步驟,可大致劃分如下: • 確定資料組織狀況。 • 調查處理需求。 • 設計資料結構並決定儲存體的儲存方式。 • 利用資料描述語言撰寫各種綱要。 • 將資料輸入於資料庫 • 按照「資料整理語言」撰寫應用程式。 • 測試。