- การจัดการฐานข้อมูล
- คุณสมบัติและองค์ประกอบ
- -Elements
- tuple
- คอลัมน์
- สำคัญ
- - กฎแห่งความซื่อสัตย์
- ความสมบูรณ์ของคีย์
- ความสมบูรณ์ของการอ้างอิง
- จะสร้างแบบจำลองเชิงสัมพันธ์ได้อย่างไร?
- -เก็บข้อมูล
- - กำหนดคีย์หลัก
- - สร้างความสัมพันธ์ระหว่างตาราง
- หนึ่งต่อหลาย
- ออกแบบสองตาราง
- หลายต่อหลายคน
- ทีละคน
- ความได้เปรียบ
- ความเป็นอิสระของโครงสร้าง
- ความเรียบง่ายตามแนวคิด
- ง่ายต่อการออกแบบการใช้งานการบำรุงรักษาและการใช้งาน
- ความจุข้อความค้นหาเฉพาะกิจ
- ข้อเสีย
- ค่าใช้จ่ายฮาร์ดแวร์
- ความง่ายในการออกแบบอาจนำไปสู่การออกแบบที่ไม่ดี
- ปรากฏการณ์«เกาะข้อมูล»
- ตัวอย่าง
- อ้างอิง
รูปแบบฐานข้อมูลเชิงสัมพันธ์เป็นวิธีการจัดโครงสร้างข้อมูลโดยใช้ความสัมพันธ์โดยใช้ตารางเหมือนโครงสร้างประกอบด้วยคอลัมน์และแถว เป็นหลักการแนวคิดของฐานข้อมูลเชิงสัมพันธ์ เสนอโดย Edgar F.Codd ในปีพ. ศ. 2512
นับตั้งแต่นั้นเป็นต้นมาได้กลายเป็นรูปแบบฐานข้อมูลที่โดดเด่นสำหรับแอปพลิเคชันทางธุรกิจเมื่อเปรียบเทียบกับแบบจำลองฐานข้อมูลอื่น ๆ เช่นลำดับชั้นเครือข่ายและวัตถุ

ที่มา: pixabay.com
Codd ไม่รู้ว่างานของเขามีความสำคัญและมีอิทธิพลอย่างมากในฐานะแพลตฟอร์มสำหรับฐานข้อมูลเชิงสัมพันธ์จะเป็นอย่างไร คนส่วนใหญ่คุ้นเคยกับการแสดงออกทางกายภาพของความสัมพันธ์ในฐานข้อมูล: ตาราง
โมเดลเชิงสัมพันธ์ถูกกำหนดให้เป็นฐานข้อมูลที่อนุญาตให้จัดกลุ่มองค์ประกอบข้อมูลในตารางอิสระตั้งแต่หนึ่งตารางขึ้นไปซึ่งสามารถเชื่อมโยงกันได้โดยใช้เขตข้อมูลร่วมกับแต่ละตารางที่เกี่ยวข้อง
การจัดการฐานข้อมูล
ตารางฐานข้อมูลคล้ายกับสเปรดชีต อย่างไรก็ตามความสัมพันธ์ที่สามารถสร้างขึ้นระหว่างตารางช่วยให้ฐานข้อมูลเชิงสัมพันธ์สามารถจัดเก็บข้อมูลจำนวนมากได้อย่างมีประสิทธิภาพซึ่งสามารถเรียกค้นได้อย่างมีประสิทธิภาพ
วัตถุประสงค์ของแบบจำลองเชิงสัมพันธ์คือการจัดเตรียมวิธีการที่เปิดเผยสำหรับการระบุข้อมูลและแบบสอบถาม: ผู้ใช้จะประกาศโดยตรงว่าฐานข้อมูลมีข้อมูลอะไรและต้องการข้อมูลใดจากฐานข้อมูลนั้น
ในทางกลับกันพวกเขาปล่อยให้ซอฟต์แวร์ระบบการจัดการฐานข้อมูลอธิบายโครงสร้างข้อมูลสำหรับการจัดเก็บและขั้นตอนการดึงข้อมูลเพื่อตอบคำถาม
ฐานข้อมูลเชิงสัมพันธ์ส่วนใหญ่ใช้ภาษา SQL ในการสืบค้นและกำหนดข้อมูล ปัจจุบันมีระบบจัดการฐานข้อมูลเชิงสัมพันธ์หรือ RDBMS (Relational Data Base Management System) มากมายเช่น Oracle, IBM DB2 และ Microsoft SQL Server
คุณสมบัติและองค์ประกอบ
- ข้อมูลทั้งหมดแสดงตามแนวความคิดเป็นการจัดเรียงข้อมูลตามลำดับในแถวและคอลัมน์เรียกว่าความสัมพันธ์หรือตาราง
- แต่ละตารางต้องมีส่วนหัวและส่วนของร่างกาย ส่วนหัวเป็นเพียงรายการคอลัมน์ เนื้อความคือชุดข้อมูลที่เติมตารางโดยจัดเรียงเป็นแถว
- ค่าทั้งหมดเป็นสเกลาร์ นั่นคือที่ตำแหน่งแถว / คอลัมน์ที่กำหนดในตารางจะมีเพียงค่าเดียว
-Elements
รูปต่อไปนี้แสดงตารางที่มีชื่อขององค์ประกอบพื้นฐานซึ่งประกอบเป็นโครงสร้างที่สมบูรณ์

tuple
ข้อมูลแต่ละแถวคือทูเพิลหรือที่เรียกว่าเรกคอร์ด แต่ละแถวเป็น n-tuple แต่โดยทั่วไป "n-" จะถูกละทิ้ง
คอลัมน์
แต่ละคอลัมน์ในทูเปิลเรียกว่าแอตทริบิวต์หรือฟิลด์ คอลัมน์นี้แสดงถึงชุดของค่าที่แอตทริบิวต์เฉพาะสามารถมีได้
สำคัญ
แต่ละแถวมีคอลัมน์อย่างน้อยหนึ่งคอลัมน์ที่เรียกว่าคีย์ตาราง ค่าที่รวมกันนี้ไม่ซ้ำกันสำหรับทุกแถวในตาราง โดยคีย์นี้แต่ละทูเปิลจะถูกระบุโดยไม่ซ้ำกัน นั่นคือคีย์ไม่สามารถทำซ้ำได้ เรียกว่าคีย์หลัก
ในทางกลับกันคีย์ต่างประเทศหรือคีย์รองคือฟิลด์ในตารางที่อ้างถึงคีย์หลักของตารางอื่น ใช้อ้างอิงตารางหลัก
- กฎแห่งความซื่อสัตย์
เมื่อออกแบบโมเดลเชิงสัมพันธ์คุณต้องกำหนดเงื่อนไขบางอย่างที่ต้องตรงตามในฐานข้อมูลเรียกว่ากฎความสมบูรณ์
ความสมบูรณ์ของคีย์
คีย์หลักต้องไม่ซ้ำกันสำหรับสิ่งที่เพิ่มขึ้นทั้งหมดและไม่สามารถเป็นค่าว่าง (NULL) มิฉะนั้นคุณจะไม่สามารถระบุแถวที่ไม่ซ้ำกันได้
สำหรับคีย์หลายคอลัมน์ไม่มีคอลัมน์ใดที่สามารถมี NULL ได้
ความสมบูรณ์ของการอ้างอิง
ค่าของคีย์ต่างประเทศแต่ละค่าต้องตรงกับค่าของคีย์หลักของตารางที่อ้างอิงหรือตารางหลัก
คุณสามารถแทรกแถวที่มีคีย์นอกในตารางรองได้ก็ต่อเมื่อมีค่านั้นอยู่ในตารางหลัก
หากค่าของคีย์เปลี่ยนไปในตารางหลักเนื่องจากมีการอัปเดตหรือลบแถวแถวทั้งหมดในตารางรองที่มีคีย์ต่างประเทศนี้ควรได้รับการอัปเดตหรือลบตามนั้น
จะสร้างแบบจำลองเชิงสัมพันธ์ได้อย่างไร?
-เก็บข้อมูล
ต้องมีการรวบรวมข้อมูลที่จำเป็นเพื่อจัดเก็บไว้ในฐานข้อมูล ข้อมูลเหล่านี้แบ่งออกเป็นตารางต่างๆ
ต้องเลือกประเภทข้อมูลที่เหมาะสมสำหรับแต่ละคอลัมน์ ตัวอย่างเช่นจำนวนเต็มเลขทศนิยมข้อความวันที่ ฯลฯ
- กำหนดคีย์หลัก
สำหรับแต่ละตารางต้องเลือกคอลัมน์ (หรือสองสามคอลัมน์) เป็นคีย์หลักซึ่งจะระบุแต่ละแถวในตารางโดยไม่ซ้ำกัน คีย์หลักยังใช้เพื่ออ้างถึงตารางอื่น ๆ
- สร้างความสัมพันธ์ระหว่างตาราง
ฐานข้อมูลที่ประกอบด้วยตารางอิสระที่ไม่เกี่ยวข้องมีจุดประสงค์เพียงเล็กน้อย
สิ่งที่สำคัญที่สุดในการออกแบบฐานข้อมูลเชิงสัมพันธ์คือการระบุความสัมพันธ์ระหว่างตาราง ประเภทความสัมพันธ์ ได้แก่
หนึ่งต่อหลาย
ในฐานข้อมูล "รายชื่อชั้นเรียน" ครูสามารถสอนชั้นเรียนเป็นศูนย์หรือมากกว่านั้นได้ในขณะที่ชั้นเรียนสอนโดยครูคนเดียว ความสัมพันธ์ประเภทนี้เรียกว่าหนึ่งต่อกลุ่ม
ความสัมพันธ์นี้ไม่สามารถแสดงในตารางเดียว ในฐานข้อมูล«รายชื่อชั้นเรียน»คุณสามารถมีตารางชื่อครูซึ่งเก็บข้อมูลเกี่ยวกับครู
ในการจัดเก็บชั้นเรียนที่ครูแต่ละคนสอนคุณสามารถสร้างคอลัมน์เพิ่มเติมได้ แต่คุณจะประสบปัญหา: ต้องสร้างกี่คอลัมน์
ในทางกลับกันหากคุณมีตารางที่เรียกว่าชั้นเรียนซึ่งเก็บข้อมูลเกี่ยวกับชั้นเรียนคุณสามารถสร้างคอลัมน์เพิ่มเติมเพื่อเก็บข้อมูลเกี่ยวกับครูได้
อย่างไรก็ตามเนื่องจากครูสามารถสอนชั้นเรียนได้หลายชั้นข้อมูลของเขาจึงจะซ้ำกันในหลายแถวในตารางชั้นเรียน
ออกแบบสองตาราง
ดังนั้นคุณต้องออกแบบตารางสองตาราง ได้แก่ ตารางชั้นเรียนเพื่อเก็บข้อมูลเกี่ยวกับชั้นเรียนโดยมี Class_Id เป็นคีย์หลักและตารางครูเพื่อจัดเก็บข้อมูลเกี่ยวกับครูโดยมี Teacher_Id เป็นคีย์หลัก
จากนั้นสามารถสร้างความสัมพันธ์แบบหนึ่งต่อกลุ่มได้โดยการจัดเก็บคีย์หลักจากตารางมาสเตอร์ (Master_Id) ในตารางคลาสดังภาพประกอบด้านล่าง

คอลัมน์ Master_Id ในตาราง Classes เรียกว่าคีย์ต่างประเทศหรือคีย์รอง
สำหรับแต่ละค่า Master_Id ในตาราง Master อาจมีแถวเป็นศูนย์หรือมากกว่านั้นก็ได้ในตาราง Classes สำหรับค่า Class_Id แต่ละค่าในตาราง Classes จะมีเพียงแถวเดียวในตารางครู
หลายต่อหลายคน
ในฐานข้อมูล "การขายสินค้า" คำสั่งซื้อของลูกค้าสามารถมีผลิตภัณฑ์หลายรายการและผลิตภัณฑ์สามารถปรากฏในคำสั่งซื้อหลายรายการ ความสัมพันธ์ประเภทนี้เรียกว่าหลายต่อหลาย
คุณสามารถเริ่มฐานข้อมูล "การขายสินค้า" ด้วยตารางสองตาราง: ผลิตภัณฑ์และใบสั่งซื้อ ตารางผลิตภัณฑ์ประกอบด้วยข้อมูลเกี่ยวกับผลิตภัณฑ์โดยมีรหัสผลิตภัณฑ์เป็นคีย์หลัก
ในทางกลับกันตารางคำสั่งซื้อมีคำสั่งซื้อของลูกค้าโดยมีรหัสคำสั่งเป็นคีย์หลัก
คุณไม่สามารถจัดเก็บสินค้าที่สั่งซื้อไว้ในตารางคำสั่งซื้อเนื่องจากคุณไม่ทราบจำนวนคอลัมน์ที่จะต้องจองสำหรับผลิตภัณฑ์ และไม่สามารถจัดเก็บคำสั่งซื้อในตารางผลิตภัณฑ์ได้ด้วยเหตุผลเดียวกัน
ในการรองรับความสัมพันธ์แบบกลุ่มต่อกลุ่มคุณต้องสร้างตารางที่สามซึ่งเรียกว่าตารางการเข้าร่วม (OrderDetails) โดยแต่ละแถวจะแสดงรายการตามลำดับเฉพาะ
สำหรับตาราง OrderDetails คีย์หลักประกอบด้วยสองคอลัมน์: orderID และ productID โดยจะระบุแต่ละแถวโดยไม่ซ้ำกัน
คอลัมน์ orderID และ productID ในตาราง OrderDetails ใช้เพื่ออ้างอิงตารางใบสั่งซื้อและผลิตภัณฑ์ ดังนั้นจึงเป็นคีย์ต่างประเทศในตาราง OrderDetails ด้วย

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

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

แต่ละแถวในตารางซัพพลายเออร์จะระบุด้วยหมายเลขซัพพลายเออร์ที่ไม่ซ้ำกัน (SNo) โดยจะระบุแต่ละแถวในตารางโดยไม่ซ้ำกัน ในทำนองเดียวกันแต่ละส่วนจะมีหมายเลขชิ้นส่วนเฉพาะ (PNo)
นอกจากนี้ไม่สามารถมีการจัดส่งมากกว่าหนึ่งรายการสำหรับการรวมซัพพลายเออร์ / ชิ้นส่วนที่ระบุในตารางการจัดส่งเนื่องจากชุดค่าผสมนี้เป็นคีย์หลักของการจัดส่งซึ่งทำหน้าที่เป็นตารางสหภาพเนื่องจากเป็นความสัมพันธ์แบบกลุ่มต่อกลุ่ม
ความสัมพันธ์ระหว่างตารางชิ้นส่วนและการจัดส่งจะได้รับโดยการมีฟิลด์ PNo (หมายเลขชิ้นส่วน) เหมือนกันและความสัมพันธ์ระหว่างซัพพลายเออร์และการจัดส่งเกิดขึ้นโดยการมีฟิลด์ SNo (หมายเลขซัพพลายเออร์) เหมือนกัน
การวิเคราะห์ตารางการจัดส่งจะได้ข้อมูลว่าถั่วทั้งหมด 500 เม็ดถูกส่งจากซัพพลายเออร์ Suneet และ Ankit อย่างละ 250 เม็ด
ในทำนองเดียวกันมีการจัดส่งสลักเกลียวทั้งหมด 1,100 ชิ้นจากซัพพลายเออร์สามรายที่แตกต่างกัน สกรูสีน้ำเงิน 500 ตัวถูกส่งมาจากซัพพลายเออร์ Suneet ไม่มีการจัดส่งสกรูสีแดง
อ้างอิง
- Wikipedia สารานุกรมเสรี (2019) แบบจำลองเชิงสัมพันธ์ นำมาจาก: en.wikipedia.org.
- เทโคพีเดีย (2019). แบบจำลองเชิงสัมพันธ์ นำมาจาก: ceilingpedia.com.
- Dinesh Thakur (2019). แบบจำลองเชิงสัมพันธ์ หมายเหตุเกี่ยวกับคอมพิวเตอร์ นำมาจาก: ecomputernotes.com.
- Geeks for Geeks (2019) แบบจำลองเชิงสัมพันธ์ นำมาจาก: geeksforgeeks.org.
- มหาวิทยาลัยเทคโนโลยีนันยาง (2019). บทช่วยสอนเริ่มต้นอย่างรวดเร็วเกี่ยวกับการออกแบบฐานข้อมูลเชิงสัมพันธ์ นำมาจาก: ntu.edu.sg.
- Adrienne Watt (2019). บทที่ 7 แบบจำลองข้อมูลเชิงสัมพันธ์. BC Open Textbooks นำมาจาก: opentextbc.ca.
- Toppr (2019). ฐานข้อมูลเชิงสัมพันธ์และ Schemas นำมาจาก: toppr.com.
