คำตอบสั้น ๆ : DEPENDS .... ในกรณีนี้อาจจะไม่เป็นไร อย่างไรก็ตามผู้เชี่ยวชาญจะแนะนำให้ต่อต้านทุกครั้ง รวมถึงกรณีของคุณ
ทำไม?
คีย์แทบจะไม่ซ้ำกันในตารางเมื่อเป็นสิ่งแปลกปลอม (มาจากตารางอื่น) ไปยังตารางที่มีปัญหา ตัวอย่างเช่นรหัสรายการอาจไม่ซ้ำกันในตาราง ITEMS แต่ไม่อยู่ในตารางคำสั่งซื้อเนื่องจากรายการประเภทเดียวกันมักจะอยู่ในลำดับอื่น ในทำนองเดียวกันรหัสคำสั่งซื้ออาจไม่ซ้ำกัน (อาจ) ในตารางคำสั่งซื้อ แต่ไม่มีในตารางอื่น ๆ เช่น ORDER_DETAILS ที่สามารถมีคำสั่งซื้อที่มีรายการโฆษณาหลายรายการได้และหากต้องการค้นหารายการใดรายการหนึ่งในคำสั่งซื้อหนึ่ง ๆ คุณต้องมีการเชื่อมสองรายการเข้าด้วยกัน FK (order_id และ item_id) เป็น PK สำหรับตารางนี้
ฉันไม่ใช่ผู้เชี่ยวชาญด้าน DB แต่ถ้าคุณสามารถปรับเหตุผลให้มีค่าที่สร้างขึ้นโดยอัตโนมัติเป็น PK ของคุณฉันจะทำเช่นนั้น หากไม่สามารถใช้งานได้จริง FK สองตัว (หรืออาจมากกว่านั้น) ต่อกันอาจใช้เป็น PK ของคุณได้ แต่ฉันไม่สามารถนึกถึงกรณีใด ๆ ที่สามารถใช้ค่า FK เดียวเป็นค่า PK ได้