Skip to main content

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

หน่วยที่ 1-1 ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล (มิถุนายน 2025)

หน่วยที่ 1-1 ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล (มิถุนายน 2025)
Anonim

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

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

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

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

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

  • ความสัมพันธ์แบบตัวต่อตัว เกิดขึ้นเมื่อแต่ละรายการในตารางแรกมีหนึ่งและมีเพียงหนึ่งคู่ในตารางที่สอง ความสัมพันธ์แบบตัวต่อตัวจะไม่ค่อยใช้เนื่องจากมักจะมีประสิทธิภาพมากกว่าในการใส่ข้อมูลทั้งหมดลงในตารางเดียว นักออกแบบฐานข้อมูลบางรายใช้ประโยชน์จากความสัมพันธ์นี้โดยสร้างตารางที่ประกอบด้วยเซตย่อยของข้อมูลจากตารางอื่น
  • ความสัมพันธ์แบบหนึ่ง - ต่อ - หลาย เป็นชนิดของความสัมพันธ์ฐานข้อมูลที่พบมากที่สุด เกิดขึ้นเมื่อแต่ละระเบียนในตาราง A สอดคล้องกับระเบียนหนึ่งหรือหลายรายการในตาราง B แต่แต่ละระเบียนในตาราง B สอดคล้องกับระเบียนเดียวในตารางที่ A. ตัวอย่างเช่นความสัมพันธ์ระหว่างตารางครูกับตารางนักเรียนในโรงเรียนประถมศึกษา ฐานข้อมูลอาจเป็นความสัมพันธ์แบบหนึ่งต่อหลายเนื่องจากนักเรียนแต่ละคนมีครูเพียงคนเดียว แต่ครูแต่ละคนมีนักเรียนหลายคน การออกแบบแบบหนึ่งต่อหลายนี้ช่วยขจัดข้อมูลที่ซ้ำซ้อน
  • ความสัมพันธ์ระหว่างหลายต่อหลายคน เกิดขึ้นเมื่อแต่ละระเบียนในตาราง A สอดคล้องกับหนึ่งหรือมากกว่าหนึ่งระเบียนในตาราง B และแต่ละระเบียนในตาราง B สอดคล้องกับหนึ่งหรือมากกว่าหนึ่งระเบียนในตารางที่ A. ตัวอย่างเช่นความสัมพันธ์ระหว่างครูและหลักสูตรตารางอาจจะมาก - to-many เนื่องจากครูแต่ละคนอาจสอนมากกว่าหนึ่งหลักสูตรและแต่ละหลักสูตรอาจมีผู้สอนมากกว่าหนึ่งคน

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

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

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

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

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

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

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

นักเรียน
รหัสนักศึกษาชื่อนักเรียนTeacher_FK
0200Lowell Smith001
0201ไบรอันสั้น001
0202Corky Mendez002
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.CourseFROM StudentsINNER JOIN ครูON Students.Teacher_FK = Teachers.InstructorID;

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

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

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