Trong bài viết này, VietnamWorks inTECH sẽ mang đến cho bạn bộ câu hỏi phỏng vấn về PostgreSQL. 

Trước khi đi vào chi tiết, chúng ta sẽ cùng tìm hiểu sơ qua về PostgreSQL là gì nhé!

I. PostgreSQL là gì?

PostgreSQL, còn được gọi là Postgres, là một hệ thống quản lý cơ sở dữ liệu quan hệ nguồn mở và hoàn toàn miễn phí.

PostgreSQL được phát triển dựa trên POSTGRES 4.2 tại phòng khoa học máy tính Berkeley, Đại học California.

PostgreSQL được thiết kế để chạy trên các nền tảng tương tự UNIX. Tuy nhiên, PostgreSQL sau đó cũng được điều chỉnh linh động để có thể chạy được trên nhiều nền tảng khác nhau như Mac OS X, Solaris và Windows.

PostgreSQL không yêu cầu quá nhiều công tác bảo trì bởi nó có tính ổn định cao. Do đó, nếu bạn phát triển các ứng dụng dựa trên PostgreSQL, chi phí sở hữu sẽ thấp hơn so với các hệ thống quản trị dữ liệu khác.

II. Bộ 15 câu hỏi phỏng vấn về chủ đề PostgreSQL 

1. Partition table trong PostgreSQL là gì?

Partition table là một  logical structure. Nó được sử dụng để chia nhỏ bảng ra thành nhiều khối nhỏ theo 1 tiêu chí đã được chọn, để việc tìm kiếm được dễ dàng hơn.

2. pgAdmin phục vụ mục đích gì trong PostgreSQL?

pgAdmin trong PostgreSQL là một công cụ quản trị dữ liệu. Nó phục vụ mục đích truy xuất, phát triển, thử nghiệm và duy trì cơ sở dữ liệu.

3. Những phương thức tạo cơ sở dữ liệu mới trong PostgreSQL là gì?

Có 3 cách để tạo cơ sở dữ liệu mới trong PostgreSQL:

  • Sử dụng SQL Query “CREATE DATABASE”

  • Sử dụng command “createdb”

  • Sử dụng công cụ PgAdmin 4

4. Làm thế nào để xóa cơ sở dữ liệu PostgreSQL?

Chúng ta có thể sử dụng 1 trong 2 cách sau:

  • Sử dụng SQL Query “DROP DATABASE”

  • Sử dụng command ‘dropdb”

5. Mục đích của indexes là dùng để làm gì?

Các indexes được sử dụng bởi công cụ tìm kiếm để tăng tốc độ truy xuất dữ liệu.

6. Theo bạn, nhược điểm của lệnh DROP TABLE là gì?

Mặc dù lệnh DROP TABLE có khả năng xóa toàn bộ dữ liệu khỏi một bảng hiện có, nhưng nhược điểm là: nó loại bỏ toàn bộ cấu trúc bảng khỏi cơ sở dữ liệu. Do đó, chúng ta cần tạo lại một bảng để lưu trữ dữ liệu.

7. Sự khác biệt chính giữa SQL và PostgreSQL là gì?

Sự khác biệt chính giữa hai hệ thống này là:

  • Không giống như SQL, mục views trong PostgreSQL không thể cập nhật được.

  • SQL có các computed columns; tuy nhiên PostgreSQL thì lại không.

  • Khác với SQL, trong PostgreSQL, người dùng không cần tạo DLL để xem code đang hoạt động như thế nào.

  • PostgreSQL hỗ trợ các dynamic actions trong khi SQL thì không.

8. Ưu điểm của việc sử dụng PostgreSQL là gì?

Một số ưu điểm của PostgreSQL có thể kể đến là:

  • DBMS nguồn mở, được phát triển và bảo trì bởi một cộng đồng lớn và đầy nhiệt huyết,

  • Iindex đa dạng

  • Cơ sở dữ liệu rất đáng tin cậy với mức độ hỗ trợ, bảo mật và độ chính xác cao

  • PostgreSQL còn hỗ trợ các kiểu dữ liệu phức tạp . . .

9. Theo bạn, PostgreSQL có nhược điểm nào không?

PostgreSQL cũng có một vài nhược điểm sau đây:

  • Vì không chịu sự quản lý của bất kỳ tổ chức nào nên PostgreSQL gây khó khăn cho người dùng trong việc tiếp cận đầy đủ tính năng.

  • Hiệu suất hoạt động thực tế chậm hơn so với MySQL.

  • Nhiều ứng dụng nguồn mở chỉ hỗ trợ MySQL và không hỗ trợ PostgreSQL.

10. Các tính năng quan trọng nhất của PostgreSQL là gì?

PostgreSQL là một hệ thống quản lý cơ sở dữ liệu quan hệ nguồn mở, được biết đến với tính ổn định, tính toàn vẹn của dữ liệu và bộ tính năng mạnh mẽ. Một số tính năng quan trọng nhất của hệ thống này là:

  • Tuân thủ ACID

  • Hỗ trợ các kiểu dữ liệu nâng cao và SQL

  • Kiểm soát đồng thời nhiều phiên bản (MVCC)

  • Tùy chọn lập index phong phú

11. Kích thước tối đa cho một bảng trong PostgreSQL là bao nhiêu?

Kích thước cho một bảng trong PostgreSQL là 32 terabyte. 

12. Sự khác biệt chính giữa Oracle và PostgreSQL là gì?

Oracle là một hệ thống quản lý cơ sở dữ liệu độc quyền, trong khi PostgreSQL là mã nguồn mở

13. MVCC trong PostgreSQL là gì? 

Multi-Version Concurrency Control (MVCC) là một kỹ thuật được sử dụng trong PostgreSQL để cho phép nhiều giao dịch truy cập đồng thời cùng một dữ liệu mà không xung đột với nhau. Nó được sử dụng bằng cách tạo một phiên bản riêng của một hàng cho mỗi giao dịch sửa đổi nó.

14. Công dụng của lệnh enable-debug trong PostgreSQL là gì?

Lệnh "enable_debug" trong PostgreSQL được sử dụng để bật hoặc tắt output debug cho các hệ thống con khác nhau của hệ thống cơ sở dữ liệu.

15. Ba hiện tượng phải được ngăn chặn giữa các giao dịch đồng thời trong PostgreSQL là gì?

Ba hiện tượng phải được ngăn chặn giữa các giao dịch đồng thời trong PostgreSQL là lost updates, dirty read, và inconsistent read.

VietnamWorks inTECH