Introduction to Database Week 2 Online available at http://www.ict.pyo.nu.ac.th/somporns/db
Contents สถาปัตยกรรมฐานข้อมูล ระดับภายใน (Internal Level) ระดับแนวคิด (Conceptual Level) ระดับภายนอก (External Level) สคีมา (Schema) การแปลงรูป (Mapping) และ อินสแตนซ์ (Instance) ความเป็นอิสระของข้อมูล (Data Independence)
สถาปัตยกรรมฐานข้อมูล (Database Architecture) เป็นแนวคิดที่แสดงถึงโครงสร้างของระบบฐานข้อมูล เกิดขึ้นประมาณปี ค.ศ. 1971 โดย DBTG (Data Base Task Group) ซึ่งกำหนดสถาปัตยกรรมไว้ 2 ระดับ คือ Schema เป็นมุมมองของระบบ (System View) Subschema เป็นมุมมองของผู้ใช้งาน (User View)
สถาปัตยกรรมฐานข้อมูล (Database Architecture) ต่อมาปี ค.ศ. 1975 สถาบัน ANSI-SPARC ได้กำหนดสถาปัตยกรรมฐานข้อมูลขึ้นใหม่ โดยมี 3 ระดับ คือ ระดับภายใน (Internal Level) ระดับแนวคิด (Conceptual Level) ระดับภายนอก (External Level) ถึงแม้โมเดล ANSI-SPARC ไม่ใช่โมเดลมาตรฐาน แต่ก็เป็นโมเดลที่กำหนดหน้าที่การทำงานแต่ละส่วนของระบบฐานข้อมูลให้มีความชัดเจนและเข้าใจง่ายมากขึ้น
สถาปัตยกรรมฐานข้อมูล 3 ระดับ ของ ANSI-SPARC View 1 View 2 View n . . . Conceptual Schema Internal Database User 1 User 2 User n External Level Physical data organization
สถาปัตยกรรมฐานข้อมูล : 1. ระดับภายใน (Internal Level) เป็นระดับที่เกี่ยวข้องกับการจัดเก็บข้อมูลในระดับกายภาพ (physical) ผู้ใช้งานฐานข้อมูลจะมองไม่เห็นถึงรายละเอียดในระดับนี้ได้ จุดประสงค์หลักของการจัดโครงสร้างข้อมูลในระดับนี้ก็เพื่อให้การจัดการต่างๆ ที่เกี่ยวข้องกับข้อมูลเป็นไปอย่างมีประสิทธิภาพ เน้นความเร็วในการปฏิบัติงาน
สถาปัตยกรรมฐานข้อมูล : 1. ระดับภายใน (Internal Level) ซึ่งการออกแบบในระดับนี้มักคำนึงถึง รูปแบบโครงสร้างการจัดเก็บข้อมูลอย่างไรในฐานข้อมูล (HOW) เช่น โครงสร้างแบบลำดับตามดัชนี บีทรี หรือ พอยน์เตอร์ ซึ่งโครงสร้างการจัดเก็บข้อมูล จะมีผลต่อประสิทธิภาพและความเร็วในการเข้าถึงข้อมูล การบีบอัดข้อมูล (data compression) การเข้ารหัสข้อมูล (data encryption)
สถาปัตยกรรมฐานข้อมูล : 2. ระดับแนวคิด (Conceptual Level) เป็นโครงสร้างหลักของระบบ บางทีเรียกสถาปัตยกรรมระดับตรรกะ หรือ Logical Level เน้นความสัมพันธ์ระหว่างข้อมูล หรือ เน้นแบบจำลองข้อมูล (data model) เป็นระดับที่อธิบายถึงว่า ข้อมูลอะไร (WHAT) ที่จะจัดเก็บลงฐานข้อมูลและความสัมพันธ์ระหว่างข้อมูล บุคคลที่สามารถเข้าไปแก้ไขโครงสร้างข้อมูลในระดับนี้ คือ ผู้บริหารฐานข้อมูล (data administrators) หรือ โปรแกรมเมอร์ (programmer)
สถาปัตยกรรมฐานข้อมูล : 2. ระดับแนวคิด (Conceptual Level) โดยจะมีความเกี่ยวข้องกับ จำนวนเอนทิตี้ (Entity) ทั้งหมด คุณสมบัติหรือแอทริบิวต์ของเอนทิตี้ ความสัมพันธ์ระหว่างเอนทิตี้ กฎเกณฑ์ข้อมูล ความปลอดภัยของข้อมูล(data security) ความคงสภาพของข้อมูล (data integrity)
สถาปัตยกรรมฐานข้อมูล : 3. ระดับภายนอก (External Level) เป็นระดับที่เกี่ยวข้องกับผู้ใช้งานมากที่สุด โดยความเป็นจริง โครงสร้างข้อมูลระดับนี้ คือ บางส่วนของข้อมูลในฐานข้อมูล (ซึ่งอยู่ในระดับแนวคิดหรือตรรกะหรือlogical) ผู้ใช้ในระดับนี้ไม่จำเป็นต้องเห็นโครงสร้างข้อมูลทั้งหมด แต่สามารถเรียกใช้งานข้อมูลตามที่ต้องการได้ เช่น ต้องการรู้ว่านิสิต A อยู่สาขาใด ผู้ใช้ไม่จำเป็นต้องทราบโครงสร้างข้อมูลของนิสิตและสาขา แต่ต้องการทราบเพียง รหัส ชื่อ-นามสกุล รหัสสาขา และชื่อสาขา เท่านั้น เป็นต้น
สคีมา (Schema) การแปลงรูป (Mapping) และอินสแตนซ์ (Instance) รายละเอียดโครงสร้างฐานข้อมูลในระบบ เรียกว่า database schema หรือ โครงร่างฐานข้อมูล database schema บอกถึงรายละเอียดในโครงสร้างฐานข้อมูล ความสัมพันธ์ของข้อมูลในแต่ละเอนทิตี้ โครงสร้างฐานข้อมูลอาจมีการเปลี่ยนแปลง แต่ข้อมูลจริงๆในฐานข้อมูลอาจมีการเปลี่ยนแปลงอยู่ตลอด ช่วงเวลาที่มีการเปลี่ยนแปลงข้อมูล เรียกว่า database instance หรือ extension หรือ state
สคีมา (Schema) การแปลงรูป (Mapping) และอินสแตนซ์ (Instance) ระดับสูงสุดหรือ โครงร่างระดับภายนอก (External Level) เรียกว่า External Schema หรือ subschema ระดับแนวคิด หรือ โครงร่างระดับแนวคิด (Conceptual Level) เรียกว่า Conceptual Schema ระดับต่ำสุด หรือโครงร่างระดับภายใน (Internal Level) เรียกว่า Internal Schema
สคีมา (Schema) การแปลงรูป (Mapping) และอินสแตนซ์ (Instance) ฐานข้อมูลหนึ่งฐานข้อมูล จะมี โครงร่างระดับแนวคิด (Conceptual Schema) เพียง 1 โครงร่าง แต่มีโครงร่างภายนอก External Level) หรือ External Schema ได้หลายๆ โครงร่าง User Schema จะอยู่ในระดับ โครงร่างระดับภายนอก (External Level) หรือ External Schema ที่ผู้ใช้งานสามารถมองเห็นข้อมูลได้หลายๆ รูปแบบ ที่เรียกว่า View
สคีมา (Schema) การแปลงรูป (Mapping) และอินสแตนซ์ (Instance) DBMS จะตอบสนองการแปลงรูประหว่างสคีมาทั้งสาม คือ External Schema, Conceptual Schema และ Internal Schema และจะตรวจสอบความถูกต้องตรงกัน ซึ่งเรียกว่า การแปลงรูป (Mapping) การแปลงรูปมี 2 แบบ คือ การแปลงรูประหว่างสคีมาระดับภายนอกกับสคีมาระดับแนวคิด การแปลงรูประหว่างสคีมาระดับแนวคิดกับสคีมาระดับภายใน
สคีมา (Schema) การแปลงรูป (Mapping) และอินสแตนซ์ (Instance) salary age LName FName SNo BranchNo staffNo branchNo Salary DOB StaffNo External View 1 External View 2 Conceptual Level Internal Struct STAFF{ int staffNo; int branchNo; char fName; char lName; struct date dateOfBirth; float salary; struct STAFF *next; }; Index staffNo; index branchNo;
ความเป็นอิสระของข้อมูล (Data Independence) วัตถุประสงค์ของสถาปัตยกรรม 3 ระดับ คือ การให้อิสระในข้อมูล ซึ่งแบ่งเป็น 2 ชนิด คือ ความเป็นอิสระของข้อมูลทางตรรกะ (Logical Data Independence) ความเป็นอิสระของข้อมูลทางกายภาพ (Physical Data Independence)