SQL là gì?
SQL (Structured Query Language) là viết tắt của Ngôn ngữ truy vấn có cấu trúc, là ngôn ngữ được tiêu chuẩn hóa để tương tác với các hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS). Cơ sở dữ liệu quan hệ là tập hợp dữ liệu được tổ chức thành các bảng, trong đó mỗi bảng có một tập hợp các cột và hàng.
SQL cho phép người dùng tạo, thao tác và phân tích dữ liệu được lưu trữ trong các bảng này. SQL được các nhà khoa học máy tính IBM phát triển vào những năm 1970 và đã trở thành một trong những ngôn ngữ phổ biến và được sử dụng rộng rãi nhất để quản lý và phân tích dữ liệu
SQL được hỗ trợ bởi nhiều RDBMS, chẳng hạn như MySQL, Oracle, PostgreSQL và Microsoft SQL Server.
SQL được dùng để:
- Tạo và quản lý cấu trúc cơ sở dữ liệu (bảng, cột, chỉ mục…).
- Thêm, sửa, xóa dữ liệu trong bảng.
- Truy vấn (lấy) dữ liệu theo điều kiện cụ thể.
- Phân quyền truy cập cơ sở dữ liệu cho người dùng.
Các nhóm lệnh trong SQL
Nhóm | Tên gọi | Chức năng | Ví dụ |
---|---|---|---|
DDL | Data Definition Language | Định nghĩa cấu trúc cơ sở dữ liệu | CREATE , ALTER , DROP |
DML | Data Manipulation Language | Thao tác dữ liệu trong bảng | INSERT , UPDATE , DELETE |
DQL | Data Query Language | Truy vấn dữ liệu | SELECT |
DCL | Data Control Language | Cấp quyền truy cập | GRANT , REVOKE |
TCL | Transaction Control Language | Quản lý giao dịch | COMMIT , ROLLBACK , SAVEPOINT |
PostgreSQL là gì?
PostgreSQL là một hệ thống quản trị cơ sở dữ liệu quan hệ và đối tượng (object-relational database management system) miễn phí và nguồn mở (RDBMS) tiên tiến nhất hiện nay. khả năng mở rộng cao và tuân thủ các tiêu chuẩn kỹ thuật. Nó được thiết kế để xử lý một loạt các khối lượng công việc lớn, từ các máy tính cá nhân đến kho dữ liệu hoặc dịch vụ Web có nhiều người dùng đồng thời.
- PostgreSQL được phát triển bởi PostgreSQL Global Development Group, Phát hành lần đầu: 08/07/1996
- PostgreSQL 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 là một phần mềm mã nguồn mở miễn phí bởi vậy PostgreSQL có thể được dùng, sửa đổi và phổ biến bởi bất kỳ ai cho bất kỳ mục đích nào.
- PostgreSQL có tính ổn định cao.
- PostgreSQL là hệ thống quản lý cơ sở dữ liệu đầu tiên triển khai tính năng kiểm soát đồng thời nhiều phiên bản (MVCC).
Các tính năng hỗ trợ của PostgreSQL
- Câu truy vấn phức hợp (complex query)
- Thủ tục sự kiện (trigger)
- Các khung nhìn (view)
- Tính toàn vẹn của các giao dịch (integrity transactions)
- Việc kiểm tra truy cập đồng thời đa phiên bản (multiversion concurrency control)
- Truy vấn xử lý song song (parallel query)
- Sao chép dữ liệu dạng luồng (Streaming replication)
Kiểu dữ liệu
- Nguyên hàm: Số nguyên, số, chuỗi, Boolean
- Cấu trúc: Date/Time, Array, Phạm vi, UUID
- Document: JSON/JSONB, XML, Key-value (Hstore)
- Hình học: Điểm, Đường thẳng, Vòng tròn, Đa giác
- Tùy chỉnh: Composite, Các kiểu tùy chỉnh
toàn vẹn dữ liệu
- UNIQUE, NOT NULL
- Primary Keys
- Foreign Keys
- Ràng buộc loại trừ
- Khóa hàm số, Khóa khuyến nghị
- Đồng quy, hiệu suất
- Lập danh mục: B-tree, Multicolumn, Expressions, Partial
- Lập danh mục nâng cao: GiST, SP-Gist, KNN Gist, GIN, BRIN, Bloom filters
- Trình lập kế hoạch / trình tối ưu hóa truy vấn phức tạp, quét index-only, thống kê số liệu trên nhiều cột.
- Giao tác, Giao tác dạng nest (thông qua lưu điểm)
- Điều khiển đồng thời nhiều phiên bản (MVCC)
- Truy vấn đọc song song
- Phân vùng bảng
- Tất cả các mức độ giao dịch độc lập được xác định trong tiêu chuẩn SQL, bao gồm cả Serializable
- Độ tin cậy, phục hồi sau thảm hoạ
- Ghi nhật ký ghi trước (Write-ahead Logging – WAL)
- Replication: Không đồng bộ, Đồng bộ, Logical
- Khôi phục điểm-theo-thời gian (Point-in-time-recovery – PITR), active standbys
- Không gian bảng
Bảo mật
- Xác thực: GSSAPI, SSPI, LDAP, SCRAM-SHA-256, Certificate và các hình thức khác
- Hệ thống kiểm soát truy cập mạnh mẽ
- Bảo mật cấp độ cột và hàng
Khả năng mở rộng
- Phương pháp lưu trữ
- Ngôn ngữ thủ tục: PL / PGSQL, Perl, Python (và nhiều ngôn ngữ khác)
- Trình wrapper dữ liệu ngoài: kết nối với các cơ sở dữ liệu hoặc luồng khác với giao diện SQL chuẩn
- Và nhiều tiện ích mở rộng cung cấp chức năng bổ sung, bao gồm cả PostGIS
- Tìm kiếm văn bản:
- Hỗ trợ các bộ ký tự quốc tế, ví dụ: thông qua ICU collations
- Tìm kiếm văn bản đầy đủ
Tham khảo: Tìm hiểu hệ quản trị cơ sở dữ liệu PostgreSQL