วันพุธที่ 16 ธันวาคม พ.ศ. 2558

บทที่ 4 เรื่อง แบบจำลองฐานข้อมูล



แบบจำลองข้อมูล คือ เครื่องมือในเชิงแนวความคิดที่ใช้ในการอธิบายข้อมูล โครงสร้างข้อมูล, ความสัมพันธ์ของข้อมูล, ความหมายของข้อมูล และเงื่อนไขบังคับความสอดคล้องกันของข้อมูล ซึ่งมีองค์ประกอบต่าง  ๆ โดยย่อดังนี้ 
-      เอนทิตี (entity) หมายถึง วัตถุ (object) หรือแนวคิดที่สามารถบอกความแตกต่างของแต่ละเอนทิตีได้ กลุ่มของเอนทิตีที่มีคุณสมบัติเหมือนกันจะเรียกว่า เอนทิตีเซต (entity set) 
-     รีเลซันชิพเซต (relationship set) คือ ความสัมพันธ์ระหว่างเอนทิตี 
นอกจากเอนทิตี และรีเลชันชิพแล้ว แบบจำลองอี-อาร์ยังนำเสนอกฎข้อบังคับที่จำเป็นในการสร้างฐานข้อมูล ซึ่งในการนำเสนอนั้น โครงสร้างของฐานข้อมูลทั้งหมดจะถูกแทนด้วยแผนผังอี-อาร์ (E-R diagram) โดยมีสัญลักษณ์ต่าง ๆ ที่ใช้ดังต่อไปนี้

  • รูปสี่เหลี่ยม (rectangles) ใช้แทนเอนทิตีเซต (entity set)
  • วงรี (elhpses) ใช้แทนแอตทริบิวต์ (attributes)
  • รูปสี่เหลี่ยมขนมเปียกปูน (diamonds) ใช้แทนรีเลชันชิพ
  • เส้นตรง (line) ใช้แทนการเชื่อมต่อของแอตทริบิวต์กับเอนทิตีเซต และการเชื่อมต่อ
                         ของเอนทิตีเซตกับรีเลชันชิพ

4.1  แบบจำลองของข้อมูล (Data Model)
เป็นแบบจำลองที่ใช้สำหรับอธิบายถึงโครงสร้าง และความสัมพันธ์ระหว่างข้อมูลภายในฐานข้อมูล จากรูปแบบที่เป็นแนวคิดที่ยากแก่การเข้าใจให้อยู่ในรูปแบบที่สามารถเข้าใจ และจับต้องได้ง่ายขึ้น
โดยทั่วไป ภายในแบบจำลองของข้อมูล จะประกอบด้วย 3 ส่วนหลัก ๆ ดังนี้
1.    ส่วนที่ใช้แทนข้อมูลต่าง ๆ ที่ประกอบกันขึ้นเป็นฐานข้อมูล ซึ่งโดยทั่วไปมักจะแทน 
ด้วยรูปสี่เหลี่ยม
2.    ส่วนของกฎต่าง ๆ ที่ใช้ควบคุมความถูกต้องของข้อมูลภายในฐานข้อมูล
3.    ส่วนของการกระทำต่าง ๆ ที่สามารถใช้งานร่วมกับฐานข้อมูล
แบบจำลองของข้อมูล สามารถแบ่งออกได้เป็น 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)
4.5.1.1    ข้อดี

  • มีโครงสร้างที่เข้าใจง่าย ซึ่งเป็นลักษณะต้นไม้ (Tree)
  • มีโครงสร้างที่ซับซ้อนน้อยที่สุด และเหมาะกับข้อมูลที่มีความสัมพันธ์แบบ One-to-many
  • ป้องกันความปลอดภัยในข้อมูลที่ดี
  • เหมาะกับข้อมูลที่มีการเรียงลำดับแบบต่อเนื่อง
4.5.1.2    ข้อเสีย
  • ไม่สามารถรองรับข้อมูลที่มีความสัมพันธ์ในลักษณะของ many-to-many ได้
  • มีความยืดหยุ่น หรือมีความคล่องตัวน้อย
  • เนื่องจากในการเรียกใช้ข้อมูลจำเป็นต้องผ่าน root เสมอ ดังนั้นหากต้องการค้นหาข้อมูลซึ่งอยู่ในระดับต่าง ๆ ก็จะต้องค้นหาทั้งแฟ้ม
  • การพัฒนาโปรแกรมค่อนข้างยาก เพราะต้องทราบถึงโครงสร้างทางฟิสิคอลของข้อมูลที่จัดเก็บอยู่ในฐานข้อมูล

4.5.2   แบบจำลองฐานข้อมูลเครือข่าย (Network database model)
4.5.2.1    ข้อดี

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

4.5.3   แบบจำลองฐานข้อมูลเชิงสัมพันธ์ (Relational database model)
4.5.3.1    ข้อดี

  • มีความเข้าใจ และสื่อสารได้เข้าใจง่าย เนื่องจากนำเสนอในลักษณะตาราง 2 มิติ
  • สามารถเลือกวิวข้อมูลตามเงื่อนไขได้หลายคีย์ฟิลล์
  • ความซับซ้อนในข้อมูลมีน้อยมาก
  • มีระบบความปลอดภัยที่
  • โครงสร้างข้อมูลมีความอิสระจากโปรแกรม และเป็นแบบจำลองฐานข้อมูลที่ผู้ใช้งานนิยมใช้มากที่สุด
4.5.3.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 คน

ไม่มีความคิดเห็น:

แสดงความคิดเห็น