TẠO BẢNG trong Schema Postgres

Tao Bang Trong Schema Postgres



PostgreSQL là một trong những hệ thống cơ sở dữ liệu quan hệ đối tượng phổ biến nhất. Đó là phần mềm nguồn mở và miễn phí giúp mở rộng ngôn ngữ SQL với các tính năng bổ sung để xử lý khối lượng công việc dữ liệu phức tạp. Nó có thể hoạt động với nhiều loại dữ liệu khác nhau, đáng tin cậy và an toàn. Tìm hiểu thêm về các tính năng của PostgreSQL.

Trong hướng dẫn này, chúng ta sẽ tìm hiểu thêm về cách tạo bảng trong lược đồ trong PostgreSQL.







Lược đồ trong PostgreSQL

Cơ sở dữ liệu PostgreSQL có thể chứa một hoặc nhiều lược đồ được đặt tên, mỗi lược đồ chứa các bảng.



Có thể gán cùng một tên đối tượng trên nhiều lược đồ mà không có xung đột. Ví dụ: cây lược đồ/bảng sau là hợp lệ:



  • giản đồ_a
    • Bảng 1
    • ban 2
  • giản đồ_b
    • Bảng 1
    • ban 2

Bạn có thể nghĩ về các lược đồ giống như các thư mục ở cấp độ hệ điều hành. Sự khác biệt là không thể có các lược đồ lồng nhau. Tìm hiểu sâu hơn về lược đồ trên Tài liệu PostgreSQL .





Có thể có nhiều lý do để triển khai các lược đồ:

  • Nhiều người dùng sử dụng cùng một cơ sở dữ liệu mà không xung đột với nhau.
  • Tổ chức và quản lý cơ sở dữ liệu tốt hơn thành các nhóm hợp lý.
  • Các ứng dụng của bên thứ ba có thể tạo lược đồ duy nhất của chúng mà không xung đột với các lược đồ hiện có hoặc các đối tượng khác.

Bảng trong PostgreSQL

Bất kỳ cơ sở dữ liệu quan hệ nào cũng bao gồm nhiều bảng liên quan, mỗi bảng bao gồm các hàng và cột. PostgreSQL đi kèm với một số bảng dựng sẵn chứa nhiều thông tin hệ thống khác nhau. Tuy nhiên, chúng ta cũng có thể tạo các bảng mới trong cơ sở dữ liệu và lược đồ do người dùng định nghĩa.



Điều kiện tiên quyết:

Để thực hiện các bước được trình bày trong hướng dẫn này, bạn sẽ cần các thành phần sau:

  • Một hệ thống Linux được cấu hình đúng cách. Học nhiều hơn về cài đặt Ubuntu trong VirtualBox .
  • Cài đặt đúng PostgreSQL. Thủ tục thanh toán cài đặt PostgreSQL trên Ubuntu .
  • Truy cập vào một người dùng PostgreSQL với quyền SỬ DỤNG đến một cơ sở dữ liệu.

Với mục đích của hướng dẫn này, chúng tôi sẽ sử dụng postgres để thực hiện tất cả các hành động trong PostgreSQL.

Tạo bảng trong lược đồ

Tạo cơ sở dữ liệu demo

Như đã đề cập trước đó, các lược đồ tồn tại trong cơ sở dữ liệu. Đối với mục đích trình diễn, chúng tôi tạo một cơ sở dữ liệu giả, tránh làm gián đoạn bất kỳ cơ sở dữ liệu hiện có nào.

Truy cập vỏ PostgreSQL dưới dạng postgres :

$ sudo -i -u postgres psql

Tạo cơ sở dữ liệu mới demo_db:

$ TẠO CƠ SỞ DỮ LIỆU demo_db;

Xác minh nếu cơ sở dữ liệu được tạo thành công:

$ \l

Cuối cùng, kết nối với cơ sở dữ liệu mới được tạo:

$ \connect demo_db;

Lược đồ công khai

Bất kỳ cơ sở dữ liệu mới nào trong PostgreSQL đều đi kèm với một lược đồ mặc định – công cộng . Nếu bạn cố gắng tạo một đối tượng mà không chỉ định tên lược đồ, thì lược đồ chung sẽ được chọn theo mặc định.

Lệnh sau in tất cả lược đồ có sẵn trong cơ sở dữ liệu PostgreSQL:

$ \dn

Ngoài ra, chúng ta cũng có thể sử dụng truy vấn SQL sau:

$ CHỌN * TỪ pg_catalog.pg_namespace;

Tạo một lược đồ mới

Để tạo một lược đồ mới trong một cơ sở dữ liệu cụ thể, cấu trúc lệnh như sau:

$ TẠO LƯỢC ĐỒ ;

Theo quy tắc, hãy tạo một lược đồ demo_schema mới:

$ TẠO SCHEMA demo_schema;

Kiểm tra danh sách lược đồ để xác minh:

$ \dn

Tạo một bảng trong lược đồ

Bây giờ chúng ta đã tạo lược đồ đích, chúng ta có thể điền vào lược đồ đó bằng các bảng.

Cú pháp tạo bảng như sau:

TẠO BẢNG . (

...
)

Nơi đây:

  • lược đồ : Trường này chỉ định tên của lược đồ nơi bảng được tạo. Nếu không có giá trị nào được cung cấp, bảng sẽ được tạo trong công cộng lược đồ.

Để trình diễn, chúng tôi tạo một bảng đơn giản:

TẠO BẢNG demo_schema.demo_table (

TÊN CHAR(64),

ID INT KHÔNG NULL

);

Nơi đây:

  • Cánh đồng TÊN được chỉ định để lưu trữ một chuỗi 64 ký tự.
  • Cánh đồng TÔI chứa các giá trị nguyên. Thuật ngữ “ CÓ GIÁ TRỊ ' chỉ ra rằng TÔI không thể để trống hoặc null.

Chúng tôi có thể xác minh sự tồn tại của bảng bằng truy vấn sau:

$ CHỌN * TỪ demo_schema.demo_table;

Chèn dữ liệu vào bảng

Với bảng đã có, bây giờ chúng ta có thể chèn một số giá trị:

CHÈN VÀO demo_schema.demo_table (TÊN, ID)

GIÁ TRỊ

('PQR', 45),

('IJK', 99)

;

Kiểm tra nội dung của bảng:

$ CHỌN * TỪ demo_schema.demo_table;

Quản lý lược đồ

Quyền lược đồ

Với sự trợ giúp của quyền lược đồ, chúng tôi có thể quản lý vai trò nào có thể thực hiện hành động nào trên một lược đồ cụ thể. Trong số tất cả các đặc quyền có thể, lược đồ chỉ hỗ trợ TẠO và SỬ DỤNG.

Để cập nhật quyền lược đồ cho một vai trò cụ thể, cấu trúc lệnh như sau:

$ CẤP TRÊN SCHEMA ĐẾN ;

Để thu hồi quyền lược đồ cho một vai trò cụ thể, cấu trúc lệnh như sau:

$ REVOKE TRÊN SCHEMA ĐẾN ;

Xác minh thay đổi bằng lệnh sau:

$ \dn+

Thay đổi thuộc tính lược đồ

Với sự giúp đỡ của THAY ĐỔI SƠ ĐỒ câu lệnh, chúng ta có thể sửa đổi các thuộc tính khác nhau của lược đồ. Ví dụ: quyền sở hữu, tên lược đồ, v.v.

Để thay đổi tên lược đồ, hãy sử dụng truy vấn sau:

$ THAY ĐỔI SCHEMA ĐỔI TÊN THÀNH ;

Để thay đổi quyền sở hữu của lược đồ, hãy sử dụng truy vấn sau:

$ THAY ĐỔI SCHEMA CHỦ SỞ HỮU THÀNH ;

Lưu ý rằng để thay đổi quyền sở hữu, người dùng hiện tại phải có TẠO RA quyền đối với lược đồ.

Xóa một lược đồ

Nếu lược đồ không còn cần thiết nữa, chúng ta có thể xóa lược đồ đó bằng cách sử dụng LÀM RƠI truy vấn:

$ DROP SCHEMA

Nếu lược đồ chứa bất kỳ đối tượng nào, chúng ta cần THÁC bổ nghĩa:

$ DROP SCHEMA CASCADE;

quản lý bảng

Quyền bảng

Giống như lược đồ, mỗi bảng cũng đi kèm với quản lý quyền, xác định hành động mà một vai trò có thể thực hiện trên bảng.

Để kiểm tra quyền của một bảng, hãy sử dụng lệnh sau trong psql:

$ \dp

Thuộc tính bảng thay đổi

Với sự giúp đỡ của THAY ĐỔI BẢNG tuyên bố, chúng ta có thể sửa đổi nhiều khía cạnh của một bảng đã tồn tại.

Ví dụ: để xóa một cột, truy vấn sẽ như sau:

$ ALTER TABLE DROP COLUMN ;

Để thêm một cột mới, chúng ta có thể sử dụng truy vấn sau:

$ ALTER TABLE THÊM CỘT ;

Chúng tôi cũng có thể đặt nén cho một cột cụ thể:

$ THAY ĐỔI CỘT THIẾT LẬP NÉN ;

Xóa một bảng

Để xóa một bảng khỏi lược đồ, chúng ta có thể sử dụng THẢ BÀN truy vấn:

$DROP TABLE ;

Lưu ý rằng không giống như các lược đồ, các THẢ BÀN truy vấn sẽ không tạo ra lỗi cho dù bảng có trống hay không.

Sự kết luận

Trong hướng dẫn này, chúng tôi đã trình bày cách tạo các bảng trong lược đồ trong PostgreSQL. Chúng tôi đã tạo một lược đồ giả trong cơ sở dữ liệu giả và tạo một bảng trong lược đồ. Hướng dẫn này cũng giới thiệu cách quản lý các thuộc tính khác nhau của lược đồ và bảng.

Để có tính toàn vẹn dữ liệu tốt hơn, bạn có thể cấu hình một sao chép PostgreSQL hợp lý . Để giữ cho cơ sở dữ liệu PostgreSQL khỏe mạnh, bạn có thể định cấu hình máy hút tự động để làm sạch các bộ dữ liệu đã chết do các bản ghi đã xóa để lại.

Để biết thêm hướng dẫn về PostgreSQL, hãy xem Tiểu thể loại PostgreSQL .