某一工廠的關聯資料庫(Relational Database)有三個表格(Table)如下:
員工Table E(E_num, E_name, E_birth, E_addr)
(欄位依序代表員工編號、員工姓名、員工生日、員工住址,其中E_num 為
Primary Key)
生產線Table D(D_num, D_name, De_num, Dp_num, Dp_sum)
(欄位依序代表生產線代號、生產線名稱、員工編號、產品代號、產出量,其
中{D_num, De_num, Dp_num}為Primary Key)
產品Table P(P_num, P_name, P_sum)
(欄位依序代表產品代號、產品名稱、產出總量,其中P_num 為Primary
Key)
假設每個員工都有可能支援任何生產線之工作,且每條生產線都有能力製造出所有
的產品:
請說明何謂foreign key?有何功能?以上述之資料庫,為求維持資料的一致性,應
該建置那些foreign keys?(9 分)
假設想從上述資料庫中,找出員工(姓名為John)所有參與製造之產品代號及產
品名稱,請寫出Relational Algebra 表示式。(8 分)
假設想從上述資料庫中,找出那些員工編號及其姓名,他們曾參與Table P 中所
有產品的製造,請寫出Relational Algebra 表示式。(8 分)
【Relational Operations: Restrict(σ), Project(π), Union(U), Intersection(Λ),
Difference(), Natural Join(∞), Divide(), Cartesian Product(×)】
time
tc1
tc2
tf
transactions
checkpoint
checkpoint
system failure
T1
T2
T3
T4
T5
T6