tự gồm một chuỗi các phép gán, theo sau là một biểu thức có giá trị được trình bày như là kết quả của câu truy vấn. Ký hiệu: [r]
(1)Kiểm tra cũ
1.
1. Cơ sở liệu gì?Cơ sở liệu gì?
2.
2. Mơ hình quan hệ ERD Mơ hình quan hệ ERD
được xây dựng dựa
được xây dựng dựa
các khái niệm nào?
các khái niệm nào?
3.
3. Kể tên loại mô hình Kể tên loại mơ hình
trong CSDL mà em biêt?
(2)Chương 2: Thiết kế sở liệu
Bài 2: Mơ hình quan hệ
(3)1 Giới thiệu
Do E.F Codd đưa ra.
Cung cấp cấu trúc liệu đơn giản
đồng - quan hệ - tảng lý thuyết vững chắc.
Là sở hầu hết DBMS thương
(4)1 Giới thiệu
Mơ hình quan hệ xây dựng dựa
khái niệm sở:
Quan hệ Thuộc tính Bộ giá trị
(5)2 Quan hệ
Quan hệ bảng chiều định nghĩa
một tập thuộc tính
Tập thuộc tính tồn quan hệ QQ kí
hiệu QQ++
(6)2 Quan hệ
Quan hệ gồm:
Tên
Tập hợp cột (thuộc tính) Cố định
Được đặt tên Có kiểu liệu
(7)2 Quan hệ
Trong quan hệ:
Một dòng ~ thực thểMột dòng ~ thực thể (một thể đối tượng giới thực)
(8)3 Thuộc tính
Đối tượng là thực thể tồn khách quan
hay trừu tượng hóa (nhân viên, xe máy, hàng hóa…)
Thuộc tính là đặc tínhđặc tính đối tượng cầncần
(9)3 Thuộc tính
Thuộc tính đặc trưng yếu tốđặc trưng yếu tố
Tên gọi: Một dãy kí tự bất kỳ, gợi nhớ Kiểu liệu: Số, chuỗi, ngày, logic…
(10)3 Thuộc tính
(11)4 Bộ giá trị
Bộ dòng liệu quan hệ
Bộ thường gọi mẫu tin, ghi hay
(12)4 Bộ giá trị
Bộ dòng liệu quan hệ
Bộ thường gọi mẫu tin, ghi hay
(13)5 Thể quan hệ
Thể quan hệ tập hợp giá trị
cụ thể quan hệ thời điểm định
Kí hiệu thể quan hệ QQ TT
Q
(14)5 Thể quan hệ
Ví dụ:Ví dụ: TTnv1nv1 thể quan hệ Nhanvien
(15)5 Thể quan hệ
Ví dụ:Ví dụ: TTnv2nv2 thể quan hệ Nhanvien
(16)(17)6 Khóa
6.1 Siêu khóa: tập thuộc tính QQ
mà nhờ vào phân biệt khác thể TTQQ bất kỳ
Một quan hệ có siêu khóa (QQ++))
và có nhiều siêu khóa.
(18)6 Khóa
6.1 Siêu khóa:
Ví dụ: siêu khóa quan hệ Nhanvien là:
(19)6 Khóa
6.2 Khóa: siêu khóa “nhỏ nhất” (chứa
(20)6 Khóa 6.2 Khóa:
Thuộc tínhThuộc tính tham gia vào khóa gọi thuộc tính thuộc tính khóa
khóa, ngược lại gọi thuộc tính khơng khóathuộc tính khơng khóa Ví dụ 1:
MaNV thuộc tính khóa quan hệ NhanvienMaNV thuộc tính khóa quan hệ Nhanvien Ví dụ 2:Ví dụ 2:
Trong quan hệ Phancong có khóa {MaDA, MaNV}, Trong quan hệ Phancong có khóa {MaDA, MaNV}, như thuộc tính khóa là: Manv, MaDA
(21)6 Khóa
6.3 Khóa chính:
Khi cài đặt HQTCSDL cụ thể, quan hệ Khi cài đặt HQTCSDL cụ thể, quan hệ có nhiều
có nhiều khóakhóa, , ta chọn khóa ta chọn khóa gọi
và gọi khóa chínhkhóa chính
Các thuộc tính nằm khóa liệt kê Các thuộc tính nằm khóa liệt kê quan hệ phải gạch
(22)6 Khóa
6.3 Khóa chính:
Ví dụ: khóa gồm thuộc tínhVí dụ: khóa gồm thuộc tính
Khóa quan hệ NhanvienKhóa quan hệ Nhanvien {MaNV {MaNV}} Nhanvien (MaNVNhanvien (MaNV, Hoten, Luong, Phai), Hoten, Luong, Phai)
Ví dụ 2: Khóa gồm thuộc tínhVí dụ 2: Khóa gồm thuộc tính
Khóa quan hệ Phancong {MaNV, Khóa quan hệ Phancong {MaNV, MaDean}
MaDean}
(23)6 Khóa
6.4 Khóa ngoại:
Cho Cho R(U)R(U) và S(V)S(V) quan hệ với quan hệ với U, VU, V lần lượt tập thuộc tính quan hệ R S
tập thuộc tính quan hệ R S
KK11 khóa quan hệ khóa quan hệ RR, thỏa , thỏa điều kiện sau:
các điều kiện sau:
Khi đóKhi đó K K22 là khóa ngoạikhóa ngoại của SS tham chiếu đến khóa tham chiếu đến khóa
(24)6 Khóa
6.4 Khóa ngoại:
Ví dụ cho quan hệ
Phongban(MaP, TenP), với U = PhongbanU = Phongban++ Nhanvien(MaNVMaNV, Hoten, Phai, MaP), với
V=Nhanvien
V=Nhanvien++
KK
1
1 = {MaP} = {MaP} khóa quan hệ Phongbanlà khóa quan hệ Phongban
KK
2
2 = {MaP} thuộc tập thuộc tính V = {MaP} thuộc tập thuộc tính V
KK11, K, K22 có thuộc tính biểu thị MaP có thuộc tính biểu thị MaP Dom(KDom(K11) Dom(K) Dom(K22))
KK
2
2 khóa ngoại quan hệ Nhanvien tham chiếu khóa ngoại quan hệ Nhanvien tham chiếu
đến K
(25)7 Quy tắc chuyển đổi từ ERD MHQH
(26)(27)Ràng buộc toàn vẹn –
Intergrity Constraint (IC)
Phải với thể lược
đồ quan hệ Ex., ràng buộc miền giá trị.
ICs mô tả định nghĩa lược đồ
ICs kiểm tra DBMS quan hệ (thể hiện) cập nhật
Sự khác quan hệ
(28)Ràng buộc khóa chính
Super key (siêu khóa): SK r
thuộc tính hay tập hợp thuộc tính để xác định bộ quan hệ
(khơng có hai thể quan hệ r(R) có giá trị SK).
i.e., Với phân biệt t1 t2 r(R),
t1[SK] <> t2[SK].
(29)Candidate Key
Candidate key K r(R) thỏa mãn điều kiện:
K SK,
K SK bé (K’K, K’≠K, K’ SK)
Quan hệ r có nhiều khóa K Ex:
XE{TINH_TP, SOXE, SOHIEUXE, NOISX, KIEUDANG,
NAM}
Có hai SK K1 = {TINH_TP, SOXE}, K2 = {SOHIEUXE},
(30)Primary Key – Khóa chính
Nếu có nhiều Khóa (candidate key) quan
hệ, người thiết kế người quản trị CSDL chọn khóa khóa để nhận biết quan hệ
Các thuộc tính khóa gạch
Các thuộc tính khóa PK quan hệ r không
thể mang giá trị null giá trị khóa dùng để xác định
t[PK] <>null tr(R)
Các thuộc tính khác r có ràng buộc
quy định khơng có giá trị null, cho dù chúng khơng tham gia vào khóa
(31)Alternate Key
Là Candidate Key không chọn
là primary key.
Được khai báo ràng buộc
(32)Ràng buộc khóa ngoại tồn vẹn tham chiếu
Tập hợp thuộc tính quan hệ (quan hệ con)
được dùng để tham chiếu tới quan hệ khác (quan hệ cha) Khóa ngoại phải tham chiếu tới khóa
chính quan hệ đựợc tham chiếu
KHOA MAKHOA TENKHOA
CNTT Cong nghe Thong tin
VT Vien thong
DT Dien tu
SVIEN TENSV MASV MAHK
Nhat 11 CNTT
(33)Foreign Key – Khóa ngoại
Cho FK r
1, FK ≠, FK gọi khóa ngoại r1 (tham chiếu đến r2) khi:
Các thuộc tính FK phải có miền giá trị với thuộc tính khóa PK r2
Giá trị FK t1r1 giá trị PK t2r2 giá trị rỗng null Trường hợp đầu, ta nói t1 tham chiếu tới t2 (t1[FK]=t2[PK])
(34)Các đặc điểm Mơ hình Quan hệ
Khơng có trùng – phải kiểm tra khi:
Thêm Sửa giá trị
Một quan hệ tạo thu gọn quan hệ cũ
Ngầm định khóa ln tồn
Thứ tự r không quan trọng
Một bảng đại diện quan hệ
Tuy nhiên, lưu trữ vật lý quan hệ phải có thứ tự
Giá trị bộ:
Tất giá trị xem atomic (không thể phân chia
nữa)
Giá trị phải thể hiện:
Chúng thay giá trị đặc biệt null
Null có nhiều ý nghĩa: “không biết”, “không quan tâm”, “không thể
(35)Thao tác CSDL Quan hệ
Có hai loại thao tác:
Cập nhật liệu (thay đổi liệu) Truy vấn liệu (rút trích liệu)
Các cách thực hiện:
Ngơn ngữ hình thức: Đại số quan hệ - cho phép mô tả câu truy vấn dạng chuỗi phép toán đại số
(36)Một ví dụ minh họa
Lược đồ CSDL quan hệ: Quản lý Đề án Công ty
NHANVIEN(HONV,TENLOT,TENNV,MANV,NGSINH,DCHI,
PHAI,LUONG,MA_NQL,PHG)
PHONGBAN(TENPHG,MAPHG,TRPHG,NG_NHAMCHUC) DIADIEM_PHG(MAPHG,DIADIEM)
THANNHAN(MA_NVIEN,TENTN,PHAI,NGSINH,QUANHE) DEAN(TENDA,MADA,DDIEM_DA,PHONG)
(37)NHANVIEN
HONV TENLOT TENNV MANV NGSINH DCHI PHAI LUONG MA_NQL PHG Dinh Van Thong 12345 14/2/77 Hue Nam 500 54321 1
Tran null Hung 23451 24/5/68 HCM Nam 700 18794 Le Minh Nhat 67543 12/7/75 HN Nam 450 null Huynh Chi Thanh 78694 6/12/70 BD Nam 500 79864 null
(38)PHONGBAN
TENPHG MAPHG TRPHG NG_NHAM CHUC
Nghien cuu 5 12345 5/12/99
Quan ly 67895 3/1/04
Thuc hien 2 67543 1/5/02
DIADIEM_PHG
MAPHG DIADIEM TP HCM
2 HN
4 DN
(39)PHANCONG
MA_NV SODA THOIGIAN 12345 1 32.5
23451 24
67543 1 21 78694 2 87964
67543 2 12345 1 12 75864 9
78789
THANNHAN
MA_NVIEN TENTN PHAI NGSINH QUANHE 12345 Trinh Nam 2/3/70 Anh trai
75864 Minh Nam 4/6/85 Em trai
57853 Luc Nu Null Chi
23451 Tuan Nam 4/2/56 Cha
75864 Mai Nu 5/8/89 Em gai
DEAN
TENDA MADA DDIEM_DA PHONG 112CP HCM
(40)(41)Ngôn ngữ truy vấn
Query Language (QL): ngôn ngữ cho phép user
thực rút trích liệu từ CSDL
QL ≠PL (ngơn ngữ lập trình)
QL khơng nhằm mục đích dùng cho ứng dụng phức
tạp
QL hỗ trợ truy xuất dễ dàng tới tập tin liệu lớn
Ngôn ngữ truy vấn (tốn học) sở ngơn
ngữ thực (vd., SQL)
Hiểu đại số quan hệ chìa khóa để hiểu cách
(42)Đại số Quan hệ
Ngôn ngữ thủ tục (???)
Bao gồm tập hợp phép toán áp
dụng thể quan hệ, kết một câu truy vấn thể quan hệ.
Chuỗi phép tốn đại số quan hệ hình
(43)Các phép toán quan hệ
Phép chọn Phép chiếu Phép gán Phép đổi tên
Các phép toán hình thành từ lý thuyết tập hợp tốn học:
Phép hội
Phép giao
Phép trừ
Phép tích Cartesian
Phép kết
Phép chiếu tổng quát
Các phép toán quan hệ khác: Phép chia, OUTER JOIN,
(44)Phép chọn (Selection Operator)
Dùng để trích chọn từ quan hệ r Các trích chọn phải thỏa mãn điều kiện P
Ký hiệu: P(r) = {t | t r P(t)} r: quan hệ chọn
P: biểu thức mệnh đề điều kiện: <attr> op <attr> hay <const>
op: =, ≠, , , …
Các điều kiện liên kết với thông qua , ,
Kết trả quan hệ, có danh sách thuộc tính với quan hệ r
Phép chọn có tính giao hốn:
(45)Example
A B C D
1 7 5 7 12 3 23 10
A B C D
1 7 23 10
Quan hệ r
A=B D5(r)
Cho biết:
Những nhân viên thuộc phòng số Những nhân viên có lương > 3000
Những nhân viên thuộc phòng số lương > 3000,
(46)Phép chiếu (Project Operation)
Dùng để trích chọn vài cột quan hệ r
chỉ danh sách thuộc tính
Ký hiệu: A1,A2, …,Ak(r) r: quan hệ
A1,A2, …,Ak: thuộc tính chiếu
Kết trả quan hệ có k thc tính theo
thứ tự liệt kê
Số lượng quan hệ kết phép
chiếu ln ln số lượng r Các dòng trùng loại bỏ khỏi quan hệ kết
(47)Example
A B C
10 1 20 1 30 1 40 2
A C
1 1 1 2
Quan hệ r
A,C(r)
Cho biết:
Họ tên lương tất nhân viên Mã phòng lương tất nhân viên
A C
(48)Phép gán (Assignment Operation)
Cung cấp cách thức để diễn tả câu truy vấn phức
tạp
Ý tưởng: viết câu truy vấn chương trình tuần
tự gồm chuỗi phép gán, theo sau biểu thức có giá trị trình bày kết câu truy vấn
Ký hiệu:
Việc gán luôn thực cho biến quan hệ tạm Biến nằm bên trái biểu thức gán sử
(49)Phép đổi tên (Rename Operation)
Cho phép đặc tên, để tham chiếu tới kết
quả biểu thức đại số quan hệ
Cho phép tham chiếu tới quan hệ nhiều
tên (vd., quan hệ dùng hai lần biểu thức đại số quan hệ)
Đổi tên quan hệ tên thuộc tính:
Cho biểu thức đại số quan hệ E có n thuộc tính,
biểu thức
(A1, A2, …, An)(E)
trả kết biểu thức E tên , với tên
(50)Đổi tên quan hệ tên thuộc tính
Đổi tên quan hệ:
Cho biểu thức đại số quan hệ E, biểu thức
(E) trả kết biểu thức E tên
Đổi tên thuộc tính:
Cho biểu thức đại số quan hệ E có n thuộc tính, biểu thức (A1, A2, …, An)(E)
(51)Chuỗi phép toán
Kết hợp phép toán đại số quan hệ với
nhau hai cách:
Tạo biểu thức đại số quan hệ cách lồng phép toán với
(52)Examle
Tìm họ tên lương nhân viên làm việc phòng
số 4.
HONV,TENLOT,TENNV,LUONG(PHG=4(NHANVIEN))
hoặc:
NV_P4 PHG=4(NHANVIEN)
KQ HONV,TENLOT,TENNV,LUONG(NV_P4)
hoặc đổi tên cách liệt kê tên
thuộc tính dấu ngoặc:
NV_P4 PHG=4(NHANVIEN)
(53)Các phép toán tập hợp
Các phép toán thực quan hệ xuất
phát từ lý thuyết tập hợp toán học
Phép hội: r s Phép giao: r s Phép trừ: r – s
Phép tích Cartesian: rs
Đối với phép toán , , hay –, quan
(54)Quan hệ Khả hợp
Các quan hệ R(A1, A2, …, An) S(B1,B2, …,
Bn) gọi khả hợp khi:
Số lượng thuộc tính r, s phải
(cùng bậc n)
Miền giá trị thuộc tính phải tương thích
(dom(Ai)=dom(Bi)), với 1in.
Quan hệ kết , , hay – có tên
(55)Phép hội (Union Operation)
Ký hiệu: r s Định nghĩa:
r s = {t | t r t s}
r s hai quan hệ khả hợp Ex1:
Ex2: Mã nhân viên có tham gia
đề án có thân nhân hai A B 1 2 1 A B 2 3 A B 1 2 1 3
Quan hệ r Quan hệ s
(56)Phép Giao (Set-Intersection Operation)
Ký hiệu: r s
Định nghĩa:
r s = {t | t r t s}
r s hai quan hệ khả
hợp.
Ex1:
Ex2: Mã nhân viên có
người thân phân công vào đề án.
A B 1 2 1 A B 2 3 A B 2
Quan hệ r Quan hệ s
(57)Phép trừ (Set Difference Operation)
Ký hiệu: r – s. Định nghĩa:
r – s = {t | t r t s}
r s hai quan hệ khả
hợp.
Ex1:
Ex2: Mã nhân viên
khơng có thân nhân cả. A B 1 2 1 A B 2 3 A B 1 1
Quan hệ r Quan hệ s
(58)Phép tích (Cartesian Product Operation)
Ký hiệu: r s Định nghĩa:
r s = {t.q | t r q s}
Các thuộc tính r(R) s(S) khác (i.e r s = )
Nếu thuộc tính r(R) s(S) khơng khác phải đổi tên
chúng
Mỗi t tập kết tổ hợp t1 r t2 s
cho:
t[A1, A2, …, Anr] = t1 t[B1, B2, …, Bms] = t2
(59)Example 1
Nhận xét: Phép tích Cartersian
phép tính vơ nghĩa đứng riêng Tuy nhiên, kết hợp liên quan từ hai quan hệ sau phép toán chọn phù hợp (xem ví dụ trang
sau)
C D E
10 + 10 + 20 10
A B
1 2
A B C D E
1 10 + 1 10 + 1 20 1 10 2 10 + 2 10 + 2 20 2 10
Quan hệ r
Quan hệ s
(60)Example 2
A B C D E
1 10 + 1 10 + 1 20 1 10 2 10 + 2 10 + 2 20 2 10
r s
A B C D E
1 10 + 2 10 + 2 20
(61)Example 3
Kết hợp PHONGBAN với NHANVIEN
người quản lý (trưởng phòng) Với phịng ban, cho biết thơng tin người trưởng phòng
PB_NV PHONGBAN NHANVIEN
PB_TRPHG_INFO MANV=TRPHGPB_NV
Hoặc:
(62)Example 4
Cho biết lương cao công ty.
Quan hệ chứa lương lớn
temp=NHANVIEN.LUONG(NHANVIEN.LUONGNV.LUONG(NHANVIEN
NV(NHANVIEN)))
(63)Example 5
Cho biết phịng ban có địa điểm với
phòng số
Tìm địa điểm phịng số
DIADIEM(MAPHG=5(DIADIEM_PHG)
Đổi tên thành PHG_5 đổi tên thuộc tính DIADIEM
thành DD
(64)Phép kết (Join Operation)
Natural Join
(65)Natural Join
Ký hiệu: rs (hoặc r*s)
r, s quan hệ tương ứng lược đồ R
S Kết trả quan hệ lược đồ RS
kết có cách xét đến cặp trr
và tss
Nếu tr ts có giá trị thuộc tính
RS (cùng tên thuộc tính), t thêm
vào quan hệ kết cho:
(66)Example
Cho quan hệ R(A,B,C,D) S(B,D,E) Phép kết áp dụng RS Lược đồ kết (A,B,C,D,E)
Và kết rs định nghĩa là:
R.A,R.B,R.C,R.D,S.E((R.B=S.BR.D=S.D(rs))
A B C D E
1 a 1 a 1 a 1 a 2 b
A B C D
1 b 2 a 4 b 1 a 2 b
B D E a
3 a
1 a
2 b
(67)Condition Join
Ký hiệu: r
cs
C: điều kiện tồn thuộc tính RS, lược đồ kết giống phép tích Cartesian Nếu RS điều kiện c tham chiếu
tới thuộc tính này, số thuộc tính phải đổi tên
Đơi cịn gọi Theta join r
s
Nguồn gốc: rcs = c(rs)
(68)Example
A B C
D E
A B C D E 3 1 6
r s
(69)EQUI-JOIN
Nếu phép so sánh “=” phép kết gọi
phép kết – Equi-Join
Ex:
Tên phòng ban tên trưởng phòng phòng ban
A B C
C D
10 12 A B C SC D 6
r s
(70)Một số lưu ý
Giữa quan hệ có nhiều tập thuộc tính kết mang ý
nghĩa khác Vd:
Ex: Tìm tên nhân viên tên phịng ban mà nhân viên làm việc
(?)
Một quan hệ có tập thuộc tính kết để kết với quan
hệ Trong trường hợp này, phải sử dụng phép đổi tên Vd:
Ex: Tìm tên nhân viên tên người giám sát nhân viên (?)
Thuộc tính kết Mối kết hợp
NHANVIEN.MANV=PHONGBAN.TRPHG NHANVIEN quản lý PHONGBAN NHANVIEN.PHG=PHONGBAN.MAPHG NHANVIEN làm việc PHONGBAN
Thuộc tính kết Mối kết hợp
(71)Tập đầy đủ phép toán ĐSQH
Các phép tóan sở: phép chọn, chiếu, hội, giao, trừ, tích Tập hợp {,,,,,} gọi tập đầy đủ phép toán
ĐSQH
Nếu E1 E2 biểu thức ĐSQH, biểu thức sau
cũng biểu thức ĐSQH:
E1 E2 E1 E2 E1 E2
P(E1), với P vị từ (điều kiện) thuộc tính E1 A(E1), với A danh sách thuộc tính E1
(E1), với tên cho quan hệ kết [và thuộc tính]
(72)Phép chia (Division Operator)
Áp dụng cho câu truy vấn có từ “tất cả”
Mục tiêu: Đưa quan hệ, r, cho khớp với
tất quan hệ khác, s
Ký hiệu: r s
Điều kiện: thuộc tính S phải tập thuộc tính
của R, i.e., S R Cho r, s quan hệ tương ứng lược đồ
R, S
R = (A1, A2, …, Am,B1, …, Bn)
S = (B1, …, Bn)
Kết phép chia r s quan hệ lược đồ R-S =
(A1, A2, …, Am)
Kết phép chia bao gồm tập hợp lấy từ r được định
nghĩa thuộc tính R-S cho khớp với việc kết hợp s
r s = {t | t R-S(r) u s : t.u r}
Nghĩa là, r s, với thuộc tính A
1, A2, …, Am, tập hợp chứa
tất t cho với u s, có t.u
(73)Nguồn gốc
Cho quan hệ r(Z), s(X), X Z.
Gọi Y = Z – X (và Z = X Y) Y tập
hợp thuộc tính r khơng thuộc tính s.
Phép chia diễn đạt
phương pháp ĐSQH sở:
t1
(r) t2
(74)Examples A B 1 2 3 1 1 1 3 4 6 1 2 B r s
A B C D E
a a 1 a a 1 a b 1 a a 1 a b 3 a a 1 a b 1 a b 1
D E a b r s A
r
s
A B C
a a
r
s
Ex3: Mã nhân viên tham gia tất đề án
(75)Phép chiếu tổng quát
Mở rộng phép chiếu cách cho phép sử dụng
các hàm số học danh sách chiếu
F1, F2, …, Fk(E)
E biểu thức đại số quan hệ
F1, F2, …, Fk biểu thức số học có liên quan
đến thuộc tính lược đồ E
Ex: Cho quan hệ THETINDUNG(MSTHE,
TRIGIATHE, SOTIENSD) Tìm số tiền cịn lại thẻ:
(76)Các phép toán khác
Hàm kết hợp – Aggregate Functions nhận vào tập hợp giá trị
trả giá trị đơn
Avg (average value): giá trị trung bình Min (minimum value): giá trị nhỏ Max (maximum value): giá trị lớn Sum (sum of values): tính tổng giá trị Count (number of values): đếm số mẫu tin
Phép toán gom nhóm – Grouping ĐSQH:
G1, G2, …, GnF1(A1), F2(A2), …, Fn(An)(E)
E biểu thức đại số quan hệ
Gi tên thuộc tính gom nhóm (có thể khơng có) Fi hàm gom nhóm
(77)Examples
A B C
7 7 3 10
SUM_C 27
r
SUM(C)(r)
Tính số lượng nhân viên
lương trung bình nhân viên
Quan hệ NHANVIEN sau
gom nhóm:
… MANV … LUONG MA_NQL PHG … 123456789 … 30000 333445555 … 333445555 … 40000 888665555 … 666884444 … 38000 333445555 … 453453453 … 25000 333445555 … 999887777 … 25000 987654321 … 987654321 … 43000 888665555 … 987987987 … 25000 987654321 … 888665555 … 55000 null
(78) Số lượng nhân viên lương
trung bình cơng ty:
COUNT_MANV AVG_LUONG 35125
COUNT(MANV),AVG(LUONG)(NHANVIEN)
Số lượng nhân viên lương
trung bình phịng ban, khơng sử dụng phép đổi tên:
PHG COUNT_MANV AVG_LUONG 33250
4 31000 1 55000
PHGCOUNT(MANV),AVG(LUONG)(NHANVIEN)
Số lượng nhân viên lương
trung bình phịng ban, có sử dụng phép đổi tên:
MAPHONG SONV LUONGTB 33250 31000 1 55000
(79)Outer Join
Mở rộng phép kết để tránh mát thông tin
Thực phép kết sau thêm vào kết
phép kết quan hệ mà không phù hợp với quan hệ
hình thức:
(80)Example: HONV TENLOT TENNV TENPHG
Nguyen Thanh Tung Nghien cuu Tran Hong Quang Dieu hanh Pham Van Vinh Quan ly
HONV TENLOT TENNV TENPHG Dinh Ba Tien Null
Nguyen Thanh Tung Nghien cuu Bui Ngoc Hang Null
Le Quynh Nhu Null Nguyen Manh Hung Null Tran Thanh Tam Null
Tran Hong Quang Dieu hanh Pham Van Vinh Quan ly
HONV,TENLOT,TENNV,TENPHG(NHANVIEN MANV=TRPHGPHONGBAN)
(81)Các thao tác cập nhật quan hệ
Nội dung CSDL cập nhật
bằng cách dùng thao tác: Thêm, Xóa, Sửa.
Tất thao tác diễn đạt thơng
qua phép tốn gán:
(82)Thêm (Insertion)
Hoặc nêu cần chèn, viết câu truy
vấn mà kết tập hợp cần chèn
Trong ĐSQH, thao tác chèn diễn đạt sau:
r r E
r quan hệ E biểu thức ĐSQH
Ex: Phân công cho nhân viên 123456789 làm thêm đề
án số 20 với số 10
(83)Xoá (Deletion)
Yêu cầu xóa diễn đạt câu truy vấn, khác chổ, thay
hiển thị kết với người dùng, chọn bị xóa khỏi CSDL
Chỉ xóa tồn bộ, khơng thể xóa vài giá trị
thuộc tính
Thao tác xóa diễn đạt ngơn ngữ ĐSQH sau:
r r – E
r quan hệ E câu truy vấn ĐSQH
Ex1: Xóa tất phân công đề án cho nhân viên 123456789 PHANCONG PHANCONG – (MA_NVIEN=‘123456789’(PHANCONG)) Ex2: Xóa tất phân công đề án mà địa điểm đề án “HA
NOI”
r1 DDIEM_DA=‘HANOI’(PHANCONG SODA=MADADEAN) r2 MA_NV,SODA,THOIGIAN(r1)
(84)Sửa (Updating)
Cơ chế làm thay đổi giá trị mà không làm thay đổi tất
giá trị
Để cập nhật, sử dụng phép chiếu tổng quát hóa sau:
r F1, F2, …, Fn(r)
Mỗi Fi có giá trị trả giá trị cho thuộc tính thứ i r, thuộc tính thứ i
có thể giữ ngun (nếu khơng muốn cập nhật) cập nhật với giá trị
Fi biểu thức, bao gồm thuộc tính r, để đưa giá trị
cho thuộc tính
Có thể biểu diễn chuỗi thao tác xóa thêm Phép
tốn xóa xóa có giá trị cũ phép tốn thêm chén thêm có giá trị
Ex1: Tăng thời gian làm việc tất nhân viên lên 1.5 lần PHANCONG MA_NV,SODA,THOIGIAN*1.5(PHANCONG)
Ex2: Trong quan hệ PHANCONG, nhân viên làm việc 30
tăng thời gian làm việc 1.5 lần, lại tăng thời gian làm việc lần
PHANCONG MA_NV,SODA,THOIGIAN*1.5(THOIGIAN>30(PHANCONG))