PostgreSQL

Mối quan hệ giữa database, schema và table trong PostgreSQL

Mối quan hệ giữa database, schema và table trong 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 chúng ta sẽ xem xét ngắn gọn về mối quan hệ giữa cơ sở dữ liệu (database), lược đồ (schema) và bảng (table) trong PostgreSQL.

#1/3: Cơ sở dữ liệu (database)

PostgreSQL có thể quản lý nhiều cơ sở dữ liệu. Ngay sau khi cài đặt hoàn thành PostgreSQL, template0template1 là 2 cơ sở dữ liệu mẫu (template) và cơ sở dữ liệu có tên postgres được tạo mặc định.

Một bộ sưu tập các cơ sở dữ liệu này còn được gọi là cụm cơ sở dữ liệu (database cluster).

Mối quan hệ giữa database, schema và table trong PostgreSQL - Hình 1

Bạn có thể thêm một cơ sở dữ liệu mới, chẳng hạn như mydb nếu bạn có quyền tạo ra nó.

Mối quan hệ giữa database, schema và table trong PostgreSQL - Hình 2

#2/3: Lược đồ (schema)

Trong PostgreSQL dữ liệu thực tế được lưu trữ trong các bảng (table). Bạn có thể tạo nhiều bảng tùy theo mục đích và cơ sở dữ liệu là tập hợp của chúng. Ngoài ra, trong PostgreSQL, một số cơ sở dữ liệu còn được gọi là schema.

Schema là một nhóm các đối tượng như bảng (table), hàm (function),… được tạo trong cơ sở dữ liệu. Nếu schema khác nhau, bạn có thể tạo một bảng có cùng tên bảng ngay cả trong cùng một cơ sở dữ liệu. Khi tạo một cơ sở dữ liệu thì mặc định sẽ tự động tạo ra một schema đặc biệt gọi là public.

Mối quan hệ giữa database, schema và table trong PostgreSQL - Hình 3

Theo mặc định, schema public có quyền truy cập và đặc quyền CREATE cho tất cả các vai trò và bất kỳ vai trò nào trong schema public đều có thể tạo các bảng.

Bạn có thể tạo một schema tùy ý trong cơ sở dữ liệu tách biệt với schema public. Các hệ thống cơ sở dữ liệu khác chỉ có thể tạo các schema có cùng tên schema với tên người dùng (user name), nhưng PostgreSQL cho phép bạn tạo một schema với bất kỳ tên nào.

Mối quan hệ giữa database, schema và table trong PostgreSQL - Hình 4

#3/3: Bảng (table)

Tạo bảng trong schema. Nếu schema khác nhau, bạn có thể tạo một bảng có cùng tên bảng. Bạn cũng có thể đặt quyền để tạo các đối tượng như bảng cho mỗi schema.

Mối quan hệ giữa database, schema và table trong PostgreSQL - Hình 5

Nếu bạn không chỉ định tên schema khi tạo bảng bằng lệnh CREATE TABLE thì bảng sẽ được tạo cho schema public theo mặc định (trừ khi cùng một lược đồ như tên vai trò được tạo).

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 »