หน่วยที่ 3 โมเดลฐานข้อมูล

แบบจำลองฐานข้อมูล (Database Models)

         แบบจำลองฐานข้อมูล (Database Models) ​คือ

                    แบบจำลองฐานข้อมูลนำไปใช้ในขั้นตอนการออกแบบฐานข้อมูลเพื่อให้เห็นภายในฐานข้อมูลและนำไปใช้ในขั้นตอนการสร้างฐานข้อมูล

แบ่งได้เป็น โมเดลแบบแนวคิด และโมเดลแบบการนำไปใช้

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

                    สำหรับการนำโมเดลแบบแนวความคิดต่าง ๆ และโมเดลแบบการนำไปใช้มานำเสนอให้เกิดเป็นรูปแบบจำลองเพื่อใช้สำหรับการสื่อสารระหว่างผู้ออกแบบฐานข้อมลกับผู้ใช้ให้เกิดความเข้าใจตรงกัน ได้แก่ แบบจำลองข้อมูลลำดับชั้น (Hierarchical database model)  แบบจำลองข้อมูลเครือข่าย (Network database model) และแบบจำลองฐานข้อมูลเชิงสัมพันธ์ (Relational database model) เป็นต้น โดยมีรายละเอียดดังนี้

  • แบบจำลองข้อมูลลำดับชั้น (Hierarchical database model)

                    โครงสร้างของแบบจำลองข้อมูลลำดับชั้นมีลักษณะเป็นแนวต้นไม้  (Tree) \ [แบบจำลองข้อมูลลำดับชั้นเป็นแบบจำลองต้นแบบสำหรับการแก้ไขปัญหาการเก็บข้อมูลด้วยระบบแฟ้มข้อมูล]

  • ข้อดีของแบบจำลองฐานข้อมูลลำดับชั้น
    • แบบจำลองฐานข้อมูลลำดับชั้นสามารถกำหนดกฎเกณฑ์ที่ใช้ควบคุมความถูกต้องให้กับข้อมูลภายในฐานข้อมูลได้ง่าย
    • แบบจำลองฐานข้อมูลลำดับชั้นมีโครงสร้างที่เหมาะกับข้อมูลที่มีความสัมพันธ์ในแบบหนึ่งต่อกลุ่ม (One-to-Many)  
    • มีโครงสร้างที่เหมาะสมกับระบบคอมพิวเตอร์ที่มีขนาดใหญ่   
  • ข้อเสียของแบบจำลองฐานข้อมูลลำดับชั้น
    • การเปลี่ยนแปลงโครงสร้างของข้อมูลในแบบจำลองฐานข้อมูลลำดับชั้นส่งผลให้ต้องมีการปรับเปลี่ยนและแก้ไขโปรแกรม
    • แบบจำลองฐานข้อมูลลำดับชั้นลองรับเฉพาะกับข้อมูลที่มีความสัมพันธ์ในแบบหนึ่งต่อกลุ่ม (One-to-Many)
    • แบบจำลองฐานข้อมูลลำดับชั้นการจัดการกับข้อมูลขาดความยืดหยุ่นในการทำงาน
  • แบบจำลองข้อมูลเครือข่าย (Network database model)

                    [แบบจำลองข้อมูลเครือข่ายถูกพัฒนาเพื่อแก้ไขปัญหาของแบบจำลองข้อมูลลำดับชั้น] โดยเพิ่มความสามารถการโอนถ่ายข้อมูลผ่านระบบจัดการฐานข้อมูล (DBMS :: Database Management System)

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

                    ฐานข้อมูลเชิงสัมพันธ์ คือ การเก็บข้อมูลในรูปของตาราง (Table) หลายๆตารางที่มีความสัมพันธ์กัน ในแต่ละตารางแบ่งออกเป็นแถวๆ และในแต่ละแถวจะแบ่งเป็นคอลัมน์ (Column)

                    เริ่มต้นผู้คิดค้น คือ Dr.E.F.Codd โดยใช้หลักพื้นฐานทางคณิตศาสตร์เรื่องเซ็ท (Set) กำหนดส่วนประกอบของแบบจำลอง (โมเดล) เชิงสัมพันธ์ ได้แก่ ส่วนโครงสร้างข้อมูล ส่วนควบคุมความถูกต้อง และส่วนจัดการข้อมูล

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

โมเดลฐานข้อมูลเชิงสัมพันธ์ (Relational database model)

                    โมเดลฐานข้อมูลเชิงสัมพันธ์ทำงานผ่านโปรแกรมประเภทระบบการจัดการฐานข้อมูลเชิงสัมพันธ์  (Relational Database Management System :: RDBMS)

                   ความหมายของฐานข้อมูลเชิงสัมพันธ์

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

       

                                หมายเหตุ ข้อมูลแต่ละแถวจะถูกเรียกว่า ทูเปิล (Tuple) ส่วนแอททริบิวต์ (Attribute) หมายถึง ข้อมูลที่ใช้อธิบายคุณสมบัติหรือคุณลักษณะของแต่ละเอนทีตี้และ เอนทีตี้ (Entity) หมายถึง สิ่งต่างๆ(Things) หรือ วัตถุ(Objects) ที่ถูกรวบรวมเป็นข้อมูลในฐานข้อมูล

                            เชิงสัมพันธ์ Relationship ในระบบฐานข้อมูล  ข้อมูลแต่ละส่วนจะมีความสัมพันธ์เกี่ยวข้องกัน  ทฤษฏีระบบฐานข้อมูลได้แบ่งความสัมพันธ์ของข้อมูลออกเป็น  3 แบบ  คือ หนึ่งต่อหนึ่ง (one-to-one)  ,  หนึ่งต่อกลุ่ม (one-to-many) , กลุ่มต่อกลุ่ม (many-to-many)

                    การออกแบบความสัมพันธ์ของสถาปัตยกรรมในระดับแนวคิด  (Conceptual Level)

                    การออกแบบความสัมพันธ์ในระดับแนวคิด (Relationship) เป็นการกำหนดความสัมพันธ์ระหว่างตาราง แบ่งออกเป็น

  • ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (one-to-one relationship) : เป็นความสัมพันธ์ระหว่างentityหนึ่งไปมีความสัมพันธ์กับอีกentityหนึ่งเพียงหนึ่งรายการเท่านั้น เช่น พนักงาน(Staff) หนึ่งคนจะดูแลหนึ่งสาขา ในขณะที่สาขาจะมีหัวหน้าพนักงานดูแลได้เพียงหนึ่งคน
  • ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (one-to-many relationship) : เป็นความสัมพันธ์ระหว่าง entity หนึ่งไปมีความสัมพันธ์กับอีก entity หนึ่งมากกว่าหนึ่งรายการ
  • ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (many-to-many relationship) : เป็นความสัมพันธ์แบบหลายรายการระหว่างentityทั้งสอง

 


  • แบบจำลองฐานข้อมูลเชิงวัตถุ (Object-Oriented database model)

                     แบบจำลองฐานข้อมูลเชิงวัตถุ (Object-Oriented database model) เป็นเทคโนโลยีที่พัฒนาต่อจากฐานข้อมูลเชิงสัมพันธ์ โดยการจัดการฐานข้อมูลเชิงวัตถุให้ความสนใจด้วยการมองทุกสิ่งเป็นวัตถุ โดยแต่ละวัตถุจะเป็นแหล่งรวมของข้อมูลและการปฏิบัติงาน (data and operation) มีคลาสเป็นตัวกำหนดคุณสมบัติหรือรายละเอียดของวัตถุ รวมทั้งคุณสมบัติการปกปิดความลับของวัตถุ 

*หมายเหตุ แบบจำลองฐานข้อมูลยังมีอีกมาก อันได้แก่ แบบจำลองฐานข้อมูลมัลติไดเมนชัน (Multidimensional database model) แบบจำลองชนิดที่ใช้งานกับคลังข้อมูล (Data Warehouse) เป็นต้น