1 of 12

สถาปัตยกรรมฐานข้อมูล

2

2 of 12

19

1. ระดับของข้อมูล

ระบบฐานข้อมูล มีการจัดแบ่งระดับของข้อมูลเป็น 3 ระดับดังนี้

ระดับของข้อมูล 3 ระดับ

3 of 12

20

ระดับภายนอกหรือวิว (External Level หรือ View) เป็นระดับของข้อมูลที่อยู่สูงที่สุด ประกอบด้วยภาพที่ผู้ใช้แต่ละคนจะมองข้อมูล หรือวิว (View) ของตน

1.

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

2.

ระดับภายใน (Internal Level หรือ Physical Level) เป็นระดับของข้อมูลที่อยู่ล่างสุดเป็นระดับของการจัดเก็บข้อมูลจริงๆ ว่ามีโครงสร้างการจัดเก็บอย่างไร วิธีการเข้าถึงข้อมูลในฐานข้อมูลทำอย่างไร

3.

4 of 12

21

2. ความเป็นอิสระของข้อมูล

1

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

2

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

5 of 12

22

3. เค้าร่างของฐานข้อมูล

เค้าร่างภายนอก (External Schema หรือ Subschema หรือ View) เป็นเค้าร่างในระดับ

ภายนอก ที่จะแสดงรายละเอียดของข้อมูลที่ผู้ใช้แต่ละคนต้องการ

1.

เค้าร่างแนวคดิ (Conceptual Schema) เป็นเค้าร่างซึ่งจะแสดงรายละเอียดของฐานข้อมูล

ที่สร้างขึ้น ได้แก่ ชื่อเอนทิตี โครงสร้างของข้อมูล ตลอดจนความสัมพันธ์ระหว่างเอนทิตี

2.

เค้าร่างภายใน (Internal Schema) เป็นเค้าร่างซึ่งจะแสดงรายละเอียดการจัดเก็บข้อมูล

ลงในแฟ้มข้อมูลในสื่อบันทึก

3.

6 of 12

23

แสดงความสัมพันธ์ของเค้าร่างข้อมูล 3 ระดับ

จากรูปข้างต้น จะเห็นว่าในระบบฐานข้อมูลใดๆ จะประกอบด้วยเค้าร่างภายใน 1 ตัว เค้าร่างแนวคิด 1 ตัว และส่วนเค้าร่างภายนอกจะสามารถมีได้หลายๆ ตัว

7 of 12

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));

8 of 12

25

ภาษาสำหรับดำาเนินการกับข้อมูล (Data Manipulation Language หรือ DML)

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

ตัวอย่าง

คำสั่งเพื่อเรียกดูข้อมูล รหัสลูกค้า และชื่อลูกค้าทั้งหมดโดยใช้ภาษา SQL

SELECT CID, CNAME

FROM CUSTOMER ;

9 of 12

26

ภาษาสำหรับการควบคุมข้อมูล (Data Control Language หรือ DCL)

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

ตัวอย่าง

คำสั่งเพื่อกำหนดสิทธิอำนาจให้แก่ผู้ใช้ที่ชื่อ PRANEE ในการเรียกดูข้อมูลจากตาราง

CUSTOMER

GRANT SELECT

ON CUSTOMER

TO PRANEE ;

10 of 12

27

5. ระบบจัดการฐานข้อมูล

1.

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

2.

รับและเก็บข้อมูลในฐานข้อมูล ระบบจัดการฐานข้อมูล จะทำาการรับและเก็บข้อมูลลงในฐานข้อมูล เพื่อใช้ในการประมวลผลต่อไป

3.

ดูแลรักษาข้อมูล ระบบจัดการฐานข้อมูล จะดูแลรักษาข้อมูลที่เก็บรวบรวมไว้ในระบบฐานข้อมูล

4.

ติดต่อกับตัวจัดการระบบแฟ้มข้อมูล โดยระบบจัดการฐานข้อมูล จะประสานกับตัวจัดการระบบแฟ้มข้อมูล (File Management)ซึ่งเป็นฟังก์ชันการทำงานหนึ่งของระบบการดำาเนินงาน (Operating System : OS) ในการค้นหาว่า ข้อมูลที่เราต้องการนั้นเก็บอยู่ในตำแหน่งใดในดิสก์ โดยระบบจัดการฐานข้อมูลจะคอยประสานกับตัวจัดการระบบแฟ้มข้อมูลในการจัดเก็บ การปรับปรุงข้อมูลและการเรียกใช้ข้อมูล

11 of 12

28

5.

ควบคุมความบูรณภาพของข้อมูล (Integrity Control) ระบบจัดการฐานข้อมูล จะต้องควบคุมค่าของข้อมูลในระบบให้ถูกต้องตามที่ควรจะเป็น เช่น รหัสสินค้าที่ปรากฏในใบสั่งซื้อสินค้า จะต้องเป็นรหัสที่มีอยู่ในระเบียนของสินค้าทั้งหมดในร้าน เป็นต้น

6.

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

7.

การสร้างระบบสำรองและการกู้ (Backup and Recovery) ระบบจัดการฐานข้อมูลจะจัดทำาข้อมูลสำรองเมื่อมีปัญหาเกิดขึ้น เช่น ระบบแฟ้ม ข้อมูลเสียหายหรือเครื่องเสียหาย ระบบจัดการฐานข้อมูลก็จะใช้ระบบข้อมูลสำรองนี้ในการกู้สภาพการทำงานของระบบให้เข้าสู่สภาวะปกติได้

8.

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

12 of 12

29

6. ผู้บริหารฐานข้อมูล

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