Skip to main content

วิธี Integrity Referential มั่นใจฐานข้อมูลสม่ำเสมอ

Foreign Key (FK) Constraint in SQL Server (Referential Integrity) (อาจ 2024)

Foreign Key (FK) Constraint in SQL Server (Referential Integrity) (อาจ 2024)
Anonim

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

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

คีย์หลัก

คีย์หลักของตารางฐานข้อมูลคือตัวระบุเฉพาะที่กำหนดให้กับแต่ละระเบียน แต่ละตารางมีคอลัมน์อย่างน้อยหนึ่งคอลัมน์ที่กำหนดให้เป็นคีย์หลัก หมายเลขประกันสังคมอาจเป็นคีย์หลักสำหรับรายชื่อฐานข้อมูลของพนักงานเนื่องจากหมายเลขประกันสังคมแต่ละฉบับมีความเป็นเอกลักษณ์

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

วิธีที่ง่ายที่สุดในการบังคับใช้ความสมบูรณ์แบบอ้างอิงไม่ได้เป็นการอนุญาตให้มีการเปลี่ยนแปลงคีย์หลัก

คีย์ต่างประเทศ

คีย์ต่างประเทศเป็นตัวระบุในตารางที่ตรงกับคีย์หลักของตารางอื่น คีย์ต่างประเทศสร้างความสัมพันธ์กับตารางอื่น ความหมายเชิงอ้างอิงหมายถึงความสัมพันธ์ระหว่างตารางเหล่านี้

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

ตัวอย่างกฎความสอดคล้อง

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

  • คุณไม่สามารถเพิ่มระเบียนลงในตารางพนักงานยกเว้นแอตทริบิวต์ ManagedBy ชี้ไปยังระเบียนที่ถูกต้องในตารางตัวจัดการ ความถูกต้องของข้อมูลอ้างอิงช่วยป้องกันการแทรกรายละเอียดที่ไม่ถูกต้องลงในตาราง การดำเนินการใด ๆ ที่ไม่เป็นไปตามกฎความสมบูรณ์ referential ล้มเหลว
  • ถ้าคีย์หลักสำหรับเรกคอร์ดในตารางตัวจัดการเปลี่ยนแปลงระเบียนที่สอดคล้องกันทั้งหมดในตารางพนักงานถูกปรับเปลี่ยนโดยใช้การปรับปรุง cascading
  • ถ้าระเบียนในตารางผู้จัดการถูกลบระเบียนที่สอดคล้องกันทั้งหมดในตารางพนักงานจะถูกลบออกโดยใช้การลบข้อมูลแบบเรียงซ้อน

ข้อดีของข้อจำกัดความสอดคล้อง

การใช้ระบบการจัดการฐานข้อมูลเชิงสัมพันธ์กับความสมบูรณ์แบบอ้างอิงมีข้อดีหลายอย่าง:

  • ป้องกันการป้อนข้อมูลที่ซ้ำกัน
  • ป้องกันไม่ให้หนึ่งตารางชี้ไปที่ฟิลด์ที่ไม่มีอยู่ในตารางอื่น
  • รับประกันความสอดคล้องระหว่างตาราง "พันธมิตร"
  • ป้องกันการลบเรกคอร์ดที่มีค่าที่คีย์เวิร์ดอ้างอิงจากต่างประเทศในตารางอื่น
  • ป้องกันการเพิ่มระเบียนลงในตารางที่มีคีย์ต่างประเทศนอกจากจะมีคีย์หลักในตารางที่เชื่อมโยงอยู่