ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล

คำว่า "relational" หรือ "relationship" ในฐานข้อมูลอธิบายถึงวิธีการเชื่อมต่อข้อมูลในตาราง

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

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

ประเภทของความสัมพันธ์ฐานข้อมูล

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

ความสัมพันธ์ที่อ้างถึงตนเอง: กรณีพิเศษ

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

การสร้างความสัมพันธ์กับคีย์ต่างประเทศ

คุณสร้างความสัมพันธ์ระหว่างตารางโดยการ ระบุคีย์ต่างประเทศคีย์ นี้บอกฐานข้อมูลเชิงสัมพันธ์ว่าตารางเกี่ยวข้องกันอย่างไร ในหลาย ๆ กรณีคอลัมน์ในตาราง A มีคีย์หลักที่อ้างอิงจากตาราง B

พิจารณาตัวอย่างของตารางครูและนักเรียนอีกครั้ง ตาราง Teachers มีเพียง ID, ชื่อและคอลัมน์ของหลักสูตร:

ครู
InstructorID TEACHER_NAME หลักสูตร
001 John Doe อังกฤษ
002 Jane Schmoe คณิตศาสตร์

ตารางนักเรียนประกอบด้วย ID ชื่อและคอลัมน์คีย์ต่างประเทศ:

นักเรียน
รหัสนักศึกษา ชื่อนักเรียน Teacher_FK
0200 Lowell Smith 001
0201 ไบรอันสั้น 001
0202 Corky Mendez 002
0203 โมนิกาโจนส์ 001

คอลัมน์ Teacher_FK ในตารางนักเรียนจะอ้างอิงถึง ค่าคีย์หลัก ของผู้สอนในตารางครู

บ่อยๆนักออกแบบฐานข้อมูลจะใช้ "PK" หรือ "FK" ในชื่อคอลัมน์เพื่อระบุคีย์หลักหรือคอลัมน์คีย์ต่างประเทศได้อย่างง่ายดาย

โปรดทราบว่าตารางทั้งสองนี้แสดงให้เห็นถึงความสัมพันธ์แบบหนึ่งต่อหลายระหว่างครูกับนักเรียน

ความสัมพันธ์และความสอดคล้อง

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

การใช้ความสัมพันธ์

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

ถ้าคุณกำลังเขียน SQL โดยตรงคุณจะต้องสร้างตารางครูประกาศคอลัมน์ ID เป็นคีย์หลัก:

ครู CREATE TABLE (

INT AUTO_INCREMENT หลักของ InstructorID INTEL,
Teacher_Name VARCHAR (100),
เรียน VARCHAR (100)
);

เมื่อคุณสร้างตารางนักเรียนคุณจะประกาศให้คอลัมน์ Teacher_FK เป็นคีย์ต่างประเทศที่อ้างอิงถึงคอลัมน์ InstructorID ในตาราง Teachers ':

สร้างนักเรียนตาราง (
นิสิตนักศึกษา INT AUTO_INCREMENT PRIMARY KEY,
เรียนรู้ VARCHAR (100), Teacher_FK INT,
ครูต่างประเทศ (Teacher_FK) อ้างอิงครู (InstructorID))
);

การใช้ความสัมพันธ์เพื่อเข้าร่วมตาราง

เมื่อคุณสร้างความสัมพันธ์อย่างน้อยหนึ่งรายการในฐานข้อมูลของคุณแล้วคุณสามารถใช้ประโยชน์ได้โดยใช้แบบสอบถาม SQL JOIN เพื่อรวมข้อมูลจากหลายตาราง ชนิดที่ใช้ร่วมกันที่สุดคือ SQL INNER JOIN หรือเข้าร่วมง่ายๆ ชนิดของการเข้าร่วมนี้จะส่งกลับระเบียนทั้งหมดที่ตรงกับเงื่อนไขการเข้าร่วมจากหลายตาราง ตัวอย่างเช่นเงื่อนไข JOIN นี้จะส่งคืน Student_Name, Teacher_Name และหลักสูตรที่คีย์ foreign ในตาราง Students ตรงกับคีย์หลักในตาราง Teachers:

SELECT Students.Student_Name, Teachers.Teacher_Name, Teachers.Course
FROM Students
INNER JOIN ครู
ON Students.Teacher_FK = Teachers.InstructorID;

คำสั่งนี้สร้างตารางบางอย่างเช่นนี้

ตารางที่คืนจากคำชี้แจงการเข้าร่วมของ SQL

เรียนภาษาอังกฤษ DoeEnglish