在不能保證任何單字段都包含唯一值時,可以將兩個或更多的字段指定為主鍵。這種情況最常出現在用于多對多關系中關聯另外兩個表的表。“多對多關系”是關系數據庫中較難理解的概念,但卻非常實用,它說明如A 表中的記錄能與 B 表中的許多行記錄匹配,并且B表中的記錄也能與A表中的許多行記錄匹配。此關系的類型僅能通過定義第三張表(稱作“聯結表”)的方法來實現,其主鍵包含二個字段,即來源于A和B兩張表的外部鍵。多對多關系實際上是使用第三張表的兩個一對多關系。例如,“訂單”表和“產品”表就可能有一個多對多的關系,它是通過“訂單明細”表中兩個一對多關系來創建的。