สถาปัตยกรรม และแบบจำลองระบบฐานข้อมูล (Database Architecture And Database Model)

ความหมายของสถาปัตยกรรม และแบบจำลองระบบฐานข้อมูล (Database Architecture And Database Model)

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

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

สถาปัตยกรรมฐานข้อมูล คือ โครงสร้างและแบบจำลองการออกแบบระบบจัดการฐานข้อมูล (DBMS) กับแอปพลิเคชัน แบ่งออกเป็น 3 ระดับตามมาตรฐาน ANSI/SPARC เพื่อแยกอิสระระหว่างข้อมูลและโปรแกรม พร้อมทั้งกำหนดการเชื่อมต่อเครือข่าย

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


วัตถุประสงค์ของสถาปัตยกรรมฐานข้อมูล (Objective of Database Architecture)

  1. ลดความซ้ำซ้อนของข้อมูล
  2. เพิ่มความถูกต้องและความสอดคล้องของข้อมูล
  3. เพิ่มความปลอดภัยของข้อมูล
  4. รองรับผู้ใช้งานหลายคนพร้อมกัน
  5. เพิ่มประสิทธิภาพในการจัดการข้อมูล

สถาปัตยกรรมโครงสร้างฐานข้อมูล 3 ระดับ (3-Schema Architecture)

สถาปัตยกรรมโครงสร้างฐานข้อมูล 3 ระดับ (3-Schema Architecture)  ได้แก่ ระดับภายนอก ระดับแนวคิด และระดับภายใน สถาปัตยกรรมระดับนี้ช่วยให้ผู้ใช้แต่ละกลุ่มเข้าถึงข้อมูลได้โดยไม่ต้องสนใจว่าข้อมูลจะถูกจัดเก็บในเครื่องเซิร์ฟเวอร์อย่างไร ประกอบด้วย

  • ระดับภายนอก (External Level / View Level)

มุมมองข้อมูลเฉพาะผู้ใช้งานแต่ละกลุ่มหรือแต่ละแอปพลิเคชัน (เช่น พนักงานเห็นข้อมูลลูกค้า แต่ผู้จัดการเห็นข้อมูลทั้งหมด)

  • ระดับแนวคิด (Conceptual Level) 

โครงสร้างข้อมูลภาพรวมขององค์กร แสดงความสัมพันธ์ของข้อมูลทั้งหมด โดยไม่สนใจรายละเอียดทางกายภาพ

  • ระดับภายใน (Internal Level / Physical Level)

ระดับล่างสุดที่จัดเก็บข้อมูลจริงบนฮาร์ดแวร์ ครอบคลุมถึงวิธีการจัดเก็บ โครงสร้างดัชนี (Index) และการบีบอัดข้อมูล

สถาปัตยกรรมระบบ (System Architecture) 

เป็นการจัดวางระบบฐานข้อมูลในเครือข่ายคอมพิวเตอร์เพื่อให้บริการผู้ใช้งาน แบ่งเป็นรูปแบบหลักๆ ดังนี้

  • แบบศูนย์กลาง (Centralized Database) 

ฐานข้อมูลและระบบจัดการทั้งหมดรวมศูนย์อยู่ที่คอมพิวเตอร์เครื่องเดียว ผู้ใช้เข้าถึงผ่านเครือข่าย เหมาะกับระบบขนาดเล็ก

  • แบบกระจาย (Distributed Database) 

ข้อมูลถูกจัดเก็บแยกกันในหลายเครื่องหรือหลายสถานที่ แต่เชื่อมโยงกันเป็นระบบเดียวผ่านเครือข่าย ทำให้ทำงานได้รวดเร็วขึ้น

  • แบบไคลเอนต์-เซิร์ฟเวอร์ (Client-Server Architecture) 

แยกการทำงานอย่างชัดเจน ระหว่างฝั่ง Client (เครื่องผู้ใช้งานที่รับคำสั่ง/แสดงผล) และ Server (เครื่องเก็บฐานข้อมูลหลักที่ประมวลผลคำสั่ง)

องค์ประกอบหลักของสถาปัตยกรรมระบบฐานข้อมูล (Component of Database Architecutre)

  1. ผู้ใช้งาน (Users) ได้แก่ ผู้ใช้งานทั่วไป ผู้ดูแลระบบ ผู้ใช้งานฐานข้อมูล ผู้บริหารฐานข้อมูล เป็นต้น 
  2. โปรแกรมประยุกต์ (Application) ได้แก่ เว็บไซต์ แอปพลิเคชั่น โปรแกรมประยุกต์ อื่นๆ 
  3. ระบบจัดการฐานข้อมูล (DBMS) ได้แก่ ระบบบริหารฐานข้อมูล Oracal, SQL Server, MySQL, Postgresql อื่นๆ
  4. ฐานข้อมูล (Database)  ระดับการจัดเก็บข้อมูลภายใน ได้แก่ คอมพิวเตอร์ Server Cloude Distribultion การจัดเก็บข้อมูลแบบเครือข่ายแบบกระจาย Edge Computing หรืออุปกรณ์ฝั่งตัว IoT ต่างๆ  

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

  1. Hierarchical Database Model ลักษณะเป็นโครงสร้างต้นไม้ (Tree)
  2. Network Database Model ลักษณะเป็นโครงข่าย (Network)
  3. Relational Database Model ลักษณะเป็นความสัมพันธ์ของสองอย่าง (Relational)
  4. Object-Oriented Database Model ลักษณะเป็นเชิงวัตถุ (Objects)
  5. Object-Relational Database Model ลักษณะเป็นความสัมพันธ์ของวัตถุ 
  6. NoSQL Database Model ลักษณะเป็นแบบไม่มีโครงสร้างตายตัว หรือกิ่งโครงสร้าง (ปัจจุบันใช้มาก กับข้อมูลขนาดใหญ่ BigData)

1. Hierarchical Database Model (แบบจำลองฐานข้อมูลแบบลำดับชั้น)

Hierarchical Database Model (แบบจำลองฐานข้อมูลแบบลำดับชั้น) คือ แบบจำลองฐานข้อมูลที่จัดเก็บข้อมูลในลักษณะโครงสร้างต้นไม้ (Tree Structure) โดยข้อมูลจะมีความสัมพันธ์แบบ พ่อ–ลูก (Parent–Child Relationship) ซึ่งแต่ละระเบียน (Record) จะมี Parent ได้เพียง 1 ตัว แต่สามารถมี Child ได้หลายตัว จึงเป็นความสัมพันธ์แบบ One-to-Many (1:N)

1.1 ลักษณะสำคัญของ Hierarchical Database Model 

  • ข้อมูลจัดเรียงเป็นโครงสร้างต้นไม้ (Tree)
  • Parent 1 รายการ สามารถมี Child ได้หลายรายการ
  • Child แต่ละรายการมี Parent ได้เพียงรายการเดียว
  • การค้นหาข้อมูลรวดเร็ว หากค้นหาตามลำดับชั้น
  • เหมาะกับข้อมูลที่มีโครงสร้างแน่นอนและเป็นลำดับ


1.2 ข้อดี

  • เข้าใจง่าย เพราะมีโครงสร้างเหมือนต้นไม้
  • ค้นหาข้อมูลตามลำดับชั้นได้รวดเร็ว
  • เหมาะกับข้อมูลที่มีความสัมพันธ์แบบ Parent–Child
  • มีประสิทธิภาพสำหรับข้อมูลที่มีโครงสร้างตายตัว

1.3 ข้อเสีย

  • Child มี Parent ได้เพียงหนึ่งเดียว ทำให้ข้อมูลซ้ำเมื่อข้อมูลต้องอยู่หลายตำแหน่ง
  • การเปลี่ยนโครงสร้างทำได้ยาก
  • ไม่เหมาะกับข้อมูลที่มีความสัมพันธ์ซับซ้อน เช่น Many-to-Many
  • ความยืดหยุ่นต่ำเมื่อเทียบกับฐานข้อมูลเชิงสัมพันธ์ (Relational Datab

1.4 ตัวอย่างการใช้งานจริง

  • โครงสร้างองค์กร (Organization Chart) เป็นแผนผังอธิบายโครงสร้างการทำงานหรือตำแหน่งในองค์กร
  • ระบบแฟ้มข้อมูล (File System) การจัดเก็บเป็นระบบระเบียบอย่างเป็นหมวดหมู่ของระบบจัดการแฟ้มข้อมูล 
  • แผนผังเว็บไซต์ (Website Sitemap) โครงสร้างของเว็บไซต์ทั้งหมดตั้งแต่หน้าแรก และหน้าอื่นๆ เชื่อมโยงกัน
  • หมวดหมู่สินค้า (Product Categories) การจัดหมวดหมู่สินค้า กลุ่มสินค้า ประเภทสินค้า 
  • สายการบังคับบัญชา (Chain of Command) โครงสร้างการบังคับบัญชาขององค์กรเพื่ดให้ทราบถึงระดับการทำงาน และการสั่งการ 

2. Network Database Model (แบบจำลองฐานข้อมูลแบบโครงข่าย)

Network Database Model คือ แบบจำลองฐานข้อมูลที่จัดเก็บข้อมูลในลักษณะโครงข่าย (Network Structure) โดยแต่ละระเบียน (Record) สามารถเชื่อมโยงกับระเบียนอื่นได้หลายรายการ ทำให้ข้อมูลมีความสัมพันธ์แบบ หลายต่อหลาย (Many-to-Many: M:N) หรือ หลายต่อหนึ่ง (Many-to-One) ได้ จึงมีความยืดหยุ่นมากกว่า Hierarchical Database Model เช่น ข้อมูลสถานีรถไฟ การบิน การขนส่ง เป็นต้น

ลักษณะสำคัญของ Network Database Model

  • ข้อมูลจัดเก็บเป็นโครงข่าย (Network)
  • Record หนึ่งรายการสามารถเชื่อมโยงกับหลาย Record ได้
  • Child สามารถมี Parent ได้มากกว่าหนึ่งรายการ
  • รองรับความสัมพันธ์แบบ Many-to-Many (M:N)
  • ค้นหาข้อมูลได้รวดเร็วผ่านการเชื่อมโยงระหว่างข้อมูล

3. Relational Database Model (แบบจำลองฐานข้อมูลเชิงสัมพันธ์)

Relational Database Model คือ แบบจำลองฐานข้อมูลที่จัดเก็บข้อมูลในรูปแบบตาราง (Table) โดยแต่ละตารางจะมีความสัมพันธ์ (Relationship) กับตารางอื่นผ่าน Primary Key (PK) และ Foreign Key (FK) ทำให้สามารถเชื่อมโยงข้อมูลระหว่างตารางได้อย่างเป็นระบบ ลดความซ้ำซ้อนของข้อมูล และจัดการข้อมูลได้อย่างมีประสิทธิภาพ 

ลักษณะสำคัญของ Relational Database Model (แบบจำลองฐานข้อมูลเชิงสัมพันธ์)

  • จัดเก็บข้อมูลในรูปแบบ ตาราง (Table)
  • แต่ละแถว (Row หรือ Record) แทนข้อมูล 1 รายการ
  • แต่ละคอลัมน์ (Column หรือ Field) แทนคุณลักษณะของข้อมูล
  • ใช้ Primary Key (PK) เพื่อระบุข้อมูลแต่ละรายการไม่ให้ซ้ำกัน
  • ใช้ Foreign Key (FK) เพื่อเชื่อมโยงข้อมูลระหว่างตาราง
  • ใช้ภาษา SQL (Structured Query Language) ในการเพิ่ม แก้ไข ลบ และค้นหาข้อมูล

ความสัมพันธ์

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

4. Object-Oriented Database Model (แบบจำลองฐานข้อมูลเชิงวัตถุ)

Object-Oriented Database Model (OODBMS) คือ แบบจำลองฐานข้อมูลที่จัดเก็บข้อมูลในรูปแบบวัตถุ (Object) โดยนำแนวคิดของ การเขียนโปรแกรมเชิงวัตถุ (Object-Oriented Programming: OOP) มาใช้ในการจัดเก็บข้อมูล ทำให้ข้อมูลและพฤติกรรม (Methods) ถูกเก็บรวมอยู่ในวัตถุเดียวกัน

ลักษณะสำคัญ Object-Oriented Database Model (แบบจำลองฐานข้อมูลเชิงวัตถุ)

  • จัดเก็บข้อมูลในรูปแบบ วัตถุ (Object)
  • วัตถุถูกสร้างจาก คลาส (Class)
  • เก็บทั้ง ข้อมูล (Attributes) และ พฤติกรรม (Methods) ไว้ในวัตถุเดียวกัน
  • รองรับ Inheritance (การสืบทอดคุณสมบัติ)
  • รองรับ Polymorphism (การใช้งานหลายรูปแบบ)
  • รองรับ Encapsulation (การห่อหุ้มข้อมูล)

4. Object-Relational Database Model (แบบจำลองฐานข้อมูลเชิงวัตถุ–เชิงสัมพันธ์)


Object-Relational Database Model (ORDBMS) คือ แบบจำลองฐานข้อมูลที่ผสมผสานข้อดีของฐานข้อมูลเชิงสัมพันธ์ (Relational Database) กับ ฐานข้อมูลเชิงวัตถุ (Object-Oriented Database) เข้าด้วยกัน โดยยังคงจัดเก็บข้อมูลในรูปแบบ ตาราง (Table) แต่สามารถรองรับ ชนิดข้อมูลเชิงวัตถุ (Object Types) และคุณสมบัติของการเขียนโปรแกรมเชิงวัตถุได้

แบบจำลองนี้ถูกพัฒนาขึ้นเพื่อรองรับข้อมูลที่มีความซับซ้อนมากกว่าฐานข้อมูลเชิงสัมพันธ์แบบดั้งเดิม เช่น รูปภาพ วิดีโอ พิกัดทางภูมิศาสตร์ (GIS) เอกสาร และข้อมูลมัลติมีเดีย

คุณลักษณะสำคัญของ Object-Relational Database Model (แบบจำลองฐานข้อมูลเชิงวัตถุ–เชิงสัมพันธ์)

  • จัดเก็บข้อมูลหลักในรูปแบบ ตาราง (Table)
  • รองรับ Object Types (ชนิดข้อมูลเชิงวัตถุ)
  • เชื่อมโยงข้อมูลด้วย Primary Key (PK) และ Foreign Key (FK) เช่นเดียวกับ Relational Database
  • รองรับ User-Defined Types (UDT) หรือชนิดข้อมูลที่ผู้ใช้กำหนดเอง
  • สามารถจัดเก็บข้อมูลที่ซับซ้อน เช่น รูปภาพ เสียง วิดีโอ และข้อมูลเชิงพื้นที่ (Spatial Data)
  • ใช้ภาษา SQL พร้อมส่วนขยายสำหรับการทำงานกับข้อมูลเชิงวัตถุ

ข้อดี

  • รวมข้อดีของ Relational Database และ Object-Oriented Database
  • รองรับข้อมูลที่มีโครงสร้างซับซ้อนได้ดี
  • ยังสามารถใช้ SQL ในการจัดการข้อมูล
  • ลดความแตกต่างระหว่างโปรแกรมเชิงวัตถุกับฐานข้อมูล
  • เหมาะสำหรับระบบที่ต้องจัดการทั้งข้อมูลทั่วไปและข้อมูลเชิงวัตถุ

ข้อเสีย

  • โครงสร้างซับซ้อนกว่า Relational Database
  • ต้องใช้ความรู้ทั้งด้าน SQL และแนวคิดเชิงวัตถุ
  • การออกแบบฐานข้อมูลอาจใช้เวลามากขึ้น
  • บางคุณสมบัติอาจแตกต่างกันในแต่ละระบบฐานข้อมูล

NoSQL Database Model (แบบจำลองฐานข้อมูลแบบไม่มีโครงสร้างตายตัว)


NoSQL Database Model คือ แบบจำลองฐานข้อมูลที่ไม่จำเป็นต้องจัดเก็บข้อมูลในรูปแบบตาราง (Table) แบบฐานข้อมูลเชิงสัมพันธ์ (Relational Database) และ ไม่มีโครงสร้าง (Schema) ที่ตายตัว ทำให้สามารถจัดเก็บข้อมูลได้หลากหลายรูปแบบ เช่น เอกสาร (Document), คีย์-ค่า (Key-Value), คอลัมน์ (Column-Family) และกราฟ (Graph)
NoSQL ได้รับความนิยมอย่างมากในยุค Big Data, Cloud Computing, IoT, Social Media และ AI เนื่องจากสามารถรองรับข้อมูลจำนวนมหาศาล (Big Data) และขยายระบบ (Scalability) ได้ง่าย

คุณลักษณะสำคัญ NoSQL Database Model (แบบจำลองฐานข้อมูลแบบไม่มีโครงสร้างตายตัว)

  • ไม่มี Schema (รูปแบบโครงสร้าง)ที่ตายตัว (Schema-less หรือ Flexible Schema)
  • รองรับข้อมูลปริมาณมหาศาล (Big Data)
  • ออกแบบมาเพื่อระบบ Cloud และ Distributed Database
  • ขยายระบบแบบแนวนอน (Horizontal Scaling) ได้ง่าย
  • รองรับข้อมูลหลายรูปแบบ เช่น JSON, XML และ BSON
  • ประสิทธิภาพสูงสำหรับการอ่านและเขียนข้อมูลจำนวนมาก

ประเภทของ NoSQL Database

  1.  Key-Value Database จัดเก็บข้อมูลในรูปแบบ คีย์ (Key) และ ค่า (Value)
  2. Document Database จัดเก็บข้อมูลในรูปแบบเอกสาร เช่น JSON หรือ BSON
  3. Column-Family Database จัดเก็บข้อมูลเป็นกลุ่มของคอลัมน์ เหมาะกับข้อมูลขนาดใหญ่และการวิเคราะห์ข้อมูล
  4. Graph Database จัดเก็บข้อมูลเป็น โหนด (Nodes) และ ความสัมพันธ์ (Edges)















ความคิดเห็น