แนะนำ, 2024

ตัวเลือกของบรรณาธิการ

ความแตกต่างระหว่างคีย์หลักและรหัสผู้สมัคร

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

มีความแตกต่างเพิ่มเติมระหว่างคีย์หลักและคีย์ผู้สมัครซึ่งฉันจะหารือด้วยความช่วยเหลือของแผนภูมิเปรียบเทียบที่แสดงด้านล่าง

แผนภูมิเปรียบเทียบ

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

ความหมายของคีย์หลัก

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

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

หากความสัมพันธ์มีแอตทริบิวต์ที่เป็นคีย์หลักของความสัมพันธ์อื่น ๆ แอตทริบิวต์นั้นจะเรียกว่า foreign key

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

ตอนนี้ให้เราดูตัวอย่างของคีย์หลัก

 นักเรียน {ID, First_name, Last_name, อายุ, ที่อยู่} 

ที่นี่เราจะหารหัสผู้สมัครก่อน ฉันพบคีย์ผู้สมัคร สอง คน {ID} และ {First_name, Last_name} เนื่องจากพวกเขาจะระบุนักเรียนแต่ละคนโดยไม่ซ้ำกันในความสัมพันธ์ของนักเรียน ตอนนี้ที่นี่ฉันจะเลือก ID เป็นคีย์หลักของฉันเพราะบางครั้งอาจเกิดขึ้นที่นักเรียนสองคนอาจมีชื่อและนามสกุลเหมือนกันดังนั้นจึงง่ายต่อการติดตามนักเรียนด้วย ID ของเขา

คำจำกัดความของรหัสผู้สมัคร

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

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

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

ให้เราเข้าใจรหัสผู้สมัครพร้อมตัวอย่าง หากเราเพิ่มคุณสมบัติเพิ่มเติมให้กับความสัมพันธ์ของนักเรียนฉันพูดถึงข้างต้น

 นักเรียน {ID, First_name, Last_name, อายุ, ที่อยู่, DOB, Department_name} 

ที่นี่ฉันสามารถหาคีย์ผู้สมัคร สอง คนคือ {ID}, {First_name, Last_name, DOB} ดังนั้นคุณสามารถเข้าใจได้ว่าคีย์ผู้สมัครเป็นกุญแจที่ระบุทูเปิลในความสัมพันธ์โดยเฉพาะ

ความแตกต่างระหว่างคีย์หลักและคีย์ผู้สมัคร

  1. จุดพื้นฐานที่แตกต่างคีย์หลักจากคีย์ผู้สมัครคือว่าสามารถมีเพียงหนึ่งหลักสำหรับความสัมพันธ์ใด ๆ ในสคีมา อย่างไรก็ตามอาจมีปุ่มผู้สมัครหลายคนสำหรับความสัมพันธ์เดียว
  2. แอ็ตทริบิวต์ภายใต้คีย์หลักไม่สามารถมีค่า NULL ได้เนื่องจากฟังก์ชั่นหลักของคีย์หลักคือการระบุระเบียนที่เกี่ยวข้องโดยเฉพาะ แม้แต่คีย์หลักอาจถูกใช้เป็น foreign key ในความสัมพันธ์อื่นและดังนั้นจึงต้องไม่เป็น NULL เพื่อให้การอ้างอิงความสัมพันธ์สามารถค้นหา tuples ในความสัมพันธ์ที่อ้างอิง คีย์ตัวเลือกสามารถเป็น NULL ยกเว้นว่ามีการระบุข้อ จำกัด ของแอตทริบิวต์ไม่เป็นโมฆะ
  3. มันเป็นตัวเลือกในการระบุคีย์หลัก แต่ไม่สามารถมีความสัมพันธ์โดยไม่ต้องใช้คีย์ตัวเลือก
  4. คีย์หลักอธิบายคุณลักษณะเฉพาะและสำคัญที่สุดของความสัมพันธ์ในขณะที่คีย์ตัวเลือกให้ผู้สมัครที่สามารถเลือกเป็นคีย์หลักได้
  5. ทุกคีย์หลักคือคีย์ตัวเลือก แต่ในทางกลับกันไม่เป็นความจริง

สรุป:

เป็นทางเลือกสำหรับความสัมพันธ์เพื่อระบุคีย์หลัก ในทางกลับกันหากคุณกำลังประกาศความสัมพันธ์จะต้องมีรหัสผู้สมัครในความสัมพันธ์นั้นเพื่อสร้างความสัมพันธ์ที่ดี

Top