[ บทที่ 2 ] กรอกแนวคิดและทฤษฎีเกี่ยวกับฐานข้อมูล
หัวข้อ สถาปัตยกรรมฐานข้อมูล รูปแบบของฐานข้อมูล ฐานข้อมูลแบบลำดับชั้น (Hierarchical Database Model) ฐานข้อมูลแบเครือข่าย (network Database Model) ฐานข้อมูลเชิงสัมพันธ์ (Relational Database Model) ฐานข้อมูลเชิงวัตถุ(Object-Oriented Database Model) ฐานข้อมูลเชิงวัตถุ-สัมพันธ์(Object-Relational Database Model)
สถาปัตยกรรมฐานข้อมูล ((DatABASE Systems architechture)
สถาปัตยกรรมระบบฐานข้อมูล คืออะไร? คำว่า “สถาปัตยกรรมระบบฐานข้อมูล” ไม่ใช่การก่อสร้างอาคารต่างๆ ที่ออกแบบโดยสถาปนิก แต่.. เป็นการอธิบายเกี่ยวกับโครงสร้างและส่วนประกอบหลักที่นำมาประกอบรวมกันเป็นระบบฐานข้อมูล DATABASE
ระดับชั้นของสถาปัตยกรรมระบบฐานข้อมูล 5 สถาปัตยกรรมระบบฐานข้อมูล แบ่ง ออกเป็น 3 ระดับ ระดับภายนอก (External Level) ระดับแนวคิด (Conceptual Level) ระดับภายใน (Internal Level)
สถาปัตยกรรม 3 ระดับ … External Level Conceptual Internal - ผู้ใช้งานทั่วไป - เป็นระดับสูงสุดและเกี่ยวข้องกับผู้ใช้งานมากที่สุด View 1 View 2 View 3 … User 1 User 2 User n Conceptual Schema Internal Database External Level Conceptual Internal - จัดเก็บข้อมูลเชิงตรรกะ(logical) - มีข้อมูลอะไรบ้าง(what) ที่จะจัดเก็บลงฐานข้อมูล - มุ่งเน้นความสัมพันธ์ระหว่างข้อมูล (E-R Diagram) - เพิ่มเติมฟิลด์ / เปลี่ยนขนาดความกว้างของข้อมูล - DBMS และโปรแกรมระบบปฏิบัติการ - จัดเก็บข้อมูลเชิงกายภาพ(Physical) - ผู้ใช้ไม่สามารถมองเห็นข้อมูลในระดับนี้
โครงร่างฐานข้อมูล (Database Schema) โครงร่างภายนอก (External Schema) - หรือเรียกว่า ซับสคีมา(Subschema) - นำเสนอข้อมูลได้หลายมุมมองตามความต้องการของผู้ใช้งานแต่ละคน ระดับสูงที่สุด External / Conceptual Mapping Logical Data โครงร่างแนวคิด (Conceptual Schema) - เกี่ยวข้องกับเอนติตี้ แอตตริบิวต์และความสัมพันธ์ Conceptual / Internal Mapping Physical Data โครงร่างภายใน (Internal Schema) - เกี่ยวข้องกับข้อมูลจริง ที่ถูกจัดเก็บลงในโครงสร้าง เพื่อบันทึกลงในสื่ออุปกรณ์จัดเก็บข้อมูล
รูปแบบของฐานข้อมูล (Database model)
ฐานข้อมูลแบบลำดับชั้น (Hierarchical Database Model) เป็นการจัดโครงสร้างแบบบนลงล่าง (Top-down) มีลักษณะคล้ายโครงสร้างต้นไม้ (Tree Structure) เป็นลำดับชั้น ข้อมูลจะมีความสัมพันธ์แบบ one-to-many ระดับสูงสุดเรียกว่า Root มีความสัมพันธ์แบบ Parent / Child (พ่อ/ลูก) เป็นสถาปัตยกรรมฐานข้อมูลที่เก่าแก่ที่สุด ปัจจุบันไม่นิยมใช้งานแล้ว ยากต่อการพัฒนา Application การปรับปรุงโครงสร้างมีความยืดหยุ่นน้อย ไม่สามารถกำหนดความสัมพันธ์แบบ many-to-many
ฐานข้อมูลแบบลำดับชั้น (Hierarchical Database Model)
ฐานข้อมูลแบบลำดับชั้น (Hierarchical Database Model) ข้อดี มีรูปแบบโครงสร้างที่เข้าใจง่าย ซึ่งเป็นใน ลักษณะต้นไม้ มีโครงสร้างที่ซับซ้อนน้อยที่สุด เหมาะกับ ข้อมูลที่มีความสัมพันธ์แบบ one-to-many ป้องกันความปลอดภัยในข้อมูลที่ดี เนื่องจาก ต้องอ่านข้อมูลที่เป็นต้นกำเนิดก่อนทำให้ข้อมูล มีความคงสภาพ เหมาะกับข้อมูลที่มีการเรียงลำดับแบบต่อเนื่อง
ฐานข้อมูลแบบลำดับชั้น (Hierarchical Database Model) ข้อเสีย ยากต่อการพัฒนา เพราะต้องมีความรู้ความเข้าใจถึง โครงสร้างทางกายภาพของข้อมูลที่จัดเก็บอยู่ภายใน ฐานข้อมูล มีข้อจำกัดด้านการนำไปใช้ โดยเฉพาะไม่รองรับ ความสัมพันธ์แบบ many-to-many เมื่อมีการปรับโครงสร้าง แอปพลิเคชั่นโปรแกรมทั้งหมด ต้องเปลี่ยนแปลงตาม เนื่องจากขาดอิสระในโครงสร้าง ในการเรียกใช้งานจำเป็นต้องผ่าน Root เสมอ ดังนั้นหาก ต้องการค้นหาข้อมูลซึ่งอยู่ในระดับล่าง ๆ ก็ต้องค้นหาทั้ง แฟ้ม ไม่มีภาษาที่ใช้สำหรับการจัดการข้อมูล ใน DBMS ขาดมาตรฐานการรองรับที่ชัดเจน
ฐานข้อมูลแบเครือข่าย (network Database Model) มีลักษณะโครงสร้างที่คล้ายกับโครงสร้างแบบลำดับชั้น แต่แตกต่างกันที่ข้อมูลมีความสัมพันธ์ได้ทั้งแบบ one-to-one , one-to-many และmany-to-many อีกทั้งยังสามารถนำเอาอัลกอริทึมของการ Hashing มาใช้ในการค้นหาข้อมูล
ฐานข้อมูลแบเครือข่าย (network Database Model) Root Record Parent Record วิชา การเขียนโปรแกรม วิชา Database วิชัย วินัย วิชิต สมบุญ สุรชัย สุรภี สุรเดช Child Record
แบบจำลองข้อมูลเครือข่าย (Network Database Model) ข้อดี สนับสนุนความสัมพันธ์แบบ many-to-many ความซับซ้อนในข้อมูลเกิดขึ้นน้อยกว่าแบบลำดับชั้น สามารถเชื่อมโยงข้อมูลแบบไปกลับได้ มีความยืดหยุ่นในการค้นหาข้อมูลดีกว่า โดยใช้ pointer ในการเข้าถึงข้อมูล ข้อเสีย เนื่องจากสามารถเข้าถึงข้อมูลได้โดยตรง ทำให้การป้องกันความปลอดภัย ของข้อมูลมีน้อยลง สิ้นเปลืองเนื้อที่ของหน่วยความจำในการเก็บ pointer การเปลี่ยนแปลงในโครงสร้างยังมีความยุ่งยากอยู่
ฐานข้อมูลเชิงสัมพันธ์ (Relational Database Model) เป็นแบบที่คนใช้มากที่สุดในปัจจุบัน เป็นผลงานของ E.F.Codd (ค.ศ. 1970) เสนอข้อมูลในรูปแบบตาราง ทำให้สามารถเข้าใจได้ง่าย ประกอบด้วย Row และColumn สามารถแสดงความสัมพันธ์ได้ทั้งแบบ one-to-one , one-to-many และ many-to-many และใช้ Key ในการอ้างอิงกับตารางอื่น (Primary key , Secondary Key) สามารถใช้คำสั่ง SQLในการจัดการกับฐานข้อมูลชนิดนี้
Cardinality Relation Primary Key Foreign Key Employee Payroll E-ID Attribute Employee E-ID NAME ADDRESS PHONE 001 Somchai Bangkok 02-2322212 002 Sompon Chonburi 085-3342518 003 Somsri Ranong 084-1456321 004 Somjai Nonthaburi Cardinality Relation Degree Primary Key Payroll Foreign Key TAX-ID Salary E-ID Tax - Type 0012345 10,000 004 1 1234566 8,900 002 2
แบบจำลองข้อมูลเชิงสัมพันธ์ (Relation Database Model) ข้อดี สามารถสื่อสารและเข้าใจได้ง่าย สามารถเลือกแสดงข้อมูลตามเงื่อนไขได้หลาย Key Field ความซับซ้อนของข้อมูลมีน้อยมาก มีระบบรักษาความปลอดภัยที่ดีผู้ใช้งานไม่ต้องทราบโครงสร้างของการเก็บข้อมูลภายในฐานข้อมูล โครงสร้างของฐานข้อมูลมีความอิสระจากโปรแกรม ข้อเสีย ต้องมีการลงทุนสูงเนื่องจากต้องใช้ Hardware และ Software ที่มีความสามารถสูง
ฐานข้อมูลเชิงวัตถุ(Object-Oriented Database Model) เกิดจากแนวคิดของการเขียนโปรแกรมเชิงวัตถุ(OOP Object Oriented Program) โดยการมองของทุกสิ่งเป็นวัตถุโดยแต่ละวัตถุจะเป็นแหล่งรวมของข้อมูลและการปฏิบัติงาน (Data & Procedure) มีคลาสเป็นตัวกำหนดคุณสมบัติหรือรายละเอียดของวัตถุ รวมทั้งคุณสมบัติการปกปิดความลับของวัตถุ (Encapsulation) การเข้าถึงข้อมูลต้องมีการตอบรับจาก Method ในวัตถุนั้นว่าจะอนุญาตในการส่งMessage เพื่อการติดต่อหรือไม่
ฐานข้อมูลเชิงวัตถุ(Object-Oriented Database Model) Object Class 1 Methods Attributes Object Class 2 Object Class 3
Object-Oriented DBMS Order Customer Government Customer Commercial OrderID CustomerID … CustomerID Name … Government Customer ContactName ContactPhone Discount, … NewContact Commercial Customer ContactName ContactPhone … NewContact NewOrder DeleteOrder … Add Customer Drop Customer Change Address OrderItem Item OrderID ItemID … ItemID Description … OrderItem DropOrderItem … New Item Sell Item Buy Item …
ฐานข้อมูลเชิงวัตถุ(Object-Oriented Database Model) ข้อดี คุณสมบัติการสืบทอด Inheritance ทำให้ข้อมูลมีความคงสภาพสูง มีคุณสมบัติในการกลับมาใช้ใหม่ การนำเสนอเป็นรูปแบบ Visual ทำให้อธิบายหัวข้อความหมายได้ดี
ฐานข้อมูลเชิงวัตถุ(Object-Oriented Database Model) ข้อเสีย ต้องพึ่งพาผู้เชี่ยวชาญโดยเฉพาะ และมีค่าใช้จ่ายระบบค่อนข้างสูง ยังไม่มีมาตรฐานรองรับที่ชัดเจนเมื่อเทียบกับแบบจำลองฐานข้อมูลเชิงสัมพันธ์ อีกทั้งผลิตภัณฑ์ DBMS ที่ใช้งานบนแบบจำลองฐานข้อมูลสัมพันธ์ได้พัฒนาขีดความสามารถด้วยการรวมเทคโนโลยีเชิงวัตถุเข้าไป ที่เรียกว่า Obiect-Relational Database ผู้เชี่ยวชาญส่วนใหญ่คุ้นเคยกับเทคโนโลยีเชิงฐานข้อมูลสัมพันธ์
The end