# ระบบจัดการฐานข้อมูล
ระบบจัดการฐานข้อมูล (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
 Firebird
 Pervasive SQL
 แซพ ดีบี (SAP DB)
 ไมโครซอฟท์ แอคเซส (Microsoft Office Access)