PostgreSQL (Postgres) là một cơ sở dữ liệu nguồn mở vững chắc, thậm chí có thể cạnh tranh với các cơ sở dữ liệu quan hệ thương mại ở nhiều khía cạnh. Postgres mở đường cho nhiều khái niệm quan trọng mà các hệ quản trị dữ liệu thương mại rất lâu sau mới có. Hãy cùng BAC khám phá những điều thú vị của Postgres nhé!
 
5. Chạy truy vấn SQL trong PostgreSQL
Để bắt đầu, hãy thử xem một bảng duy nhất. Từ dòng lệnh chạy psql trên northwind cơ sở dữ liệu. Tên người dùng mặc định của bạn có thể sẽ hoạt động; nếu không, bạn hãy sử dụng thông tin đăng nhập user northwind_user và password là   thewindisblowing. Truy vấn  “select”sẽ trông như sau.
 
Ký hiệu dấu sao cho biết trả về tất cả các trường trong bảng. Giả sử chúng ta chỉ muốn xem tên vùng theo thứ tự bảng chữ cái. Điều đó yêu cầu chỉ định tên trường mong muốn, tên mà chúng ta đã biết từ truy vấn trước đó và thêm mệnh đề order by theo thứ tự tăng dần. 
 
Bây giờ chúng ta hãy xem xét các danh mục sản phẩm: 
Và chúng ta hãy xem xét các sản phẩm đồ uống mà chúng ta vừa thấy có category_id=1. Điều đó đòi hỏi một where điều khoản.
Có rất nhiều trường trong employees, vì vậy chúng ta hãy xem xét một vài trường trong số đó. Ở đây chúng ta sắp xếp theo hai trường title và last_name.
Trong thực tế có rất nhiều khách hàng, vì vậy chúng ta hãy xem xét một vài khách hàng trong số họ, bằng cách sử dụng mệnh đề limit. Bảng này sử dụng ID khách hàng theo chữ cái, vì vậy thứ tự mặc định sẽ hợp lý.
 
Có bao nhiêu hàng thực sự trong bảng customers? count Hàm này, một trong nhiều hàm tổng hợp có sẵn trong SQL, có thể cho chúng ta biết mà không cần tạo ra nhiều đầu ra:

6. Sử dụng lệnh nối SQL trong PostgreSQL
Bây giờ, chúng ta sẽ thiết kế và thực hiện truy vấn sử dụng mệnh đề join luôn là mệnh đề inner join theo mặc định đối với nhiều bảng. Ngay cả khi thiết kế cơ sở dữ liệu là hướng dẫn, việc viết mệnh đề join bằng tay có thể trở nên khó khăn, do đó bạn nên sử dụng máy khách cơ sở dữ liệu đồ họa có trình xây dựng SQL. 
 
Mệnh đề join thường bao gồm việc liệt kê hai bảng được kết nối và chỉ định các trường cần khớp. Bảng trung gian employee_territories được sử dụng trong ví dụ bên dưới để liên kết nhân viên và lãnh thổ. Khi các bảng có nhiều mối quan hệ, mẫu thiết kế cơ sở dữ liệu tạo ra kết quả là phổ biến: Một nhân viên có thể có nhiều lãnh thổ và một lãnh thổ có thể thuộc về nhiều nhân viên. Các biến phải khớp để các hàng được bao gồm được xác định trong phần on của mệnh đề join. Trong khi các liên kết left và right chỉ cần có mặt bên tương ứng, các liên kết inner yêu cầu cả hai mặt phải có mặt để trả về hàng trong kết quả. Các liên kết outside cho phép bất kỳ mặt nào có mặt.
 
Truy vấn để liệt kê nhân viên và lãnh thổ của họ trông như thế này:
Trong DataGrip IDE, truy vấn (phía trên bên phải) và bảng kết quả (phía dưới bên trái) trông như thế này:

7. Một số chức năng mở rộng của PostgreSQL 
PostgreSQL có một số khả năng nâng cao vượt xa SQL thông thường, bao gồm các  window functions, mô hình hoá sự kế thừa, chế độ xem, khóa ngoại và giao dịch. Nó cũng hỗ trợ các loại mảng, kiểu JSON và JSONB, kiểu hình học và kiểu tìm kiếm văn bản. Kiểm tra hoạt động cốt lõi của PostgreSQL cho thấy các kiểu chỉ mục chung, khi được thêm vào các kiểu dữ liệu tùy chỉnh, vẫn cho phép tìm kiếm hiệu quả.
 
Bạn có thể xem xét các chế độ xem như bảng vì chúng chỉ đơn giản là các truy vấn đã lưu. Ví dụ, trong trường hợp ghi danh vào trường, khóa ngoại thực thi các mối quan hệ bảng bằng cách cấm bạn thêm một học sinh không tồn tại vào danh sách lớp hoặc xóa danh sách lớp có chứa học sinh đã ghi danh.
 
Với sự trợ giúp của các giao dịch, một chuỗi các câu lệnh SQL có thể được đảo ngược nếu bất kỳ câu lệnh nào trong số chúng bị lỗi. Ví dụ, trong trường hợp chuyển khoản ngân hàng, một khoản tín dụng có thể được hoàn lại nếu khoản ghi nợ tương ứng không thành công (ví dụ, do không đủ tiền). Tương tự như tổng hợp, các hàm cửa sổ cũng hiển thị các hàng đang được tổng hợp. Mặc dù kế thừa lược đồ có vẻ là một ý tưởng hay để tạo bảng, nhưng các ràng buộc hiện tại của nó hạn chế tính hữu ích của nó.
 
PostgreSQL có thể được sử dụng như một cơ sở dữ liệu tài liệu tương tự như MongoDB bằng cách sử dụng JSON, JSONB và các kiểu mảng. Dữ liệu địa lý và không gian được hỗ trợ bởi các kiểu hình học. PostgreSQL có thể được sử dụng để tìm kiếm toàn văn bản tương tự như Google nhờ các kiểu tìm kiếm văn bản. Ngoài ra, còn có một kiểu XML, mặc dù nó vẫn chưa được triển khai đầy đủ.
 
Lưu ý rằng có nhiều phương ngữ SQL khác với phương ngữ Postgres, đặc biệt là khi bạn đi sâu vào các lĩnh vực chuyên biệt như hỗ trợ GIS và JSON hoặc hỗ trợ cho các thủ tục được lưu trữ. Đối với thông tin cụ thể về Postgres, tài liệu tham khảo thiết yếu là  PostgreSQL documentation. Bạn có thể lấy một số thông tin tương tự cục bộ tại dòng lệnh với man postgres, và từ bên trong psql với các lệnh ? và h, chẳng hạn như sau:

Hy vọng rằng những chia sẻ của BAC sẽ giúp ích cho bạn. Đừng quên đón đọc các bài viết mới nhất được cập nhật tại BAC's Blog bạn nhé.
 

 

Nguồn tham khảo:
https://www.infoworld.com/

Nhu cầu đào tạo doanh nghiệp

BAC là đơn vị đào tạo BA đầu tiên tại Việt Nam. Đối tác chính thức của IIBA quốc tế. Ngoài các khóa học public, BAC còn có các khóa học in house dành riêng cho từng doanh nghiệp. Chương trình được thiết kế riêng theo yêu cầu của doanh nghiệp, giúp doanh nghiệp giải quyết những khó khăn và tư vấn phát triển.
 
 

CÁC KHOÁ HỌC BUSINESS ANALYST BACs.VN DÀNH CHO BẠN

Khoá học Online:

Khoá học Offline:

Tại Tp.HCM:

Tại Hà Nội:

Tham khảo lịch khai giảng TẤT CẢ các khóa học mới nhất

Ban biên tập nội dung - BAC