1. Database
- Định nghĩa: Một database là một bộ sưu tập có cấu trúc các đối tượng cơ sở dữ liệu, như bảng, view, và schema. PostgreSQL cho phép bạn tạo nhiều database trên một máy chủ.
- Chức năng: Cung cấp một không gian chứa dữ liệu riêng biệt, cho phép người dùng quản lý và truy cập dữ liệu mà không làm ảnh hưởng đến các database khác.
- Ví dụ:
CREATE DATABASE my_database;
2. Table
- Định nghĩa: Bảng là đối tượng cơ sở dữ liệu cơ bản dùng để lưu trữ dữ liệu. Mỗi bảng có tên, và các cột với kiểu dữ liệu xác định.
- Chức năng: Lưu trữ dữ liệu có cấu trúc với khả năng truy vấn, cập nhật, và xóa.
- Ví dụ:
CREATE TABLE employees (
id SERIAL PRIMARY KEY,
name VARCHAR(100),
department VARCHAR(50),
hire_date DATE
);
3. View
- Định nghĩa: View là một bảng ảo được tạo ra từ truy vấn SELECT. Nó không chứa dữ liệu mà chỉ lưu trữ truy vấn.
- Chức năng: Cung cấp một cách đơn giản để truy xuất dữ liệu phức tạp, ẩn thông tin không cần thiết, và kiểm soát quyền truy cập.
- Ví dụ:
CREATE VIEW active_employees AS
SELECT * FROM employees WHERE status = 'active';
4. Index
- Định nghĩa: Chỉ mục là một cấu trúc dữ liệu giúp tăng tốc độ tìm kiếm và truy vấn trên các bảng.
- Chức năng: Giúp tối ưu hóa hiệu suất của các truy vấn bằng cách giảm thời gian tìm kiếm các hàng cụ thể.
- Ví dụ:
CREATE INDEX idx_employee_name ON employees(name);
5. Sequence
- Định nghĩa: Sequence là một đối tượng dùng để tạo ra các số nguyên liên tiếp, thường dùng làm khóa chính cho các bảng.
- Chức năng: Cung cấp giá trị số duy nhất cho các hàng mới trong bảng mà không cần phải quản lý thủ công.
- Ví dụ:
CREATE SEQUENCE employee_id_seq;
6. Schema
- Định nghĩa: Schema là một không gian tên trong database, nơi chứa các đối tượng như bảng, view, và hàm.
- Chức năng: Giúp tổ chức và phân loại các đối tượng, cho phép nhiều người dùng làm việc trên cùng một database mà không làm xung đột với nhau.
- Ví dụ:
7. Function
- Định nghĩa: Hàm là một đoạn mã có thể thực thi, nhận tham số và trả về giá trị.
- Chức năng: Giúp thực hiện các tác vụ phức tạp, tái sử dụng mã, và đơn giản hóa truy vấn.
- Ví dụ:
CREATE FUNCTION calculate_bonus(salary NUMERIC) RETURNS NUMERIC AS $$
BEGIN
RETURN salary * 0.1;
END;
$$ LANGUAGE plpgsql;
8. Trigger
- Định nghĩa: Trigger là một loại hàm được tự động gọi khi một sự kiện xảy ra trên một bảng (INSERT, UPDATE, DELETE).
- Chức năng: Tự động hóa các tác vụ như kiểm tra tính hợp lệ, ghi lại lịch sử thay đổi, hoặc đồng bộ hóa dữ liệu.
- Ví dụ:
CREATE TRIGGER log_employee_changes
AFTER UPDATE ON employees
FOR EACH ROW
EXECUTE PROCEDURE log_changes();
9. Type
- Định nghĩa: Type cho phép bạn tạo các kiểu dữ liệu tùy chỉnh trong PostgreSQL.
- Chức năng: Mở rộng khả năng lưu trữ dữ liệu bằng cách cho phép định nghĩa các kiểu phức tạp như mảng hoặc JSON.
- Ví dụ:
CREATE TYPE address AS (
street VARCHAR,
city VARCHAR,
zip_code VARCHAR
);
10. Domain
- Định nghĩa: Domain là một kiểu dữ liệu tùy chỉnh với các ràng buộc cụ thể.
- Chức năng: Định nghĩa một kiểu dữ liệu có thể được sử dụng trên nhiều bảng, giúp bảo đảm tính nhất quán và tái sử dụng.
- Ví dụ:
CREATE DOMAIN email_domain AS VARCHAR(255)
CHECK (VALUE LIKE '%_@__%.__%');
Kết luận
Mỗi đối tượng trong PostgreSQL đóng một vai trò quan trọng trong việc quản lý và tổ chức dữ liệu. Việc hiểu rõ các đối tượng này giúp bạn xây dựng và tối ưu hóa cơ sở dữ liệu của mình một cách hiệu quả hơn. Bạn có thể sử dụng các đối tượng này để tạo ra một mô hình dữ liệu phù hợp với nhu cầu cụ thể của ứng dụng của bạn, từ đó tối ưu hóa hiệu suất và khả năng mở rộng của hệ thống.