21
การปฏิบัติที่ดีที่สุดสำหรับคีย์หลักในตารางคืออะไร
เมื่อออกแบบตารางฉันได้พัฒนานิสัยการมีหนึ่งคอลัมน์ที่ไม่เหมือนใครและฉันสร้างคีย์หลัก สามารถทำได้สามวิธีขึ้นอยู่กับข้อกำหนด: คอลัมน์จำนวนเต็มข้อมูลประจำตัวที่เพิ่มขึ้นอัตโนมัติ ตัวระบุที่ไม่ซ้ำกัน (GUID) คอลัมน์อักขระสั้น (x) หรือจำนวนเต็ม (หรือชนิดตัวเลขอื่น ๆ ที่ค่อนข้างเล็ก) ที่สามารถใช้เป็นคอลัมน์ตัวระบุแถว หมายเลข 3 จะใช้สำหรับการค้นหาที่ค่อนข้างเล็กส่วนใหญ่อ่านตารางที่อาจมีรหัสสตริงความยาวคงที่ที่ไม่ซ้ำกันหรือค่าตัวเลขเช่นปีหรือตัวเลขอื่น ๆ ส่วนใหญ่ตารางอื่น ๆ ทั้งหมดจะมีเลขจำนวนเต็มเพิ่มอัตโนมัติหรือคีย์หลักของตัวระบุที่ไม่ซ้ำกัน คำถาม :-) ฉันเพิ่งเริ่มทำงานกับฐานข้อมูลที่ไม่มีตัวระบุแถวที่สอดคล้องกันและคีย์หลักได้รับการจัดกลุ่มในคอลัมน์ต่างๆ ตัวอย่างบางส่วน: datetime / ตัวอักษร datetime / จำนวนเต็ม datetime / varchar ถ่าน / nvarchar / nvarchar มีกรณีที่ถูกต้องสำหรับเรื่องนี้? ฉันจะกำหนดคอลัมน์ข้อมูลประจำตัวหรือรหัสเฉพาะสำหรับกรณีเหล่านี้อยู่เสมอ นอกจากนี้ยังมีหลายตารางที่ไม่มีคีย์หลักเลย อะไรคือเหตุผลที่ถูกต้องถ้ามีสำหรับสิ่งนี้? ฉันพยายามที่จะเข้าใจว่าทำไมตารางถูกออกแบบมาเหมือนที่เคยเป็นมาและดูเหมือนว่าเป็นเรื่องใหญ่สำหรับฉัน แต่อาจมีเหตุผลที่ดีสำหรับมัน คำถามที่สามที่จะช่วยฉันถอดรหัสคำตอบ: ในกรณีที่มีหลายคอลัมน์ที่ใช้ในการประกอบคีย์หลักแบบผสมจะมีความได้เปรียบเฉพาะกับวิธีนี้เทียบกับคีย์ตัวแทน / เทียมหรือไม่ ฉันคิดว่าส่วนใหญ่เกี่ยวกับประสิทธิภาพการบำรุงรักษาการบริหาร ฯลฯ ?