《586資料庫架構的三層次vs.資料模式.ppt》由会员分享,可在线阅读,更多相关《586資料庫架構的三層次vs.資料模式.ppt(45页珍藏版)》请在三一办公上搜索。
1、挑戰資料庫管理系統,Page:1,挑戰資料庫管理系統,Page:2,大綱,5.1前言5.2資料庫架構的三層次vs.資料模式5.3E-R資料模型5.4建構一個E-R Diagram,挑戰資料庫管理系統,Page:3,5.1前言,規劃一個嚴謹的資料庫藍圖,需觀察跟企業有關的各種資料,整理出一個有系統的資料關係圖。E-R資料模式:協助使用者或是資料庫管理師進行資料庫概念設計。為了協助讀者了解資料模式與資料庫概念設計之間的關聯性,將針對兩者的關聯加以說明。在第四節會利用一個實例引導讀者透過E-R 資料模型建構一個完整的E-R圖示(E-R diagram)。,挑戰資料庫管理系統,Page:4,5.2資料
2、庫架構的三層次vs.資料模式,資料模式三個層級(資料庫系統三個層次)概念模式(Conceptual level)外部模式(External level)內部模式(Internal level)對應(mapping)外層與概念層的對應概念層與內層的對應,挑戰資料庫管理系統,Page:5,美國國家標準局標準規劃和規定委員會(ANSI/SPARC)定義資料模式三個不同的層級,圖5.1 ANSI/SPARC標準架構的三層次,挑戰資料庫管理系統,Page:6,圖5.2從資料綱要定義來看資料庫三層次,挑戰資料庫管理系統,Page:7,圖5.3 以資料庫包含教師、學生、與教師指導學生關係等資料為例說明三層之
3、關聯,挑戰資料庫管理系統,Page:8,圖5.4 資料庫架構的三層次與資料模式間的關連性,挑戰資料庫管理系統,Page:9,外層(External level)代表個別使用者對於資料庫的認知。使用者可能是終端使用者或是應用程式設計師。概念層(Conceptual level)概念層對應到資料庫所有的內容,但是跟資料的實際儲存方式沒有關係。概念層的目的在於真實且完整地表達資料庫中各個資料,以及存在各資料間的關係。各個外部景觀(external view)都可以在概念景觀中找到對應(mapping)關聯。概念景觀主要是透過概念綱要(conceptual schema)所定義出來,而概念綱要同樣也是
4、透過資料定義語言(DDL)所定義出來。,挑戰資料庫管理系統,Page:10,內層(Internal level)內部景觀(internal view)是整個資料庫的低階表示法。內部景觀由內部綱要(internal schema)所定義,內部綱要不僅定義不同型態的儲存記錄,同時也指明有哪些索引、儲存欄位的表示方法、指標等等。對應(mapping)所謂的對應(mapping)在資料庫三個層次中存在兩個地方,分別是外層與概念層的對應(external/conceptual mapping)、以及概念層與內層的對應(conceptual/internal mapping)。前者定義著外層綱要與概念綱要
5、之間的對應。一個概念綱要中所定義的欄位可以對應到不同應用程式所定義不同的欄位名稱,換言之,也就是對應到多個外層綱要中所定義的欄位名稱。,挑戰資料庫管理系統,Page:11,存在概念層與內層的對應(conceptual/internal mapping),則定義概念景觀與儲存資料庫之間的關聯。,挑戰資料庫管理系統,Page:12,資料庫架構的三層次個別可以透過資料模型設計對應到三個相互關聯的資料模型,圖5.4 資料庫架構的三層次與資料模型間的關聯性,挑戰資料庫管理系統,Page:13,5.3E-R資料模型,E-R資料模型(E-R model,entity-relationship model)是
6、在1975年由Peter P.S Chen 所提出用來協助資料庫管理師描述出實體(entity)以及實體和實體之間的各種關係(relationship)。而透過E-R資料模型所描繪出的E-R資料關聯圖便是對應到資料庫架構三層次中概念層的概念模型(conceptual model)。實體(Entity)實體在真實世界是指我們有興趣的人、事、物。實體細分為強實體(strong entity)以及弱實體(weak entity),以及實體子型態以及超型態。屬性(Attribute)關係(Relationship),挑戰資料庫管理系統,Page:14,圖5.5 實體與實例(instance)之間的關係
7、,每個實體都會包含一個或一個以上的實例(instance)。每個實體的實例可以透過關聯式模型中的表格(table)來紀錄。,學生,挑戰資料庫管理系統,Page:15,實體(Entity)強實體(strong entity)弱實體(weak entity),圖5.6(a)強實體與弱實體的表示方式,圖5.6(b)強實體與弱實體的表示方式,挑戰資料庫管理系統,Page:16,實體子型態以及超型態,圖5.7(a)實體子型態與超型態範例,圖5.7(b)實體子型態與超型態範例,挑戰資料庫管理系統,Page:17,圖5.8 兩種實體超型態表示法(a)表會重複(b)表不會重複,實體超型態子型態會包含重複實例,
8、表示符號為Gs。子型態不會包含重複實例,表示符號為G。,挑戰資料庫管理系統,Page:18,屬性(Attribute)對於每個實體,使用者會有進一步想紀錄或了解的資訊,而這些資料便成為該實體的屬性(attribute)。每個實體通常擁有多個屬性。,圖5.9 實體與屬性的圖形表示,挑戰資料庫管理系統,Page:19,學者Chen進一步將屬性作以下的區分 簡單屬性(simple attribute)與複合屬性(composite attribute)。鍵(key):是指該屬性的值在某個環境內具有唯一性。單值屬性(single-valued attribute)與多值屬性(multi-valued
9、attribute)。衍生屬性(derived attribute)。,圖5.10(a)各種屬性的圖形表示法,挑戰資料庫管理系統,Page:20,圖5.10(b)各種屬性的圖形表示法,挑戰資料庫管理系統,Page:21,關係(Relationship)指存在實體與實體之間的關聯。關係把 E-R 模型中的實體結合在一起,一個關係是一個或多個實體的實例間之關聯(association),一個關聯經常意味著事件已發生或存在一些實例間自然的連結。關係的程度(Degree of a Relationship)簡稱關係度(degree),是參與在某個關係中之實體類型的數量。在 E-R 資料模型中,三種最常
10、見之關係度分別為:單一(Unary,degree one)、二元(Binary,degree two)以及三元(Ternary,degree three)關係。不論是一個實體或多個實體的實例間存在關係,E-R資料模型將這些關係區分為三類:分別是1對1(1:1)、1對多(1:m)以及多對多(m:n)。對於這三種關係,Chen在E-R資料模型中給定一個名詞基數(cardinality)來稱呼。,挑戰資料庫管理系統,Page:22,茲以二元關係為例分別說明1對1、1對多以及多對多關係如下1對1:是指實體與實體之間存在1對1的關係。1對多:是指實體與實體之間存在1對多的關係。多對多:是指實體與實體之間
11、存在多對多的關係。,圖5.11 三種不同的實體關係(m與n都表示多的意思),挑戰資料庫管理系統,Page:23,在透過E-R資料模型表示實體與實體之間的關係程度時,有時尚需要註明一個實體之實例(instance)與另一個實體之實例間關聯之數目。該關聯之數目可能會有最小或最大之限制,也可能完全沒限制,如圖5.12(a)。如果關聯數目有最小或最大之限制,則分別稱之為最小基數(Minimum cardinality)與最大基數(Maximum cardinality)。最小基數表示某實體之實例能與另一實體之實例關聯之最小數目;相對於最小基數,最大基數則表示關聯實例的最大數,如圖5.12(b)。,挑戰
12、資料庫管理系統,Page:24,圖5.12(a)基數範例一,圖5.12(b)基數範例二,挑戰資料庫管理系統,Page:25,除三種基本關係外,Chen並提出另外兩種關係單一實體參與的關係(unary):又稱為遞迴關係(recursive relationship)。,圖5.13 單一實體的關係(unary relationship),挑戰資料庫管理系統,Page:26,三個實體參與的關係(ternary):此類關係是包含三種實體。,圖5.14 三個實體參與的關係,挑戰資料庫管理系統,Page:27,5.4建構一個E-R 關聯圖之一,Seattle 大學想要建立一個資料庫,希望日後可以透過資料庫
13、紀錄以下資訊各系的基本資料:各系系名、系辦公室分機、目前的主任姓名以及所在位置。學生的基本資料:包括學生的學號、姓名、地址、聯絡電話、出生年月日、年齡。教職員的基本資料:包括教職員的教職員編號、辦公室號碼、分機、聯絡電話與地址。如果是職員希望可以額外紀錄其工作單位,如果是教授希望可以紀錄其聘任的系所名稱以及專長。行政單位:包括分機、主管。每學期的課程資料:包括課程名稱、學分數。每學期的開課班級:包括上課時間、地點、授課老師以及可容納人數。學生修課的情形:紀錄每個學生修課的成績。紀錄每門課程的主修課程。,挑戰資料庫管理系統,Page:28,管理規則一個教授只能被一個系聘任。教授得兼行政職務。每位
14、教授只能兼任一行政職務。每位學生至少要修一門課,最多六門課。一位同學不得就同一門課程選修兩個開課班級。每個系會有一位且只有一位系主任。每個授課班級只會有一位老師授課,同一門課程的授課班級可以都是同一位老師也可以是不同的老師授課。每個教授可以有多個專長。每門課程最多會有兩門先修課。,挑戰資料庫管理系統,Page:29,資料庫管理師便可以根據以下步驟,利用E-R資料模型進行資料庫的概念分析。決定實體。為每個實體定義出所包含的屬性。,圖5.15 Seattle 大學資料庫概念設計中所定義的實體,圖5.16 以系為例,說明各實體與其屬性之關係,挑戰資料庫管理系統,Page:30,圖5.17 以系和教授
15、以及教授和開課班級為例,找出存在實體之間的關係。,挑戰資料庫管理系統,Page:31,將重複出現的實體作為連接的基礎,將一組一組的E-R資料模型整合整一個完整的E-R關聯圖。,圖5.18 將圖5.17(a,b)整合後的E-R關聯圖,挑戰資料庫管理系統,Page:32,圖5.19(a)完整的E-R關聯圖,挑戰資料庫管理系統,Page:33,圖5.19(b)應用E-R資料模型所完成的內層資料模型,E-R資料模式應用在內層資料模式的建構,為了清楚地表示出資料庫未來在實作階段所要產生的表格。,挑戰資料庫管理系統,Page:34,由應用程式的角度來看,可以把開課班級和學生之間的關係看成一個選課系統,教授
16、以及開課班級之間的關係為一個排課系統。,圖5.20 將E-R資料模性應用在建構外層資料模式,挑戰資料庫管理系統,Page:35,5.5 建構一個E-R 關聯圖之二,A&B公司想要建立一個資料庫,希望日後可以透過資料庫記錄以下資訊:各個顧客的基本資料:顧客編號、統一編號、顧客名稱、地址、聯絡電話以及聯絡人姓名。產品的基本資料:包括產品的編號、產品名稱以及單價。訂單資料:包括訂單編號、顧客名稱、下單日期、交貨日期、交貨地點、訂單明細以及總金額。其中,訂單明細包括明細編號、數量(指訂購數量)與售價。,挑戰資料庫管理系統,Page:36,管理規則如下在記錄顧客的聯絡電話時,A&B公司習慣記錄兩支電話號
17、碼。每張訂單只隸屬於一個顧客,但是一個顧客可以下很多張訂單。每張訂單可以包含很多個訂單產品。,挑戰資料庫管理系統,Page:37,決定實體:根據上述描述,我們可以歸納出A&B公司有興趣的人、事、物分別是:顧客、訂單以及產品。如圖5.21所示。,圖5.21 A&B 公司資料庫概念設計中所定義的實體,挑戰資料庫管理系統,Page:38,為每個實體定義出所包含的屬性:以顧客為例,如圖5.22。,圖5.22 以顧客為例,說明各實體與其屬性之關係,挑戰資料庫管理系統,Page:39,找出存在實體之間的關係:,圖5.23(a)顧客和訂單的關係,挑戰資料庫管理系統,Page:40,圖5.23(b)訂單和訂單明細的關係,挑戰資料庫管理系統,Page:41,圖5.23(c)產品和訂單明細的關係,挑戰資料庫管理系統,Page:42,重複出現的實體做為連接的基礎,將一組一組的E-R資料模型整合一個完整的E-R關聯圖。茲以顧客和訂單以及訂單和產品兩組資料模型作為整合的範例。,挑戰資料庫管理系統,Page:43,圖5.24 完整的E-R關聯圖,挑戰資料庫管理系統,Page:44,圖5.25 將E-R資料模性應用在建構內層資料模型,挑戰資料庫管理系統,Page:45,圖5.26 將E-R資料模型應用在建構外層資料模型,
链接地址:https://www.31ppt.com/p-5922544.html