複合匙composite key)喺數據庫上係指一種主匙嘅做法,指條匙由兩個或者以上嘅特性()組成[1]。舉個例說明,想像家陣有間企業想整個數據庫,記住自己同啲客做過嘅交易,於是佢就整咗個噉嘅數據庫-個數據庫每一列都記住咗一串交易,會包含以下嘅重要數據

  • Employee_id 指做嗰單交易嘅員工嘅號碼(記員工數據嗰張表條主匙)、
  • Client_id 指做嗰單交易嘅客嘅號碼(記住啲客嘅數據嗰張表條主匙)、
  • Total_sales 指嗰位員工同嗰位客之間嘅交易總共賺咗幾多錢,以美元計。

即係例如員工號碼 107 嗰位員工同客戶號碼 400 嗰個客之間做咗嘅交易總共值 55,000 文美元咁多。喺呢個表當中,Employee_idClient_id 一齊扮演咗主匙嘅角色-一位員工可能同時要應付多個客,所以齋靠 Employee_id 做唔到主匙,而一個客又可能會由幾位員工同時處理,所以齋靠 Client_id 都係做唔到主匙,不過 Employee_idClient_id 一齊用就能夠做到每個個案都有佢嘅獨有數值。呢種用兩個或者以上嘅特性結合而成嘅主匙就係複合匙[1]

Employee_id Client_id Total_sales
107 400 55,000
101 401 267,000
105 402 22,500
104 403 5,000
... ... ...

睇埋 編輯

編輯

  1. 1.0 1.1 Sismanis, Y., Brown, P., Haas, P. J., & Reinwald, B. (2006, September). Gordian: efficient and scalable discovery of composite keys. In Proceedings of the 32nd international conference on Very large data bases (pp. 691-702).