CSDL4

Chia sẻ bởi Diep Nhu Anh | Ngày 19/03/2024 | 10

Chia sẻ tài liệu: CSDL4 thuộc Công nghệ thông tin

Nội dung tài liệu:

Chương 4
Đại số quan hệ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
2
Nội dung chi tiết
Giới thiệu
Đạ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 kết
Phép chia
Các phép toán khác
Các thao tác cập nhật trên quan hệ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
3
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 trên 20000

5
1
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
4
Giới thiệu (tt)
Có 2 loại xử lý
Làm thay đổi dữ liệu (cập nhật)
Thêm mới, xóa và sửa
Không làm thay đổi dữ liệu (rút trích)
Truy vấn (query)

Thực hiện các xử lý
Đại số quan hệ (Relational Algebra)
Biểu diễn câu truy vấn dưới dạng biểu thức
Phép tính quan hệ (Relational Calculus)
Biểu diễn kết quả
SQL (Structured Query Language)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
5
Nhắc lại
Đại số
Toán tử (operator)
Toán hạng (operand)

Trong số học
Toán tử: +, -, *, /
Toán hạng - biến (variables): x, y, z
Hằng (constant)
Biểu thức
(x+7) / (y-3)
(x+y)*z and/or (x+7) / (y-3)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
6
Đại số quan hệ
Biến là các quan hệ
Tập hợp (set)
Toán tử là các phép toán (operations)
Trên tập hợp
Hội  (union)
Giao  (intersec)
Trừ  (difference)
Rút trích 1 phần của quan hệ
Chọn  (selection)
Chiếu  (projection)
Kết hợp các quan hệ
Tích Cartesian  (Cartesian product)
Kết (join)
Đổi tên 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
7
Đại số quan hệ (tt)
Hằng số là thể hiện của quan hệ
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ệ
Kết quả trả về là một thể hiện của quan hệ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
8
Nội dung chi tiết
Giới thiệu
Đạ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 kết
Phép chia
Các phép toán khác
Các thao tác cập nhật trên quan hệ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
9
Phép toán tập hợp
Quan hệ là tập hợp các bộ
Phép hội R  S
Phép giao R  S
Phép trừ R  S

Tính khả hợp (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)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
10
Phép toán tập hợp (tt)
Ví dụ
Bậc n=3
DOM(TENNV) = DOM(TENTN)
DOM(NGSINH) = DOM(NG_SINH)
DOM(PHAI) = DOM(PHAITN)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
11
Phép hội
Cho 2 quan hệ R và S khả hợp
Phép hội 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ỏ)

Ví dụ
R  S = { t / tR  tS }
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
12
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

Ví dụ
R  S = { t / tR  tS }
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
13
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

Ví dụ
R  S = { t / tR  tS }
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
14
Các tính chất
Giao hoán




Kết hợp
R  S = S  R
R  S = S  R
R  (S  T) = (R  S)  T
R  (S  T) = (R  S)  T
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
15
Nội dung chi tiết
Giới thiệu
Đạ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 kết
Phép chia
Các phép toán khác
Các thao tác cập nhật trên quan hệ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
16
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 là biểu thức gồm các mệnh đề có dạng



gồm  ,  ,  ,  ,  , 
Các mệnh đề được nối lại nhờ các phép  ,  , 
 P (R)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
17
Phép chọn (tt)
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ụ
 (A=B)(D>5) (R)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
18
Phép chọn (tt)
Phép chọn có tính giao hoán
 p1 ( p2 (R)) =
 p2 ( p1 (R)) =
 p1  p2 (R)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
19
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
 PHG=4 (NHANVIEN)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
20
Ví dụ 2
Tìm các nhân viên có lương trên 25000 ở phòng 4 hoặc các nhân viên có lương trên 30000 ở phòng 5
Quan hệ: NHANVIEN
Thuộc tính: LUONG, PHG
Điều kiện:
LUONG>25000 và PHG=4 hoặc
LUONG>30000 và PHG=5
 (LUONG>25000  PHG=4)  (LUONG>30000  PHG=5) (NHANVIEN)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
21
Nội dung chi tiết
Giới thiệu
Đạ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 kết
Phép chia
Các phép toán khác
Các thao tác cập nhật trên quan hệ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
22
Phép chiếu
Được dùng để lấy ra một vài cột của quan hệ R
Ký hiệu

Kết quả trả về là một quan hệ
Có k thuộc tính
Có số bộ luôn ít hơn hoặc bằng số bộ của R
Ví dụ
A1, A2, …, Ak(R)
A,C (R)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
23
Phép chiếu (tt)
Phép chiếu không có tính giao hoán
A1, A2, …, An(A1, A2, …, Am(R)) =
A1, A2, …, An (R) , với n  m
X,Y (R) =
X (Y (R))
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
24
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
HONV,TENNV,LUONG (NHANVIEN)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
25
Ví dụ 4
Cho biết mã nhân viên có tham gia đề án hoặc có thân nhân

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
26
Ví dụ 5
Cho biết mã nhân viên có người thân và có tham gia đề án

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
27
Ví dụ 6
Cho biết mã nhân viên không có thân nhân nào

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
28
Phép chiếu tổng quát
Mở rộng phép chiếu bằng cách cho phép sử dụng các phép toán số học trong danh sách thuộc tính
Ký hiệu F1, F2, …, Fn (E)
E là biểu thức ĐSQH
F1, F2, …, Fn là các biểu thức số học liên quan đến
Hằng số
Thuộc tính trong E
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
29
Phép chiếu tổng quát (tt)
Ví dụ
Cho biết họ tên của các nhân viên và lương của họ sau khi tăng 10%
HONV, TENNV, LUONG*1.1 (NHANVIEN)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
30
Chuỗi các phép toá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


Thực hiện từng phép toán một
B1

B2
A1, A2, …, Ak (P (R))
P (A1, A2, …, Ak (R))
P (R)
A1, A2, …, Ak (Quan hệ kết quả ở B1)
Cần đặt tên cho quan hệ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
31
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ụ
B1

B2
S  P (R)
KQ  A1, A2, …, Ak (S)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
32
Phép đổi tên
Được dùng để đổi tên
Quan hệ



Thuộc tính
S(R) : Đổi tên quan hệ R thành S
Xét quan hệ R(B, C, D)
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
S(X,C,D)(R)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
33
Ví dụ 7
Cho biết họ và tên nhân viên làm việc ở phòng số 4
Quan hệ: NHANVIEN
Thuộc tính: HONV, TENNV
Điều kiện: PHG=4

C1:

C2:
HONV, TENNV (PHG=4 (NHANVIEN))
NV_P4  PHG=4 (NHANVIEN)
KQ  HONV, TENNV (NV_P4)
KQ(HO, TEN)  HONV, TENNV (NV_P4)
KQ(HO, TEN) (HONV, TENNV (NV_P4))
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
34
Nội dung chi tiết
Giới thiệu
Đạ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 kết
Phép chia
Các phép toán khác
Các thao tác cập nhật trên quan hệ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
35
Phép tích Cartesian
Được dùng để kết hợp các bộ của các quan hệ lại với nhau
Ký hiệu

Kết quả trả về là một quan hệ Q
Mỗi bộ của Q là tổ hợp giữa 1 bộ trong R và 1 bộ trong S
Nếu R có u bộ và S có v bộ thì Q sẽ có u  v bộ
Nếu R có n thuộc tính và Q có m thuộc tính thì Q sẽ có n + m thuộc tính (R+  Q+   )
R  S
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
36
Phép tích Cartesian (tt)
Ví dụ
R  S
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
37
Phép tích Cartesian (tt)
Ví dụ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
38
Phép tích Cartesian (tt)
Thông thường theo sau phép tích Cartesian là phép chọn
R  S
A=S.B (R  S)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
39
Ví dụ 8
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, …
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
40
Ví dụ 8 (tt)
B1: Tích Cartesian PHONGBAN và NHANVIEN



B2: Chọn ra những bộ thỏa TRPHG=MANV
PB_NV  (NHANVIEN  PHONGBAN)
KQ  TRPHG=MANV(PB_NV)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
41
Ví dụ 9
Cho biết lương cao nhất trong công ty
Quan hệ: NHANVIEN
Thuộc tính: LUONG
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
42
Ví dụ 9 (tt)
B1: Chọn ra những lương không phải là lớn nhất






B2: Lấy tập hợp lương trừ đi lương trong R3
R1  (LUONG (NHANVIEN))
R2  NHAN_VIEN.LUONG < R1.LUONG(NHANVIEN  R1)
R3  NHAN_VIEN.LUONG (R2)
KQ  LUONG (NHANVIEN)  R3
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
43
Ví dụ 10
Cho biết các phòng ban có cùng địa điểm với phòng số 5
Quan hệ: DIADIEM_PHG
Thuộc tính: DIADIEM, MAPHG
Điều kiện: MAPHG=5
Phòng 5 có tập hợp những địa điểm nào?
Phòng nào có địa điểm nằm trong trong tập hợp đó?
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
44
Ví dụ 10 (tt)
B1: Tìm các địa điểm của phòng 5



B2: Lấy ra các phòng có cùng địa điểm với DD_P5
DD_P5(DD)  DIADIEM (MAPHG=5 (DIADIEM_PHG))
R2  DIADIEM=DD (R1  DD_P5)
KQ  MAPHG (R2)
R1  MAPHG5 (DIADIEM_PHG)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
45
Nội dung chi tiết
Giới thiệu
Đạ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 kết
Kết tự nhiên (Natural join)
Kết có điều kiện tổng quát (Theta join)
Kết bằng (Equi join)
Phép chia
Các phép toán khác
Các thao tác cập nhật trên quan hệ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
46
Phép kết
Được dùng để tổ hợp 2 bộ có liên quan từ 2 quan hệ thành 1 bộ
Ký hiệu R S
R(A1, A2, …, An) và (B1, B2, …, Bm)
Kết quả của phép kết là một quan hệ Q
Có n + m thuộc tính Q(A1, A2, …, An, B1, B2, …, Bm)
Mỗi bộ của Q là tổ hợp của 2 bộ trong R và S, thỏa mãn một số điều kiện kết nào đó
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 , , , , , 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
47
Phép kết (tt)
Phân loại
Kết theta (theta join) là phép kết có điều kiện
Ký hiệu R C S
C gọi là điều kiện kết trên thuộc tính

Kết bằng (equi join) khi C là điều kiện so sánh bằng

Kết tự nhiên (natural join)
Ký hiệu R S hay R  S
R+  Q+  
Kết quả của phép kết bằng bỏ bớt đi 1 cột giống nhau
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
48
Phép kết (tt)
Ví dụ phép kết theta
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
49
Phép kết (tt)
Ví dụ phép kết bằng
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
50
Phép kết (tt)
Ví dụ phép kết tự nhiên
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
51
Ví dụ 11
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
Thuộc tính: LUONG
NHAN_VIEN(HONV, TENNV, MANV, …, LUONG, PHG)
R1(LG)  LUONG (TENNV=‘Tung’ (NHANVIEN))
KQ(HONV, TENNV, MANV, …, LUONG, LG)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
52
Ví dụ 12
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
Quan hệ: NHANVIEN, PHONGBAN
PHONGBAN(TENPHG, MAPHG, TRPHG, NG_NHANCHUC)
NHANVIEN(HONV, TENNV, MANV, …, PHG)
KQ(HONV, TENNV, MANV, …, PHG, TENPHG, MAPHG, …)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
53
Ví dụ 13
Với mỗi phòng ban hãy cho biết các địa điểm của phòng ban đó
Quan hệ: PHONGBAN, DDIEM_PHG
PHONGBAN(TENPHG, MAPHG, TRPHG, NGAY_NHANCHUC)
DDIEM_PHG(MAPHG, DIADIEM)
KQ(TENPHG, MAPHG, TRPHG, NGAY_NHANCHUC, DIADIEM)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
54
Ví dụ 8
Với mỗi phòng ban hãy cho biết thông tin của người trưởng phòng
Quan hệ: PHONGBAN, NHANVIEN
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
55
Ví dụ 9
Cho biết lương cao nhất trong công ty
Quan hệ: NHANVIEN
Thuộc tính: LUONG
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
56
Ví dụ 10
Cho biết phòng ban có cùng địa điểm với phòng 5
Quan hệ: DDIEM_PHG
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
57
Tập đầy đủ các phép toán ĐSQH
Tập các phép toán , , , ,  được gọi là tập đầy đủ 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ụ
RS = RS  ((RS)  (SR))
R CS = C(RS)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
58
Nội dung chi tiết
Giới thiệu
Đạ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 kết
Phép chia
Các phép toán khác
Các thao tác cập nhật trên quan hệ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
59
Phép chia
Được dùng để 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
R(Z) và S(X)
Z là tập thuộc tính của R, X là tập thuộc tính của S
X  Z
Kết quả của phép chia là một quan hệ T(Y)
Với Y=Z-X
Có 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
tR(X) = tS(X)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
60
Phép chia (tt)
Ví dụ
R  S
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
61
Ví dụ 14
Cho biết mã nhân viên tham gia tất cả các đề án
Quan hệ: PHANCONG, DEAN
Thuộc tính: MANV
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
62
Ví dụ 15
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ệ: PHANCONG, DEAN
Thuộc tính: MANV
Điều kiện: PHG=4
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
63
Phép chia (tt)
Biểu diễn phép chia thông qua tập đầy đủ các phép toán ĐSQH
Q1  Y (R)
Q2  Q1  S
Q3  Y(Q2  R)
T  Q1  Q3
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
64
Nội dung chi tiết
Giới thiệu
Đạ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 kết
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)
Các thao tác cập nhật trên quan hệ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
65
Hàm kết hợp
Nhận vào tập hợp các giá trị và trả về một giá trị đơn
AVG
MIN
MAX
SUM
COUNT

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
66
Hàm kết hợp (tt)
Ví dụ


SUM(B) = 10
AVG(A) = 1.5
MIN(A) = 1
MAX(B) = 4
COUNT(A) = 4
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
67
Phép gom nhóm
Được dùng để phân chia quan hệ thành nhiều nhóm dựa trên điều kiện gom nhóm nào đó
Ký hiệu

E là biểu thức ĐSQH
G1, G2, …, Gn là các thuộc tính gom nhóm
F1, F2, …, Fn là các hàm
A1, A2, …, An là các thuộc tính tính toán trong hàm F
G1, G2, …, GnIF1(A1), F2(A2), …, Fn(An)(E)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
68
Phép gom nhóm (tt)
Ví dụ
ISUM(C)(R)
AISUM(C)(R)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
69
Ví dụ 16
Tính số lượng nhân viên và lương trung bình của cả công ty
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
70
Ví dụ 17
Tính số lượng nhân viên và lương trung bình của từng phòng ban
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
71
Phép kết ngoài
Mở rộng phép kết để tránh mất mát thông tin
Thực hiện phép kết
Lấy thêm các bộ không thỏa điều kiện kết

Có 3 hình thức
Mở rộng bên trái
Mở rộng bên phải
Mở rộng 2 bên
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
72
Ví dụ 18
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 tinh: TENNV, TENPH
KQ  HONV,TENNV, TENPHG (R1)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
73
Nội dung chi tiết
Giới thiệu
Đạ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 kết
Phép chia
Các phép toán khác
Các thao tác cập nhật trên quan hệ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
74
Các thao tác cập nhật
Nội dung của CSDL có thể được cập nhật bằng các thao tác
Thêm (insertion)
Xóa (deletion)
Sửa (updating)
Các thao tác cập nhật được diễn đạt thông qua phép toán gán
Rnew  các phép toán trên Rold
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
75
Thao tác thêm
Được diễn đạt


R là quan hệ
E là một biểu thức ĐSQH

Ví dụ
Phân công nhân viên có mã 123456789 làm thêm đề án mã số 20 với số giờ là 10
Rnew  Rold  E
PHANCONG  PHANCONG  (‘123456789’, 20, 10)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
76
Thao tác xóa
Được diễn đạt


R là quan hệ
E là một biểu thức ĐSQH

Ví dụ
Xóa các phân công đề án của nhân viên 123456789
Rnew  Rold  E
PHANCONG  PHANCONG  MANV=‘123456789’(PHANCONG)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
77
Ví dụ 19
Xóa những phân công đề án có địa điểm ở ‘Ha Noi’

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
78
Thao tác sửa
Được diễn đạt


R là quan hệ
Fi là biểu thức tính toán cho ra 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
Rnew  F1, F2, …, Fn (Rold)
PHANCONG MA_NVIEN, SODA, THOIGIAN*1.5(PHANCONG)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
79
Ví dụ 20
Các nhân viên làm việc trên 30 giờ sẽ được tăng thời gian làm việc lên 1.5 lần, còn lại tăng lên 2 lần
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
80
Bài tập về nhà
Bài tập
5.2.1 / 207-210
5.2.4 / 210-212

Đọc
Phép toán quan hệ trên BAG / 214-220

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
81
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Diep Nhu Anh
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)