460 likes | 527 Views
個體 — 關聯模式. 資料庫系統之理論與實務 4.8. 專有名詞. 實體 (Entity) :代表真實世界中的一個事物或觀念。 屬性 (Attribute) :描述實體之個別特性。 實體集 (Entity Set) :一群擁有相同屬性的實體。 關係 (Relationship) :數個實體間的聯結 (Associate) 。 關係集 (Relationship Set) :同類型關係的集合。. Student. Study-in. Department. e1. r1. d1. e2. r2. d2. e3. r3. d3. e4. r4.
E N D
個體—關聯模式 資料庫系統之理論與實務 4.8 Hue-Ling Chen
專有名詞 • 實體(Entity):代表真實世界中的一個事物或觀念。 • 屬性(Attribute):描述實體之個別特性。 • 實體集(Entity Set):一群擁有相同屬性的實體。 • 關係(Relationship):數個實體間的聯結(Associate)。 • 關係集(Relationship Set):同類型關係的集合。 Hue-Ling Chen
Student Study-in Department e1 r1 d1 e2 r2 d2 e3 r3 d3 e4 r4 d4 Student, Department → 實體集 (entity set) Study-in ( relationship set ) → 關係集 e1, e2, e3, e4 (entity) 為實體 d1, d2, d3, d4 (entity) 為實體 r1, r2, r3, r4 (relationship) 為關係 Hue-Ling Chen
E-R圖和自然語言的對應關係 • 名詞:一個句子的主詞/受詞,對應到實體型態。 • 形容詞:修飾名詞的形容詞,對應到實體型態上的屬性。 • 動詞:聯繫主詞/受詞,對應到關係型態。 • 副詞:修飾動詞,對應到關係型態上的屬性。 Hue-Ling Chen
張三 年齡 性別 Hue-Ling Chen
年資 工作 Hue-Ling Chen
部門 名稱 代號 Hue-Ling Chen
個體—關聯模式中的概念 (1) • 「語意資料模式」→資料的分析與規劃 • 「個體關聯圖」→系統分析與邏輯資料庫設計的工具,系統分析師與使用者的溝通介面。 • 個體(實體,Entities):例子:員工與家屬的資料 • 強個體型態:一實體型態決定另一實體的存在於否。 • 弱個體型態:一實體型態是依賴另一實體型態而存在,沒有充分的屬性構成主鍵。 • 存在相依(existence-dependence):一個實體的存在與否,是由其它實體決定。 Hue-Ling Chen
個體—關聯模式中的概念 (2) • 個體類型 • 同一類型的個體組成一個個體類型(Entity Type) • 特性 • 單一特性或複合特性 • 鍵值 • 單一值、多重值或一個不確定的虛值 • 基本特性或導出的特性 Hue-Ling Chen
學生 大學部 研究生 碩士班 博士班 個體—關聯模式中的概念 (3) • 個體與個體之間的關係 • 一對一、一對多、多對多 • 弱勢關係 • 子類型(Subtypes):演變成「物件導向模式」的基礎。 Hue-Ling Chen
個體—關聯模型(Entity – Relationship) Hue-Ling Chen
個體—關聯模型(Entity – Relationship) Hue-Ling Chen
屬性的型態 (1) • 簡單vs.複合屬性 • 簡單屬性:一屬性不能再被分割。 • 複合屬性:一屬性可被分割成數個具有含意的屬性。 Hue-Ling Chen
屬性的型態 (2) • 單值屬性vs.多值屬性 • 單值屬性:對一個實體而言,若其某一屬性僅有一個內含值,則該屬性稱之為單值屬性。 • 例子: 年紀為單值屬性 • 多值屬性:若屬性的內含值有多種可能值,則稱該屬性為多值屬性。 • 例子: 聯絡電話為多值屬性 Hue-Ling Chen
id 書名 價錢 出版商 作者 Books Hue-Ling Chen
屬性的型態 (3) • 衍生屬性:屬性的內含值可由其它的屬性得知。 • Stored attribute:可推演出衍生屬性的屬性。 • 例子: 年紀可由出生日期推算而來。 衍生屬性 Stored attribute Hue-Ling Chen
例子: Hue-Ling Chen
弱實體型態與辨認關係型態 • 辨認擁有者(Identifying Owner): • 弱實體型態依附強實體型態而存在,強實體型態為弱實體型態之辨認擁有者。 • 辨認關係型態(Identifying Relationship): • 弱實體型態與其擁有者之間的關係型態。 Hue-Ling Chen
映射大小(Mapping Cardinality、Cardinality Ratio) • 透過關係型態,描述一個實體型態中的實體與其它實體型態中有多少實體連結。 • 1:1(一對一) • 1:N(一對多) • N:M(多對多) Hue-Ling Chen
1:1(一對一) 一個男人只能有一個太太。 一個女人只能有一個先生。 Hue-Ling Chen
1:N (一對多) 一個部門能有多個員工。 一個員工只屬於一個部門。 Hue-Ling Chen
M:N (多對多) 每個學生可修多門課。 一門課可讓多個學生選修。 Hue-Ling Chen
關係型態上的屬性 • 關係型態上也可如實體型態一般擁有屬性。 • 例 1 Hue-Ling Chen
關係型態上的屬性 (2) • 例 2 Hue-Ling Chen
例子 • 每一個學生(Student)記錄,含有SNO、SNAME、SCORE三個欄位。 • 每個課程(Course)記錄,含有CNO、CNAME、CREDIT三欄位。 • 每個教授(Faculty)記錄,含有FNO、FNAME、OFFICE三欄位。 • 每個學生必須選修(Enroll)課程,每門課程需有學生選才開。 • 每個學生都有一個指導教授,而每個教授可以指導(Advise)許多學生,亦可不收。 • 每個教授必須開課(Teach),且相同的課程可以由不同的教授講授。 Hue-Ling Chen
基本名詞 • 超級鍵(superkey):由一個或多個屬性組合而成的集合,可用來識別實體型態中唯一的實體。 • 候選鍵(Candidate):最小的superkey,換言之其子集合中不會形成superkey。 • 主鍵(Primary key):為一候選鍵作為識別唯一實體的依據。 Hue-Ling Chen
開發資料庫系統的規劃事項 (1) • 先確定應用系統所需要的「個體類型」(Entity Type)有哪些? • 選課系統 • 學生(Student) • 課程(Course) • 老師(Teacher) Hue-Ling Chen
開發資料庫系統的規劃事項 (2) • 接下來找出個體與個體間會存在資料庫中靜態「關係類型」(Relationship Type),並探討其關係是「一對一」、「一對多」或「多對多」。 • 每個學生必須選修(Enroll)課程,每門課程需有學生選才開。→「多對多」 • 每個學生都有一個指導教授,而每個教授可以指導(Advise)許多學生,亦可不收。→「一對多」 • 每個教授必須開課(Teach),且相同的課程可以由不同的教授講授。 →「一對多」 Hue-Ling Chen
m n Student Enroll Advise Teach Course m n 1 1 Teacher 開發資料庫系統的規劃事項 (3) • 繪出「個體—關係圖」(Entity-Relationship Diagram, ERD)。 Hue-Ling Chen
開發資料庫系統的規劃事項 (4) • 檢討「個體—關係圖」中的每個「個體」所需的特性。 • 每一個學生(Student),含有學號、姓名、級別等特性。 • 每個課程(Course)記錄,含有課號、課程名稱、開課時間等特性。 • 每個教授(Faculty)記錄,含有教師編號、姓名、辦公室等特性。 Hue-Ling Chen
開發資料庫系統的規劃事項 (5) • 檢討「個體—關係圖」中的每個「關係類型」所需的特性。 • 學生選課 • 「學分數」(credits) Hue-Ling Chen
學號 姓名 代號 課名 課號 時間 級別 姓名 學分 m n Student Advise Teach Enroll Course n m Teacher 1 1 辦公室 開發資料庫系統的規劃事項 (6) • 在「個體—關係圖」上補上橢圓行代表各種特性。 Hue-Ling Chen
開發資料庫系統的規劃事項 (7) • 針對每一個「個體—關聯圖」中的「個體類型」產生一個關聯表,其中關聯表的屬性即為個體的特性。 Hue-Ling Chen
開發資料庫系統的規劃事項 (8) • 針對每一個「個體—關係圖」中的「關聯類型」也產生一個關聯表。 Hue-Ling Chen
Case Ⅰ 1:1 移入任何一個 Hue-Ling Chen
Case Ⅱ 1:N 移入N的一方 Hue-Ling Chen
Advise Teach Hue-Ling Chen
Case Ⅲ M:N 不可移入任何一方 Hue-Ling Chen
開發資料庫系統的規劃事項 (9) • 針對每一個表格的所有屬性,一一檢討下列幾項有關於欄位的內容 • 意義 • 類型:整數,字元,日期或圖片。 • 所佔的位元長度 • 內容是否要唯一:候選鍵與主鍵的確定。 • 是否有預設值 • 是否有範圍限制 • 是否有格式規範 • 是否為外來鍵?參考的表格與欄位?外來鍵的使用規格? Hue-Ling Chen
繪出整體資料庫的外來鍵參考圖 開發資料庫系統的規劃事項 (10) Hue-Ling Chen
開發資料庫系統的規劃事項 (11,12) • 規劃各個功能的使用者介面與系統架構圖 • 對於各個系統的功能,說明要完成該功能的資料庫運算為何 • 預儲程序(Stored Procedure) • 觸發程序(Trigger) Hue-Ling Chen
Orders Bookstores Books Hue-Ling Chen