บทที่
13
แบบจำลองของฐานข้อมูล (Database Modeling)
แบบจำลองของฐานข้อมูล (Database Modeling)
แบบจำลองข้อมูล
คือ เครื่องมือในเชิงแนวความคิดที่ใช้ในการอธิบายข้อมูล โครงสร้างข้อมูล,
ความสัมพันธ์ของข้อมูล, ความหมายของข้อมูล
และเงื่อนไขบังคับความสอดคล้องกันของข้อมูล ซึ่งมีองค์ประกอบต่าง ๆ โดยย่อดังนี้
-
เอนทิตี (entity) หมายถึง วัตถุ (object) หรือแนวคิดที่สามารถบอกความแตกต่างของแต่ละเอนทิตีได้
กลุ่มของเอนทิตีที่มีคุณสมบัติเหมือนกันจะเรียกว่า เอนทิตีเซต (entity set)
- รีเลซันชิพเซต (relationship set) คือ ความสัมพันธ์ระหว่างเอนทิตี นอกจากเอนทิตี
และรีเลชันชิพแล้ว
แบบจำลองอี-อาร์ยังนำเสนอกฎข้อบังคับที่จำเป็นในการสร้างฐานข้อมูล
ซึ่งในการนำเสนอนั้น โครงสร้างของฐานข้อมูลทั้งหมดจะถูกแทนด้วยแผนผังอี-อาร์ (E-R diagram) โดยมีสัญลักษณ์ต่าง ๆ ที่ใช้ดังต่อไปนี้
- รูปสี่เหลี่ยม
(rectangles) ใช้แทนเอนทิตีเซต (entity set)
- วงรี (elhpses) ใช้แทนแอตทริบิวต์ (attributes)
- รูปสี่เหลี่ยมขนมเปียกปูน
(diamonds) ใช้แทนรีเลชันชิพ
- เส้นตรง (line) ใช้แทนการเชื่อมต่อของแอตทริบิวต์กับเอนทิตีเซต
และการเชื่อมต่อของเอนทิตีเซตกับรีเลชันชิพ
4.1 แบบจำลองของข้อมูล (Data Model)
เป็นแบบจำลองที่ใช้สำหรับอธิบายถึงโครงสร้าง และความสัมพันธ์ระหว่างข้อมูลภายในฐานข้อมูล โดยทั่วไป ภายในแบบจำลองของข้อมูล จะประกอบด้วย 3 ส่วนหลัก ๆ ดังนี้
เป็นแบบจำลองที่ใช้สำหรับอธิบายถึงโครงสร้าง และความสัมพันธ์ระหว่างข้อมูลภายในฐานข้อมูล โดยทั่วไป ภายในแบบจำลองของข้อมูล จะประกอบด้วย 3 ส่วนหลัก ๆ ดังนี้
1. ส่วนที่ใช้แทนข้อมูลต่าง
ๆ ที่ประกอบกันขึ้นเป็นฐานข้อมูล ซึ่งโดยทั่วไปมักจะแทนด้วยรูปสี่เหลี่ยม
2. ส่วนของกฎต่าง ๆ ที่ใช้ควบคุมความถูกต้องของข้อมูลภายในฐานข้อมูล
2. ส่วนของกฎต่าง ๆ ที่ใช้ควบคุมความถูกต้องของข้อมูลภายในฐานข้อมูล
3. ส่วนของการกระทำต่าง ๆ ที่สามารถใช้งานร่วมกับฐานข้อมูล
แบบจำลองของข้อมูล
สามารถแบ่งออกได้เป็น 2 ประเภทด้วยกันคือ Conceptual
Models และ Implementation Models
4.3.1 แบบจำลองข้อมูลที่ดีต้องง่ายต่อความเข้าใจ
4.3.2 แบบจำลองข้อมูลที่ดีต้องมีสาระสำคัญ และไม่ซ้ำซ้อน
4.3.3 แบบจำลองข้อมูลที่ดีต้องมีความยืดหยุ่น และง่ายต่อการปรับปรุงในอนาคต
4.1.1
Conceptual Models
คือแบบจำลองเชิงแนวคิดที่ใช้พรรณนาลักษณะโดยรวมของข้อมูลทั้งหมดในระบบ โดยนำเสนอในลักษณะแผนภาพซึ่งประกอบด้วยเอนทิตีต่าง ๆ และความสัมพันธ์ระหว่างเอนทิตีในระบบ
คือแบบจำลองเชิงแนวคิดที่ใช้พรรณนาลักษณะโดยรวมของข้อมูลทั้งหมดในระบบ โดยนำเสนอในลักษณะแผนภาพซึ่งประกอบด้วยเอนทิตีต่าง ๆ และความสัมพันธ์ระหว่างเอนทิตีในระบบ
4.1.2
Implementation Models
เป็นแบบจำลองที่อธิบายถึงโครงสร้างข้อมูลของฐานข้อมูล (structuring mechanisms) ที่แสดงถึงรูปแบบที่อิงกับระบบการจัดการฐานข้อมูลที่เลือกใช้งาน
เป็นแบบจำลองที่อธิบายถึงโครงสร้างข้อมูลของฐานข้อมูล (structuring mechanisms) ที่แสดงถึงรูปแบบที่อิงกับระบบการจัดการฐานข้อมูลที่เลือกใช้งาน
4.2 ส่วนประกอบของแบบจำลองข้อมูล
ส่วนประกอบของแบบจำลองข้อมูลสามารถแบ่งออกเป็น 3 ส่วนด้วยกันคือ
4.2.1 ส่วนโครงสร้าง (structural) เป็นส่วนที่ประกอบด้วยกลุ่มสัญลักษณ์รวมทั้งกฎระเบียบที่เห็นพ้องต้องกันเพื่อใช้ในการสร้างฐานข้อมูล
4.2.2 ส่วนปรับปรุง (manipulative) เป็นส่วนที่กำหนดชนิดของการปฏิบัติการต่าง ๆ กับข้อมูล ซึ่งประกอบด้วย การอัพเดต หรือการเรียกดูข้อมูลจากฐานข้อมูล รวมทั้งการเปลี่ยนแปลงโครงสร้างฐานข้อมูล
ซึ่งนิยมใช้ชุดคำสั่ง SQL ในการจัดการกับข้อมูล
4.2.3 ส่วนกฎความคงสภาพ (a set of integrity rules) เป็นกฎเกณฑ์ที่ใช้ในการควบคุมความถูกต้องของข้อมูล เพื่อให้เกิดความมั่นใจในความถูกต้อง และความแน่นอนของข้อมูลที่บันทึกลงในฐานข้อมูล
วัตถุประสงค์ของแบบจำลองข้อมูล คือการนำเสนอข้อมูลเพื่อให้เกิดความเข้าใจซึ่งกัน โดยสามารถกำหนดความสัมพันธ์ของแบบจำลองข้อมูล ได้ดังนี้
ส่วนประกอบของแบบจำลองข้อมูลสามารถแบ่งออกเป็น 3 ส่วนด้วยกันคือ
4.2.1 ส่วนโครงสร้าง (structural) เป็นส่วนที่ประกอบด้วยกลุ่มสัญลักษณ์รวมทั้งกฎระเบียบที่เห็นพ้องต้องกันเพื่อใช้ในการสร้างฐานข้อมูล
4.2.2 ส่วนปรับปรุง (manipulative) เป็นส่วนที่กำหนดชนิดของการปฏิบัติการต่าง ๆ กับข้อมูล ซึ่งประกอบด้วย การอัพเดต หรือการเรียกดูข้อมูลจากฐานข้อมูล รวมทั้งการเปลี่ยนแปลงโครงสร้างฐานข้อมูล
ซึ่งนิยมใช้ชุดคำสั่ง SQL ในการจัดการกับข้อมูล
4.2.3 ส่วนกฎความคงสภาพ (a set of integrity rules) เป็นกฎเกณฑ์ที่ใช้ในการควบคุมความถูกต้องของข้อมูล เพื่อให้เกิดความมั่นใจในความถูกต้อง และความแน่นอนของข้อมูลที่บันทึกลงในฐานข้อมูล
วัตถุประสงค์ของแบบจำลองข้อมูล คือการนำเสนอข้อมูลเพื่อให้เกิดความเข้าใจซึ่งกัน โดยสามารถกำหนดความสัมพันธ์ของแบบจำลองข้อมูล ได้ดังนี้
- แบบจำลองข้อมูลภายนอก
(External Data Model) จะนำเสนอการวิวข้อมูลของผู้ใช้งานต่าง
ๆ
- แบบจำลองข้อมูลแนวคิด (Conceptual Data Model)
จะนำเสนอข้อมูลทางลอจิคัล ที่แสดงถึงความเป็นอิสระกับ DBMS
- แบบจำลองข้อมูลภายใน (Internal Data Model) จะนำโครงร่างแนวคิดที่ได้พรรณนาไว้เพื่อให้ DBMS สามารถจัดเก็บ และการเข้าถึงข้อมูลที่แท้จริงได้
4.3.1 แบบจำลองข้อมูลที่ดีต้องง่ายต่อความเข้าใจ
4.3.2 แบบจำลองข้อมูลที่ดีต้องมีสาระสำคัญ และไม่ซ้ำซ้อน
4.3.3 แบบจำลองข้อมูลที่ดีต้องมีความยืดหยุ่น และง่ายต่อการปรับปรุงในอนาคต
4.4 แบบจำลองฐานข้อมูล (Database Model)
การตัดสินใจเลือกใช้แบบจำลองฐานข้อมูลชนิดใดเป็นสิ่งสำคัญต่อการออกแบบฐานข้อมูล โดยรายละเอียดการจัดการฐานข้อมูล หรือการจัดการคลังข้อมูล และต้องสนับสนุน หรือตั้งอยู่บนพื้นฐานของแบบจำลองฐานข้อมูล ซึ่งมีรายละเอียดต่อไปนี้
การตัดสินใจเลือกใช้แบบจำลองฐานข้อมูลชนิดใดเป็นสิ่งสำคัญต่อการออกแบบฐานข้อมูล โดยรายละเอียดการจัดการฐานข้อมูล หรือการจัดการคลังข้อมูล และต้องสนับสนุน หรือตั้งอยู่บนพื้นฐานของแบบจำลองฐานข้อมูล ซึ่งมีรายละเอียดต่อไปนี้
4.4.1
แบบจำลองฐานข้อมูลลำดับชั้น (Hierarchical database model)
เป็นแบบจำลองของฐานข้อมูลที่ใช้อธิบายถึงบานข้อมูล ที่มีโครงสร้างของข้อมูลในแบบลำดับชั้น (Hierarchy) โดยมีจุดประสงค์เริ่มต้นเพื่อต้องการให้เป็นฐานข้อมูลที่สามารถขจัดการซ้ำซ้อนของข้อมูล (Data Redundancy)
เป็นแบบจำลองของฐานข้อมูลที่ใช้อธิบายถึงบานข้อมูล ที่มีโครงสร้างของข้อมูลในแบบลำดับชั้น (Hierarchy) โดยมีจุดประสงค์เริ่มต้นเพื่อต้องการให้เป็นฐานข้อมูลที่สามารถขจัดการซ้ำซ้อนของข้อมูล (Data Redundancy)
4.4.2
แบบจำลองฐานข้อมูลเครือข่าย (Network database model)
เป็นแบบจำลองของฐานข้อมูลที่ใช้อธิบายถึงฐานข้อมูลที่มีโครงสร้างของข้อมูลที่จำแนกตามความสัมพันธ์ของข้อมูล ที่ได้รับการพัฒนามาจากฐานข้อมูลที่มีโครงสร้างแบบ Hierarchy
เป็นแบบจำลองของฐานข้อมูลที่ใช้อธิบายถึงฐานข้อมูลที่มีโครงสร้างของข้อมูลที่จำแนกตามความสัมพันธ์ของข้อมูล ที่ได้รับการพัฒนามาจากฐานข้อมูลที่มีโครงสร้างแบบ Hierarchy
4.4.3
แบบจำลองฐานข้อมูลเชิงสัมพันธ์ (Relational database model)
เป็นฐานข้อมูลที่ก่อให้เกิดการปฏิวัติระบบฐานข้อมูลขึ้น เนื่องจากเป็นโครงสร้างของฐานข้อมูลที่มีการนำไปใช้กันอย่างแพร่หลายในผลิตภัณฑ์ทางด้านฐานข้อมูลต่าง ๆ ที่มีจำหน่ายอยู่ในท้องตลาด ตั้งแต่ที่ทำงานอยู่บนเครื่องคอมพิวเตอร์ส่วนบุคคล ตลอดจนเครื่องคอมพิวเตอร์ขนาดใหญ่อย่างเช่น Mainframe
เป็นฐานข้อมูลที่ก่อให้เกิดการปฏิวัติระบบฐานข้อมูลขึ้น เนื่องจากเป็นโครงสร้างของฐานข้อมูลที่มีการนำไปใช้กันอย่างแพร่หลายในผลิตภัณฑ์ทางด้านฐานข้อมูลต่าง ๆ ที่มีจำหน่ายอยู่ในท้องตลาด ตั้งแต่ที่ทำงานอยู่บนเครื่องคอมพิวเตอร์ส่วนบุคคล ตลอดจนเครื่องคอมพิวเตอร์ขนาดใหญ่อย่างเช่น Mainframe
4.4.4 แบบจำลองฐานข้อมูลเชิงวัตถุ
(Object-Oriented database model)
สิ่งที่สำคัญเกี่ยวกับฐานข้อมูลแบบออบเจกต์ก็คือ ผู้ใช้ไม่มีความจำเป็นต้องรู้เรื่องวิธีการทำงานภายในของแต่ละเมธอด ผู้ใช้สามารถเข้าถึงออบเจกต์ลูกค้า และใช้เมธอดสั่งซื้อสินค้าได้เลย
สิ่งที่สำคัญเกี่ยวกับฐานข้อมูลแบบออบเจกต์ก็คือ ผู้ใช้ไม่มีความจำเป็นต้องรู้เรื่องวิธีการทำงานภายในของแต่ละเมธอด ผู้ใช้สามารถเข้าถึงออบเจกต์ลูกค้า และใช้เมธอดสั่งซื้อสินค้าได้เลย
4.4.5
แบบจำลองฐานข้อมูลแบบมัลติไดเมนชัน (Multidimensional
database model)
แบบจำลองชนิดนี้ใช้งานกับคลังข้อมูล (data warehousing) โดยจะนำเสนอข้อมูลในลักษณะไดเมนชัน ทำให้วิวข้อมูลได้สองทางเพื่อให้สามารถมองเห็นปัญหาในธุรกิจ และสร้างวิธีการแก้ไขปัญหาได้ดี
แบบจำลองชนิดนี้ใช้งานกับคลังข้อมูล (data warehousing) โดยจะนำเสนอข้อมูลในลักษณะไดเมนชัน ทำให้วิวข้อมูลได้สองทางเพื่อให้สามารถมองเห็นปัญหาในธุรกิจ และสร้างวิธีการแก้ไขปัญหาได้ดี
4.5 ประเภทของความสัมพันธ์ของข้อมูล
สำหรับความสัมพันธ์ระหว่างข้อมูล สามารถแบ่งออกได้เป็น 3 ลักษณะดังนี้
4.5.1 ความสัมพันธ์แบบ One – to – One
สำหรับความสัมพันธ์ระหว่างข้อมูล สามารถแบ่งออกได้เป็น 3 ลักษณะดังนี้
4.5.1 ความสัมพันธ์แบบ One – to – One
เป็นความสัมพันธ์ที่แต่ละรายการของข้อมูล
“A” มีความสัมพันธ์กับข้อมูล “B” เพียงรายการเดียว
เช่น กรณีลูกค้าสามารถมีบัญชีเงินฝากได้เพียงบัญชีเดียว
หรือกรณีที่แต่ละบัญชีเงินฝากสามารถมีเจ้าของบัญชีได้เพียงคนเดียว
4.5.2 ความสัมพันธ์แบบ One-to-many
เป็นความสัมพันธ์ที่แต่รายการของข้อมูล “A” มีความสัมพันธ์กับข้อมูล “B” มากกว่า 1 รายการ เช่น กรณีลูกค้าสามารถมีบัญชีเงินฝากได้มากกว่า 1
4.5.3 ความสัมพันธ์แบบ Many-to-Many
เป็นความสัมพันธ์ที่แต่ละรายการของข้อมูล “A” มีความสัมพันธ์กับข้อมูล “B” มากกว่า 1 รายการ แต่ในขณะเดียวกันแต่ละรายการของข้อมูล “B” ก็มีความสัมพันธ์กับข้อมูล “A” มากกว่า 1 รายการเช่นเดียวกัน เช่น กรณีลูกค้าสามารถมีบัญชีเงินฝากได้มากกว่า 1 บัญชี และแต่ละบัญชีเงินฝากสามารถมีเจ้าของบัญชีได้มากกว่า 1 คน
4.5.2 ความสัมพันธ์แบบ One-to-many
เป็นความสัมพันธ์ที่แต่รายการของข้อมูล “A” มีความสัมพันธ์กับข้อมูล “B” มากกว่า 1 รายการ เช่น กรณีลูกค้าสามารถมีบัญชีเงินฝากได้มากกว่า 1
4.5.3 ความสัมพันธ์แบบ Many-to-Many
เป็นความสัมพันธ์ที่แต่ละรายการของข้อมูล “A” มีความสัมพันธ์กับข้อมูล “B” มากกว่า 1 รายการ แต่ในขณะเดียวกันแต่ละรายการของข้อมูล “B” ก็มีความสัมพันธ์กับข้อมูล “A” มากกว่า 1 รายการเช่นเดียวกัน เช่น กรณีลูกค้าสามารถมีบัญชีเงินฝากได้มากกว่า 1 บัญชี และแต่ละบัญชีเงินฝากสามารถมีเจ้าของบัญชีได้มากกว่า 1 คน
ไม่มีความคิดเห็น:
แสดงความคิดเห็น