Chương 3: Ngôn ngữ định nghĩa và thao tác dữ liệu... • Định nghĩa & Thao tác dữ liệu truy vấn trên 1 CSDL biểu diễn bởi mô hình quan hệ.. • 3 cách tiếp cận: – SD đại số quan hệ – SD tính
Trang 1Cơ sở dữ liệu – Database
EE4253
Vũ Hải
Trang 2Chương 3: Ngôn ngữ định nghĩa
và thao tác dữ liệu
Trang 3• Định nghĩa & Thao tác dữ liệu (truy vấn)
trên 1 CSDL biểu diễn bởi mô hình quan hệ
• 3 cách tiếp cận:
– SD đại số quan hệ
– SD tính toán vị từ
»Tính toán vị từ biến bộ
»Tính toán vị từ biến miền
Chương 3: Ngôn ngữ định nghĩa và thao tác dữ liệu
Trang 43.1 Đại số quan hệ
• Tập hợp các phép toán tác động trên các quan hệ, và cho kết quả cũng là một quan hệ.
• Hai nhóm phép toán:
– Phép toán tập hợp: hợp, trừ, giao, tích Đề-các
– Phép toán quan hệ: chọn, chiếu, kết nối, chia
Trang 53.1 Đại số quan hệ
• Cho r và s là 2 quan hệ
• r và s được gọi là khả hợp nếu
– r và s được xác định trên cùng miền giá trị D1xD2x…xDn hay
– r và s được xác định trên cùng tập thuộc
tính + các thuộc tính cùng tên có cùng miền giá trị
Trang 63.1.1 Phép hợp (union)
• Hai quan hệ khả hợp r1, r2
• r1 r2 là quan hệ bao gồm những bộ giá ∪ trị có mặt ở một trong hai quan hệ
• r1 r2 = { t | t r1 v t r2 }∪ ∈ ∈
đồ-ăn ∪ đồ-uống
Trang 73.1.2 Phép giao (intersection)
• Hai quan hệ khả hợp r1, r2
• r1 ∩ r2 là quan hệ bao gồm những bộ giá
trị có mặt ở đồng thời hai quan hệ
• r1 ∩ r2 = { t | t r1 ∈ ᴧ t r2 }∈
điện-thoại sản-phẩm-Apple
điện-thoại ∩ sản-phẩm-Apple
Trang 83.1.3 Phép trừ (set difference)
Trang 93.1.4 Tích đề-các (cartesian product)
• Hai quan hệ r1, r2
• r1 x r2 = { t | t = (a1,…,an, b1,…,bm) ᴧ (a1,
…,an) r1 ∈ ᴧ (b1,…,bm) r2 }∈
nhân-viên × chi-nhánh
Trang 103.1.5 Phép chọn (select)
• Một quan hệ r
• Cho phép lựa chọn những bộ giá trị trong quan hệ r thoả mãn một điều kiện
• Sigma: σđiều_kiện(r)
σsản-phẩm = “máy tính”(hoá-đơn) hoá-đơn
Trang 113.1.6 Phép chiếu (project)
sách
Trang 123.1.7 Phép kết nối (join)
• Kết hợp các bộ giá trị từ 2 quan hệ thành các bộ giá trị của quan hệ kết quả và thỏa mãn 1 điều kiện nào đó
• Natural-join: thuộc tính chung (cùng tên) có giá trị =
nhau, giữ lại 1 thể hiện của thuộc tính này
r ⋈ s = π R ∪S (σ Ri=Si (r × s))
Trang 133.1.7 Phép kết nối (join)
Natural-join: r ⋈ s = π R ∪S (σ Ri=Si (r × s))
Sản_phẩm
Hóa_đơn
Hoá-đơn ⋈ Sản-phẩm
“Xuất ra danh sách các hóa đơn cùng thông tin về sản phẩm tương ứng”
Trang 143.1.7 Phép kết nối (join)
• Kết nối có điều kiện:
• r ⋈ điều_kiệns = σđiều_kiện (R × S)
Trang 153.1.8 Phép chia (division)
• Hai quan hệ r(R), s(S): S R, s ≠ Ø⊆
“Liệt kê các môn học thuộc tất cả các hệ đào tạo”
Trang 16Mở rộng