Entity-Relationship Data Model(E-R Model)實體關係資料模型

建立資料庫系統的第一步, 就是分析我們要處理的資料有那些, 資料與資料之間 的關係如何. Entity-Relationship Data Model, 簡稱E-R Model, 是一種圖形 化的表示工具, 能讓我們對資料與資料間的關係做精確的描述.

所謂實體(Entity), 係指能由數個 "(屬性,值)對" 來描述的東西. 如俞旭昇這 個人, 我們可用(Name=俞旭昇, Address=國立暨南大學資管系, Age=35, OfficePhone=49-915225)這幾個 "(屬性,值)對" 來描述. 又如微軟這家公司可用 (Name=Microsoft, Headquarters=Seattle, President=Bill Gates)來描述. 我們可以用任意的 "(屬性,值)對" 來描述一個實體, 但為了便於規納與認知, 通常我們會將這些東西加以分類(Entity Type). 同一類的東西可用一個名字來代表 (Entity Type Name), 它們都具有相同的屬性(Attributes). 同一類東西所組成的集合 稱為Entity Set, 或Extension. 如我們可將某公司內的所有員工歸為同一個Entity Type, 其Entity Type Name為Employee, 其共同屬性有Name,Age,Salary. 假設公司內共有 三名員工, 則

(John Smith,55,80k)
(Fred Brown,40,30k)
(Judy Clark,25,25k)
為"Employee"這個Entity Type的一個Entity Set. 也就是說Entity Type是指抽象的 概念, 而Entity Set則是由某些Entity所組成的集合.

Attribute根據其可能的值, 可以分成下列幾種:

在E-R Model中, 我們是以屬性值來辨認出某一個Entity. 假設在某一個Entity Type中, 我們可以用某幾個屬性A1--An來找出唯一的Entity, 則我們稱這些屬性為Key Attributes. 例如Student是一個具有(StudentID,Name,Age,Address,Birthday)等屬性的Entity Type, 某一Entity Set是由國企系所有學生所組成, 在沒有學生同名的前提下, 學生姓名Name 這個屬性可視為此Entity Type的Key Attribute. 當然StudentID也是這個Entity Type的 Key Attribute. 特別要強調的是, Key Attribute是由某個Entity Set的資料來決定, 因此Name這個屬性對國企系所有學生所組成的Entity Type是Key Attribute, 但對由 所有暨南大學學生所組成的Entity Type可能就不是Key Attribute了. 若某Entity沒 有Key Attribute, 則稱為Weak Entity Type.

所謂Relationship是指兩個以上Entity之間的關係. 例如Employee(員工)和 Department(部門)之間可以有WorksFor的關係, 也就是說某員工在某部門工作. Relationship也可以具有一些屬性, 如WorksFor這個Relationship可以有Date 這個屬性, 代表員工調到該部門工作的日期. 注意Date這個屬性不屬於Entity Employee 和Entity Department, 而是屬於Relationship WorksFor. 實體和關係間可以有下列的 特質:

Weak Entity Type中的實體通常依附在另一個Entity Type的實體, 這個被依 附的Entity Type我們稱為identifying owner, 而這兩個Entity Type間的 關係我們稱為identifying relationship. Weak entity type和 identifying relationship之間一定total. 此外具有依附關係的 entity type並不見得一定是weak entity type. 例如DriversLicense(駕照)這 個entity type必須依附在Person這個entity之下, 但DriversLicense卻有 DriversLicenseNo(駕照號碼)這個key attribute. 被依附的entity稱為依附 在其下weak entity type的owner. 在同一個owner下的weak entity type通常 有一組attributes可以用來該weak entity type的key attribute, 我們稱為 partial key.

下面是E-R Model中用來表示本節一些觀念的圖示:

下面是在COMPANY schema的E-R Model表示圖:

下面是本校教務資料庫綱要的E-R Model表示圖: