PostgreSQL

Tổng quan về các đối tượng cơ sở dữ liệu và server PostgreSQL

Tổng quan về các đối tượng cơ sở dữ liệu và server PostgreSQL
Được viết bởi Minh Hoàng

Series chia sẻ về PostgreSQL – Cơ sở dữ liệu mã nguồn mở tiên tiến nhất thế giới.

Bài viết này sẽ mô tả các đối tượng cơ sở dữ liệu (database objects) và máy chủ phổ biến (common server) nhất được cung cấp bởi PostgreSQL. Điều quan trọng là phải hiểu các đối tượng đó và chức năng của chúng để bạn không bỏ lỡ các tính năng thú vị mà bạn có thể muốn có trong hệ thống.

Sau khi cài đặt PostgreSQL, tải cơ sở dữ liệu mẫukế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.

PostgreSQL Databases

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ị.

PostgreSQL Tables

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.

PostgreSQL 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:

  1. pg_default: lưu trữ dữ liệu người dùng.
  2. 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:

PostgreSQL Tablespaces

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).

PostgreSQL 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.

PostgreSQL Functions

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.

PostgreSQL Sequences

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.

PostgreSQL Extensions

Cảm ơn bạn đã theo dõi. Đừng ngần ngại hãy cùng thảo luận với chúng tôi!

Giới thiệu

Minh Hoàng

Xin chào, tôi là Hoàng Ngọc Minh, hiện đang làm BrSE, tại công ty Toyota, Nhật Bản. Những gì tôi viết trên blog này là những trải nghiệm thực tế tôi đã đúc rút ra được trong cuộc sống, quá trình học tập và làm việc. Các bài viết được biên tập một cách chi tiết, linh hoạt để giúp bạn đọc có thể tiếp cận một cách dễ dàng nhất. Hi vọng nó sẽ có ích hoặc mang lại một góc nhìn khác cho bạn[...]

Translate »