ระบบฐานข้อมูล
ความหมาย
ระบบฐานข้อมูล โดยพื้นฐานเป็นระบบจัดเก็บระเบียนด้วยคอมพิวเตอร์ (A database system is basically a computerized record-keeping system.)สามารถทำงานกับข้อมูลในฐานข้อมูลในลักษณะต่าง ๆ ได้ เช่น
- เพิ่มแฟ้มใหม่เข้าในฐานข้อมูล
- แทรกข้อมูลลงในแฟ้ม
- ดึงข้อมูลมาจากแฟ้ม
- เปลี่ยนแปลงข้อมูลที่มีอยู่
- ลบข้อมูล
- ลบแฟ้ม
องค์ประกอบ
ระบบฐานข้อมูลมีองค์ประกอบหลัก 4 องค์ประกอบ ได้แก่
- ข้อมูล (Data)
- ฮาร์ดแวร์ (Hardware)
- ซอฟต์แวร์ (Software)
- ผู้ใช้ (Users)
1. ข้อมูล
ข้อมูลจะต้องเป็นข้อมูลรวมและแบ่งปันกันได้ (Both Integrated and Shared) ข้อมูลรวม (Integrated) ในฐานข้อมูล หมายถึง อาจมีข้อมูลซ้ำซ้อนกันระหว่างแฟ้มต่าง ๆ น้อยที่สุ หรือเท่าที่จำเป็น เช่น แฟ้มข้อมูลชื่อ EMPLOYEE กับ ENROLLMENT
NAME | ADDRESS | DEPARTMENT | SALARY | … |
NAME | COURSE | … |
แฟ้ม ENROLLMENT ไม่ควรมีเขตข้อมูล (Field) ชื่อ Department หรือ Salary ซ้ำอีก เพราะเราสามารถค้นหาได้จากแฟ้ม ENROLLMENT ได้อยู่แล้ว
ส่วนคำว่า แบ่งปัน (Shared) หมายถึง ข้อมูลในแต่ละชิ้นในฐานข้อมูลอาจถูกแบ่งปันระหว่างผู้ใช้หลายคน ซึ่งแต่ละคนสามารถเข้าถึงข้อมูลชิ้นเดียวกันได้ ด้วยวัตถุประสงค์ต่างกันไป ผู้ใช้หลายคนสามารถเข้าถึงข้อมูลได้พร้อมกัน (Concurrent Access)
2. ฮาร์ดแวร์
ฮาร์ดแวร์ของระบบฐานข้อมูลประกอบไปด้วย 2 ส่วน คือ
- ที่เก็บข้อมูลสำรอง (Secondary Storage Volumes) เพื่อเก็บข้อมูลด้วยอุปกรณ์นำเข้า/ส่งออกข้อมูล(ดิสก์ไดร์ฟ), ตัวควบคุมอุปกรณ์, ช่องนำเข้า/ส่งออกข้อมูล
- ตัวประมวลผลฮาร์ดแวร์หน่วยความจำหลัก ที่สนับสนุนการทำงานของระบบฐานข้อมูล
ซอฟต์แวร์ เป็นส่วนเชื่อมระหว่างผู้ใช้กับฮาร์ดแวร์
ซอฟต์แวร์ในที่นี้คือ ระบบจัดการฐานข้อมูล หรือระบบบริหารฐานข้อมูล (Database Management System : DBMS) ซึ่งมีหน้าที่ช่วยซ่อนกับผู้ใช้ฐานข้อมูลจากรายละเอียดระดับฮาร์ดแวร์ ระบบจัดการฐานข้อมูลจะทำให้ผู้ใช้รู้จักฐานข้อมูลในระดับที่อยู่เหนือระดับฮาร์ดแวร์และช่วยสนับสนุนการปฏิบัติงานของผู้ใช้ เช่น การปฏิบัติงานด้วยภาษานอบถามเชิงโครงสร้าง (Structured Query Language : SQL)
4. ผู้ใช้
ผู้ใช้ (Users) มี 3 กลุ่ม ได้แก่
- โปรแกรมเมอร์ เขียนโปรแกรมประยุกต์ใช้ฐานข้อมูลด้วยภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง
- ผู้ใช้ปลายสุด (End Users) ติดต่อกับระบบจากสถานีงานออนไลน์ ผู้ใช้สามารถเข้าถึงฐานข้อมูลผ่านโปรแกรม หรืออาจใช้ส่วนติดต่อ (Interface) ที่ให้มาซึ่งเป็นส่วนหนึ่งของซอฟต์แวร์ฐานข้อมูล โดยเป็นส่วนที่สร้างไว้แล้วซึ่งผู้ใช้ปลายสุดไม่ต้องเขียนโปรแกรมขึ้นมาเอง ผู้ใช้ปลายสุดเพียงแต่ออกคำร้องขอ (Requests) ต่อฐานข้อมูล ด้วยภาษา SQLเช่น คำสั่ง SELECT,INSERT
- ผู้บริหารฐานข้อมูล (Database Administrator : DBA)
- สร้างฐานข้อมูลจริงขึ้นมา และทำการสร้างการควบคุมทางเทคนิคเท่าที่จำเป็นเพื่อบังคับให้การตัดสินใจเชิงนโยบายหลายอย่างจะทำได้โดยบริหารฐานข้อมูล
- รับผิดชอบต่อการทำงานที่มีประสิทธิภาพของระบบฐานข้อมูล และให้บริการทางเทคนิคแก่ฝ่ายอื่น ๆ
นอกจากนี้ยังมีบุคคลระดับบริหารซึ่งไม่ใช่ผู้ใช้ แต่มีความสำคัญและเกี่ยวข้องกับฐานข้อมูล คือ ผู้บริหารข้อมูล (Data Administrator : DA)เป็นบุคคลทีรู้ความเป็นไปของการใช้ข้อมูลดี ควรเป็นคนในระดับผู้บริหารอาวุโส (Senior Management)รู้ว่าควรเก็บข้อมูลอะไร ไว้อย่างไร งานของผู้บริหารข้อมูลได้แก่
- ตัดสินใจว่าควรจัดเก็บข้อมูลอะไรลงในฐานข้อมูลตั้งแต่เริ่ม
- กำหนดนโยบายในการบำรุงรักษาและจัดการกับข้อมูลที่ถูกนำมาเก็บไว้ กล่าวคือ กำหนดนโยบายความปลอดภัยของข้อมูล (Data Security Policy)
- ระบบบริหารฐานข้อมูล
ระบบบริหารฐานข้อมูล (Database Management System) บางที่เรียกว่า ระบบจัดการฐานข้อมูล แท้ที่จริงคือ ซอฟต์แวร์ที่จัดการการเข้าถึงทุกอย่างที่กระทำกับฐานข้อมูล (The DBMS is the software that handles all access to the database.) ซึ่งได้แก่ขั้นตอนการกระทำต่อไปนี้
- ผู้ใช้ออกคำร้องขอเข้าสู่ฐานข้อมูลโดยใช้ภาษาย่อยข้อมูล
- ระบบฯ ตรวจจับคำร้องขอและวิเคราะห์วากยสัมพันธ์
- ระบบฯ ตรวจดูวัตถุเค้าร่างภายนอก (External Schema) ของผู้ใช้ การเชื่อมระหว่างระดับภายนอกกับระดับแนวคิด เค้าร่างแนวคิด การเชื่อมระหว่างระดับแนวคิดกับระดับภายใน และนิยามโครงสร้างการจัดเก็บ (Storage Structure Definition)ในเรื่องเค้าร่าง (Schema) ต่าง ๆ นี้ จะมีอธิบายละเอียดในบทต่อไปโดยอยู่ในหัวข้อ “สถาปัตยกรรมฐานข้อมูล”
- ระบบฯ ทำตามคำร้องขอโดยกระทำกับฐานข้อมูลที่จัดเก็บนั้น (The DBMS executes the operations on the stored database.)
1.4 หน้าที่ของระบบฐานข้อมูล
ระบบบริหารฐานข้อมูล จะต้องสนับสนุนการกระทำต่อไปนี้ได้อย่างน้อย
- การนิยามข้อมูล (Data Definition) ต้องสามารถรับการนิยามข้อมูลได้ เช่น การกำหนดเค้าร่างภายนอก เค้าร่างแนวคิด เค้าร่างภายใน และการเชื่อมทุกตัวที่เกี่ยวข้อง จากนั้นแปลงนิยามนั้นให้เป็นวัตถุ ดังนั้น ระบบจัดการฐานข้อมูลต้องมี ตัวประมวลผลภาษานิยามข้อมูล (Data Definition Language Processor/Compiler)
- การจัดดำเนินการข้อมูล (Data Manipulation) ระบบฯ ต้องสามารถจัดการคำร้องในการสืบค้น ปรับปรุง ลบ เพิ่มข้อมูลได้ ดังนั้น ระบบฯ จึงต้องมีตัวประมวลผลภาษาจัดดำเนินการข้อมูล (Data Manipulation Language Processor/Compiler) การร้องขอให้จัดดำเนินการข้อมูลอาจเป็น การร้องขอที่แจ้งล่วงหน้า (Planned Request) ซึ่งเตรียมไว้ล่วงหน้าก่อนการ Execute เป็นอย่างดี เช่น การรันโปรแกรมทุกเช้าซึ่งเป็นกิจวัตร หรืออาจเป็นการร้องขอที่ไม่แจ้งล่วงหน้า (Unplanned or ad Hoc request) ซึ่งต้องการข้อมูลอย่างฉับพลันหรือเป็นบางครั้งบางคราว ซึ่งมีลักษณะเป็นแบบโต้ตอบ (Interactive)
- การแปลงคำสั่งให้เหมาะสมที่สุดและการเอ็กซีคิวคำสั่ง (Optimization and Execution)ระบบบริหารฐานข้อมูล จะมี Optimizer เป็นซอฟต์แวร์ที่รับเอาคำร้องขอ โค้ดคำสั่งวัตถุนั้นมาตรวจดูก่อนรันเพื่อดูว่าจะรันอย่างไรจึงจะดีที่สุด กล่าวคือ ให้ใช้ทรัพยากรน้อยที่สุด เช่น จะใช้วิธีใดในการเข้าถึงข้อมูล X จึงจะเหมาะสมที่สุด
- ความปลอดภัยและความถูกต้องของข้อมูล (Data Security and Integrity) ระบบฯ จะต้องยอมให้ผู้บริหารฐานข้อมูล (DBA) สามารถเขียนคำสั่ง หรือกำหนดกฎความถูกต้อง (Integrity Constraints)ได้
- การฟื้นฟูสภาพข้อมูลและสภาวะพร้อมกัน (Data Recovery and Concurrency) ระบบฯ ต้องสนับสนุนให้ผู้บริหารฐานข้อมูลสามารถสั่งให้ ตัวจัดการธรุกรรม (Transaction Manager or Transaction Processing Monitor)ให้ทำการฟื้นฟูสภาพ และควบคุมสภาวะการเข้าถึงฐานข้อมูลแบบพร้อมกันได้
- พจนานุกรมข้อมูล (Data Dictionary) ระบบฯ ต้องสร้างพจนานุกรมข้อมูลของมันเองขึ้นมาได้เพื่อให้ผู้ใช้สามารถนำไปใช้ได้
ภาพหน้าที่และส่วนประกอบหลักของระบบบริหารฐานข้อมูล
1. ระบบจัดการแฟ้มข้อมูลไม่รับรู้โครงสร้างภายในของระเบียนที่จัดเก็บไว้ จึงไม่สามารถจัดการกับคำร้องขอที่อิงกับความรู้เรื่องโครงสร้างนั้น
2. โดยปกติระบบจัดการแฟ้มข้อมูลจะมีน้อยหรือไม่มีการสนับสนุนเรื่องข้อกำหนดเกี่ยวกับการรักษาความปลอดภัยและความถูกต้องของข้อมูล
3. โดยปกติระบบจัดการแฟ้มข้อมูลจะมีน้อยหรือไม่มีการสนับสนุนเรื่องการควบคุมการฟื้นฟูสภาพและสภาวะพร้อมกัน
4. ระบบจัดการแฟ้มข้อมูลไม่มีหลักการของพจนานุกรมข้อมูลอย่างแท้จริงในระดับการจัดการแฟ้ม
5. ระบบจัดการแฟ้มข้อมูลไม่มีเรื่องของความเป็นอิสระของข้อมูล หรือมีแต่น้อยมาก
6. โดยปกติแฟ้มต่าง ๆ ในระบบจัดการแฟ้มข้อมูลจะไม่รวมกัน หรือไม่ปันส่าน อย่างในระบบบริหารฐานข้อมูล
ภาพตัวอย่างของการประมวลผลในระบบจัดการแฟ้มข้อมูล
ที่มา:http://itd.htc.ac.th/st_it50/it5012/P_1/DB/B1.htm