ความแตกต่างระหว่างคีย์ต่างประเทศกับคีย์หลัก

Anonim

คีย์ต่างประเทศกับคีย์หลัก

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

คีย์หลักคืออะไร?

คีย์หลักคือคอลัมน์หรือชุดค่าผสมของคอลัมน์ที่กำหนดแถวที่ไม่ซ้ำกันในตารางฐานข้อมูลเชิงสัมพันธ์ ตารางสามารถมีคีย์หลักได้ไม่เกินหนึ่งรายการ คีย์หลักบังคับใช้ข้อ จำกัด NOT NULL โดยนัย ดังนั้นคอลัมน์ที่กำหนดเป็นคีย์หลักไม่สามารถมีค่า NULL ในได้ คีย์หลักอาจเป็นแอตทริบิวต์ปกติในตารางที่ได้รับการรับรองว่าเป็นเอกลักษณ์เฉพาะเช่นหมายเลขประกันสังคมหรืออาจเป็นค่าที่ไม่ซ้ำกันที่สร้างขึ้นโดยระบบการจัดการฐานข้อมูลเช่นรหัสประจำตัวแบบเฉพาะทั่วโลก (GUID) ใน Microsoft SQL Server คีย์หลักมีการกำหนดผ่านข้อ จำกัด ของคีย์หลักใน ANSI SQL Standard คีย์หลักสามารถกำหนดได้เมื่อสร้างตาราง SQL ช่วยให้คีย์หลักถูกสร้างขึ้นจากคอลัมน์อย่างน้อยหนึ่งคอลัมน์และแต่ละคอลัมน์ที่รวมอยู่ในคีย์หลักจะถูกกำหนดโดยปริยายให้เป็น NOT NULL แต่บางระบบการจัดการฐานข้อมูลจำเป็นต้องทำให้คอลัมน์คีย์หลักอย่างชัดเจนไม่เป็นโมฆะ

คีย์ต่างประเทศคืออะไร?

คีย์ต่างประเทศเป็นข้อ จำกัด การอ้างอิงระหว่างสองตาราง จะระบุคอลัมน์หรือชุดของคอลัมน์ในตารางหนึ่งเรียกว่าตารางอ้างอิงที่อ้างถึงชุดของคอลัมน์ในตารางอื่นเรียกว่าตารางที่อ้างถึง คีย์ต่างประเทศหรือคอลัมน์ในตารางอ้างอิงต้องเป็นคีย์หลักหรือคีย์ผู้สมัคร (คีย์ที่สามารถใช้เป็นคีย์หลัก) ในตารางที่อ้างอิง คีย์ต่างประเทศใช้ในการเชื่อมโยงข้อมูลข้ามตารางต่างๆ ดังนั้นคีย์ต่างประเทศไม่สามารถมีค่าที่ไม่ปรากฏในตารางที่อ้างถึงได้ จากนั้นการอ้างอิงจากคีย์ต่างประเทศสามารถนำมาใช้เพื่อเชื่อมโยงข้อมูลในตารางต่างๆและนี่จะเป็นสิ่งที่จำเป็นกับฐานข้อมูลที่เป็นมาตรฐาน แถวหลายแถวในตารางอ้างอิงอาจอ้างถึงแถวเดียวในตารางที่อ้างถึง ในมาตรฐาน ANSI SQL คีย์ต่างประเทศจะถูกกำหนดโดยใช้ข้อ จำกัด KEY FOREIGN KEY นอกจากนี้ยังสามารถกำหนดคีย์ต่างประเทศได้เมื่อสร้างตาราง ตารางสามารถมีคีย์ต่างประเทศได้มากมายและสามารถอ้างอิงตารางต่างๆได้

อะไรคือความแตกต่างระหว่างคีย์ต่างประเทศกับคีย์หลัก?

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