260 likes | 438 Views
Chapter 2 E-R Data Model. Basic Concept. ER data model 將真實世界視為由實體 (entity) 與實體間的關係 (relationship) 所組成 ER data model 包含三種類別的符號 Entity sets Relationship sets Attribute. Entity Sets(1). entity 代表真實世界中的一個物件或事件,可為具體或抽象 ( 假日、帳目 ) Entity sets 是由一群具有相同型態,相同屬性的 entity 所組成. Entity Sets(2).
E N D
Chapter 2E-R Data Model 資料庫系統
資料庫系統 Basic Concept • ER data model將真實世界視為由實體(entity)與實體間的關係(relationship)所組成 • ER data model包含三種類別的符號 • Entity sets • Relationship sets • Attribute
資料庫系統 Entity Sets(1) entity代表真實世界中的一個物件或事件,可為具體或抽象(假日、帳目) Entity sets是由一群具有相同型態,相同屬性的entity所組成
資料庫系統 Entity Sets(2) • 如一個銀行所有顧客的集合可以定義一個實體集合customer • 一個entity是由一組屬性(attribute)的集合所表示 • 每個entity的所屬每個attribute都有一個值(value) • 每個attribute其值所允許的範圍稱為domain或value set • attribute沒有數值時,其value為null
資料庫系統 An Example of Entity and Attribute • Customer這個entity sets表示銀行所屬顧客的資料 • Customer的attribute包含customer-id,customer-name,customer-birthmonth,customer-money • 某個顧客的attribute value為D12345,John,5,1200 • customer-birthmonth的domain為1~12的整數,customer-money的domain為正數浮點數
資料庫系統 The Characteristic of Attribute(1) • Simple vs. Composite • Simple是此attribute無法再分割為其他attribute,如存款金額 • Composite是此attribute可分割為其他attribute,如name可分割為first-name與last-name • Single-valued vs. Multivalued • Single-valued只有單一值的屬性,如name • Multivalued有複數個值的屬性,如phone
資料庫系統 The Characteristic of Attribute(2) • Derived是由其他attribute所衍生出來的,如age是由birthyear所衍生
Relationship Sets • Relationship表示實體之間的邏輯關係 資料庫系統
資料庫系統 Constraints of Relationships(1) • 對映基數 • One to one:在A的任一entity最多只能和B中一entity相連,反之亦然 • One to many:在A的任一entity可和B中任意數的entity相連,但B任一entity最多只能和A中一entity相連 • Many to one :A任一entity最多只能和B中一entity相連,但在B的任一entity可和A中任意數的entity相連 • Many to many :在A的任一entity可和B中任意數的entity相連,反之亦然
資料庫系統 Constraints of Relationships(2) • 參與限制 • Total :在A中每個entity都至少有一個relationship存在 • Partial :在A中只有部分entity有relationship存在
資料庫系統 A部分參與,B完全參與 A、B部分參與
資料庫系統 Key • 在同一個entity sets中沒有任兩個entity的所有attribute value是完全一樣的 • Key是一組attribute,可用於區分不同的entity • Superkey:由一個或多個attribute組成,如{customer-id}或{customer-id, customer-name} • Candidate key :沒有任何子集合是superkey的superkey,如{customer-id}或{customer-name, customer-address} • Primary key :被選作識別entity的candidate key
資料庫系統 Primary key的選取原則 • 不會變動的attribute • 具有唯一性,不可重複 • 訂定編碼規則
資料庫系統 Weak entity set • Entity沒有足夠的attribute來組成一個PK,需和其他entity產生關聯才有意義 • 例如 • 課程資料course這個entity有attribute: courseid 、coursename • 開課紀錄courseoffering這個entity有attribute:offeringid、semester、section • courseoffering單獨存在是沒有意義的,所以它是weak entity set
資料庫系統 實作-DB System Management • Bank System-customer • Create table (entity set) • Create field and set type (attribute) • Primary key
資料庫系統 • CREATE TABLE bank(BankID char(20), BankName char(50),Post int, Address char(50), Primary key(BankID));
資料庫系統 E-R diagram(1) • 基本符號 • 長方形:entity sets • 雙長方形:weak entity sets • 菱形:relationship sets • 雙直線:total participation • 橢圓:attribute,如是PK則加上underline • 雙橢圓:multivalued attribute • 虛線橢圓: derived attribute
資料庫系統 E-R diagram(2) • 直線:連接attribute、entity sets、relationship sets • 使用 與 表示entity sets與relationship sets的one to one、one to many、many to one、many to many的關係
資料庫系統 三元關係 name address id Branch 合成屬性 Last name First name birthday name loan-id One to many Borrower id Customer loan amount address age
資料庫系統 限制表示方式 • 在直線上標示l..h • l是最小基數 • 1代表完全參與 • h是最大基數 • 1代表最多只能有一個relationship • *表示沒有限制 • 1..*和雙直線一樣意思
資料庫系統 Last name First name birthday name loan-id 0..* Borrower 1..1 id Customer loan amount address age
Schema Diagram 資料庫系統
資料庫系統 Hint • 不應該出現在ER Diagram • 功能(Function) -查詢、列印 • 系統(System) -選課系統 • 例子(Example) -通識課、軍訓課、作業系統
資料庫系統 Homework(2) • 請以選課系統為例子,劃出它的ER diagram與Schema Diagram,diagram的entity sets至少需包含course,student,teacher
資料庫系統 Discussion • 習題2-17 • 你認為哪種作法比較好