บทที่ 13
แบบจำลองของฐานข้อมูล
(Database
Model)
แบบจำลองข้อมูล คือ เครื่องมือในเชิงแนวความคิดที่ใช้ในการอธิบายข้อมูล
โครงสร้างข้อมูล,
ความสัมพันธ์ของข้อมูล, ความหมายของข้อมูล
และเงื่อนไขบังคับความสอดคล้องกันของข้อมูล ซึ่งมีองค์ประกอบต่าง ๆ โดยย่อดังนี้
- เอนทิตี (entity) หมายถึง วัตถุ (object) หรือแนวคิดที่สามารถบอกความแตกต่างของแต่ละเอนทิตีได้
กลุ่มของเอนทิตีที่มีคุณสมบัติเหมือนกันจะเรียกว่า เอนทิตีเซต (entity set)
- รีเลซันชิพเซต (relationship
set)
คือ ความสัมพันธ์ระหว่างเอนทิตี
นอกจากเอนทิตี
และรีเลชันชิพแล้ว แบบจำลองอี-อาร์ยังนำเสนอกฎข้อบังคับที่จำเป็นในการสร้างฐานข้อมูล
ซึ่งในการนำเสนอนั้น โครงสร้างของฐานข้อมูลทั้งหมดจะถูกแทนด้วยแผนผังอี-อาร์ (E-R diagram) โดยมีสัญลักษณ์ต่าง ๆ ที่ใช้ดังต่อไปนี้
· รูปสี่เหลี่ยม
(rectangles)
ใช้แทนเอนทิตีเซต (entity set)
· วงรี
(elhpses)
ใช้แทนแอตทริบิวต์ (attributes)
· รูปสี่เหลี่ยมขนมเปียกปูน
(diamonds)
ใช้แทนรีเลชันชิพ
·
เส้นตรง (line) ใช้แทนการเชื่อมต่อของแอตทริบิวต์กับเอนทิตีเซต
และการเชื่อมต่อของเอนทิตีเซตกับรีเลชันชิพ
4.1 แบบจำลองของข้อมูล (Data Model)
เป็นแบบจำลองที่ใช้สำหรับอธิบายถึงโครงสร้าง
และความสัมพันธ์ระหว่างข้อมูลภายในฐานข้อมูล
จากรูปแบบที่เป็นแนวคิดที่ยากแก่การเข้าใจให้อยู่ในรูปแบบที่สามารถเข้าใจ
และจับต้องได้ง่ายขึ้น
โดยทั่วไป
ภายในแบบจำลองของข้อมูล จะประกอบด้วย 3 ส่วนหลัก ๆ ดังนี้
1.
ส่วนที่ใช้แทนข้อมูลต่าง ๆ ที่ประกอบกันขึ้นเป็นฐานข้อมูล
ซึ่งโดยทั่วไปมักจะแทน
ด้วยรูปสี่เหลี่ยม
1.
ส่วนของกฎต่าง ๆ
ที่ใช้ควบคุมความถูกต้องของข้อมูลภายในฐานข้อมูล
2.
ส่วนของการกระทำต่าง ๆ
ที่สามารถใช้งานร่วมกับฐานข้อมูล
แบบจำลองของข้อมูล
สามารถแบ่งออกได้เป็น 2 ประเภทด้วยกันคือ Conceptual Models และ Implementation
Models
4.1.1 Conceptual Models
คือแบบจำลองเชิงแนวคิดที่ใช้พรรณนาลักษณะโดยรวมของข้อมูลทั้งหมดในระบบ
โดยนำเสนอในลักษณะแผนภาพซึ่งประกอบด้วยเอนทิตีต่าง ๆ
และความสัมพันธ์ระหว่างเอนทิตีในระบบ
4.1.2 Implementation Models
เป็นแบบจำลองที่อธิบายถึงโครงสร้างข้อมูลของฐานข้อมูล
(structuring
mechanisms) ที่แสดงถึงรูปแบบที่อิงกับระบบการจัดการฐานข้อมูลที่เลือกใช้งาน
4.2 ส่วนประกอบของแบบจำลองข้อมูล
ส่วนประกอบของแบบจำลองข้อมูลสามารถแบ่งออกเป็น
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 คุณสมบัติของแบบจำลองข้อมูลที่ดี
4.3.1 แบบจำลองข้อมูลที่ดีต้องง่ายต่อความเข้าใจ กล่าวคือ
แบบจำลองข้อมูลควรใช้กฎเกณฑ์
ทั่ว ๆ ไป
โดยมีข้อมูลแอตตริบิวต์ที่อธิบายในรายละเอียดของแต่ละเอนทิตี
4.3.2 แบบจำลองข้อมูลที่ดีต้องมีสาระสำคัญ
และไม่ซ้ำซ้อน หมายถึงแอตตริบิวต์ในแต่ละเอนทิตี ไม่ควรมีข้อมูลซ้ำซ้อน
โดยบางแอตตริบิวต์อาจเป็นคีย์นอก (foreign key) เพื่อใช้ในการอ้างอิงข้อมูลในอีกเอนทิตีหนึ่ง
4.3.3 แบบจำลองข้อมูลที่ดีต้องมีความยืดหยุ่น
และง่ายต่อการปรับปรุงในอนาคต กล่าวคือ
แบบจำลองข้อมูลที่ดีไม่ควรขึ้นกับตัวแอปพลิเคชันโปรแกรม
และสนับสนุนการเปลี่ยนแปลงในโครงสร้างซึ่งจะไม่ส่งผลกระทบต่อโปรแกรมที่ใช้งานอยู่
นั่นหมายถึงความเป็นอิสระในข้อมูล
4.4 แบบจำลองฐานข้อมูล (Database
Model)
การตัดสินใจเลือกใช้แบบจำลองฐานข้อมูลชนิดใดเป็นสิ่งสำคัญต่อการออกแบบฐานข้อมูล
โดยรายละเอียดการจัดการฐานข้อมูล หรือการจัดการคลังข้อมูล และต้องสนับสนุน
หรือตั้งอยู่บนพื้นฐานของแบบจำลองฐานข้อมูล ซึ่งมีรายละเอียดต่อไปนี้
4.4.1
แบบจำลองฐานข้อมูลลำดับชั้น (Hierarchical database model)
เป็นแบบจำลองของฐานข้อมูลที่ใช้อธิบายถึงบานข้อมูล
ที่มีโครงสร้างของข้อมูลในแบบลำดับชั้น (Hierarchy) โดยมีจุดประสงค์เริ่มต้นเพื่อต้องการให้เป็นฐานข้อมูลที่สามารถขจัดการซ้ำซ้อนของข้อมูล
(Data Redundancy) โครงสร้างของฐานข้อมูลแบบ Hierarchy
เป็นรูปแบบที่พัฒนามาจากแนวความคิดในการจัดเก็บข้อมูลของโปรแกรมที่มีชื่อว่า
Generalized Update Access Method (GUAM) ที่นำเอาข้อมูลในแต่ละส่วนที่เรียกว่า
Part มาจัดเก็บเป็นกลุ่มที่เรียกว่า Component แล้วจึงรวมแต่ละกลุ่มเป็นกลุ่มใหญ่ทั้งหมดที่เรียกว่า Final
Component โดยมีโครงสร้างอยู่ในรูปแบบของ Tree ที่เรียกว่า Upside-down Tree ซึ่งต่อมาโครงสร้างในลักษณะนี้ได้ถูกเรียกว่า
โครงสร้างแบบ Hierarchy
4.4.2
แบบจำลองฐานข้อมูลเครือข่าย (Network database model)
เป็นแบบจำลองของฐานข้อมูลที่ใช้อธิบายถึงฐานข้อมูลที่มีโครงสร้างของข้อมูลที่จำแนกตามความสัมพันธ์ของข้อมูล
ที่ได้รับการพัฒนามาจากฐานข้อมูลที่มีโครงสร้างแบบ Hierarchy โดยมีจุดมุ่งหมายเพื่อกำหนดให้เป็นรูปแบบของโครงสร้างข้อมูลที่เป็นมาตรฐาน
รวมทั้งมุ่งหวังให้เป็นฐานข้อมูลที่สามารถรองรับข้อมูลที่มีความสัมพันธ์ในแบบ Many
– to – Many
4.4.3
แบบจำลองฐานข้อมูลเชิงสัมพันธ์ (Relational database model)
เป็นฐานข้อมูลที่ก่อให้เกิดการปฏิวัติระบบฐานข้อมูลขึ้น
เนื่องจากเป็นโครงสร้างของฐานข้อมูลที่มีการนำไปใช้กันอย่างแพร่หลายในผลิตภัณฑ์ทางด้านฐานข้อมูลต่าง
ๆ ที่มีจำหน่ายอยู่ในท้องตลาด ตั้งแต่ที่ทำงานอยู่บนเครื่องคอมพิวเตอร์ส่วนบุคคล
ตลอดจนเครื่องคอมพิวเตอร์ขนาดใหญ่อย่างเช่น Mainframe
4.4.4
แบบจำลองฐานข้อมูลเชิงวัตถุ (Object-Oriented database model)
เทคโนโลยีฐานข้อมูลแบบออบเจกต์
ได้ถูกนำเสนอเข้ามาเพื่อแก้ปัญหาที่กล่าวมาข้างต้น
สกีมาของฐานข้อมูลแบบออบเจกต์จะประกอบไปด้วยชุดของคลาส (class) โดยที่แต่ละคลาส คือ ชุดของออบเจกต์ที่มีโครงสร้าง
และพฤติกรรมอย่างเดียวกัน โครงสร้างของออบเจกต์ถูกกำหนดโดยใช้พรอปเพอร์ตี (property)
ของคลาส สิ่งที่สำคัญเกี่ยวกับฐานข้อมูลแบบออบเจกต์ก็คือ
ผู้ใช้ไม่มีความจำเป็นต้องรู้เรื่องวิธีการทำงานภายในของแต่ละเมธอด ผู้ใช้สามารถเข้าถึงออบเจกต์ลูกค้า
และใช้เมธอดสั่งซื้อสินค้าได้เลย
ทั้งนี้การเชื่อมต่อระหว่างออบเจกต์สินค้ากับใบสั่งซื้อ
ที่มีผลกระทบจากการใช้เมธอดสั่งซื้อสินค้าอาจมองเห็นได้โดยผู้ใช้ หรือไม่ก็ได้
4.4.5
แบบจำลองฐานข้อมูลแบบมัลติไดเมนชัน (Multidimensional database
model)
แบบจำลองชนิดนี้ใช้งานกับคลังข้อมูล (data
warehousing) โดยจะนำเสนอข้อมูลในลักษณะไดเมนชัน
ทำให้วิวข้อมูลได้สองทางเพื่อให้สามารถมองเห็นปัญหาในธุรกิจ
และสร้างวิธีการแก้ไขปัญหาได้ดียิ่งขึ้น กล่าวคือ
แบบจำลองฐานข้อมูลมัลติไดเมนชันนี้จะมีการนำกระบวนการทำงานทางธุรกิจมาจัดการให้อยู่ในรูปของมิติ
4.5 ข้อดีและข้อเสียของแบบจำลองฐานข้อมูลแต่ละชนิด
4.5.1
แบบจำลองฐานข้อมูลลำดับชั้น (Hierarchical database model)
ข้อดี
· มีโครงสร้างที่เข้าใจง่าย
ซึ่งเป็นลักษณะต้นไม้ (Tree)
· มีโครงสร้างที่ซับซ้อนน้อยที่สุด
และเหมาะกับข้อมูลที่มีความสัมพันธ์แบบ One-to-many
· ป้องกันความปลอดภัยในข้อมูลที่ดี
· เหมาะกับข้อมูลที่มีการเรียงลำดับแบบต่อเนื่อง
ข้อเสีย
· ไม่สามารถรองรับข้อมูลที่มีความสัมพันธ์ในลักษณะของ
many-to-many
ได้
· มีความยืดหยุ่น
หรือมีความคล่องตัวน้อย
· เนื่องจากในการเรียกใช้ข้อมูลจำเป็นต้องผ่าน
root
เสมอ ดังนั้นหากต้องการค้นหาข้อมูลซึ่งอยู่ในระดับต่าง ๆ
ก็จะต้องค้นหาทั้งแฟ้ม
· การพัฒนาโปรแกรมค่อนข้างยาก
เพราะต้องทราบถึงโครงสร้างทางฟิสิคอลของข้อมูลที่จัดเก็บอยู่ในฐานข้อมูล
4.5.2
แบบจำลองฐานข้อมูลเครือข่าย (Network database model)
ข้อดี
· สนับสนุนความสัมพันธ์แบบ
many-to-many
· ความซ้ำซ้อนในข้อมูลเกิดขึ้นน้อยกว่าแบบลำดับชั้น
· สามารถเชื่อมโยงข้อมูลแบบไป-กลับได้
· มีความยืดหยุ่นในด้านของการค้นหาข้อมูลดีกว่า
โดยจะใช้พอยน์เตอร์ในการเข้าถึงข้อมูลได้ทันที
ข้อเสีย
· เนื่องจากสามารถเข้าถึงเรคอร์ดได้โดยตรง
ทำให้การป้องกันความปลอดภัยของข้อมูลมีน้อย
· สิ้นเปลืองเนื้อที่หน่วยความจำในการเก็บพอยน์เตอร์
·
การเปลี่ยนแปลงในโครงสร้างยังมีความยุ่งยากอยู่
4.5.3
แบบจำลองฐานข้อมูลเชิงสัมพันธ์ (Relational database model)
ข้อดี
· มีความเข้าใจ
และสื่อสารได้เข้าใจง่าย เนื่องจากนำเสนอในลักษณะตาราง 2 มิติ
· สามารถเลือกวิวข้อมูลตามเงื่อนไขได้หลายคีย์ฟิลล์
· ความซับซ้อนในข้อมูลมีน้อยมาก
· มีระบบความปลอดภัยที่
· โครงสร้างข้อมูลมีความอิสระจากโปรแกรม
และเป็นแบบจำลองฐานข้อมูลที่ผู้ใช้งานนิยมใช้มากที่สุด
ข้อเสีย
· จำเป็นต้องเสียค่าใช้จ่ายในระบบค่อนข้างสูง
เนื่องจากทรัพยากรทั้งตัวฮาร์ดแวร์ และซอฟต์แวร์ ที่นำมาใช้ต้องมีความสามารถสูง
-
เนื่องจากไม่ทราบถึงกระบวนการจัดเก็บข้อมูลในฐานข้อมูลที่แท้จริงเป็นอย่างไร
4.6 ประเภทของความสัมพันธ์ของข้อมูล
สำหรับความสัมพันธ์ระหว่างข้อมูล
สามารถแบ่งออกได้เป็น 3 ลักษณะดังนี้
4.6.1
ความสัมพันธ์แบบ One – to – One
เป็นความสัมพันธ์ที่แต่ละรายการของข้อมูล
“A”
มีความสัมพันธ์กับข้อมูล “B” เพียงรายการเดียว
เช่น กรณีลูกค้าสามารถมีบัญชีเงินฝากได้เพียงบัญชีเดียว
หรือกรณีที่แต่ละบัญชีเงินฝากสามารถมีเจ้าของบัญชีได้เพียงคนเดียว
4.6.2
ความสัมพันธ์แบบ One-to-many
เป็นความสัมพันธ์ที่แต่รายการของข้อมูล “A” มีความสัมพันธ์กับข้อมูล “B” มากกว่า 1 รายการ เช่น กรณีลูกค้าสามารถมีบัญชีเงินฝากได้มากกว่า
1
4.6.3
ความสัมพันธ์แบบ Many-to-Many
เป็นความสัมพันธ์ที่แต่ละรายการของข้อมูล
“A”
มีความสัมพันธ์กับข้อมูล “B” มากกว่า 1 รายการ
แต่ในขณะเดียวกันแต่ละรายการของข้อมูล “B” ก็มีความสัมพันธ์กับข้อมูล
“A” มากกว่า 1 รายการเช่นเดียวกัน เช่น
กรณีลูกค้าสามารถมีบัญชีเงินฝากได้มากกว่า 1 บัญชี
และแต่ละบัญชีเงินฝากสามารถมีเจ้าของบัญชีได้มากกว่า 1 คน
ความคิดเห็น
แสดงความคิดเห็น