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

**ระบบจัดการฐานข้อมูล** (Database Management System) หรือที่เรียกว่า **ดีบีเอ็มเอส** (DBMS) เป็นกลุ่มโปรแกรมที่ทำหน้าที่เป็นตัวกลางในระบบติดต่อระหว่างผู้ใช้กับฐานข้อมูล พื่อจัดการและควบคุมความถูกต้อง ความซ้ำซ้อน และความสัมพันธ์ระหว่างข้อมูลต่าง ๆ ภายในฐานข้อมูล ซึ่งต่างจากระบบแฟ้มข้อมูลที่หน้าที่เหล่านี้จะเป็นหน้าที่ของโปรแกรมเมอร์ ในการติดต่อกับข้อมูลในฐานข้อมูลไม่ว่าจะด้วยการใช้คำสั่งในกลุ่มดีเอ็มแอล (DML) หรือ ดีดีแอล (DDL) หรือจะด้วยโปรแกรมต่าง ๆ ทุกคำสั่งที่ใช้กระทำกับข้อมูลจะถูกดีบีเอ็มเอสนำมาแปล (คอมไพล์) เป็นการปฏิบัติการ (Operation) ต่าง ๆ ภายใต้คำสั่งนั้น ๆ เพื่อนำไปกระทำกับตัวข้อมูลภายในฐานข้อมูลต่อไป สำหรับส่วนการทำงานต่าง ๆ ภายในดีบีเอ็มเอสที่ทำหน้าที่แปลคำสั่งไปเป็นการปฏิบัติการต่าง ๆ กับข้อมูลนั้น ประกอบด้วยส่วนการปฏิบัติการดังนี้

* ตัวจัดการฐานข้อมูล (Database Manager) : เป็นส่วนที่ทำหน้าที่กำหนดการกระทำต่าง ๆ ให้กับส่วน File Manager เพื่อไปกระทำกับข้อมูลที่เก็บอยู่ในฐานข้อมูล (ตัวจัดการไฟล์ เป็นส่วนที่ทำหน้าที่บริหารจัดการกับข้อมูลที่เก็บอยู่ในฐานข้อมูลในระดับกายภาพ)
* ตัวประมวลผลสอบถาม (Query Processor) : เป็นส่วนที่ทำหน้าที่แปลงกำหนดคำสั่งของ **[[ภาษาสอบถาม]]** (Query Language) ให้อยู่ในรูปแบบของคำสั่งที่ตัวจัดการฐานข้อมูลเข้าใจ
* ตัวแปลภาษาจัดดำเนินการข้อมูลล่วงหน้า (Data Manipulation Language Precompiler) : เป็นส่วนที่ทำหน้าที่แปลประโยคคำสั่งของกลุ่มคำสั่งในดีเอ็มแอล ให้อยู่ในรูปแบบที่ส่วนรหัสเชิงวัตถุของโปรแกรมแอปพลิเคชัน ใช้นำเข้าเพื่อส่งต่อไปยังส่วนตัวจัดการฐานข้อมูลในการแปลประโยคคำสั่งของกลุ่มคำสั่งของดีเอ็มแอลของส่วน ตัวแปลภาษาจัดดำเนินการข้อมูลล่วงหน้านี้จะต้องทำงานร่วมกับส่วนตัวประมวลผลข้อคำถาม
* ตัวแปลภาษานิยามข้อมูลล่วงหน้า (Data Definition Language Precompiler) : เป็นส่วนที่ทำหน้าที่แปลประโยคคำสั่งของกลุมคำสั่งในภาษานิยามข้อมูล ให้อยู่ในรูปแบบของเมทาเดตา (MataData) ที่เก็บอยู่ในส่วนพจนานุกรมข้อมูล (Data Dictionary) ของฐานข้อมูล (เมทาเดตาคือ รายละเอียดที่บอกถึงโครงสร้างต่าง ๆ ของข้อมูล)
* รหัสจุดหมายของโปรแกรมแอปพลิเคชัน (Application Programs Object Code) : เป็นส่วนที่ทำหน้าที่แปลงคำสั่งต่าง ๆ ของโปรแกรม รวมทั้งคำสั่งในกลุ่มคำสั่งภาษาจัดดำเนินการข้อมูล หรือดีเอ็มแอลที่ส่งต่อมาจากส่วนตัวแปลภาษาจัดดำเนินการข้อมูลล่วงหน้าให้อยู่ในรูปแบบของรหัสจุดหมาย (Object Code) ที่จะส่งต่อไปให้ตัวจัดการฐานข้อมูลเพื่อกระทำกับข้อมูลในฐานข้อมูล

## หน้าที่ของระบบจัดการฐานข้อมูล
* แปลงคำสั่งที่ใช้จัดการกับข้อมูลภายในฐานข้อมูล ให้อยู่ในรูปแบบที่ฐานข้อมูลเข้าใจ
* นำคำสั่งต่าง ๆ ซึ่งได้รับการแปลแล้ว ไปสั่งให้ฐานข้อมูลทำงาน เช่น การเรียกใช้ (Retrieve) จัดเก็บ (Update) ลบ (Delete) เพิ่มข้อมูล (Add) เป็นต้น
* ป้องกันความเสียหายที่จะเกิดขึ้นกับข้อมูลภายในฐานข้อมูล โดยจะคอยตรวจสอบว่าคำสั่งใดที่สามารถทำงานได้ และคำสั่งใดที่ไม่สามารถทำงานได้
* รักษาความสัมพันธ์ของข้อมูลภายในฐานข้อมูลให้มีความถูกต้องอยู่เสมอ
* เก็บรายละเอียดต่าง ๆ ที่เกี่ยวข้องกับข้อมูลภายในฐานข้อมูลไว้ในพจนานุกรมข้อมูล (Data Dictionary) ซึ่งรายละเอียดเหล่านี้มักจะถูกเรียกว่า เมทาเดตา (MetaData) ซึ่งหมายถึง "ข้อมูลของข้อมูล"
* ควบคุมให้ฐานข้อมูลทำงานได้อย่างถูกต้องและมีประสิทธิภาพ
* ควบคุมสถานะภาพของคอมพิวเตอร์ในการแปลสถาพฐานข้อมูล ส.ท

## รายชื่อระบบจัดการฐานข้อมูล
ระบบจัดการฐานข้อมูลที่นิยมใช้กันในปัจจุบัน
* ออราเคิล (Oracle)
* ไอบีเอ็ม ดีบีทู (IBM DB2)
* ไมโครซอฟท์ ซีควลเซิร์ฟเวอร์ (Microsoft SQL Server)
* ไซเบส (Sybase)
* แคเช่ (Cache')
* PostgreSQL
* Progress
* มายเอสคิวแอล (MySQL)
* Interbase
* ไฟร์เบิร์ด
* Pervasive SQL
* แซพ ดีบี (SAP DB)
* ไมโครซอฟท์ แอคเซส (Microsoft Office Access)

## อ้างอิง
* ระบบจัดการฐานข้อมูล 
* คุณสมบัติของระบบจัดการฐานข้อมูล 

หมวดหมู่:ฐานข้อมูล