實體關係模型 (ER Model)
Outline 資料庫的設計流程 實體關係模型(Entity Relationship Model, ER Model) 關聯說明 範例:圖書管理系統
資料庫的設計流程 了解顧客需求 邏輯資料設計 實體資料設計 建立資料庫 使用ER Model 進行正規化設計 使用結構化查詢語言(Structured Query Language, SQL) 建立資料庫
資料庫的設計流程 結構化查詢語言(Structured Query Language, SQL)包括 資料定義語言(Data Definition Language, DDL) 資料操作語言(Data Manipulation Language, DML) 資料控制語言(Data Control Language, DCL) 關聯式模式的理論基礎來自數學的集合論(Set Theory),由E.F.Codd在1970時所提出 在關聯式模式中,資料庫是一群「關聯表」(Relations,這就是目前我們慣稱的資料表-Tables)的集合,所以關聯表非常重要。 下一張即為關聯表的示意圖
實體關係模型 (Entity Relationship Model, ER Model) 實體關係圖(Entity Relationship Diagram, ERD) 實體(Entity):在真實世界中我們有興趣的人、事、物。如學生、員工、公司、廠商等。 屬性(Attribute):對於每的實體,使用者會有進一步想紀錄或了解的資訊,而這些資料便成為該實體的屬性。 關係(Relationship):存在於實體與實體間的關聯,可能是連接一個實體、兩個實體或多個實體。 關聯式模式的理論基礎來自數學的集合論(Set Theory),由E.F.Codd在1970時所提出 在關聯式模式中,資料庫是一群「關聯表」(Relations,這就是目前我們慣稱的資料表-Tables)的集合,所以關聯表非常重要。 下一張即為關聯表的示意圖
實體關係模型 (Entity Relationship Model, ER Model) 鍵(Key) 候選鍵(Candidate Key):所有可能被選為主鍵的鍵皆稱之。 主鍵(Primary Key):可從眾多的候選鍵挑選一個為該資料表的主鍵。 替代鍵(Alternate Key):候選鍵中未被選為主鍵者均稱為替代鍵。 組合鍵(Composite Key):由多個屬性所組合而成的鍵稱之。如薪水是由員工的年資與職位所組成。 外來鍵(Foreign Key):另一個資料表上的「鍵」,它與本資料表之主鍵具有相同的意含,則該鍵稱為本資料表的「外來鍵」。 關聯式模式的理論基礎來自數學的集合論(Set Theory),由E.F.Codd在1970時所提出 在關聯式模式中,資料庫是一群「關聯表」(Relations,這就是目前我們慣稱的資料表-Tables)的集合,所以關聯表非常重要。 下一張即為關聯表的示意圖
實體關係模型 (Entity Relationship Model, ER Model) 關聯(Relationships) 一對一的關聯(1:1):指一個實體的記錄只能關聯到另一個實體的一筆記錄。如學生與學號的關係。 一對多的關聯(1:M):指一個實體的記錄只能關聯到另一個實體的多筆記錄。如員工與部門的關係。 多對多的關聯(M:N):指一個實體的多筆記錄只能關聯到另一個實體的多筆記錄。如客戶與商品的關係。 關聯式模式的理論基礎來自數學的集合論(Set Theory),由E.F.Codd在1970時所提出 在關聯式模式中,資料庫是一群「關聯表」(Relations,這就是目前我們慣稱的資料表-Tables)的集合,所以關聯表非常重要。 下一張即為關聯表的示意圖
實體關係模型 (Entity Relationship Model, ER Model) 資料完整性(Integrity Rules) 實體完整性(Entity Integrity Rules):資料表中設定主索引的欄位不能含有空值(null) 。 參考完整性(Reference Integrity Rules):建立關聯後,其外部索引不能含有無法對應的欄位值。 區域完整性(Domain Integrity):為了確保資料在允許的範圍中,設定輸入的範圍。 使用者定義完整性(Domain Integrity):由使用者自行定義,如三次借書逾期則停止借書一次。 關聯式模式的理論基礎來自數學的集合論(Set Theory),由E.F.Codd在1970時所提出 在關聯式模式中,資料庫是一群「關聯表」(Relations,這就是目前我們慣稱的資料表-Tables)的集合,所以關聯表非常重要。 下一張即為關聯表的示意圖
實體關係模型 (Entity Relationship Model, ER Model) 符號 說明 代表實體,我們建立的資料表 代表資料表的欄位 代表關係體 1:1 在關聯中是一對一的關係 1:N 在關聯中是一對多的關係 M:N 在關聯中是多對多的關係 關聯式模式的理論基礎來自數學的集合論(Set Theory),由E.F.Codd在1970時所提出 在關聯式模式中,資料庫是一群「關聯表」(Relations,這就是目前我們慣稱的資料表-Tables)的集合,所以關聯表非常重要。 下一張即為關聯表的示意圖
關聯說明 「系」與「教授」的關係 姓名 系辦 辦公室 分機 編號 名稱 主任姓名 分機 屬於 系 教授 m 1 關聯式模式的理論基礎來自數學的集合論(Set Theory),由E.F.Codd在1970時所提出 在關聯式模式中,資料庫是一群「關聯表」(Relations,這就是目前我們慣稱的資料表-Tables)的集合,所以關聯表非常重要。 下一張即為關聯表的示意圖 m 1 「系」與「教授」的關係
關聯說明 系資料表 名稱 分機 系辦 主任姓名 教授資料表 編號 姓名 辦公室 分機 系名稱 關聯式模式的理論基礎來自數學的集合論(Set Theory),由E.F.Codd在1970時所提出 在關聯式模式中,資料庫是一群「關聯表」(Relations,這就是目前我們慣稱的資料表-Tables)的集合,所以關聯表非常重要。 下一張即為關聯表的示意圖
關聯說明 「開課班級」與「教授」的關係 姓名 教室 辦公室 名稱 編號 編號 上課時間 分機 授課 開課班級 教授 m 1 關聯式模式的理論基礎來自數學的集合論(Set Theory),由E.F.Codd在1970時所提出 在關聯式模式中,資料庫是一群「關聯表」(Relations,這就是目前我們慣稱的資料表-Tables)的集合,所以關聯表非常重要。 下一張即為關聯表的示意圖 m 1 「開課班級」與「教授」的關係
關聯說明 開課資料表 編號 名稱 教室 上課時間 教授編號 教授資料表 編號 姓名 辦公室 分機 關聯式模式的理論基礎來自數學的集合論(Set Theory),由E.F.Codd在1970時所提出 在關聯式模式中,資料庫是一群「關聯表」(Relations,這就是目前我們慣稱的資料表-Tables)的集合,所以關聯表非常重要。 下一張即為關聯表的示意圖
範例:圖書管理系統 實體與屬性 關聯 借書人:學號、身分證字號、姓名、性別、電話、地址、科系 圖書:書籍編號、書名、作者、出版社、價格、類別 經手人:教職員編號、姓名、職位 借書單:借書證號碼、借書人、書籍名稱、借書日期、歸還日期、經手人 關聯 「借書人」與「借書單」間為1對多的『借書』關係 「經手人」與「借書單」間為1對多的『處理』關係 「圖書」與「借書單」間為1對多的『借閱』關係 關聯式模式的理論基礎來自數學的集合論(Set Theory),由E.F.Codd在1970時所提出 在關聯式模式中,資料庫是一群「關聯表」(Relations,這就是目前我們慣稱的資料表-Tables)的集合,所以關聯表非常重要。 下一張即為關聯表的示意圖
關聯說明 m 借書單 借書 借書人 1 m 處理 m 1 借閱 1 圖書 經手人 姓名 電話 借書日期 地址 身分證字號 借書證號碼 歸還日期 科系 學號 m 借書單 借書 借書人 1 m 出版社 處理 作者 價格 類別 書名 關聯式模式的理論基礎來自數學的集合論(Set Theory),由E.F.Codd在1970時所提出 在關聯式模式中,資料庫是一群「關聯表」(Relations,這就是目前我們慣稱的資料表-Tables)的集合,所以關聯表非常重要。 下一張即為關聯表的示意圖 m 1 借閱 書籍編號 姓名 1 教職員編號 職位 圖書 經手人
關聯說明 圖書資料表 書籍編號 書名 作者 出版社 價格 類別 借書人資料表 學號 身分證字號 姓名 性別 電話 地址 科系 借書單資料表 借書證號碼 借書人 書籍名稱 借書日期 歸還日期 經手人 1 1 m m 關聯式模式的理論基礎來自數學的集合論(Set Theory),由E.F.Codd在1970時所提出 在關聯式模式中,資料庫是一群「關聯表」(Relations,這就是目前我們慣稱的資料表-Tables)的集合,所以關聯表非常重要。 下一張即為關聯表的示意圖 m 經手人資料表 教職員編號 姓名 職位 1
關聯說明:第三階正規化 關聯式模式的理論基礎來自數學的集合論(Set Theory),由E.F.Codd在1970時所提出 在關聯式模式中,資料庫是一群「關聯表」(Relations,這就是目前我們慣稱的資料表-Tables)的集合,所以關聯表非常重要。 下一張即為關聯表的示意圖