ก็เพื่อไม่ให้ข้อมูลซ้ำไงครับ (แล้วยังทำให้การสืบค้นทำได้เร็วขึ้น)
เช่น
ตาราง 1 เก็บข้อมูลผู้ป่วย (HN,Name,Address,...)
ตาราง 2 เก็บข้อมูลการแพ้ยา (HN,PharCode,...)
ตารางที่ 1 คงไม่ต้องอธิบาย
แต่ตารางที่ 2 ถ้าเรากำหนด Primary Key เพียงฟิลด์เดียวจะกำหนดฟิลด์ไหน
ถ้า HN ก็แปลว่าผู้ป่วยแพ้ยาได้เพียงชนิดเดียว ซึ่งเป็นไปได้ในบางคน แต่บางคนเกิดมาเพื่อจะแพ้ยา มีเด่นๆ กี่ตัวก็แพ้หมด แบบนี้จึงกำหนดเพียง HN ไม่ได้
ถ้า PharCode (รหัสยา) ก็หมายความว่าในบรรดายาทั้งหมดจะมีผู้แพ้ยาได้เพียงคนเดียว ซึ่งก็ไม่ได้เช่นกัน เพราะยาตัวเดียวกันมีคนแพ้เยอะมาก
ถ้าไม่กำหนดล่ะ ปัญหาก็จะเกิดเรื่องข้อมูลซ้ำซ้อน เพราะคน 1 คน แพ้ยา 1 ชนิดสามารถเกิดได้มากกว่า 1 เรคอร์ด
ดังนั้นจึงต้องกำหนดทั้ง HN,PharCode เพื่อให้ข้อมูลผู้แพ้ยา 1 ชนิดมีเพียง 1 เรคอร์ด ถ้าแพ้ยา 2 ชนิดก็ 2 เรคอร์ด
สุดท้ายการกำหนด Primary Key มักเกิดกับตารางที่มี Foreign Key (จำไม่ได้ว่าภาษาไทยเรียกอะไร) ซึ่งมักมีความสัมพันธ์แบบ 1:M