1 / 33

結構化系統分析與設計

結構化系統分析與設計. 第七章  資料庫設計. 7-1 概述. 7-1.1 資料檔的缺點. 圖:資料檔 之應用. 7-1 概述. 7-1.1 資料檔的缺點 資料重複 使用不便 維護困難 程式撰寫與維護困難 資料不安全. 7-1 概述. 7-1.2 資料檔的定義. 圖: 資料庫之應用. 7-1 概述. 7-1.2 資料檔的定義

ania
Download Presentation

結構化系統分析與設計

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 結構化系統分析與設計 第七章 資料庫設計

  2. 7-1 概述 7-1.1 資料檔的缺點 圖:資料檔之應用

  3. 7-1 概述 7-1.1 資料檔的缺點 • 資料重複 • 使用不便 • 維護困難 • 程式撰寫與維護困難 • 資料不安全

  4. 7-1 概述 7-1.2 資料檔的定義 圖: 資料庫之應用

  5. 7-1 概述 7-1.2 資料檔的定義 • 資料庫與資料檔均同樣是由許多相關資料所組成的集合體,但資料庫係以資料為中心,它以最佳的方式將任何一個或數個作業所需大量而繁雜之資料,全部集中組織存放在一起,使各種不同用途的應用程式及使用者,可共同使用該資料庫。

  6. 7-1 概述 7-1.3 資料庫系統之架構 • 資料庫 • 應用程式 • 外部綱要(External Schema) • 概念綱要(Conceptual Schema) • 內部綱要(Internal Schema) • 影射訊息(Mapping Information)

  7. 7-1 概述 圖: 資料庫系統之架構

  8. 7-1 概述 7-1.4 資料庫系統的優點 • 避免資料重複 • 資料獨立 • 避免資料不一致 • 維持資料的完整性或整體性 • 簡化程式撰寫工作 • 保護資料的安全 • 資料共通性

  9. 7-2 資料庫的結構 • 為達到資料獨立的目的,資料庫結構就有「邏輯結構」(Logical Structure)與「實體結構」(Physical Structure)之分。 • 所謂「邏輯結構」是從使用的觀點來描述資料間的相互關係;至於「實體結構」則為資料實際儲存在磁碟內的結構方式。

  10. 7-2 資料庫的結構 7-2.1 邏輯結構 • 邏輯結構並無一定的組織方式,它每隨設計方法的不同而各異,目前常用的結構方式有三種,即層次結構(Hierarchy Structure)、網狀結構(Network Structure)及關連結構(Relational Structure)。 • 層次結構:亦稱樹狀結構(Tree Structure),它將一個資料記錄分成數個段(Segment),然後按其相互間的從屬關係,排成樹狀結構圖。

  11. 7-2 資料庫的結構 圖: 綱要之相互關係

  12. 7-2 資料庫的結構 A 第一層次 C B F 第二層次 D E G 第三層次 圖: 樹狀結構圖

  13. 7-2 資料庫的結構 7-2.1 邏輯結構 • 層次結構的層次數與段型數通常均有一定的限制。 • 層次結構資料庫之每一樹枝均與其他樹枝無關,也就是每段不能擁有一個以上的父段。 • 將資料記錄分成段型的方法,通常是先將資料記錄內變動欄分出,使成第二層段型,剩餘之固定項目則屬第一層段型,若第二層之變動欄部分又包含有變動欄,可再將其分出,形成次一層次之段型,如此反覆處理,一直到無法或不需再分出變動欄為止。

  14. 7-2 資料庫的結構

  15. 7-2 資料庫的結構 7-2.1 邏輯結構 • 網狀結構:網狀結構的基本資料單位亦為資料項目(Data Item),一個或數個資料項目可組成一個「記錄型」(Record Type),它相當於前述的段型(Segment Type)。 • 所謂網狀結構就是將有關的「記錄型」使用指標(Pointer)予以相互連接起來,任何一個記錄型均可與其他記錄型相連接,且不限數量。

  16. A B C D 7-2 資料庫的結構 7-2.1 邏輯結構 • 關於網狀結構資料庫的設計方法與前述層次結構亦頗相似,也就是將固定資料項與變動資料項分開,然後將固定項目組成主要資料集(Master Data Set),變動資料項則組成變動資料集(Variable Data Set)。

  17. 7-2 資料庫的結構

  18. 7-2 資料庫的結構 7-2.1 邏輯結構 • 關聯結構:關連結構資料庫係一種表格式(Table)的資料組織結構,亦即由許多行(Columns)列(Rows)資料所組成的一種資料庫,此種行列資料即為「關連」。「關連」之定義如下: 1.由許多相關之「元素對」(Tuple)所組成的集合體。 2.由許多「領域」(Domain)所組成的集合體。 • 領域是關連資料庫的最基本資料單位,每個領域均由數個領域值(Domain Value)集合而成。

  19. 7-2 資料庫的結構 7-2.1 邏輯結構 • 關連結構的設計方法與前述網狀結構相似,首先應將變動項目分出,另外建立一個「關連」,固定項目則自成一個「關連」,但為便於兩種「關連」之相互連接,每一「關連」中可能會出現重複領域。在變動項的「關連」中,若欲以其中某一領域作為控制鍵,可將該資料項再分出另外建立一個「關連」,茲以前述兩種結構所用例題,改用關連結構設計如下:

  20. 7-2 資料庫的結構 產品關連

  21. 7-2 資料庫的結構 物料關連

  22. 7-2 資料庫的結構 產品物料關連

  23. 7-2 資料庫的結構 經銷商關連

  24. 7-2 資料庫的結構 產品經銷商關連

  25. 7-2 資料庫的結構 SELECT PS WHERE SALES=’AIG’

  26. 7-2 資料庫的結構 7-2.2 實體結構 • 資料庫的實體結構方式,每因機型不同而各異,常用的實體結構方式有: • 順序型組織(Segment Organization) • 直接式組織(Direct Organization) • 串列組織(List Organization)等三種。

  27. 7-3 資料庫管理系統 7-3.1 資料庫管理系統的意義 • 資料庫系統的另一個特性是「資料共用性」,也就是指資料庫的內含資料可同時供多數使用者使用,為達成此一目的,資料庫系統就必須要有一套軟體系統,作為使用者與資料庫間的橋樑,專司資料的存取工作(參閱圖7-12),此種軟體系統即稱為「資料庫管理系統」(Data Base Management System,簡稱DBMS)。

  28. 7-3 資料庫管理系統 圖: 資料庫管理系統

  29. 7-3 資料庫管理系統 圖: 應用程式與資料庫管理系統的關係

  30. 7-3 資料庫管理系統 7-3.2 資料庫管理系統的功能 • 資料庫管理系統的功能可歸納為下列四點: • 定義資料庫的邏輯結構與實體結構。 • 儲存、擷取及傳輸資料。 • 維持資料的完整性與安全性。 • 當電腦發生故障,它能使資料庫內資料恢復原狀。

  31. 7-3 資料庫管理系統 7-3.3 資料庫管理系統的架構 • 資料庫管理系統係由下列四部份所構成。 • 資料描述語言(Data Description Language,簡稱DDL) • 資料整理語言(Data Manipulation Language,簡稱DML) • 查詢語言(Query Language) • 編製報表(Report Writer)

  32. 7-3 資料庫系統的建立 7-4.1 資料庫管理師 • 資料庫管理師的主要職掌,約可歸納為下列三種: • 資料庫的定義與設計 • 資料庫的管理 • 資料庫的維護 • 有關資料庫的建立,雖然是資料庫管理師的主要責任,但系統分析師、使用者與程式設計師的參與亦是必要的,因此資料庫管理師在規劃建立資料庫系統時,應經常與這些人保持協調、溝通。

  33. 7-4 資料庫系統的建立 7-4.2 資料庫系統的建立 • 有關資料庫系統的建立步驟,可大致劃分如下: • 確定資料組織狀況。 • 調查處理需求。 • 設計資料結構並決定儲存體的儲存方式。 • 利用資料描述語言撰寫各種綱要。 • 將資料輸入於資料庫 • 按照「資料整理語言」撰寫應用程式。 • 測試。

More Related