1 / 59

個體 — 關聯模式

個體 — 關聯模式. 資料庫系統之理論與實務 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.

Télécharger la présentation

個體 — 關聯模式

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. 個體—關聯模式 資料庫系統之理論與實務 4.8 Hue-Ling Chen

  2. Hue-Ling Chen

  3. Hue-Ling Chen

  4. 專有名詞 • 實體(Entity):代表真實世界中的一個事物或觀念。 • 屬性(Attribute):描述實體之個別特性。 • 實體集(Entity Set):一群擁有相同屬性的實體。 • 關係(Relationship):數個實體間的聯結(Associate)。 • 關係集(Relationship Set):同類型關係的集合。 Hue-Ling Chen

  5. 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

  6. E-R圖和自然語言的對應關係 • 名詞:一個句子的主詞/受詞,對應到實體型態。 • 形容詞:修飾名詞的形容詞,對應到實體型態上的屬性。 • 動詞:聯繫主詞/受詞,對應到關係型態。 • 副詞:修飾動詞,對應到關係型態上的屬性。 Hue-Ling Chen

  7. 張三 年齡 性別 Hue-Ling Chen

  8. 年資 工作 Hue-Ling Chen

  9. 部門 名稱 代號 Hue-Ling Chen

  10. 個體—關聯模式中的概念 (1) • 「語意資料模式」→資料的分析與規劃 • 「個體關聯圖」→系統分析與邏輯資料庫設計的工具,系統分析師與使用者的溝通介面。 • 個體(實體,Entities):例子:員工與家屬的資料 • 強個體型態:一實體型態決定另一實體的存在於否。 • 弱個體型態:一實體型態是依賴另一實體型態而存在,沒有充分的屬性構成主鍵。 • 存在相依(existence-dependence):一個實體的存在與否,是由其它實體決定。 Hue-Ling Chen

  11. Hue-Ling Chen

  12. 個體—關聯模式中的概念 (2) • 個體類型 • 同一類型的個體組成一個個體類型(Entity Type) • 特性 • 單一特性或複合特性 • 鍵值 • 單一值、多重值或一個不確定的虛值 • 基本特性或導出的特性 Hue-Ling Chen

  13. 學生 大學部 研究生 碩士班 博士班 個體—關聯模式中的概念 (3) • 個體與個體之間的關係 • 一對一、一對多、多對多 • 弱勢關係 • 子類型(Subtypes):演變成「物件導向模式」的基礎。 Hue-Ling Chen

  14. 個體—關聯模型(Entity – Relationship) Hue-Ling Chen

  15. 個體—關聯模型(Entity – Relationship) Hue-Ling Chen

  16. 屬性的型態 (1) • 簡單vs.複合屬性 • 簡單屬性:一屬性不能再被分割。 • 複合屬性:一屬性可被分割成數個具有含意的屬性。 Hue-Ling Chen

  17. 屬性的型態 (2) • 單值屬性vs.多值屬性 • 單值屬性:對一個實體而言,若其某一屬性僅有一個內含值,則該屬性稱之為單值屬性。 • 例子: 年紀為單值屬性 • 多值屬性:若屬性的內含值有多種可能值,則稱該屬性為多值屬性。 • 例子: 聯絡電話為多值屬性 Hue-Ling Chen

  18. id 書名 價錢 出版商 作者 Books Hue-Ling Chen

  19. 屬性的型態 (3) • 衍生屬性:屬性的內含值可由其它的屬性得知。 • Stored attribute:可推演出衍生屬性的屬性。 • 例子: 年紀可由出生日期推算而來。 衍生屬性 Stored attribute Hue-Ling Chen

  20. 例子: Hue-Ling Chen

  21. 弱實體型態與辨認關係型態 • 辨認擁有者(Identifying Owner): • 弱實體型態依附強實體型態而存在,強實體型態為弱實體型態之辨認擁有者。 • 辨認關係型態(Identifying Relationship): • 弱實體型態與其擁有者之間的關係型態。 Hue-Ling Chen

  22. Hue-Ling Chen

  23. 映射大小(Mapping Cardinality、Cardinality Ratio) • 透過關係型態,描述一個實體型態中的實體與其它實體型態中有多少實體連結。 • 1:1(一對一) • 1:N(一對多) • N:M(多對多) Hue-Ling Chen

  24. 1:1(一對一) 一個男人只能有一個太太。 一個女人只能有一個先生。 Hue-Ling Chen

  25. 1:N (一對多) 一個部門能有多個員工。 一個員工只屬於一個部門。 Hue-Ling Chen

  26. M:N (多對多) 每個學生可修多門課。 一門課可讓多個學生選修。 Hue-Ling Chen

  27. 關係型態上的屬性 • 關係型態上也可如實體型態一般擁有屬性。 • 例 1 Hue-Ling Chen

  28. 關係型態上的屬性 (2) • 例 2 Hue-Ling Chen

  29. 例子 • 每一個學生(Student)記錄,含有SNO、SNAME、SCORE三個欄位。 • 每個課程(Course)記錄,含有CNO、CNAME、CREDIT三欄位。 • 每個教授(Faculty)記錄,含有FNO、FNAME、OFFICE三欄位。 • 每個學生必須選修(Enroll)課程,每門課程需有學生選才開。 • 每個學生都有一個指導教授,而每個教授可以指導(Advise)許多學生,亦可不收。 • 每個教授必須開課(Teach),且相同的課程可以由不同的教授講授。 Hue-Ling Chen

  30. 基本名詞 • 超級鍵(superkey):由一個或多個屬性組合而成的集合,可用來識別實體型態中唯一的實體。 • 候選鍵(Candidate):最小的superkey,換言之其子集合中不會形成superkey。 • 主鍵(Primary key):為一候選鍵作為識別唯一實體的依據。 Hue-Ling Chen

  31. 開發資料庫系統的規劃事項 (1) • 先確定應用系統所需要的「個體類型」(Entity Type)有哪些? • 選課系統 • 學生(Student) • 課程(Course) • 老師(Teacher) Hue-Ling Chen

  32. 開發資料庫系統的規劃事項 (2) • 接下來找出個體與個體間會存在資料庫中靜態「關係類型」(Relationship Type),並探討其關係是「一對一」、「一對多」或「多對多」。 • 每個學生必須選修(Enroll)課程,每門課程需有學生選才開。→「多對多」 • 每個學生都有一個指導教授,而每個教授可以指導(Advise)許多學生,亦可不收。→「一對多」 • 每個教授必須開課(Teach),且相同的課程可以由不同的教授講授。 →「一對多」 Hue-Ling Chen

  33. m n Student Enroll Advise Teach Course m n 1 1 Teacher 開發資料庫系統的規劃事項 (3) • 繪出「個體—關係圖」(Entity-Relationship Diagram, ERD)。 Hue-Ling Chen

  34. 開發資料庫系統的規劃事項 (4) • 檢討「個體—關係圖」中的每個「個體」所需的特性。 • 每一個學生(Student),含有學號、姓名、級別等特性。 • 每個課程(Course)記錄,含有課號、課程名稱、開課時間等特性。 • 每個教授(Faculty)記錄,含有教師編號、姓名、辦公室等特性。 Hue-Ling Chen

  35. 開發資料庫系統的規劃事項 (5) • 檢討「個體—關係圖」中的每個「關係類型」所需的特性。 • 學生選課 • 「學分數」(credits) Hue-Ling Chen

  36. 學號 姓名 代號 課名 課號 時間 級別 姓名 學分 m n Student Advise Teach Enroll Course n m Teacher 1 1 辦公室 開發資料庫系統的規劃事項 (6) • 在「個體—關係圖」上補上橢圓行代表各種特性。 Hue-Ling Chen

  37. 開發資料庫系統的規劃事項 (7) • 針對每一個「個體—關聯圖」中的「個體類型」產生一個關聯表,其中關聯表的屬性即為個體的特性。 Hue-Ling Chen

  38. 開發資料庫系統的規劃事項 (8) • 針對每一個「個體—關係圖」中的「關聯類型」也產生一個關聯表。 Hue-Ling Chen

  39. Case Ⅰ 1:1 移入任何一個 Hue-Ling Chen

  40. Case Ⅱ 1:N 移入N的一方 Hue-Ling Chen

  41. Advise Teach Hue-Ling Chen

  42. Case Ⅲ M:N 不可移入任何一方 Hue-Ling Chen

  43. 開發資料庫系統的規劃事項 (9) • 針對每一個表格的所有屬性,一一檢討下列幾項有關於欄位的內容 • 意義 • 類型:整數,字元,日期或圖片。 • 所佔的位元長度 • 內容是否要唯一:候選鍵與主鍵的確定。 • 是否有預設值 • 是否有範圍限制 • 是否有格式規範 • 是否為外來鍵?參考的表格與欄位?外來鍵的使用規格? Hue-Ling Chen

  44. 繪出整體資料庫的外來鍵參考圖 開發資料庫系統的規劃事項 (10) Hue-Ling Chen

  45. 開發資料庫系統的規劃事項 (11,12) • 規劃各個功能的使用者介面與系統架構圖 • 對於各個系統的功能,說明要完成該功能的資料庫運算為何 • 預儲程序(Stored Procedure) • 觸發程序(Trigger) Hue-Ling Chen

  46. 設計個體關聯圖時常犯的錯誤 (1) • 扇形陷阱 (Fan Trap) • 假設兩個個體類型 A 與 B,在「個體—關係圖 (ERD)」中可以找到一條路徑將它們聯繫起來。 • 如果存在某些屬於 A 中的個體會聯繫到兩個以上屬於 B 的個體的話,那麼「扇形陷阱」就會出現。 Hue-Ling Chen

  47. 老師 1 1 受教 教授 n m 學生 Course ERD (Error ex.) Hue-Ling Chen

  48. Tables (Error ex.) Hue-Ling Chen

  49. 課程 1 m 受教 教授 n 1 學生 老師 ERD (Correct ex.) Hue-Ling Chen

  50. Tables (Correct ex.) Hue-Ling Chen

More Related