Cơ sở dữ liệu – Database EE4253

2016 International Research Institute MICA, Hanoi University of Science and Technology

Vũ Hải

Chương 3: Ngôn ngữ định nghĩa và thao tác dữ liệu

2

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 toán vị từ

3

»Tính toán vị từ biến bộ »Tính toán vị từ biến miền

3.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,

4

chia

3.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

5

– 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ị.

3.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ệ

đồ-ăn ∪ đồ-uống

đồ-uống

đồ-ăn

6

• r1 ∪ r2 = { t | t ∈ r1 v t ∈ r2 }

3.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ệ

điện-thoại

sản-phẩm-Apple

điện-thoại ∩ sản-phẩm-Apple

7

• r1 ∩ r2 = { t | t ∈ r1 ᴧ t ∈ r2 }

3.1.3 Phép trừ (set difference)

điện-thoại \ sản-phẩm-Apple

điện-thoại

sản-phẩm-Apple

8

3.1.4 Tích đề-các (cartesian product)

• Hai quan hệ r1, r2 • r1 x r2 = { t | t = (a1,…,an, b1,…,bm) ᴧ

nhân-viên × chi-nhánh

nhân-viên

chi-nhánh

9

(a1,…,an) ∈ r1 ᴧ (b1,…,bm) ∈ r2 }

3.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

hoá-đơn

σsản-phẩm = “máy tính”(hoá-đơn)

10

• Sigma: σđiều_kiện(r)

3.1.6 Phép chiếu (project)

sách

11

3.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 đó

12

• 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))

3.1.7 Phép kết nối (join)

“Xuất ra danh sách các hóa đơn cùng thông tin về sản phẩm tương ứng”

Sản_phẩm

Hoá-đơn ⋈ Sản-phẩm

Hóa_đơn

13

Natural-join: r ⋈ s = πR∪S(σRi=Si(r × s))

3.1.7 Phép kết nối (join)

14

• Kết nối có điều kiện: • r ⋈ điều_kiệns = σđiều_kiện (R × S)

3.1.8 Phép chia (division)

“Liệt kê các môn học thuộc tất cả các hệ đào tạo”

15

• Hai quan hệ r(R), s(S): S ⊆ R, s ≠ Ø

Mở rộng

16