คีย์หลักสามารถเป็นคีย์ต่างประเทศได้หรือไม่?
คีย์หลักสามารถเป็นคีย์ต่างประเทศได้หรือไม่?

วีดีโอ: คีย์หลักสามารถเป็นคีย์ต่างประเทศได้หรือไม่?

วีดีโอ: คีย์หลักสามารถเป็นคีย์ต่างประเทศได้หรือไม่?
วีดีโอ: กรุงเทพฯ เล็งเก็บ ‘ค่าธรรมเนียมรถติด’ ช่วยได้หรือไม่ | KEY MESSAGES #48 2024, อาจ
Anonim

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

ในทำนองเดียวกันจะถามว่าคีย์หลักสามารถเป็นคีย์ต่างประเทศในตารางเดียวกันได้หรือไม่?

การสร้าง กุญแจต่างประเทศ เกือบจะง่ายพอๆ กับการสร้าง a คีย์หลัก ยกเว้นว่า SQL Server จะกำหนดกฎเพิ่มเติมอีกหลายข้อใน กุญแจต่างประเทศ . ตัวอย่างเช่น กุญแจต่างประเทศ ต้องอ้างอิง a คีย์หลัก หรือข้อจำกัดเฉพาะ แม้ว่าการอ้างอิงนั้น สามารถ อยู่บน โต๊ะเดียวกัน หรืออย่างอื่น ตาราง.

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

ในที่นี้คุณสามารถมีคีย์ต่างประเทศโดยไม่มีคีย์หลักได้หรือไม่?

ใช่. เรา สามารถ สร้าง กุญแจต่างประเทศโดยไม่ต้อง มี คีย์หลัก ในตารางหลัก ส่วนมากของเรามีความเข้าใจผิดว่าเรา สามารถ ไม่สร้าง คีย์ต่างประเทศที่ไม่มีคีย์หลัก ในตารางหลัก ไอดีอันเป็นเอกลักษณ์ สามารถ เป็น คีย์หลัก หรือเอกลักษณ์ กุญแจ.

รหัสต่างประเทศสามารถทำซ้ำได้หรือไม่?

ไม่เหมือนประถม กุญแจ , กุญแจต่างประเทศสามารถ บรรจุ ทำซ้ำ ค่า นอกจากนี้ยังเป็นเรื่องปกติสำหรับพวกเขาที่มีค่า NULL ดัชนีไม่ได้ถูกสร้างขึ้นโดยอัตโนมัติสำหรับ กุญแจต่างประเทศ ; อย่างไรก็ตาม ในฐานะ DBA คุณ สามารถ กำหนดพวกเขา ตารางได้รับอนุญาตให้มีมากกว่าหนึ่ง กุญแจต่างประเทศ.