แบบจำลองข้อมูลเชิงสัมพันธ์ในระบบจัดการฐานข้อมูล (DBMS): Concepts & ตัวอย่าง

⚡ สรุปอย่างชาญฉลาด

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

  • 🗃️ แนวคิดหลัก: ข้อมูลจะถูกจัดเก็บในรูปแบบของความสัมพันธ์ โดยแต่ละแถวจะเป็นทูเปิลที่อธิบายถึงเอนทิตีหรือความสัมพันธ์ในโลกแห่งความเป็นจริงหนึ่งรายการ
  • 🏷️ คำสำคัญ: คุณลักษณะ, ทูเพิล, ดีกรี, คาร์ดินาลิตี้, โดเมน และคีย์ความสัมพันธ์ รวมกันแล้วอธิบายโครงสร้างของตาราง
  • 🛡️ ข้อจำกัดสามประการ: ข้อจำกัดด้านโดเมน คีย์ และความสมบูรณ์ของการอ้างอิง ช่วยให้ความสัมพันธ์ทุกอย่างมีความถูกต้อง
  • 🔑 ตารางเชื่อมโยงคีย์: คีย์หลักใช้ระบุแถวแต่ละแถวได้อย่างเฉพาะเจาะจง ในขณะที่คีย์รองใช้อ้างอิงคีย์ในความสัมพันธ์อื่น
  • 🔄 สี่ Operaชั่น: แทรก อัปเดต ลบ และเลือกดำเนินการกับความสัมพันธ์โดยไม่ละเมิดข้อจำกัดที่กำหนดไว้
  • กฎการออกแบบ: แต่ละเซลล์มีค่าเพียงค่าเดียว ชื่อคอลัมน์ต้องไม่ซ้ำกัน ไม่มีแถวซ้ำ และค่าต่างๆ ต้องมาจากโดเมนเดียวกัน
  • 📈 เหตุใดจึงชนะ: ความเรียบง่าย ความเป็นอิสระเชิงโครงสร้าง ภาษาการสอบถามระดับสูง และความเป็นอิสระของข้อมูล

โมเดลข้อมูลเชิงสัมพันธ์ใน DBMS

โมเดลเชิงสัมพันธ์คืออะไร?

โมเดลเชิงสัมพันธ์ (RM) แสดงถึงฐานข้อมูลที่เป็นกลุ่มของความสัมพันธ์ ความสัมพันธ์เป็นเพียงตารางค่าเท่านั้น ทุกแถวในตารางแสดงถึงชุดของค่าข้อมูลที่เกี่ยวข้อง แถวเหล่านี้ในตารางแสดงถึงเอนทิตีหรือความสัมพันธ์ในโลกแห่งความเป็นจริง

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

แบบจำลองนี้ได้รับการเสนอโดย EF Codd ในปี 1970 และยังคงเป็นพื้นฐานของฐานข้อมูลหลักเกือบทุกระบบที่ใช้กันอยู่ในปัจจุบัน ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ที่เป็นที่นิยมบางระบบ ได้แก่:

  • DB2 และเซิร์ฟเวอร์แบบไดนามิก Informix – IBM
  • Oracle และ RDB – Oracle
  • เซิร์ฟเวอร์ SQL และการเข้าถึง – Microsoft

แบบจำลองเชิงสัมพันธ์ Concepts ในดีบีเอ็มเอส

  1. แอตทริบิวต์: แต่ละคอลัมน์ในตาราง คุณลักษณะคือคุณสมบัติที่กำหนดความสัมพันธ์ เช่น หมายเลขประจำตัวนักศึกษา ชื่อ เป็นต้น
  2. โต๊ะ: ในแบบจำลองเชิงสัมพันธ์ ความสัมพันธ์จะถูกบันทึกในรูปแบบตาราง โดยจะถูกจัดเก็บไว้พร้อมกับเอนทิตี ตารางมีคุณสมบัติสองอย่าง คือ แถวและคอลัมน์ แถวแทนระเบียน และคอลัมน์แทนคุณลักษณะ
  3. ทูเปิล: มันก็คือแถวหนึ่งในตาราง ซึ่งประกอบด้วยข้อมูลเพียงรายการเดียว
  4. สคีมาความสัมพันธ์: สคีมาความสัมพันธ์แสดงถึงชื่อของความสัมพันธ์พร้อมกับคุณลักษณะของมัน
  5. ปริญญา: จำนวนแอตทริบิวต์ทั้งหมดในความสัมพันธ์เรียกว่าระดับของความสัมพันธ์นั้น
  6. จำนวนสมาชิก: จำนวนแถวทั้งหมดที่มีอยู่ในตาราง
  7. คอลัมน์: คอลัมน์แสดงถึงชุดของค่าสำหรับแอตทริบิวต์เฉพาะ
  8. ตัวอย่างความสัมพันธ์: อินสแตนซ์ของความสัมพันธ์คือเซตจำกัดของทูเปิลในระบบ RDBMS อินสแตนซ์ของความสัมพันธ์จะไม่มีทูเปิลซ้ำกัน
  9. รหัสความสัมพันธ์: แต่ละแถวจะมีแอตทริบิวต์หนึ่ง สอง หรือหลายแอตทริบิวต์ ซึ่งเรียกว่าคีย์ความสัมพันธ์
  10. โดเมนแอตทริบิวต์: คุณลักษณะทุกอย่างมีค่าและขอบเขตที่กำหนดไว้ล่วงหน้า ซึ่งเรียกว่าโดเมนของคุณลักษณะ

แนวคิดของแบบจำลองเชิงสัมพันธ์ที่แสดงในตาราง

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

เชิงสัมพันธ์ Integrity ข้อ จำกัด

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

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

  1. ข้อจำกัดของโดเมน
  2. ข้อจำกัดที่สำคัญ
  3. ข้อมูลอ้างอิง Integrity ข้อ จำกัด

ข้อจำกัดของโดเมน

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

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

ตัวอย่าง:

CREATE DOMAIN CustomerName
CHECK (value NOT NULL)

ตัวอย่างที่แสดงนี้สาธิตวิธีการสร้างข้อจำกัดโดเมนเพื่อให้ CustomerName ไม่เป็นค่าว่าง (NULL)

ข้อจำกัดที่สำคัญ

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

ตัวอย่าง:

ในตารางที่กำหนด CustomerID เป็นแอตทริบิวต์หลักของตาราง Customer โดยส่วนใหญ่แล้วจะมีคีย์เดียวสำหรับลูกค้าหนึ่งราย เช่น CustomerID = 1 หมายถึง CustomerName เท่านั้นGoogleคู่มือฉบับนี้ได้อธิบายรายละเอียดเกี่ยวกับประเภทหลักต่างๆ อย่างครบถ้วนแล้ว คีย์ DBMS.

รหัสลูกค้า ชื่อลูกค้า สถานะ
1 Google ใช้งาน
2 Amazon ใช้งาน
3 แอปเปิ้ล เฉื่อยชา

ข้อมูลอ้างอิง Integrity ข้อ จำกัด

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

ตัวอย่าง:

ความสมบูรณ์ของการอ้างอิงระหว่างลูกค้าและ Billความสัมพันธ์

ในตัวอย่างข้างต้น เรามีสองความสัมพันธ์ คือ ลูกค้า และ Billไอเอ็นจี

ทูเปิลสำหรับ CustomerID = 1 ถูกอ้างอิงสองครั้งในความสัมพันธ์ Billing. ดังนั้นเรารู้ว่า CustomerName “Google"มียอดเรียกเก็บเงิน 300 ดอลลาร์"

Operaความสัมพันธ์ในแบบจำลองเชิงสัมพันธ์

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

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

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

สิ่งที่ใส่เข้าไป Operaการ

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

การดำเนินการแทรก: เพิ่มทูเปิลใหม่ลงในความสัมพันธ์

บันทึก Operaการ

คุณจะเห็นได้ว่าในตารางความสัมพันธ์ด้านล่าง ชื่อลูกค้า 'Apple' ได้รับการอัปเดตจาก ไม่ใช้งาน เป็น ใช้งาน แล้ว

การดำเนินการอัปเดตที่เปลี่ยนแปลงค่าสถานะในทูเปิล

ลบ Operaการ

ในการระบุการลบ เงื่อนไขในคุณลักษณะของความสัมพันธ์จะเลือกทูเพิลที่จะถูกลบ

การดำเนินการลบ คือการลบทูเปิลออกจากความสัมพันธ์

ในตัวอย่างข้างต้น ชื่อลูกค้า “Apple” ถูกลบออกจากตารางแล้ว

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

เลือก Operaการ

การดำเนินการเลือกจะเลือกทูเปิลที่เฉพาะเจาะจง

ในตัวอย่างข้างต้น CustomerName “Amazon” ถูกเลือก

แบบจำลองเชิงสัมพันธ์ เทียบกับ แบบจำลองเชิงลำดับชั้น และแบบจำลองเครือข่าย

แบบจำลองเชิงสัมพันธ์เข้ามาแทนที่แนวทางเดิมสองแบบ และความแตกต่างนี้อธิบายได้ว่าทำไมมันจึงกลายเป็นแบบจำลองที่โดดเด่น ตารางด้านล่างแสดงแบบจำลองทั้งสามแบบเคียงข้างกัน

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

เนื่องจากแบบจำลองเชิงสัมพันธ์จัดการข้อมูลโดยใช้ค่าแทนการใช้ลิงก์ทางกายภาพ ภาษาโปรแกรมระดับสูงอย่างเช่น SQL สามารถแสดงคำถามได้โดยไม่ต้องรู้ว่าข้อมูลถูกจัดเก็บอย่างไร

แนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้างแบบจำลองเชิงสัมพันธ์

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

ข้อดีของแบบจำลองฐานข้อมูลเชิงสัมพันธ์

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

ข้อเสียของแบบจำลองเชิงสัมพันธ์

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

คำถามที่พบบ่อย

ระดับ (Degree) คือจำนวนแอตทริบิวต์หรือคอลัมน์ในความสัมพันธ์ ส่วนจำนวนแถว (Cardinality) คือจำนวนทูเปิลหรือแถว ระดับอธิบายความกว้างของตาราง และจำนวนแถวอธิบายความสูงของตาราง

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

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

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

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

สรุปโพสต์นี้ด้วย: