資料庫 第四章 關聯模式

DBMS 資料庫管理程式 關聯式資料庫

資料庫 Database 關聯模式

-資料表(table) *關聯

–資料表相連 用主鍵

–序列值(Tuple) *列(Row),紀錄(Record) [一整列]

–屬性(Attribute) *行(Column),欄位(Field)

–關聯綱目(Student)

–儲存格 cell [單格]

–屬性值 [一整行]

Students

 *stno  stname  cellphone
 092001   jane   09201211 
 092002   mary  0922283624
 092003  john  0928381216

紅=序列值(Tuple) *列(Row),紀錄(Record) [一整列]

綠=儲存格 cell [單格]

淺藍=屬性(Attribute) *行(Column),欄位(Field)

橘=屬性值 [一整行]

R(A1,A2,…,An) = 資料表(屬性1,屬性2,…,屬性1)

定義域限制:

每一個屬性值都是 "簡單" 且 "單值"

簡單 is power.

簡單=不是複合的 舉例:地址 跟 郵遞區號

<第四章 103頁>

序列值(紀錄)[一整列] 是沒有順序的 依照 紀錄時間排序

一個關聯中 不可以兩筆 序列值[一整列] 不能有完全一樣

屬性值[一整行] 是有順序的 可以進行排序

複合與多值屬性 不能出現在關聯中

不能出現類似

D123F45678

phone=[5252000,5364564] (雙紀錄)

主鍵不能為空值

資料庫的核心理論-ERD

ERD

1.

一筆交易至少包括一個商品,至多可有N個商品。一個商品可以不存在任何交易裡,至多可以存在N個交易。

2.

一筆交易至少包括一個商品,至多可有N個商品。一個商品可以不存在任何交易裡,至多可以存在N個交易。

3.

關鍵屬性 畫底線

作業: 3-6

3/24 下星期二 晚上12點之前上傳

假設你要為一個人力資源部門設計徵才系統,該系統需記載公司裡的各個職位、空缺職位、應徵者的資料、以及面談結果。具體說來,該系統的資料需求如下:

1. 部門 (Department):包括部門編號 (dId)、部門名稱(dName),和部門所在(dLocations),其中部門編號和部門名稱均唯一,且部門所在地可有多個。

2. 職位 (Position):用來描述一個職位,包括職位名稱(pName) 和職責敘述 (pDesc)。其中沒有一個屬性是唯一的,但同一部門的各個職位的職位名稱必不同。

3. 職缺 (Vacancy):包括職缺編號 (vId)、職缺條件 (vCond)、職缺人數 (vNo), 和出缺日期 (vDate)。其中職缺編號為唯一。此外,一個職缺必對應於一個職位,但一個職位可能會分成數個職缺來報。

4. 應徵者 (Applicant):包括身分證字號 (pId)、姓名 (name)、性別 (gender)、學歷 (degrees),和其他資料 (data)。其中身分證字號為唯一,學歷可有多個。一個應徵者可以應徵多個職缺。

5. 員工 (Employee):包括工號 (eId)、姓名 (name)、性別 (gender),和專長(expertise)。其中工號是唯一,而專長可有多個。

此外,有些應徵者申請某個職缺時需要與某些員工面談(Interview),面談的日期和面談的結果必須記載。請繪出符合以上資料需求的 ERD,必要時可以自行假設其他條件,但要寫清楚。

小毛解: