Hệ quản trị cơ sở dữ liệu là hệ thống định nghĩa, thao tác và chia sẽ dữ liệu được lưu trữ trong cơ sở dữ liệu cho các đối tượng cần sử dụng dữ liệu (bao gồm người sử dụng hoặc các phần mềm được phân quyền sử dụng dữ liệu). Một hệ quản trị CSDL gồm 3 thành phần:
1. Cơ sở dữ liệu. Mỗi hệ quản trị CSDL có cách lưu trữ dữ liệu khác nhau và quy ước tên khác nhau cho tập tin CSDL. Ví dụ: MS Access sử dụng phần mở rộng là “.MDB” (ví dụ: QLVT.MDB), đối với MS SQL Server đó là “.MDF” và “.LDF”, đối với Oracle Database, tập tin này có phần mở rộng là “.DAT”.
2. Bộ máy điều khiển. Đây là một phần mềm “thường trú” trên hệ điều hành để điều khiển tất cả các xử lý trên cơ sở dữ liệu, kể cả phân quyền và kiễm soát quyền truy cập vào cơ sở dữ liệu. Nó cung cấp các cơ chế truy cập bằng ngôn ngữ lệnh (Commands) trên các dịch vụ cấp thấp của hệ điều hành và mạng máy tính (Remote Procedure Call, Pipeline, TCP/IP,..), biên dịch, thực hiện lệnh và gửi kết quả về cho người sử dụng.
3. Ngôn ngữ lệnh. Hầu hết các hệ quản trị CSDL quan hệ chấp nhận ngôn ngữ lệnh rất phổ biến gọi là Ngôn ngữ Vấn đáp có Cấu trúc (Structured Query Language, SQL). Các câu lệnh SQL là một đoạn văn bản (text) có cấu trúc rất đơn giản và gần với ngôn ngữ tự nhiên, ví dụ “Select all from table Student”, nhằm giúp cho người sử dụng cảm thấy quen thuộc. Bộ lệnh vấn đáp của các hệ quản trị CSDL thường được chia làm 3 phần:
• Ngôn ngữđịnh nghĩa dữ liệu (Data Definition Language, DDL). DDL gồm các lệnh mô tả cấu trúc của bảng, khai báo (kiểu, loại) các thành tố dữ liệu, định nghĩa các ràng buộc (constraints/stored procedures/relationships) và cập nhật cho các cấu trúc này, như:
ALTER – Thay đổi cấu trúc của một đối tượng trong cơ sở dữ liệu
DROP – Xóa một đối tượng ra khỏi cơ sở dữ liệu
• Ngôn ngữ thao tác dữ liệu (Data Manipulation Language, DML). DML gồm các lệnh trực tiếp thao tác trên nội dung của dữ liệu:
SELECT – lấy dữ liệu từ cơ sở dữ liệu
INSERT – Chèn thêm mẫu tin mới vào một bảng
UPDATE – Cập nhật dữ liệu đang có trong bảng
DELETE – Xóa một số mẫu tin ra khỏi bảng
• Ngôn ngữđiều khiển dữ liệu (Data Control Language, DCL). DCL gồm các lệnh điều khiển các thao tác trên cơ sở dữ liệu, và gán quyền truy cập.
GRANT – Gán quyền truy cập trên một đối tượng cho người sử dụng (dựa trên username)
REVOKE – Rút lại quyền truy cập đã cấp phát
COMMIT – Xác nhận các thay đổi dữ liệu trước đó đã chắc chắn đúng.
ROLLBACK – Khôi phục lại trạng thái dữ liệu ban đầu cho các thành tố dữ liệu vừa mới bị thay đổi (tính từ thời điểm thực hiện lệnh COMMIT sau cùng).