คีย์พื้นฐานที่ทำให้การจัดการฐานข้อมูลง่าย

คีย์ฐานข้อมูลเป็นวิธีที่ง่ายที่สุดในการสร้างฐานข้อมูลเชิงสัมพันธ์ที่มีประสิทธิภาพ

ตามที่คุณอาจทราบแล้วฐานข้อมูลใช้ตารางเพื่อจัดระเบียบข้อมูล (ถ้าคุณไม่มีพื้นฐานความคุ้นเคยกับแนวคิดของฐานข้อมูลอ่าน What is a Database? ) แต่ละตารางประกอบด้วยแถวของแถวซึ่งแต่ละส่วนจะตรงกับระเบียนฐานข้อมูลเดียว ฐานข้อมูลเก็บบันทึกเหล่านี้ทั้งหมดอย่างไร? มันผ่านการใช้คีย์

คีย์หลัก

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

ตัวอย่างเช่นสมมติว่าเรามีตารางที่เรียกว่าพนักงานที่มีข้อมูลบุคลากรสำหรับพนักงานทุกคนใน บริษัท ของเรา เราจะต้องเลือกคีย์หลักที่เหมาะสมซึ่งจะระบุพนักงานแต่ละคนโดยไม่ซ้ำกัน ความคิดแรกของคุณอาจใช้ชื่อพนักงาน นี่เป็นวิธีที่จะไม่ทำงานได้ดีเพราะคุณสามารถจ้างพนักงานสองคนที่มีชื่อเดียวกันได้ ทางเลือกที่ดีกว่าคือการใช้หมายเลขรหัสพนักงานที่ไม่ซ้ำกันที่คุณกำหนดให้กับพนักงานแต่ละคนเมื่อได้รับการว่าจ้าง องค์กรบางแห่งเลือกที่จะใช้หมายเลขประกันสังคม (หรือตัวระบุรัฐบาลที่คล้ายกัน) สำหรับงานนี้เนื่องจากพนักงานแต่ละคนมีอยู่แล้วและจะรับประกันว่าเป็นเอกลักษณ์ อย่างไรก็ตามการใช้หมายเลขประกันสังคมเพื่อจุดประสงค์นี้เป็นเรื่องที่ถกเถียงกันมากเนื่องจากข้อกังวลเกี่ยวกับข้อมูลส่วนบุคคล (ถ้าคุณทำงานในองค์กรของรัฐบาลการใช้หมายเลขประกันสังคมอาจผิดกฎหมายภายใต้พระราชบัญญัติความเป็นส่วนตัวของปีพ. ศ. 2517) ด้วยเหตุนี้องค์กรส่วนใหญ่ได้เปลี่ยนไปใช้ตัวระบุที่ไม่ซ้ำกัน (รหัสพนักงาน ID นักเรียน ฯลฯ .) ที่ไม่ได้แบ่งปันความกังวลเรื่องความเป็นส่วนตัวเหล่านี้

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

ถ้าคุณพยายามแทรกเรกคอร์ดลงในตารางด้วยคีย์หลักที่ซ้ำกับระเบียนที่มีอยู่แทรกจะไม่ทำงาน

ฐานข้อมูลส่วนใหญ่ยังสามารถสร้างคีย์หลักของตนเองได้ ตัวอย่างเช่น Microsoft Access สามารถกำหนดค่าให้ใช้ชนิดข้อมูล AutoNumber เพื่อกำหนดรหัสเฉพาะให้กับแต่ละระเบียนในตาราง แม้ว่าจะเป็นผลดี แต่นี่เป็นแนวทางการออกแบบที่ไม่ดีเพราะมันทำให้คุณมีค่าที่ไม่มีความหมายในแต่ละระเบียนในตาราง ทำไมไม่ใช้พื้นที่เพื่อเก็บสิ่งที่เป็นประโยชน์?

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

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

สมมติว่าตารางแผนกใช้คอลัมน์ชื่อแผนกเป็นคีย์หลัก เมื่อต้องการสร้างความสัมพันธ์ระหว่างสองตารางเราจะเพิ่มคอลัมน์ใหม่ลงในตารางพนักงานที่ชื่อแผนก จากนั้นเรากรอกชื่อแผนกที่พนักงานแต่ละคนอยู่ นอกจากนี้เรายังแจ้ง ระบบการจัดการฐานข้อมูล ว่าคอลัมน์ Department ในตาราง Employees เป็น คีย์ต่างประเทศ ที่อ้างอิงถึงแผนกต่างๆ

ฐานข้อมูลจะบังคับใช้ ความสมบูรณ์ referential โดยมั่นใจว่าค่าทั้งหมดในคอลัมน์แผนกของตาราง Employees มีรายการที่สอดคล้องกันในตารางหน่วยงาน

โปรดสังเกตว่าไม่มี ข้อ จำกัด เฉพาะ สำหรับคีย์ต่างประเทศ เราอาจ (และมักทำ) มีพนักงานมากกว่าหนึ่งคนที่อยู่ในแผนกเดียว ในทำนองเดียวกันไม่มีความต้องการที่รายการในตารางหน่วยงานมีรายการใด ๆ ที่สอดคล้องกันในตารางพนักงาน เป็นไปได้ว่าเราจะมีแผนกที่ไม่มีพนักงาน

สำหรับข้อมูลเพิ่มเติมในหัวข้อนี้โปรดอ่าน การสร้างคีย์ต่างประเทศ