(+84) 236.3827111 ex. 402

Đại số quan hệ và ngôn ngữ truy vấn dữ liệu SQL


1. Đại số quan hệ có rồi, sao còn cần SQL?
  • Đại số quan hệngôn ngữ hình thức (formal language) được Codd đề xuất khi xây dựng mô hình dữ liệu quan hệ. Nó cung cấp các phép toán toán học (chọn, chiếu, hợp, giao, tích Đề-các, kết nối...) để thao tác dữ liệu trong quan hệ.
    →Mục tiêu: giúp chúng ta hiểu rõ bản chất lý thuyết của việc truy vấn dữ liệu.
  • SQL lại là ngôn ngữ thực thi (practical language), được chuẩn hóa và áp dụng trong các hệ quản trị CSDL (Oracle, MySQL, SQL Server, PostgreSQL...). SQL cho phép con người viết câu lệnh cụ thể, gửi đến hệ quản trị và nhận lại kết quả.
    →Mục tiêu: giúp người dùng thực tế thao tác, quản trị và khai thác dữ liệu.

Nói cách khác:

  • Đại số quan hệ = “công thức toán học” để mô tả thao tác trên dữ liệu.
  • SQL = “ngôn ngữ thực hành” để ra lệnh cho hệ thống thực hiện.

→Tóm lai

  • Đại số quan hệ giống như bản thiết kế, nền móng lý thuyết.
  • SQL giống như ngôn ngữ giao tiếp với máy tính để hiện thực hóa bản thiết kế đó.

Hiểu đại số quan hệ để biết SQL chạy “ngầm” thế nào.
Học SQL để thao tác thật sự với CSDL.

2. Ví dụ minh họa dễ hiểu

  • Đại số quan hệ:
    Muốn lấy danh sách tên khách hàng trên 20 tuổi:

πTenKH(σTuoi>20(KhachHang))π_{TenKH} (σ_{Tuoi > 20} (KhachHang))πTenKH​(σTuoi>20​(KhachHang))

  • SQL:
  • SELECT TenKH
  • FROM KhachHang
  • WHERE Tuoi > 20;

→ Rõ ràng: SQL gần gũi hơn với người dùng, nhưng đại số quan hệ giúp ta hiểu cách SQL được Hệ QTCSDL dịch ra và tối ưu hóa.

Kết luận:

  • Đại số quan hệ là lý thuyết nền tảng để thiết kế và tối ưu hóa hệ quản trị.
  • SQL là công cụ thực hành, gắn liền với thực tế.
  • Học cả hai giúp bạn không chỉ “biết dùng SQL” mà còn hiểu tại sao câu SQL chạy chậm, tại sao hệ thống tối ưu như vậy, từ đó thành chuyên gia thực sự về cơ sở dữ liệu.