Nhập môn Cơ sở Dữ liệu

3.2. Đại số quan hệ
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Giớ i thiệ u

Xét một số xử lý trên quan hệ NHANVIEN
Thêm mới một nhân v...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Giớ i thiệ u
Xét một số xử lý trên quan hệ SINHVIEN, SV_DIEM, MONHOC
SINH...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

Giớ i thiệ u
Xét một số xử lý trên quan hệ SINHVIEN, SV_DIEM
BANGDIEM

02...
Ngôn ngữ đại số quan hệ

Nhập môn Cơ sở Dữ liệu

Giớ i thiệ u
Các thao tác:

1. Cậ p nhậ t: Thay đổi dữ liệu (trạng thái C...
Ngôn ngữ đại số quan hệ

Nhập môn Cơ sở Dữ liệu

1. Các thao tác cậ p nhậ t
Nội dung (trạng thái) của CSDL có thể được cậ...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ đại số quan hệ

1.1. Thêm bộ mớ i vào quan hệ
 Được diễn đạt
o
o

INSERT(R; t)

R là qua...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

1.1. Thêm bộ mớ i vào quan hệ
SINHVIEN
Masv
T1
C2
T3
T4
C3

Ho
Trần
Lê
Tr...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ đại số quan hệ

1.2. Thao tác xóa: Xóa một hoặc nhiều bộ theo điều kiện nào đó
Được diễn...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

1.2. Xóa các bộ
SINHVIEN
Masv
T1
C2
T3
T4
C3

Ho
Trần
Lê
Trần
Vũ
Phạm

MO...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

1.3. Cậ p nhậ t các bộ
Thay đổi giá trị của các thuộc tính trong một hoặ...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

1.3. Cậ p nhậ t các bộ
Được diễn đạt

MODIFY(R; f;<a i = v i ,…>)

o R l...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

1.3. Cậ p nhậ t các bộ
MODIFY(R; f;<a i = v i ,…>)

Các ràng buộc toàn v...
Nội dung chi tiết
Giới thiệu
Các thao tác cập nhật trên quan hệ
Đại số quan hệ
Phép toán tập hợp
Phép chọn
Phép chiế...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

2. Các phép toán đạ i số quan hệ
Toán hạng (Biến) là các quan hệ , tập h...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

2. Các phép toán đạ i số quan hệ
Toán tử (operations)
 Dựa trên lý thuy...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

Nộ i dung chi tiế t
Giới thiệu
Các thao tác cập nhật trên quan hệ
Đại ...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

2.1. Phép toán tậ p hợ p
Quan hệ là tập hợp các bộ
 Phép hợp R ∪ S
 Ph...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

2.1 Phép toán tậ p hợ p
Ví dụ: tính khả hợp
GIAOVIEN Ho

Ten

Ngaysinh

...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

2.1 Phép toán tậ p hợ p
Ví dụ: tính khả hợp
NHANVIEN

TENNV

NS

GT

Tun...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

2.1.a Phép hợ p
Cho 2 quan hệ R và S khả hợp
Phép hợp của R và S
Ký hi...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

2.1.a Phép hợ p
Ví dụ

GIAOVIEN

HSL

Văn

Tám

12/01/1980

3.33

Đình

...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

2.1.b. Phép giao
Cho 2 quan hệ R và S khả hợp
Phép giao của R và S
Ký ...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

2.1.c. Phép trừ
Cho 2 quan hệ R và S khả hợp
Phép giao của R và S
Ký h...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

Các tính chấ t
Giao hoán

R∪ S=S∪R
R∩ S=S∩R
Kết hợp

R ∪ (S ∪ T) = (R ∪...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

2.2. Các phép toán Cơ sở dữ liệu

2.2.a. Phép chọ n
Được dùng để lấy ra ...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

2.2.a. Phép chọ n
Kết quả trả về là một quan hệ
Có cùng danh sách thuộc...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

2.2.a. Phép chọ n
BANGDIEM

D_1001 =

σ

(Mamon=“Int1001”)

(BANGDIEM)

D...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

2.2.a. Phép chọ n
Phép chọn có tính giao hoán

σ (σ
p1

p2

Ví dụ

σ
=σ
...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 1

Cho biết các nhân viên ở phòng số 4
Quan hệ: NHANVIEN
Thuộc t...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 2

Tìm các nhân viên có lương trên 2.5 tr ở phòng 4 hoặc

các nhân...
Nội dung chi tiết
Giới thiệu
Các thao tác cập nhật trên quan hệ
Đại số quan hệ
Phép toán tập hợp
Phép chọn
Phép chiế...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

2.2.b Phép chiế u

Lấy ra một số cột của quan hệ R
Ký hiệu

π

A1, A2, ...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

2.2.b Phép chiế u
Ví dụ 1:

BANGDIEM

DS1 = πMasv,Ho,Dem,Ten,Diem (BANGDI...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

2.2.b Phép chiế u
Tính chất:

π (π
X

Ví dụ 2:

π

Y

Masv,Ho,Dem,Ten

π...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 3

Cho biết họ tên và lương của các nhân viên
Quan hệ: NHANVIEN
...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 4:

Cho biết mã nhân viên có tham gia đề án hoặc có

thân nhân

NV...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 5:

Cho biết mã nhân viên có người thân và có tham gia

đề án

π

...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 6 :

Cho biết mã nhân viên không có thân nhân nào

π

(NV_DEAN) -
...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ7 : Danh sách sinh viên (Mã, Họ, đệm, tên, mã môn) nợ môn

π

Masv,H...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Chuỗi phép toán và phép toán đổi tên

Ví dụ : Lấy ra danh sách Masv, Ho,...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Chuỗi phép toán và phép toán đổi tên

Kết hợp các phép toán đại số quan ...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Phép gán

Được sử dụng để nhận lấy kết quả trả về của một

phép toán

T...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

Phép đổ i tên (ρ - rho)
Được dùng để đổi tên, thuộc tính lược đồ quan hệ...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 8
Cho biết họ và tên nhân viên làm việc ở phòng số 4(tạo ra
quan h...
Nội dung chi tiết
Giới thiệu
Các thao tác cập nhật trên quan hệ
Đại số quan hệ
Phép toán tập hợp
Phép chọn
Phép chiế...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

Phép toán tích Đề các
Được dùng để kết hợp các bộ của các quan hệ lại vớ...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

Phép toán tích Đề các
Ví dụ
R

1

β

2

B

C

D

α

10

+

β

10

+

β

...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Phép toán tích Đề các
Ví dụ
R

unambiguous
A

B

α

1

β

2

R × S

D

α...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Phép toán tích Đề các
Thông thường theo sau phép tích Đề-các là phép

ch...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 9: đưa ra danh sách bảng điểm những sv có điểm>=8
SINHVIEN
Masv
Ho
...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 10

Với mỗi phòng ban, cho biết thông tin của người

trưởng phòng
...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 10

B1: Tích Đề-các PHONGBAN và NHANVIEN
PB_NV ← (NHANVIEN × PHONG...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 11

Cho biết các phòng ban có cùng địa điểm với phòng số 5 ?
o Qua...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 11

B1: Tìm các địa điểm của phòng 5
DD_P5 ←

π

DIADIEM

(

σ

MA...
Nội dung chi tiết

Giới thiệu
Các thao tác cập nhật trên quan hệ
Đại số quan hệ
Phép toán tập hợp
Phép chọn
Phép chi...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

Phép toán nố i (join)
Nối 2 bộ có liên quan (thỏa mãn điều kiện nào đó) ...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Phép toán nố i (join)
 Ví dụ 12:
SINHVIEN

Ho

Dem

Ten

Ns

Gt

Lop

10...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Phép toán nố i (join)
 Ví dụ 12 (kết quả):

SV_LOP

Masv

Ho

Dem

Ten

...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Phép toán nố i
Phân loại
1. Nối theta là phép nối có điều kiện dạng tổng ...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

Phép toán nố i
3. Nối tự nhiên (natural join)
o
o
o



Nối bằng
Hai thuộ...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ phép nối theta
R
R

B

C

1

2

4
7

02:45 AM

A

S

D
3

1

5

6
...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ phép nối bằng
R

R

R

B

C

1

2

4
7

R

A

D

3

3

6

6

2

8
...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ phép nối tự nhiên
R
R

C

D

AA

BB

3

3

1

5

6

6

2

11
44

2...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 14 (bài tập)

Cho biết nhân viên có lương hơn lương của nhân

viên...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 15 (bài tập)

Liệt kê danh sách nhân viên, với mỗi nhân viên, hãy
c...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 16(Bài tập)

Với mỗi phòng ban hãy cho biết các địa điểm của

phòn...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

Ví dụ 17 (bài tập)

Với mỗi phòng ban hãy cho biết thông tin của người
tr...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 18

Cho biết phòng ban có cùng địa điểm với phòng 5
PHONGBAN(MaPhg...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

Tậ p đầ y đủ các phép toán ĐSQH

Tập các phép toán {σ, π, ×, −, ∪} là tậ...
Nội dung chi tiết
Giới thiệu
Các thao tác cập nhật trên quan hệ
Đại số quan hệ
Phép toán tập hợp
Phép chọn
Phép chiế...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Phép chia

Lấy ra một số bộ trong quan hệ R sao cho thỏa với

tất cả các...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Phép chia
Ví dụ
R

B

A1

B1

A1

B1

A2

B1

A2

B4

A3

B1

A3

A4

B1...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

Phép chia
Cách tính T(Y)= R(Z) ÷ S(X)

1. Y = Z-X
2. T1 = π Y(R)
3. T2 =...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Phép chia
Ví dụ
R

B

C

D

E

α

a

α

a

1

α

a

γ

a

1

α

a

γ

b
...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Phép chia
Ví dụ
R

B

C

D

a1

b1

x1

a2

b2

a1

A

B

y1

a1

b1

x1...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Phép chia
Ví dụ
R

A

B

C

D

a1

b1

x1

a2

b2

a1

S

A

B

y1

a1

...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ
1.
2.

Phép chia
Ví dụ
R

A

B

C

D

a1

b1

x1

a2

b2

a1

S

A

B

y1...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ
1.
2.

Phép chia
Ví dụ
R

A

B

C

D

a1

b1

x1

a2

b2

a1

S

A

B

y1...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 1 (bài tập)

Cho biết mã nhân viên tham gia tất cả các đề án
Quan ...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 2 (bài tập)

Cho biết mã nhân viên tham gia tất cả các đề án do

p...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 3: Hãy đưa ra danh sách sinh viên (Mã, Họ, Đệm, Tên)
đăng kí tất cả...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 3(bài tập)
SINHVIEN(Masv, Ho,Dem,Ten)
LOP(Malop,Tenlop,Giaovien)
SV...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 4 (bài tập): Danh sách sinh viên đăng kí các l ớp do giáo viên Lê Đ...
Nội dung chi tiết

Giới thiệu
Các thao tác cập nhật trên quan hệ
Đại số quan hệ
Phép toán tập hợp
Phép chọn
Phép chi...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

Hàm kế t hợ p
Nhận vào tên thuộc tính (tập hợp các giá trị) và trả

về m...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Hàm kế t hợ p
Ví dụ

R

A

B

1

2

3

4

1

2

1

SUM(B) = 10

2

AVG(A...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Phép gom nhóm
Được dùng để phân chia quan hệ thành nhiều nhóm dựa trên

...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Phép gom nhóm
Ví dụ

R

A

B

C

α

2

7

α

4

7

β

2

3

γ

2

S1= ρ ...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

Ví dụ 18

Tính số lượng nhân viên và lương trung bình của cả

công ty

F...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 19

Tính số lượng nhân viên và lương trung bình của từng

phòng ba...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

Ví dụ 20

Đưa ra danh sách nhân viên có lương cao nhất công ty

R1 = ρLu...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 21
Đưa ra danh sách nhân viên có lương thấp hơn lương

trung bình ...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Phép nố i ngoài
Xét ví dụ (SINHVIEN,SV_LOP)
Masv
T1
C1
C2
T3
T4
C3
T2

Ho...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Phép nố i ngoài
Xét ví dụ (SINHVIEN,SV_LOP)
Masv
T1
C2
T3
T4

Malop
Int10...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

Phép nố i ngoài

Mở rộng phép nối để tránh mất mát thông tin
o Thực hiện...
Ngôn ngữ Đại số quan hệ

Nhập môn Cơ sở Dữ liệu

Phép nố i ngoài
Q = R

f

S

= { <t,u> nếu f (t,u) đúng
<t, null,..,null...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Phép nố i ngoài
Xét ví dụ (SINHVIEN,SV_LOP)
Masv

Malop
Int1001
Int1003
I...
Nhập môn Cơ sở Dữ liệu

Ngôn ngữ Đại số quan hệ

Ví dụ 20
Cho biết họ tên nhân viên và tên phòng ban mà họ

phụ trách nếu...
Bài tập 1
T2
T1

T1

T1
T1
T1
T1
T1
02:45 AM

T2
(T1.Q = T2.B)T2
T1.P = T2.A

T2
(T1.Q = T2.B)T2
T1.P = T2.A

(T1.Q = T2.A...
Bài tập 2
 Cho cơ sở dữ liệu CÔNGTY gồm các lược đồ:
 NHANVIEN(MANV, HONV, TENNV, NS, GT, DCHI,
LUONG, MANGS, MAĐV)
 ĐO...
Bài tập 2(tt)
 Đưa ra tên và địa chỉ của tất cả các nhân viên làm việc cho







đơn vị.
Với mỗi dự án có địa điểm...
Thi giữa kỳ
Nắm được các khái niệm cơ bản về CSDL, mô hình

CSDL
Vẽ được lược đồ liên kết, hiểu lược đồ liên kết mở
rộng...
Upcoming SlideShare
Loading in …5
×

C3 2

600 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
600
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
47
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

C3 2

  1. 1. Nhập môn Cơ sở Dữ liệu 3.2. Đại số quan hệ
  2. 2. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Giớ i thiệ u Xét một số xử lý trên quan hệ NHANVIEN Thêm mới một nhân viên Chuyển nhân viên có tên là “Tùng” sang phòng số 1 Cho biết họ tên và ngày sinh các nhân viên có lương thấp hơn 50000 TENNV HONV NS DCHI GT LUONG PHONG Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 1 5 4 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5 Quang Pham 11/10/1937 450 TV HN Nam 55000 1 02:45 AM Khoa CNTT 2
  3. 3. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Giớ i thiệ u Xét một số xử lý trên quan hệ SINHVIEN, SV_DIEM, MONHOC SINHVIEN SV_DIEM Masv Ho Dem Ten T1 C2 T3 T4 Trần Lê Trần Vũ Văn Đình Thị Đức An Bắc Hảo Lâm C3 Phạm Hải Ngọc Mamon Diem T1 Int1001 8 T1 Int1002 9 C2 Int1003 7 C2 Int1002 3 T3 Int1003 10 T4 MONHOC Masv Int1002 8 Mamon Sotinchi C2 Int1001 8 Int1001 Int1002 Int1003 02:45 AM Tenmon CSDL NGLT C TRR 3 4 3 T4 Int1001 7 C3 Int1003 6 Khoa CNTT 3
  4. 4. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu Giớ i thiệ u Xét một số xử lý trên quan hệ SINHVIEN, SV_DIEM BANGDIEM 02:45 AM Khoa CNTT 4
  5. 5. Ngôn ngữ đại số quan hệ Nhập môn Cơ sở Dữ liệu Giớ i thiệ u Các thao tác: 1. Cậ p nhậ t: Thay đổi dữ liệu (trạng thái CSDL): o o o Thêm các bộ mới Xóa các bộ Sửa giá trị của bộ 1. Các phép toán đạ i số quan hệ phép toán tập hợp: hợp, giao, trừ, tích Đề-các  Các phép toán trên cơ sở dữ liệu quan hệ: chọn, chiếu, đổi tên, nối, chia 1. Mộ t số phép toán bổ sung: nhóm, nối ngoài  Các 02:45 AM Khoa CNTT 5
  6. 6. Ngôn ngữ đại số quan hệ Nhập môn Cơ sở Dữ liệu 1. Các thao tác cậ p nhậ t Nội dung (trạng thái) của CSDL có thể được cập nhật bằng các thao tác  Thêm (insert)  Xóa (delete)  Sửa (modify) Chú ý: • Chỉ đề cập thao tác và ý nghĩa, không nêu câu lệnh trong HQTCSDL cụ thể • Xét trên một quan hệ 02:45 AM Khoa CNTT 6
  7. 7. Nhập môn Cơ sở Dữ liệu Ngôn ngữ đại số quan hệ 1.1. Thêm bộ mớ i vào quan hệ  Được diễn đạt o o INSERT(R; t) R là quan hệ t là một bộ mới cần thêm vào Ví dụ o o o o INSERT(SINHVIEN; T5,”Nguyen”, “Hong”, “Anh”) INSERT(SV_DIEM; “T5”, “Int1002”, 9) INSERT(SV_DIEM; “T5”, “Int1004”, 7) INSERT(SV_DIEM; “T5”,” Int1001”, 12) Vi phạm ràng buộc o o o 02:45 AM Ràng buộc miền Ràng buộc khóa Ràng buộc tham chiếu Khoa CNTT Xử lý Loại bỏ 7
  8. 8. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ 1.1. Thêm bộ mớ i vào quan hệ SINHVIEN Masv T1 C2 T3 T4 C3 Ho Trần Lê Trần Vũ Phạm MONHOC Mamon Int1001 Int1002 Int1003 Dem Văn Đình Thị Đức Hải Tenmon CSDL NGLT C TRR Ten An Bắc Hảo Lâm Ngọc Sotinchi 3 4 3 SV_DIEM Masv Mamon Diem T1 T1 C2 C2 T3 T4 C2 T4 C3 Int1001 Int1002 Int1003 Int1002 Int1003 Int1002 Int1001 Int1001 Int1003 8 9 7 3 10 8 8 7 6 INSERT(SV_DIEM; “C4”,“Int1001”,9.5) INSERT(SINHVIEN;“T1”, “Trầ n”,”Bá”,”Luậ n”) null, “Vũ”,null,”Lu INSERT(SV_DIEM; “T4”, “Int1007”, 6.0)ậ n”) 02:45 AM Khoa CNTT 8
  9. 9. Nhập môn Cơ sở Dữ liệu Ngôn ngữ đại số quan hệ 1.2. Thao tác xóa: Xóa một hoặc nhiều bộ theo điều kiện nào đó Được diễn đạt o o DELETE(R; f ) R là quan hệ f là một biểu thức ĐS Ví dụ DELETE(SINHVIEN; Masv = “T1”) o DELETE(SV_DIEM; Masv = “T2” )  Ràng buộ c có thể vi phạ m o Ràng buộc tham chiếu: được tham chiếu o Loại bỏ phép xóa, o Xóa lan truyền, Xử lí o Sửa đổi giá trị khóa ngoài tham chi ếu (null) o 02:45 AM Khoa CNTT 9
  10. 10. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ 1.2. Xóa các bộ SINHVIEN Masv T1 C2 T3 T4 C3 Ho Trần Lê Trần Vũ Phạm MONHOC Mamon Int1001 Int1002 Int1003 Int2005 Dem Văn Đình Thị Đức Hải Tenmon CSDL NGLT C TRR KTCT Ten An Bắc Hảo Lâm Ngọc Sotinchi 3 4 3 2 SV_DIEM Masv Mamon Diem T1 T1 C2 C2 T3 T4 C2 T4 C3 Int1001 Int1002 Int1003 Int1002 Int1003 Int1002 Int1001 Int1001 Int1003 8 9 7 3 10 8 8 7 6 DELETE(MONHOC;Masv =“T1”) DELETE(SV_DIEM; Mamon =“Int2005”) DELETE(MONHOC; Masv =“C2”) and Mamon =“Int1001”) DELETE(SV_DIEM; Masv = =“Int1001”) DELETE(SINHVIEN; Mamon“T4” 02:45 AM Khoa CNTT 10
  11. 11. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu 1.3. Cậ p nhậ t các bộ Thay đổi giá trị của các thuộc tính trong một hoặc nhiều bộ. Ví dụ o Tăng hệ số lương thêm 10 % cho tất cả nhân viên trong quan hệ NHANVIEN o “Chuyển “ nhân viên “Tùng” từ phòng Nghiên cứu sang phòng Kỹ thuật. o Sửa số tín chỉ thành 2 của môn học có mã là Int1001 trong quan hệ MONHOC. 02:45 AM Khoa CNTT 11
  12. 12. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ 1.3. Cậ p nhậ t các bộ Được diễn đạt MODIFY(R; f;<a i = v i ,…>) o R là quan hệ o f là biểu thức đại số xác định bộ o ai thuộc tính cần sửa, vi giá trị mới của thuộc tính. Ví dụ Tăng thời gian làm việc cho tất cả nhân viên lên 1.5 lần MODIFY (NHANVIEN; Ten =“Tùng”; Phong = 4) MODIFY (NHANVIEN; all; Luong=Luong*1.1) MODIFY(MONHOC; Mamon=“Int1001”; sotinchi=2) 02:45 AM Khoa CNTT 12
  13. 13. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ 1.3. Cậ p nhậ t các bộ MODIFY(R; f;<a i = v i ,…>) Các ràng buộc toàn vẹn có thể vi phạm o Ràng buộc miền o Với khóa chính = {xóa, chèn} => miền, toàn vẹn thực thể o Khóa ngoài=> toàn vẹn tham chiếu Ví dụ MODIFY(SINHVIEN Masv =“T1”; Masv MODIFY(SV_DIEM; MasvMasv;;=“T1”; Mamon =“Int1002”) MODIFY(SV_DIEM; =“T1”and Mamon=“Int1001”; Diem=5.5) MODIFY(SINHVIEN Masv =“T1”; dem=“Đức”) =“T5”) 02:45 AM Khoa CNTT 13
  14. 14. Nội dung chi tiết Giới thiệu Các thao tác cập nhật trên quan hệ Đại số quan hệ Phép toán tập hợp Phép chọn Phép chiếu Phép tích Cartesian Phép nối Phép chia Các phép toán khác 02:45 AM Khoa CNTT 14
  15. 15. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu 2. Các phép toán đạ i số quan hệ Toán hạng (Biến) là các quan hệ , tập hợp (set) o Biểu thức được gọi là câu truy vấn, Là chuỗi các phép toán đại số quan hệ Toán tử là các phép toán đại số quan (operations) Kết quả trả về là một thể hiện của quan hệ 02:45 AM Khoa CNTT 15
  16. 16. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu 2. Các phép toán đạ i số quan hệ Toán tử (operations)  Dựa trên lý thuyết tập hợp o o o Hội ∪ (union) Giao ∩ (intersec) Trừ − (difference)  Rút trích 1 phần của quan hệ o Chọn σ (selection) o Chiếu π (projection)  Kết hợp các quan hệ o o Tích Đề-các × (Cartesian product) Nối (join)  Đổi tên ρ 02:45 AM Khoa CNTT 16
  17. 17. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu Nộ i dung chi tiế t Giới thiệu Các thao tác cập nhật trên quan hệ Đại số quan hệ Phép toán tậ p hợ p Phép chọn Phép chiếu Phép tích Cartesian Phép nối Phép chia Các phép toán khác 02:45 AM Khoa CNTT 17
  18. 18. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu 2.1. Phép toán tậ p hợ p Quan hệ là tập hợp các bộ  Phép hợp R ∪ S  Phép giao R ∩ S  Phép trừ R − S Tính khả hợp (Tương thích đồng nhất - Union Compatibility)  Hai lược đồ quan hệ R(A1, A2, …, An) và S(B1, B2, …, Bn) là khả hợp nếu   Cùng bậc n Và có DOM(Ai)=DOM(Bi) , 1≤ i ≤ n Kết quả của ∪, ∩, và − là một quan hệ có cùng tên thuộc tính với quan hệ đầu tiên (R) 02:45 AM Khoa CNTT 18
  19. 19. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ 2.1 Phép toán tậ p hợ p Ví dụ: tính khả hợp GIAOVIEN Ho Ten Ngaysinh HSL Lê Văn Tám 12/01/1980 3.33 Trần Đình Trí 10/12/1970 3.66 Nguyễn Hữu Minh 05/06/1980 3.00 Ho Dem Ten Ngaysinh HSL Trần Văn Đức 10/01/1980 3.33 Vũ Vân Long 18/04/1971 3.66 Phạm NHANVIEN Dem Đức Thành 01/01/1969 3.66 Bậc của 2 quan hệ n=5 Miền giá trị các thuộc tính như nhau 02:45 AM Khoa CNTT 19
  20. 20. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ 2.1 Phép toán tậ p hợ p Ví dụ: tính khả hợp NHANVIEN TENNV NS GT Tung 12/08/1955 Hang THANNHAN TENTN NS_TN GT_TN Nam Trinh 04/05/1986 Nu 07/19/1968 Nu Khang 10/25/1983 Nam Nhu 06/20/1951 Nu Phuong 05/03/1958 Nu Hung 09/15/1962 Nam Minh 02/28/1942 Nam Chau 12/30/1988 Nu Bậc n=3 DOM(TENNV) = DOM(TENTN) DOM(NS) = DOM(NS_TN) DOM(GT) = DOM(GT_TN) 02:45 AM Khoa CNTT 20
  21. 21. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ 2.1.a Phép hợ p Cho 2 quan hệ R và S khả hợp Phép hợp của R và S Ký hiệu R ∪ S Là một quan hệ gồm các bộ thuộc R hoặc thuộc S, hoặc cả hai (các bộ trùng lắp sẽ bị bỏ) R ∪ S = { t / t∈R ∨ t∈S } Ví dụ 1 R R∪ S B α S B α 1 A B 1 α 2 α 2 α 2 β 3 β 02:45 AM A A 1 β 1 β 3 Khoa CNTT R∪ S 21
  22. 22. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ 2.1.a Phép hợ p Ví dụ GIAOVIEN HSL Văn Tám 12/01/1980 3.33 Đình Trí 10/12/1970 3.66 Hữu Minh 05/06/1980 3.00 Ho Dem Ten Ngaysinh HSL Trần Văn Đức 10/01/1980 3.33 Vũ Vân Long 18/04/1971 3.66 Phạm Đức Thành 01/01/1969 3.66 Ho Dem Ten Ngaysinh HSL Lê Văn Tám 12/01/1980 3.33 Trần Đình Trí 10/12/1970 3.66 Nguyễn Hữu Minh 05/06/1980 3.00 Trần Văn Đức 10/01/1980 3.33 Vũ Khoa CNTT Ngaysinh Nguyễn 02:45 AM Ten Trần GIAOVIEN ∪ NHANVIEN Dem Lê NHANVIEN Ho Vân Long 18/04/1971 3.66 Phạm Đức Thành 01/01/1969 3.66 22
  23. 23. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ 2.1.b. Phép giao Cho 2 quan hệ R và S khả hợp Phép giao của R và S Ký hiệu R ∩ S Là một quan hệ gồm các bộ thuộc R đồng thời thuộc S R ∩ S = { t / t∈R ∧ t∈S } Ví dụ R B α A B 1 α 2 α 2 β 3 β 02:45 AM A S 3 Khoa CNTT R∩ S A B α 2 β 3 23
  24. 24. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ 2.1.c. Phép trừ Cho 2 quan hệ R và S khả hợp Phép giao của R và S Ký hiệu R − S Là một quan hệ gồm các bộ thuộc R và không thuộc S R − S = { t / t∈R ∧ t∉S } Ví dụ R B α S A B 2 α 1 3 β 1 A B 1 α α 2 β β 02:45 AM A RS 1 Khoa CNTT 24
  25. 25. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu Các tính chấ t Giao hoán R∪ S=S∪R R∩ S=S∩R Kết hợp R ∪ (S ∪ T) = (R ∪ S) ∪ T R ∩ (S ∩ T) = (R ∩ S) ∩ T 02:45 AM Khoa CNTT 25
  26. 26. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ 2.2. Các phép toán Cơ sở dữ liệu 2.2.a. Phép chọ n Được dùng để lấy ra các bộ của quan hệ R Các bộ được chọn phải thỏa mãn điều kiện chọn P Ký hiệu σ P (R) P là điều kiện chọn gồm các mệnh đề có dạng o <tên thuộc tính> <phép so sánh> <hằng số> o <tên thuộc tính> <phép so sánh> <tên thuộc tính> <phép so sánh> gồm < , > , ≤ , ≥ , ≠ , =  Các mệnh đề được nối lại nhờ các phép ∧ , ∨ , ¬  02:45 AM Khoa CNTT 26
  27. 27. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ 2.2.a. Phép chọ n Kết quả trả về là một quan hệ Có cùng danh sách thuộc tính với R Có số bộ luôn ít hơn hoặc bằng số bộ của R Ví dụ R B C D α α 1 7 α β 5 β β β 02:45 AM A β S= σ (R) A B C D 7 α α 1 7 12 3 23 10 β β 23 10 Khoa CNTT S (A=B)∧(D>5) 27
  28. 28. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu 2.2.a. Phép chọ n BANGDIEM D_1001 = σ (Mamon=“Int1001”) (BANGDIEM) D_1oo1 02:45 AM Khoa CNTT 28
  29. 29. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ 2.2.a. Phép chọ n Phép chọn có tính giao hoán σ (σ p1 p2 Ví dụ σ =σ (R)) = σ (σ p2 (R)) (Mamon=“Int1001”) (Masv=“T1”) p1 (σ (Masv = “T1”)(BANGDIEM)) (σ (Mamon = “Int1001”)(BANGDIEM)) Kết hợp nhiều phép chọn thành 1 phép chọn σ (σ p1 σ =σ p2 (R)) = (Mamon=“Int1001”) σ (R) (σ (Masv = “T1”)(BANGDIEM)) ((Mamon=“Int1001”)^(Masv = “T1”)) 02:45 AM (p1 ^ p2) Khoa CNTT (BANGDIEM) 29
  30. 30. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 1 Cho biết các nhân viên ở phòng số 4 Quan hệ: NHANVIEN Thuộc tính: PHG Điều kiện: PHG=4 σ 02:45 AM PHG=4 Khoa CNTT (NHANVIEN) 30
  31. 31. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 2 Tìm các nhân viên có lương trên 2.5 tr ở phòng 4 hoặc các nhân viên có lương trên 3 tr ở phòng 5 Quan hệ: NHANVIEN Thuộc tính: LUONG, PHG Điều kiện: LUONG>2500000 và PHG=4 hoặc  LUONG>3000000 và PHG=5  σ 02:45 AM (PHG=4 ^ LUONG>2500000) ∨ (PHG=5 ^ LUONG>3000000) Khoa CNTT (NHANVIEN) 31
  32. 32. Nội dung chi tiết Giới thiệu Các thao tác cập nhật trên quan hệ Đại số quan hệ Phép toán tập hợp Phép chọn Phép chiế u Phép tích Cartesian Phép nối Phép chia Các phép toán khác 02:45 AM Khoa CNTT 32
  33. 33. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ 2.2.b Phép chiế u Lấy ra một số cột của quan hệ R Ký hiệu π A1, A2, …, Ak (R) R: lược đồ quan hệ Kết quả trả về là một quan hệ A1, A2,,,Ak ⊆ tập thuộc tính của R o Có k thuộc tính o Có số bộ luôn ít hơ n hoặc bằng số bộ của R (loại các bộ trùng) Ví dụ A B C α 10 1 α 20 30 1 β 40 π 1 β 02:45 AM R 2 Khoa CNTT S= A,C (R) 33
  34. 34. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ 2.2.b Phép chiế u Ví dụ 1: BANGDIEM DS1 = πMasv,Ho,Dem,Ten,Diem (BANGDIEM) DS1 02:45 AM Khoa CNTT 34
  35. 35. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ 2.2.b Phép chiế u Tính chất: π (π X Ví dụ 2: π Y Masv,Ho,Dem,Ten π ( π (R)) = Masv,Ho,Dem,Ten,Mamon (R) X (R)) = π Masv,Ho,Dem,Ten π 02:45 AM A1,A2,..,Ak π ( B1,B2,..Bn (R)) Khoa CNTT ≠ ? π B1,B2,..,Bn π ( A1,A2,..Ak (R) (R)) 35
  36. 36. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 3 Cho biết họ tên và lương của các nhân viên Quan hệ: NHANVIEN Thuộc tính: HONV, TENNV, LUONG π 02:45 AM (NHANVIEN) HONV, TENNV, LUONG Khoa CNTT 36
  37. 37. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 4: Cho biết mã nhân viên có tham gia đề án hoặc có thân nhân NV_DEAN(Manv,Madean,Sogio) THANNHAN(Manv,Hoten, Gt) π π (NV_DEAN) Manv (THANNHAN) Manv π 02:45 AM (NV_DEAN) ∪ Manv Khoa CNTT π Manv (THANNHAN) 37
  38. 38. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 5: Cho biết mã nhân viên có người thân và có tham gia đề án π Manv 02:45 AM (NV_DEAN) ∩ Khoa CNTT π Manv (THANNHAN) 38
  39. 39. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 6 : Cho biết mã nhân viên không có thân nhân nào π (NV_DEAN) - Manv 02:45 AM Khoa CNTT π Manv (THANNHAN) 39
  40. 40. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ7 : Danh sách sinh viên (Mã, Họ, đệm, tên, mã môn) nợ môn π Masv,Ho,Dem,Ten,Mamon 02:45 AM Khoa CNTT ( σ (Diem<5) (BANGDIEM)) 40
  41. 41. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Chuỗi phép toán và phép toán đổi tên Ví dụ : Lấy ra danh sách Masv, Ho,Dem,Ten, Mamon của những sinh viên có điểm <5 π Masv,Ho,Dem,Ten,Mamon ( σ (Diem<5) (BANGDIEM)) Ví dụ : Lấy ra danh sách Manv, Ho,Dem,Ten, của nhân viên phòng 4 có lương trên 3000000 π ↔ π 02:45 AM Masv,Ho,Dem,Ten,Mamon Masv,Ho,Dem,Ten,Mamon (σ(Luong >3000000)(σ(PHG=4)(NHANVIEN))) (σ(Luong >3000000 ^ PHG=4)(NHANVIEN))) Khoa CNTT 41
  42. 42. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Chuỗi phép toán và phép toán đổi tên Kết hợp các phép toán đại số quan hệ Lồng các biểu thức lại với nhau π A1, A2, …, Ak σ ( P (R)) σ (π P A1, A2, …, Ak (R)) Thực hiện từng phép toán một  B1  B2 σ (R) π P A1, A2, …, Ak (Quan hệ kết quả ở B1) Cần đặt tên cho quan hệ 02:45 AM Khoa CNTT 42
  43. 43. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Phép gán Được sử dụng để nhận lấy kết quả trả về của một phép toán Thường là kết quả trung gian trong chuỗi các phép toán Ký hiệu ←, = Ví dụ σ (R) B1 S← B2 KQ ← 02:45 AM P π A1, A2, …, Ak Khoa CNTT (S) 43
  44. 44. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu Phép đổ i tên (ρ - rho) Được dùng để đổi tên, thuộc tính lược đồ quan hệ Xét lược đồ quan hệ R(B, C, D) Các dạng: ρ S (R) -> Đổi tên quan hệ R thành S ρ X, C, D (R) ρ S(X,C,D) (R) -> Đổi tên thuộc tính B thành X -> Đổi tên quan hệ R thành S và thuộc tính B thành X 02:45 AM Khoa CNTT 44
  45. 45. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 8 Cho biết họ và tên nhân viên làm việc ở phòng số 4(tạo ra quan hệ KQ(HO,TEN)  Quan hệ: NHANVIEN  Thuộc tính: HONV, TENNV  Điều kiện: PHG=4 C1: ρ C2: NV_P4 KQ KQ(HO,TEN) ← ρ HO, 02:45 AM ← π TEN ( π σ HONV, TENNV PHG=4 ( σ PHG=4 (NHANVIEN))) (NHANVIEN) HONV, TENNV (NV_P4) (KQ) Khoa CNTT 45
  46. 46. Nội dung chi tiết Giới thiệu Các thao tác cập nhật trên quan hệ Đại số quan hệ Phép toán tập hợp Phép chọn Phép chiếu Phép toán tích Cartesian Phép nối Phép chia Các phép toán khác 02:45 AM Khoa CNTT 46
  47. 47. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu Phép toán tích Đề các Được dùng để kết hợp các bộ của các quan hệ lại với nhau Cho lược đồ R(A1,,An), S(B1,..Bm) Ký hiệu R×S Kết quả một quan hệ Q  Q(A1,,An, B1,..Bm)  Mỗi bộ của Q là tổ hợp giữa 1 bộ trong R và 1 bộ trong S Q ={ <t,u> | t ∈ R, u ∈S}  Nếu R có n bộ và S có m bộ thì Q sẽ có n × m bộ 02:45 AM Khoa CNTT 47
  48. 48. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu Phép toán tích Đề các Ví dụ R 1 β 2 B C D α 10 + β 10 + β 20 - γ 02:45 AM B α S A 10 - R × S =?? Khoa CNTT 48
  49. 49. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Phép toán tích Đề các Ví dụ R unambiguous A B α 1 β 2 R × S D α 10 + β 10 + β 20 - γ 02:45 AM C 10 - Khoa CNTT D 10 + α B S. B α C α R. B 1 1 β 10 + α S A 1 β 20 - α 1 γ 10 - β 2 α 10 + β 2 β 10 + β 2 β 20 - β 2 γ 10 - 49
  50. 50. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Phép toán tích Đề các Thông thường theo sau phép tích Đề-các là phép chọn σ R× S A A=S.B (R × S) S. B α C D 10 + D A 10 + α R. B 1 α 1 β 10 + β 2 β 10 + α 1 β 20 - β 2 β 20 - α 1 γ 10 - β 2 α 10 + β 2 β 10 + β 2 β 20 - β 02:45 AM S. B α C α R. B 1 2 γ 10 - Khoa CNTT 50
  51. 51. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 9: đưa ra danh sách bảng điểm những sv có điểm>=8 SINHVIEN Masv Ho T1 Trần C2 Lê T3 Trần T4 Vũ C3 Phạm R= Dem Văn Đình Thị Đức Hải Ten An Bắc Hảo Lâm Ngọc σDiem>=8 (SV_DIEM) ρ Ma,Mamon,Diem(R) SV_DIEM Masv Mamon T1 Int1001 T1 Int1002 C2 Int1003 C2 Int1002 T3 Int1003 T4 Int1002 C2 Int1001 T4 Int1001 C3 Int1003 Diem 8 9 7 3 10 8 8 7 6 S = SINHVIEN ×R KQ = 02:45 AM π Masv,Ho,Dem,Ten,Mamon,Diem(σMasv=Ma (S)) Khoa CNTT 51
  52. 52. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 10 Với mỗi phòng ban, cho biết thông tin của người trưởng phòng Quan hệ: PHONGBAN, NHANVIEN Thuộc tính: TRPHG, MAPHG, TENNV, HONV, … TENPHG MAPHG TRPHG Nghien cuu 5 333445555 NG_NHANCHU C 05/22/1988 Dieu hanh TENPHG Quan ly Nghien cuu 4 MAPHG 1 5 987987987 TRPHG 888665555 333445555 01/01/1995 NG_NHANCHU MANV C 06/19/1981 05/22/1988 333445555 Dieu hanh MANV Quan ly 333445555 999887777 987654321 987987987 σ 888665555 02:45 AM 4 TENNV 1 Tung Hang Nhu Hung TRPHG=MANV Vinh TENNV HONV … Tung Nguyen … 987987987 01/01/1995 987987987 Hung Nguyen … HONV NS DCHI GT LUONG PHG 888665555 06/19/1981 888665555 Vinh Pham … Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5 Bui 07/19/1968 332 NTH Q1 Nu 25000 4 Le 06/20/1951 291 HVH QPN Nu 43000 4 Nguyen 09/15/1962 Ba Ria VT 38000 5 (PHONGBAN × NHANVIEN)Nam Pham Khoa CNTT 06/19/1981 Nam Dinh Nam 54000 1 52
  53. 53. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 10 B1: Tích Đề-các PHONGBAN và NHANVIEN PB_NV ← (NHANVIEN × PHONGBAN) B2: Chọn ra những bộ thỏa TRPHG=MANV KQ ← 02:45 AM σ TRPHG=MANV Khoa CNTT (PB_NV) 53
  54. 54. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 11 Cho biết các phòng ban có cùng địa điểm với phòng số 5 ? o Quan hệ: DIADIEM_PHG o Thuộc tính: DIADIEM, MAPHG o Điều kiện: MAPHG=5 Phòng 5 có tập hợp những địa điểm nào? MAPHG DIADIEM Phòng nào có địa điểm nằm trong trong tập hợp đó? MAPHG DIADIEM 1 1 TP HCM 4 HA NOI 4 HA NOI 5 VUNGTAU 5 VUNGTAU 5 NHATRANG 5 NHATRANG 5 02:45 AM TP HCM TP HCM 5 TP HCM Khoa CNTT 54
  55. 55. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 11 B1: Tìm các địa điểm của phòng 5 DD_P5 ← π DIADIEM ( σ MAPHG=5 (DIADIEM_PHG)) ρDD(DD_P5) B2: Lấy ra các phòng có cùng địa điểm với DD_P5 σ R2 ← σ KQ ← π R1 ← MAPHG≠5 (DIADIEM_PHG) DIADIEM=DD 02:45 AM MAPHG Khoa CNTT (R1 × DD_P5) (R2) 55
  56. 56. Nội dung chi tiết Giới thiệu Các thao tác cập nhật trên quan hệ Đại số quan hệ Phép toán tập hợp Phép chọn Phép chiếu Phép tích Cartesian Phép nố i Nối có điều kiện tổng quát (Theta join) Nối bằng (Equi join) Nối tự nhiên (Natural join) Phép chia Các phép toán khác 02:45 AM Khoa CNTT 56
  57. 57. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu Phép toán nố i (join) Nối 2 bộ có liên quan (thỏa mãn điều kiện nào đó) từ 2 quan hệ thành 1 bộ Ký hiệu R S f o o R(A1, A2, …, An) và S(B1, B2, …, Bm) các lược đồ quan hệ f: điều kiện nối Kết quả là một quan hệ Q Q= { <t,v> | f(t,v) đúng, t∈R, v ∈ S} o o o o 02:45 AM f có dạng Ai θ Bj Ai là thuộc tính của R, Bj là thuộc tính của S Ai và Bj có cùng miền giá trị θ là phép so sánh ≠, =, <, >, ≤, ≥, kết hợp các toán tử logic Khoa CNTT 57
  58. 58. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Phép toán nố i (join)  Ví dụ 12: SINHVIEN Ho Dem Ten Ns Gt Lop 10001 Trần Văn Minh 1/1/1995 Nam Int1001 10002 Lê Đức Vinh 2/10/1994 Nam Int1002 10005 Vũ Văn Toàn 5/2/1989 Nam null 11007 LOP Masv Nguyễn Thị Hương 2/4/1991 Nữ Int2001 Malop Tenlop Giaovien Int1001 Tin học cơ sở 1 Hồ Sỹ Đàm Int1002 Nguyên lý Hệ ĐH Hà Quang Thụy Int1003 Cơ sở dữ liệu Nguyễn Tuệ Int2001 Chương trình dịch Lê Anh Cường Int1005 Tin học cơ sở 4 Trần Thị Minh Châu SV_LOP = SINHVIEN 02:45 AM Khoa CNTT LOP Lop = Malop 58
  59. 59. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Phép toán nố i (join)  Ví dụ 12 (kết quả): SV_LOP Masv Ho Dem Ten Ns Gt Lop Malop Tenlop Giaovien 10001 Trần Văn Minh 1/1/1995 Nam Int1001 Int1001 Tin học cơ sở 1 Hồ Sỹ Đàm 10002 Lê Đức Vinh 2/10/1994 Nam Int1002 Int1002 Nguyên lý Hệ ĐH Hà Quang Thụy 11007 Nguyễn Thị Hương 2/4/1991 Nữ Int2001 Int2001 Chương trình dịch Lê Anh Cường Khác với tích Đề các: - Kết hợp các bộ có điều kiện - Thuộc tính nối có giá trị null không xuất hiện trong kết quả 02:45 AM Khoa CNTT 59
  60. 60. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Phép toán nố i Phân loại 1. Nối theta là phép nối có điều kiện dạng tổng quát o Ký hiệu R o f : điều kiện nối trên thuộc tính f S 2. Nối bằng (equi join) khi f là điều kiện so sánh bằng của 2 thuộc tính ví dụ: SINHVIEN(Masv, Ho,Dem,Ten, Ns,Gt) SV_DIEM(Masv, Mamon, Diem) BANGDIEM= SINHVIEN SV_DIEM SINHVIEN.Masv = SV_DIEM.Masv BANGDIEM(SINHVIEN.Masv, Ho,Dem,Ten, Ns,Gt, SV_DIEM.Masv, Mamon, Diem 02:45 AM Khoa CNTT 60
  61. 61. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu Phép toán nố i 3. Nối tự nhiên (natural join) o o o  Nối bằng Hai thuộc tính nối cùng tên Loại bỏ một thuộc tính dư thừa trong kết quả Ký hiệu R Ví dụ S hay R ∗ S SINHVIEN(Masv, Ho,Dem,Ten, Ns,Gt) SV_DIEM(Masv, Mamon, Diem) BANGDIEM= SINHVIEN * SV_DIEM  02:45 AM BANGDIEM(Masv, Ho,Dem,Ten, Ns,Gt, Mamon, Diem) Khoa CNTT 61
  62. 62. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ phép nối theta R R B C 1 2 4 7 02:45 AM A S D 3 1 5 6 6 2 8 S E 3 B<D 9 Khoa CNTT 62
  63. 63. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ phép nối bằng R R R B C 1 2 4 7 R A D 3 3 6 6 2 8 9 B C 1 2 4 7 02:45 AM C=S.C 1 5 S E A S C=D S C D 3 3 1 5 6 6 2 8 S 9 Khoa CNTT 63
  64. 64. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ phép nối tự nhiên R R C D AA BB 3 3 1 5 6 6 2 11 44 22 55 8 9 A B C 1 2 4 7 02:45 AM S S Khoa CNTT C C S.D D C 33 31 1 66 62 2 64
  65. 65. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 14 (bài tập) Cho biết nhân viên có lương hơn lương của nhân viên ‘Tùng’ Quan hệ: NHANVIEN(Manv,Honv,Tennv,Phg, Luong) Thuộc tính: LUONG B1: Chọn ra lương của ‘Tùng’ R(L_TUNG) ← πLuong(σTennv=‘Tung’ (NHANVIEN)) B2: Lấy ra những bộ có lương >lương của ‘Tùng” KQ ← 02:45 AM π Manv,Honv,Tennv,Phg,luong Khoa CNTT (NHANVIEN Luong>L_TUNG R) 65
  66. 66. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 15 (bài tập) Liệt kê danh sách nhân viên, với mỗi nhân viên, hãy cho biết thông tin của phòng ban mà họ đang làm việc o NHANVIEN(Manv,Honv,Tennv,Phg, Luong) o PHONGBAN(MaPhg, TenPhg, TrPhg, Ng_Nhanchuc)  ρ Manv,Honv,Tennv,MaPhg,Luong (NHANVIEN) KQ = NHANVIEN * PHONGBAN 02:45 AM Khoa CNTT 66
  67. 67. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 16(Bài tập) Với mỗi phòng ban hãy cho biết các địa điểm của phòng ban đó (Mã, tên, địa điểm, điện thoại) PHONGBAN(MaPhg, TenPhg, TrPhg, Ng_Nhanchuc) DDIEM_PHG(MaPhg, Ddiem, Dthoai)  R =PHONGBAN* DDIEM_PHG  KQ= 02:45 AM π MaPhg, TenPhg,Ddiem,Dthoai Khoa CNTT (R) 67
  68. 68. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu Ví dụ 17 (bài tập) Với mỗi phòng ban hãy cho biết thông tin của người trưởng phòng(Mã phòng, tên phòng, Mã trưởng phòng, Họ, tên trưởng phòng, ngày nhận chức) PHONGBAN(MaPhg, TenPhg, TrPhg, Ng_Nhanchuc) NHANVIEN(Manv,Honv,Tennv,Phg,Luong) 02:45 AM Khoa CNTT 68
  69. 69. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 18 Cho biết phòng ban có cùng địa điểm với phòng 5 PHONGBAN(MaPhg, TenPhg, TrPhg, Ng_Nhanchuc) DDIEM_PHG(MaPhg, Ddiem, Dthoai) DDP5 = π DDIEM ( σ MaPhg=5 (DIADIEM_PHG)) R =PHONGBAN * DDIEM_PHG KQ= 02:45 AM πMaPhg,TenPhg (R * DDP5) Khoa CNTT 69
  70. 70. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu Tậ p đầ y đủ các phép toán ĐSQH Tập các phép toán {σ, π, ×, −, ∪} là tập đầy đủ với các phép toán ĐSQH Nghĩa là các phép toán có thể được biểu diễn qua chúng Ví dụ   02:45 AM R∩S = R∪S − ((R−S) ∪ (S−R)) R C S = σC(R×S) Khoa CNTT 70
  71. 71. Nội dung chi tiết Giới thiệu Các thao tác cập nhật trên quan hệ Đại số quan hệ Phép toán tập hợp Phép chọn Phép chiếu Phép tích Cartesian Phép nối Phép chia Các phép toán khác 02:45 AM Khoa CNTT 71
  72. 72. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Phép chia Lấy ra một số bộ trong quan hệ R sao cho thỏa với tất cả các bộ trong quan hệ S Ký hiệu R ÷ S Giả thiết Z, X là các tập thuộc tính của R, S với X ⊆ Z Kết quả của phép chia là một quan hệ T(Y), Với Y=Z- X t là một bộ của T nếu với mọi bộ tS∈S, tồn tại bộ tR∈R thỏa 2 điều kiện  tR(Y) = t  R(Z) X S(X) T(Y) Y tR(X) = tS(X) Hay: với mỗi bộ t ∈ T, với mọi u ∈ S thì <u,t> ∈ R 02:45 AM Khoa CNTT 72
  73. 73. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Phép chia Ví dụ R B A1 B1 A1 B1 A2 B1 A2 B4 A3 B1 A3 A4 B1 A1 B2 A2 B3 A3 B3 A4 B3 A1 B4 A2 B4 A3 02:45 AM S B4 Khoa CNTT A T= R ÷ S A T B 73
  74. 74. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu Phép chia Cách tính T(Y)= R(Z) ÷ S(X) 1. Y = Z-X 2. T1 = π Y(R) 3. T2 = π Y((S × T1)-R) 4. T= T1-T2 02:45 AM Khoa CNTT 74
  75. 75. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Phép chia Ví dụ R B C D E α a α a 1 α a γ a 1 α a γ b a γ a 1 β a γ b 3 γ a γ a 1 γ a γ b 1 γ a β b 1 S D E a 1 b 1 1 β 02:45 AM A Khoa CNTT R ÷ S R÷ S A B C α a γ γ a γ 75
  76. 76. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Phép chia Ví dụ R B C D a1 b1 x1 a2 b2 a1 A B y1 a1 b1 x1 y1 a2 b2 b2 x1 y1 a2 b2 x1 y2 a1 b1 x1 y2 a1 b1 x2 y1 a2 b2 x2 y1 a1 b1 x2 y2 a2 b3 x1 y2 a3 02:45 AM A b1 x1 y1 Khoa CNTT S T=R÷S ? 76
  77. 77. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Phép chia Ví dụ R A B C D a1 b1 x1 a2 b2 a1 S A B y1 a1 b1 x1 y1 a2 b2 b2 x1 y1 a2 b2 x1 y2 a1 b1 x1 y2 a1 b1 x2 y1 a2 b2 x2 y1 a1 b1 x2 a2 b3 a3 b1 1. Y = {C,D } 2. T1 = π Y (R) C D x1 y1 y2 x1 y2 x3 y2 x2 y1 x1 y3 x2 y2 x3 y2 x1 02:45 AM y3 Khoa CNTT T1 77
  78. 78. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ 1. 2. Phép chia Ví dụ R A B C D a1 b1 x1 a2 b2 a1 S A B y1 a1 b1 x1 y1 a2 b2 b2 x1 y1 a2 b2 x1 y2 a1 b1 x1 y2 a1 b1 x2 a2 b2 a1 a2 Y = {C,D } T1 = π Y (R) 3. T2 = R) π Y (S × T1) - B a1 b1 x1 y1 a1 C D b1 x1 y2 D a1 b1 x2 y1 x1 y1 y1 y2 y2 b1 x2 x1 a1 x2 y1 x2 y1 a1 b1 x3 y2 b1 x2 y2 x2 y2 a1 b1 x1 y3 b3 x3 y2 x3 y2 a2 b2 x1 y1 y3 x1 y3 a2 b2 x1 y2 a2 b2 x2 y1 b2 x2 y2 a2 02:45 AM C a2 a3 b2 x3 y2 a2 b2 x1 y3 b1 x1 T1 A Khoa CNTT 78
  79. 79. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ 1. 2. Phép chia Ví dụ R A B C D a1 b1 x1 a2 b2 a1 S A B y1 a1 b1 x1 y1 a2 b2 b2 x1 y1 a2 b2 x1 y2 a1 b1 x1 y2 a1 b1 x2 a2 b2 a1 Y = {C,D } T1 = π Y (R) 3. T2 = R) π Y (S × T1) - A B C D a1 T2 C x3 D y2 b1 C D a1 b1 x3 x1 y2 y3 x1 y1 y1 a2 b2 x1 x2 y3 y2 x1 y2 x2 y1 x2 y1 a2 b2 b1 x2 y2 x2 y2 a2 b2 a2 b3 x3 y2 x3 y2 a3 b1 x1 y3 x1 y3 T1 3. 02:45 AM Khoa CNTT T = T1-T2 T x2 x3 x1 y2 y2 y3 C D x1 y1 x1 y2 x2 y1 79
  80. 80. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 1 (bài tập) Cho biết mã nhân viên tham gia tất cả các đề án Quan hệ: DEAN (MaDa, TenDa,Ddiem, Phong); NV_DEAN(Manv,MaDa, Sogio) B1: DA ← πMaDa(DEAN) B2: B3: 02:45 AM NV_DEAN ← KQ ← πMANV, MADA(NV_DEAN) πMANV(NV_DEAN÷DA) Khoa CNTT 80
  81. 81. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 2 (bài tập) Cho biết mã nhân viên tham gia tất cả các đề án do phòng số 4 phụ trách Quan hệ: NHANVIEN, NV_DEAN, DEAN Thuộc tính: MANV Điều kiện: PHONG=4 π σ B1: P4_DA ← B2: NV_DA ← πManv MaDa(NV_DEAN) B3: MA_NV ← πManv(NV_DA÷P4_DA) 02:45 AM ( MaDa Khoa CNTT PHG=4 (DEAN)) 81
  82. 82. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 3: Hãy đưa ra danh sách sinh viên (Mã, Họ, Đệm, Tên) đăng kí tất cả các môn học SV_LOP SINHVIEN Masv T1 C2 T3 T4 C3 Ho Trần Lê Trần Vũ Phạm Dem Văn Đình Thị Đức Hải Ten An Bắc Hảo Lâm Ngọc LOP Malop Int1001 Int1002 Int1003 Int2003 02:45 AM Tenlop THCS CSDL CTD NLHDH Giaovien Lê Văn Tân Trần Văn Thịnh Lê Đức Hòa Lê Đức Hòa Khoa CNTT Masv T1 T1 C2 C2 T3 T4 C2 T4 C3 T1 Malop Int1001 Int1002 Int1003 Int1002 Int1003 Int1002 Int1001 Int1001 Int1003 Int1003 Diem 82
  83. 83. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 3(bài tập) SINHVIEN(Masv, Ho,Dem,Ten) LOP(Malop,Tenlop,Giaovien) SV_LOP(Masv, Malop, Diem) B1: Lấy mã lớp trong LOP LOPMA← πMalop(LOP) B2:Lấy mã sinh viên tham gia tất cả các lớp SV← πMasv(SV_LOP÷LOPMA) B3: Danh sách đầy đủ các thuộc tính KQ ← SV*SINHVIEN 02:45 AM Khoa CNTT 83
  84. 84. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 4 (bài tập): Danh sách sinh viên đăng kí các l ớp do giáo viên Lê Đ ức Hòa d ạy SINHVIEN(Masv, Ho,Dem,Ten) LOP(Malop,Tenlop,Giaovien) SV_LOP(Masv, Malop, Diem) B1: Lấy mã lớp trong do Lê Đức Hòa dạy LOPGV← πMalop(σ Giaovien=“Lê Đức Hòa”(LOP)) B2:Lấy mã sinh viên tham gia tất cả các lớp trong LOPGV SV← πMasv(SV_LOP÷LOPGV) B3: Danh sách đầy đủ các thuộc tính KQ ← SV*SINHVIEN 02:45 AM Khoa CNTT 84
  85. 85. Nội dung chi tiết Giới thiệu Các thao tác cập nhật trên quan hệ Đại số quan hệ Phép toán tập hợp Phép chọn Phép chiếu Phép tích Cartesian Phép nối Phép chia Các phép toán khác Hàm kết hợp (Aggregation function) Phép gom nhóm (Grouping) Phép kết ngoài (Outer join) 02:45 AM Khoa CNTT 85
  86. 86. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu Hàm kế t hợ p Nhận vào tên thuộc tính (tập hợp các giá trị) và trả về một giá trị đơn AVG MIN MAX SUM COUNT 02:45 AM Khoa CNTT 86
  87. 87. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Hàm kế t hợ p Ví dụ R A B 1 2 3 4 1 2 1 SUM(B) = 10 2 AVG(A) = 1.5 MIN(A) = 1 MAX(B) = 4 COUNT(A) = 4 02:45 AM Khoa CNTT 87
  88. 88. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Phép gom nhóm Được dùng để phân chia quan hệ thành nhiều nhóm dựa trên thuộc tính phân nhóm nào đó Ký hiệu G1,G2,..,Gk F (R) F1(A1), F2(A2), …, Fn(An) o R là Quan hệ o Gi là thuộc tính gom nhóm o F1, F2, …, Fn là các hàm kết hợp o A1, A2, …, An là các thuộc tính tính toán trong hàm F 02:45 AM Khoa CNTT 88
  89. 89. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Phép gom nhóm Ví dụ R A B C α 2 7 α 4 7 β 2 3 γ 2 S1= ρ Sum_C FSUM(C)(R) 10 S1 Sum_c 27 S2 = ρ A, Sum_C FSUM(C)(R) S2 14 β 3 γ Khoa CNTT Sum_c α 02:45 AM A 10 89
  90. 90. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu Ví dụ 18 Tính số lượng nhân viên và lương trung bình của cả công ty F 02:45 AM COUNT(), AVERAGE(LUONG)(NHANVIEN) Khoa CNTT 90
  91. 91. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 19 Tính số lượng nhân viên và lương trung bình của từng phòng ban F COUNT(), AVERAGE(LUONG)(NHANVIEN) MAPGH Đếm số học sinh theo môn và điểm TB, LN,NN trong SV_DIEM(Masv, Mamon, Diem) Mamon 02:45 AM F COUNT(), AVG(Diem),Max(Diem),Min(Diem (SV_DIEM) ) Khoa CNTT 91
  92. 92. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu Ví dụ 20 Đưa ra danh sách nhân viên có lương cao nhất công ty R1 = ρLuong F Max(LUONG)(NHANVIEN) R1*NHANVIEN 02:45 AM Khoa CNTT 92
  93. 93. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 21 Đưa ra danh sách nhân viên có lương thấp hơn lương trung bình của công ty R = ρLuong_TB F AVG(LUONG) π (NHANVIEN) Manv,Honv,Tennv, Maphg,Luong(NHANVIEN 02:45 AM Khoa CNTT Luong<Luong_TB R) 93
  94. 94. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Phép nố i ngoài Xét ví dụ (SINHVIEN,SV_LOP) Masv T1 C1 C2 T3 T4 C3 T2 Ho Trần Trần Lê Trần Vũ Phạm Lê Dem Văn Văn Đình Thị Đức Hải Thị Ten An Đức Bắc Hảo Lâm Ngọc Hà Masv T1 C2 T3 T4 Malop Int1001 Int1003 Int1003 Int1002 Diem 8 7 10 8 R = SINHVIEN * SV_LOP Masv T1 C2 T3 T4 02:45 AM Khoa CNTT Ho Trần Lê Trần Vũ Dem Văn Đình Thị Đức Ten An Bắc Hảo Lâm Malop Int1001 Int1003 Int1003 Int1002 Diem 8 7 10 8 94
  95. 95. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Phép nố i ngoài Xét ví dụ (SINHVIEN,SV_LOP) Masv T1 C2 T3 T4 Malop Int1001 Int1003 Int1003 Int1002 Diem 8 7 10 8 R = SINHVIEN ?? SV_LOP Masv T1 C2 T3 T4 C1 C3 T2 02:45 AM Khoa CNTT Masv T1 C1 C2 T3 T4 C3 T2 Ho Trần Lê Trần Vũ Trần Phạm Lê Ho Trần Trần Lê Trần Vũ Phạm Lê Dem Văn Đình Thị Đức Văn Hải Thị Dem Văn Văn Đình Thị Đức Hải Thị Ten An Bắc Hảo Lâm Đức Ngọc Hà Ten An Đức Bắc Hảo Lâm Ngọc Hà Malop Int1001 Int1003 Int1003 Int1002 null null null Diem 8 7 10 8 null null null 95
  96. 96. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu Phép nố i ngoài Mở rộng phép nối để tránh mất mát thông tin o Thực hiện phép nối o Lấy thêm các bộ không thỏa điều kiện nối Có 3 dạng 1. Nối ngoài trái 2. Nối ngoài phải 3. Nối ngoài đầy đủ 02:45 AM Khoa CNTT 96
  97. 97. Ngôn ngữ Đại số quan hệ Nhập môn Cơ sở Dữ liệu Phép nố i ngoài Q = R f S = { <t,u> nếu f (t,u) đúng <t, null,..,null> nếu ∀u ∈ S, f(t,u) sai } 02:45 AM Khoa CNTT 97
  98. 98. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Phép nố i ngoài Xét ví dụ (SINHVIEN,SV_LOP) Masv Malop Int1001 Int1003 Int1003 Int1002 Ho Dem Ten T1 C1 C2 T3 T4 C3 T2 Trần Trần Lê Trần Vũ Phạm Lê Văn Văn Đình Thị Đức Hải Thị An Đức Bắc Hảo Lâm Ngọc Hà Diem T1 C2 T3 T4 Masv 8 7 10 8 R= π SINHVIEN.Masv,Ho,Dem,Ten,Malop,Diem f SV_LOP) với f là SINHVIEN.Masv=SV_LOP.Masv SINHVIEN.Masv T1 C2 T3 T4 C1 C3 T2 02:45 AM (SINHVIEN Khoa CNTT Ho Trần Lê Trần Vũ Trần Phạm Lê Dem Văn Đình Thị Đức Văn Hải Thị Ten An Bắc Hảo Lâm Đức Ngọc Hà Malop Int1001 Int1003 Int1003 Int1002 null null null Diem 8 7 10 8 null null null 98
  99. 99. Nhập môn Cơ sở Dữ liệu Ngôn ngữ Đại số quan hệ Ví dụ 20 Cho biết họ tên nhân viên và tên phòng ban mà họ phụ trách nếu có Quan hệ: NHANVIEN, PHONGBAN Thuộc tính: TENNV, TENPH R1 ← NHANVIEN KQ ← MANV=MATRPHG π HONV,TENNV, TENPHG PHONGBAN (R1) TENNV TENPHG Tung Nguyen Nghien cuu Hang Bui null Nhu Le null Vinh 02:45 AM HONV Pham Quan ly Khoa CNTT 99
  100. 100. Bài tập 1 T2 T1 T1 T1 T1 T1 T1 T1 02:45 AM T2 (T1.Q = T2.B)T2 T1.P = T2.A T2 (T1.Q = T2.B)T2 T1.P = T2.A (T1.Q = T2.A AND T1.R = T2.C) Khoa CNTT T2 100
  101. 101. Bài tập 2  Cho cơ sở dữ liệu CÔNGTY gồm các lược đồ:  NHANVIEN(MANV, HONV, TENNV, NS, GT, DCHI, LUONG, MANGS, MAĐV)  ĐONVI(MADV, TENDV, MANQL, NGAY_BD)  DEAN(MADA, TENDA, DD_DA, MADV)  THANNHAN(MANV, TEN_TN, NS, GT, QUANHE)  NV_DEAN(MANV, MADA, SOGIO)  DONVI_DD(MADV, DD) 02:45 AM Khoa CNTT 101
  102. 102. Bài tập 2(tt)  Đưa ra tên và địa chỉ của tất cả các nhân viên làm việc cho       đơn vị. Với mỗi dự án có địa điểm tại Hà nội, hãy liệt kê mã số dự án, mã số của đơn vị kiểm soát, Tên, địa chỉ và ngày sinh của người quản lý đơn vị Tìm tên của các nhân viên làm việc trên tất cả các dự án do đơn vị có mã số 5 kiểm soát. Tạo ra một danh sách các mã số dự án đối với các dự án có một nhân viên hoặc một người quản lý đơn vị kiểm soát dự án có tên là ‘Nam’. Đưa ra tên của tất cả các nhân viên có nhiều hơn hoặc bằng 2 người phụ thuộc. Đưa ra các nhân viên không có người phụ thuộc. Đưa ra tên của những người quản lý có ít nhất là một người phụ thuộc. 02:45 AM Khoa CNTT 102
  103. 103. Thi giữa kỳ Nắm được các khái niệm cơ bản về CSDL, mô hình CSDL Vẽ được lược đồ liên kết, hiểu lược đồ liên kết mở rộng  chuyển đổi được sang lược đồ quan hệ Thực hiện được các thao tác CSDL (sử dụng các phép toán trên đại số quan hệ) 02:45 AM Khoa CNTT 103

×