Sau khi cài đặt PostgreSQL, tải cơ sở dữ liệu mẫu và kết nối với máy chủ cơ sở dữ liệu bằng ứng dụng GUI pgAdmin, bạn sẽ thấy PostgreSQL cung cấp nhiều đối tượng máy chủ và cơ sở dữ liệu. Để tận dụng các tính năng của từng đối tượng mà PostgreSQL cung cấp một cách hiệu quả, bạn nên hiểu rõ về từng đối tượng và cách sử dụng nó một cách hiệu quả.
Hãy cùng làm quen với các đối tượng cơ sở dữ liệu (database objects) và máy chủ PostgreSQL (PostgreSQL server) này.
1. Server service
Khi bạn cài đặt một phiên bản PostgreSQL, bạn sẽ có một dịch vụ máy chủ PostgreSQL (PostgreSQL server service) tương ứng.
PostgreSQL server service còn được gọi là máy chủ PostgreSQL (PostgreSQL server).
Bạn có thể cài đặt nhiều PostgreSQL server trên một máy chủ vật lý bằng các cổng khác nhau và có các vị trí khác nhau để lưu trữ dữ liệu.
Xem thêm: Thiết lập môi trường kết nối cơ sở dữ liệu và PostgreSQL service
2. Databases
Database là một container chứa các đối tượng khác như tables, views, functions, và indexes.
Bạn có thể tạo nhiều cơ sở dữ liệu trong PostgreSQL server.
Xem thêm: Cách lấy kích thước của database, table, indexes, tablespace trong PostgreSQL
3. Tables
Table lưu trữ dữ liệu. Một bảng thuộc về cơ sở dữ liệu và mỗi cơ sở dữ liệu có nhiều bảng.
Một tính năng đặc biệt của PostgreSQL là kế thừa bảng (table inheritance), nghĩa là một bảng (bảng con) có thể kế thừa từ một bảng khác (bảng cha) để khi bạn truy vấn dữ liệu từ bảng con, dữ liệu từ bảng cha cũng hiển thị.
4. Schemas
Schema (Lược đồ) là một logical container của các bảng và các đối tượng khác trong cơ sở dữ liệu.
Mỗi cơ sở dữ liệu PostgreSQL có thể có nhiều schemas.
5. Tablespaces
Tablespace (Không gian bảng) là nơi PostgreSQL lưu trữ dữ liệu vật lý. Tablespaces cho phép bạn di chuyển dữ liệu của mình đến các vị trí vật lý khác nhau trên các trình điều khiển (drivers) một cách dễ dàng bằng cách sử dụng các lệnh đơn giản.
Theo mặc định, PostgreSQL cung cấp cho bạn 2 tablespaces:
- pg_default: lưu trữ dữ liệu người dùng.
- pg_global: lưu trữ dữ liệu hệ thống.
Hình ảnh sau đây cho thấy các tablespaces mặc định:
6. Views
View được đặt tên truy vấn được lưu trữ trong cơ sở dữ liệu. Bên cạnh các chế độ xem chỉ đọc (read-only views), PostgreSQL hỗ trợ các chế độ xem có thể cập nhật (updatable views).
7. Functions
Function là một khối mã SQL có thể sử dụng lại, trả về giá trị vô hướng (scalar value) của một tập hợp các hàng.
8. Operators
Operator (Toán tử) là các hàm symbolic. PostgreSQL cho phép bạn define custom operators.
9. Casts
Cast cho phép bạn chuyển đổi một loại dữ liệu thành một loại dữ liệu khác. Cast được hỗ trợ bởi các chức năng để thực hiện chuyển đổi.
Bạn cũng có thể tạo các casts của mình để override quá trình truyền mặc định được cung cấp bởi PostgreSQL.
10. Sequences
Sequence được sử dụng để quản lý các cột tăng tự động được xác định trong bảng dưới dạng serial column hoặc identity column.
11. Extensions
PostgreQuery đã giới thiệu khái niệm extension kể từ phiên bản 9.1 để bao bọc (wrap) các đối tượng khác bao gồm các types, casts, indexes, functions,… thành một đơn vị.
Mục đích của các extensions là để làm cho nó dễ dàng hơn để duy trì, maintain.