สถาปัตยกรรมฐานข้อมูล
2
19
1. ระดับของข้อมูล
ระบบฐานข้อมูล มีการจัดแบ่งระดับของข้อมูลเป็น 3 ระดับดังนี้
ระดับของข้อมูล 3 ระดับ
20
ระดับภายนอกหรือวิว (External Level หรือ View) เป็นระดับของข้อมูลที่อยู่สูงที่สุด ประกอบด้วยภาพที่ผู้ใช้แต่ละคนจะมองข้อมูล หรือวิว (View) ของตน
1.
ระดับแนวคิด (Conceptual Level) เป็นระดับของข้อมูลที่อยู่ถัดลงมา เป็นการมองเอนทิตีและความสัมพันธ์ระหว่างเอนทิตี รวมทั้งกฎเกณฑ์และข้อจำกัดต่างๆ ข้อมูลในระดับนี้ เป็นข้อมูลที่ผ่านการวิเคราะห์และออกแบบโดยผู้บริหารฐานข้อมูลหรือนักวิเคราะห์ระบบมาแล้วเพื่อให้ผู้ใช้ข้อมูลในระดับภายนอกสามารถเรียกใช้ข้อมูลได้ในรูปแบบต่างๆ กัน ตามที่ผู้ใช้ต้องการ
2.
ระดับภายใน (Internal Level หรือ Physical Level) เป็นระดับของข้อมูลที่อยู่ล่างสุดเป็นระดับของการจัดเก็บข้อมูลจริงๆ ว่ามีโครงสร้างการจัดเก็บอย่างไร วิธีการเข้าถึงข้อมูลในฐานข้อมูลทำอย่างไร
3.
21
2. ความเป็นอิสระของข้อมูล
1
ความเป็นอิสระของข้อมูลในเชิงกายภาพ (Physical Data Independence) หมายถึง การเปลี่ยนแปลงแก้ไขโครงสร้างในระดับภายใน จะไม่กระทบต่อโครงสร้างในระดับแนวคิดและระดับภายนอก เช่น การเปลี่ยนวิธีการเรียกใช้ข้อมูลจากเดิมให้มีประสิทธิภาพมากขึ้น จะไม่กระทบต่อระดับแนวคิดหรือระดับผู้ใช้
2
ความเป็นอิสระของข้อมูลในเชิงตรรกะ (Logical Data Independence) หมายถึง การเปลี่ยนแปลงโครงสร้างในระดับแนวคิด จะไม่กระทบต่อโครงสร้างในระดับภายนอก หรือโปรแกรมที่ประยุกต์ใช้งาน เช่น การเพิ่มแอททริบิวต์หรือเอนทิตีใหม่เข้าไปในฐานข้อมูล เป็นต้น
22
3. เค้าร่างของฐานข้อมูล
เค้าร่างภายนอก (External Schema หรือ Subschema หรือ View) เป็นเค้าร่างในระดับ
ภายนอก ที่จะแสดงรายละเอียดของข้อมูลที่ผู้ใช้แต่ละคนต้องการ
1.
เค้าร่างแนวคดิ (Conceptual Schema) เป็นเค้าร่างซึ่งจะแสดงรายละเอียดของฐานข้อมูล
ที่สร้างขึ้น ได้แก่ ชื่อเอนทิตี โครงสร้างของข้อมูล ตลอดจนความสัมพันธ์ระหว่างเอนทิตี
2.
เค้าร่างภายใน (Internal Schema) เป็นเค้าร่างซึ่งจะแสดงรายละเอียดการจัดเก็บข้อมูล
ลงในแฟ้มข้อมูลในสื่อบันทึก
3.
23
แสดงความสัมพันธ์ของเค้าร่างข้อมูล 3 ระดับ
จากรูปข้างต้น จะเห็นว่าในระบบฐานข้อมูลใดๆ จะประกอบด้วยเค้าร่างภายใน 1 ตัว เค้าร่างแนวคิด 1 ตัว และส่วนเค้าร่างภายนอกจะสามารถมีได้หลายๆ ตัว
24
4. ภาษาที่ใช้ในระบบจัดการฐานข้อมูล
ภาษาสำหรับนิยามข้อมูล (Data Defi nition Language หรือ DDL) ภาษาสำหรับนิยามข้อมูลเป็นคำสั่งที่ใช้กำหนดโครงสร้างของฐานข้อมูลที่สร้างขึ้นว่าประกอบด้วย แอททริบิวต์อะไรบ้าง แอททริบิวต์นั้นๆ ใช้เก็บข้อมูลชนิดใด เป็นต้น จากโครงสร้างของฐานข้อมูลที่กำหนดขึ้นจะเก็บเป็นแฟ้มที่เรียกว่า พจนานุกรมข้อมูล
ตัวอย่าง
การใช้ภาษา SQL (Structure Query Language) ในการกำหนดโครงสร้างของตารางนักศึกษาซึ่งประกอบด้วยแอททริบิวต์ต่อไปนี้
รหัสลูกค้า เป็นชนิดอักขระ จำนวน 3 ไบต์
ชื่อลูกค้า เป็นชนิดอักขระ จำนวน 20 ไบต์
ที่อยู่ลูกค้า เป็นชนิดอักขระ จำนวน 30 ไบต์
โดยใช้คำาสั่งในภาษา SQL จะสามารถทำได้ดังนี้
CREATE TABLE CUSTOMER
(CID CHAR(3) ,
CNAME CHAR (20),
CADDRESS CHAR (30));
25
ภาษาสำหรับดำาเนินการกับข้อมูล (Data Manipulation Language หรือ DML)
ภาษาสำหรับดำเนินการกับข้อมูลเป็นคำาสั่งที่ใช้ในการเรียกใช้ข้อมูล ตลอดจนการปรับปรุงข้อมูลซึ่งจะเป็นการใช้คำาสั่งใน DML แล้วระบบจัดการฐานข้อมูลก็จะเรียกใช้ข้อมูลผ่านพจนานุกรมข้อมูล
ตัวอย่าง
คำสั่งเพื่อเรียกดูข้อมูล รหัสลูกค้า และชื่อลูกค้าทั้งหมดโดยใช้ภาษา SQL
SELECT CID, CNAME
FROM CUSTOMER ;
26
ภาษาสำหรับการควบคุมข้อมูล (Data Control Language หรือ DCL)
ภาษาสำหรับการควบคุมข้อมูล เป็นคำสั่งที่ใช้ในการควบคุมความถูกต้องของข้อมูลควบคุมภาวะการใช้ข้อมูลพร้อมกันจากผู้ใช้หลายคนในเวลาเดียวกัน และคำสั่งควบคุมความปลอดภัยของข้อมูลโดยการให้สิทธิอำนาจแก่ผู้ใช้แต่ละคนในการเรียกดูหรือปรับปรุงข้อมูล
ตัวอย่าง
คำสั่งเพื่อกำหนดสิทธิอำนาจให้แก่ผู้ใช้ที่ชื่อ PRANEE ในการเรียกดูข้อมูลจากตาราง
CUSTOMER
GRANT SELECT
ON CUSTOMER
TO PRANEE ;
27
5. ระบบจัดการฐานข้อมูล
1.
กำหนดและเก็บโครงสร้างฐานข้อมูล ระบบจัดการฐานข้อมูลจะสร้างพจนานุกรมข้อมูลขึ้นเมื่อมีการกำหนดโครงสร้างของฐานข้อมูลขึ้นมา เพื่อเก็บรายละเอียดต่างๆ ที่เกี่ยวกับฐานข้อมูล เช่น ชื่อตาราง ชื่อฟิลด์ ตลอดจนคีย์ต่างๆ เป็นต้น
2.
รับและเก็บข้อมูลในฐานข้อมูล ระบบจัดการฐานข้อมูล จะทำาการรับและเก็บข้อมูลลงในฐานข้อมูล เพื่อใช้ในการประมวลผลต่อไป
3.
ดูแลรักษาข้อมูล ระบบจัดการฐานข้อมูล จะดูแลรักษาข้อมูลที่เก็บรวบรวมไว้ในระบบฐานข้อมูล
4.
ติดต่อกับตัวจัดการระบบแฟ้มข้อมูล โดยระบบจัดการฐานข้อมูล จะประสานกับตัวจัดการระบบแฟ้มข้อมูล (File Management)ซึ่งเป็นฟังก์ชันการทำงานหนึ่งของระบบการดำาเนินงาน (Operating System : OS) ในการค้นหาว่า ข้อมูลที่เราต้องการนั้นเก็บอยู่ในตำแหน่งใดในดิสก์ โดยระบบจัดการฐานข้อมูลจะคอยประสานกับตัวจัดการระบบแฟ้มข้อมูลในการจัดเก็บ การปรับปรุงข้อมูลและการเรียกใช้ข้อมูล
28
5.
ควบคุมความบูรณภาพของข้อมูล (Integrity Control) ระบบจัดการฐานข้อมูล จะต้องควบคุมค่าของข้อมูลในระบบให้ถูกต้องตามที่ควรจะเป็น เช่น รหัสสินค้าที่ปรากฏในใบสั่งซื้อสินค้า จะต้องเป็นรหัสที่มีอยู่ในระเบียนของสินค้าทั้งหมดในร้าน เป็นต้น
6.
ควบคุมความปลอดภัย (Security Control) ระบบจัดการฐานข้อมูล จะสามารถป้องกันความเสียหายที่อาจเกิดขึ้นกับฐานข้อมูล โดยจะ ป้องกันไม่ให้ผู้ที่ไม่มีสิทธิได้เข้ามาเรียกใช้ หรือแก้ไขข้อมูลในส่วนที่ต้องการปกป้องไว้
7.
การสร้างระบบสำรองและการกู้ (Backup and Recovery) ระบบจัดการฐานข้อมูลจะจัดทำาข้อมูลสำรองเมื่อมีปัญหาเกิดขึ้น เช่น ระบบแฟ้ม ข้อมูลเสียหายหรือเครื่องเสียหาย ระบบจัดการฐานข้อมูลก็จะใช้ระบบข้อมูลสำรองนี้ในการกู้สภาพการทำงานของระบบให้เข้าสู่สภาวะปกติได้
8.
ควบคุมภาวะการใช้ข้อมูลพร้อมกันของผู้ใช้ (Concurrency Control) ระบบจัดการฐานข้อมูลที่มีคุณสมบัติในการควบคุมภาวะการใช้ข้อมูลพร้อมกันนี้ จะทำการควบคุมการใช้ข้อมูลพร้อมกันของผู้ใช้หลายคนในเวลาเดียวกันได้ เช่น กรณีถ้าผู้ใช้คนหนึ่งกำลังทำการแก้ไขข้อมูลรายการใดอยู่ ระบบจะไม่อนุญาตให้ผู้ใช้คนอื่นเข้ามาเรียกใช้ข้อมูลรายการนั้น จนกว่าการแก้ไขจะเสร็จเรียบร้อย เพื่อป้องกันไม่ให้เกิดปัญหาการเรียกใช้ข้อมูลที่ไม่ถูกต้อง
29
6. ผู้บริหารฐานข้อมูล
ผู้บริหารฐานข้อมูล (Database Administrator หรือ DBA) มีหน้าที่บริหารการใช้งานของระบบฐานข้อมูล เป็นผู้ที่จะตัดสินใจว่าจะต้องเก็บรวมข้อมูลใดไว้ในระบบบ้าง จะใช้วิธีการจัดเก็บและเรียกใช้ข้อมูลวิธีใด รวมทั้งเป็นผู้ที่ต้องกำหนดระบบความปลอดภัยของข้อมูล กำหนดแผนการสำรองข้อมูล ตลอดจนประสานงานกับผู้ใช้ในการปรับปรุงฐานข้อมูล เมื่อผู้ใช้มีการเปลี่ยนแปลงความต้องการ