คีย์หลักคือรายการในฐานข้อมูลที่ไม่ซ้ำกับระเบียนเดียว คีย์นี้ได้มาโดยทั่วไปในหนึ่งในสองวิธี: รหัสประจำตัวที่ไม่ซ้ำจากภายนอกฐานข้อมูลหรือหมายเลขที่สร้างขึ้นจากภายในฐานข้อมูล เมื่อฐานข้อมูลจะมีข้อมูลที่ไม่ซ้ำกับรายการเช่นหมายเลขประกันสังคมหรือหมายเลขประจำตัวส่วนหนึ่งแล้วโดยทั่วไปจะใช้เป็นคีย์หลัก เมื่อข้อมูลไม่มีตัวระบุดังกล่าวฐานข้อมูลมักจะสร้างตัวเลขตามระบบภายในเพื่อให้รหัสที่ไม่ซ้ำกันแต่ละระเบียน
มีข้อ จำกัด หลักสามประการในคีย์หลัก: การมีอยู่เอกลักษณ์และไม่เปลี่ยนรูป ต้องมีคีย์ในเวลาที่สร้างเรคคอร์ด - ไม่สามารถเพิ่มได้ในภายหลัง แต่ละคีย์จะต้องแตกต่างจากคีย์อื่นอย่างสิ้นเชิง ซึ่งหมายความว่าไม่สามารถใช้ตัวระบุทั่วไปเช่นชื่อหรือวันเกิดเพราะเป็นไปได้ว่าคนสองคนเกิดในวันเดียวกันด้วยชื่อเดียวกัน สุดท้ายคีย์หลักไม่สามารถเปลี่ยนแปลงได้เมื่อสร้างขึ้นแล้ว
เนื่องจากฐานข้อมูลอาจมีจำนวนรายการไม่ จำกัด ดังนั้นคีย์หลักจึงต้องไม่มีที่สิ้นสุดเช่นกัน เพื่อให้แน่ใจว่าฐานข้อมูลจะไม่มีคีย์หมดเรคคอร์ดส่วนใหญ่จะใช้รหัสตัวเลขสำหรับคีย์ เนื่องจากตัวเลขสามารถใหญ่ขึ้นได้ตลอดเวลาและคอมพิวเตอร์ก็สามารถเพิ่มเลขศูนย์ไว้ในรายการที่เก่ากว่าได้ระบบจึงไม่ใช้กุญแจหมด บางครั้งตัวเลขเหล่านี้ขึ้นอยู่กับข้อมูลที่ไม่ซ้ำกัน แต่มีการเพิ่มตัวระบุที่ไม่ซ้ำกันเพื่อให้แน่ใจว่าคีย์นั้นทำงานได้
ฐานข้อมูลจะใช้คีย์หลักเป็นวิธีการจัดระเบียบข้อมูล เนื่องจากคีย์ไม่ถูกทำซ้ำส่วนของข้อมูลนั้นจะอนุญาตให้ฐานข้อมูลเก็บทุกระเบียนแยกจากกัน ข้อมูลแต่ละชิ้นในระเบียนเชื่อมต่อกลับไปยังกุญแจ ด้วยวิธีนี้ไม่ว่าจะเกิดอะไรขึ้นกับระบบฐานข้อมูลสามารถสร้างเร็กคอร์ดใหม่จากข้อมูลที่หลวม
การกำหนดคีย์หลักที่มีความหมายมักถูกมองว่าเป็นวิธีปฏิบัติที่ดีกว่าการสร้างค่าโดยอัตโนมัติ สิ่งนี้จะให้ตัวระบุระเบียนที่ทั้งสองทำงานเป็นคีย์และให้ข้อมูล ในฐานข้อมูลขนาดเล็กความแตกต่างนี้ไม่ค่อยจำเป็น แต่ในระบบขนาดใหญ่พื้นที่พิเศษที่ใช้โดยคีย์ที่สร้างขึ้นอาจส่งผลให้ฐานข้อมูลร้ายแรง สิ่งนี้จะทำให้ระบบช้าลงและทำให้ฐานข้อมูลต้องการพื้นที่เก็บข้อมูลมากขึ้น


