Bài tập đại số quan hệ trong sql năm 2024

Việc tìm hiểu về Đại số quan hệ giúp ta có cái nhìn tổng quan về cách thức hoạt động của các ngôn ngữ truy vấn nói chung và SQL nói riêng từ đó góp phần hiệu quả khi thao tác trên cơ sở dữ liệu.

Mục lục

SQL là gì?

SQL (Structured Query Language) là ngôn ngữ truy vấn có cấu trúc. Nó là tập hợp các lệnh dùng để tương tác, tạo, sửa và truy xuất dữ liệu được lưu trữ trong một cơ sở dữ liệu quan hệ.

Đại số quan hệ (Relational Algebra) là gì?

Đại số quan hệ (Relational algebra) là một bộ các toán tử và quy tắc được sử dụng để thao tác trên các quan hệ và kết quả trả về là một quan hệ mới. Sau khi Edgar F. Codd đưa ra mô hình dữ liệu quan hệ vào năm 1970, đại số quan hệ được xem là nền tảng cho các ngôn ngữ truy vấn dữ liệu nói chung và SQL nói riêng.

SQL cung cấp cú pháp đơn giản nhưng mạnh mẽ, giúp người dùng có được các kết quả mong muốn mà không cần nêu rõ cách thức để đạt được điều đó như thế nào. Tuy nhiên, với những vấn đề và yêu cầu mang tính phức tạp, việc viết một câu truy vấn chính xác và hiệu quả đòi hỏi phải có hiểu biết về cấu trúc dữ liệu và cách thức hoạt động của ngôn ngữ truy vấn. Vì vậy nắm vững các kiến thức về đại số quan hệ sẽ là nền tảng để việc tìm hiểu về SQL trở nên dễ dàng hơn.

Các phép toán trong đại số quan hệ

Các phép toán trong đại số quan hệ có thể được chia thành hai loại: Phép toán quan hệ và Phép toán tập hợp.

Phép toán quan hệ

Phép chiếu (projection)

Định nghĩa: Lựa chọn một số thuộc tính từ một quan hệ.

Cú pháp:

Bài tập đại số quan hệ trong sql năm 2024

SELECT Colum_name

FROM

Bài tập đại số quan hệ trong sql năm 2024

Ví dụ: Đưa ra danh sách tên tất cả sinh viên.

Bài tập đại số quan hệ trong sql năm 2024

Đặc trưng:

– Phép chiếu loại bỏ các bộ trùng nhau

– Kết quả là một quan hệ:

  • Có bậc bằng số thuộc tính của danh sách thuộc tính
  • Có bậc nhỏ hơn hoặc bằng bậc của R
  • Có số bộ ít hơn hoặc bằng số bộ của R

Mở rộng phép chiếu: Cho phép sử dụng các phép toán số học trong danh sách thuộc tính.

Ví dụ:

Bài tập đại số quan hệ trong sql năm 2024

Phép chọn (selection)

Định nghĩa: Lựa chọn các bộ trong một quan hệ thỏa mãn điều kiện cho trước.

Cú pháp:

Bài tập đại số quan hệ trong sql năm 2024

SELECT Colum_name

FROM Table

WHERE

Bài tập đại số quan hệ trong sql năm 2024

Ví dụ: Đưa ra tên của các sinh viên sống ở Bundoora

SELECT Name  FROM Student  WHERE Suburb ="Bundoora"

Bài tập đại số quan hệ trong sql năm 2024

Phép nối (join)

Định nghĩa: ghép các bộ từ 2 quan hệ thỏa mãn điều kiện kết nối

Cú pháp:

Bài tập đại số quan hệ trong sql năm 2024

SELECT Column_name

FROM Table_A

JOIN Table_B ON A=

Bài tập đại số quan hệ trong sql năm 2024

Ví dụ: Đưa ra danh sách sinh viên và khóa học

SELECT *      , SID      , Course  FROM Student  JOIN Enrol ON Id = SID

Bài tập đại số quan hệ trong sql năm 2024

Ví dụ: chọn, chiếu và kết nối:

SELECT Name, Course  FROM Student  JOIN Enrol ON Id= SID  WHERE Suburb="Bundoora"

Bài tập đại số quan hệ trong sql năm 2024

Phép nối tự nhiên

Định nghĩa: là phép kết nối với điều kiện bằng trên các thuộc tính trùng tên

Bài tập đại số quan hệ trong sql năm 2024

Phép nối ngoài

  1. Phép nối ngoài trái:

Bài tập đại số quan hệ trong sql năm 2024

  1. Phép nối ngoài phải:

Bài tập đại số quan hệ trong sql năm 2024

Ví dụ: Đưa ra danh sách mã số các sinh viên và mã khóa học mà sinh viên đó đăng ký nếu có:

SELECT, Course  FROM Student  LEFT JOIN Enrol ON ID = SID

Phép chia (Division)

Định nghĩa: cho R1 và R2 lần lượt là các quan hệ n và m ngôi. Kết quả của phép chia R1 cho R2 là một quan hệ (n-m) ngôi

Cú pháp:

Bài tập đại số quan hệ trong sql năm 2024
Bài tập đại số quan hệ trong sql năm 2024

Ví dụ:

SELECT DISTINCT Name  FROM Subject  WHERE NOT EXISTS(  (SELECT Course FROM Subject)  EXCEPT  (SELECT Course FROM Course WHERE Course="BCS" AND Course='MCS))

Bài tập đại số quan hệ trong sql năm 2024

Phép toán tập hợp

Phép hợp (union)

Định nghĩa: Gồm các bộ thuộc ít nhất một trong hai quan hệ đầu vào.

Hai quan hệ khả hợp được xác định trên cùng miền giá trị.

Bài tập đại số quan hệ trong sql năm 2024

Ví dụ:

SELECT Name, Course  FROM Subject  UNION  SELECT Name, Course  FROM Subject2

Bài tập đại số quan hệ trong sql năm 2024

Phép giao (intersection)

Định nghĩa: gồm các bộ thuộc cả hai quan hệ đầu vào

Cú pháp:

Bài tập đại số quan hệ trong sql năm 2024
Bài tập đại số quan hệ trong sql năm 2024

SELECT Name, Course

FROM Subject

INTERSECT

SELECT Name, Course

FROM

Bài tập đại số quan hệ trong sql năm 2024

Phép trừ (Difference)

Định nghĩa: gồm các bộ thuộc quan hệ thứ nhất nhưng không thuộc quan hệ thứ hai.

Hai quan hệ phải là khả hợp.

Cú pháp:

Bài tập đại số quan hệ trong sql năm 2024
Bài tập đại số quan hệ trong sql năm 2024
Bài tập đại số quan hệ trong sql năm 2024

Phân tích đề – các (cartesian product)

Định nghĩa: là kết nối giữa từng bộ của quan hệ thứ nhất và mỗi bộ của quan hệ thứ hai

Bài tập đại số quan hệ trong sql năm 2024

Ví dụ:

Bài tập đại số quan hệ trong sql năm 2024

Ứng dụng & Kết luận

Phép toán quan hệ và phép toán tập hợp giúp chúng ta sử dụng để kết hợp các bảng trong cơ sở dữ liệu theo một cách cụ thể để truy xuất thông tin từ các bảng khác nhau. Các phép toán này làm nền tảng cơ sở cho các phép toán, câu lệnh phức tạp.

Hiểu về Đại số quan hệ giúp ta có cái nhìn tổng quan về cách thức hoạt động của các ngôn ngữ truy vấn nói chung và SQL nói riêng từ đó góp phần hiệu quả khi thao tác trên cơ sở dữ liệu.