You are on page 1of 54

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA HỆ THỐNG THÔNG TIN

Chương 3
ĐẠI SỐ QUAN HỆ

GV: ThS. Hồ Trần Nhật Thủy


Nội dung

1. Giới thiệu
2. Các phép toán cơ bản
3. Các phép toán khác
Database
1. Giới thiệu

§ Đại số quan hệ (ĐSQH)


• Có nền tảng toán học (cụ thể là lý thuyết tập hợp).
• Là một tập hợp các phép toán quan hệ để rút trích dữ
liệu.

§ Chức năng:
• Cho phép mô tả các phép toán rút trích dữ liệu từ các
quan hệ trong cơ sở dữ liệu quan hệ.
• Cho phép tối ưu quá trình rút trích bằng các phép toán
có sẵn của lý thuyết tập hợp.

3
Database
1. Giới thiệu (tt)

§ 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
o Hội ∪ (union)
o Giao ∩ (intersec)
o 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 Tích Cartesian × (Cartesian product)
o Kết (join)
• Phép gán, Đổi tên ←

4
Database
1. Giới thiệu (tt)

§ Biểu thức ĐSQH


• Là chuỗi các phép toán đại số quan hệ
• Kết quả trả về là thể hiện của quan hệ

5
Nội dung

1. Giới thiệu
2. Các phép toán cơ bản
3. Các phép toán khác
Database
2.1 Phép chọn

§ Được dùng để lấy ra các bộ của quan hệ R thỏa điều


kiện chọn P
§ Ký hiệu: σ P ( R)
§ Định nghĩa: σ P ( R ) = { t | t ∈ R ∧ P(t )}
§ Trong đó:
• R là một quan hệ
• P là biểu thức điều kiệ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>

o <phép so sánh> gồm < , > , ≤ , ≥ , ≠ , =


o Các mệnh đề được nối lại nhờ các phép ∧ (AND), ∨(OR), ¬(NOT)

7
Database
Ví dụ phép chọn

§ Cho biết danh sách các học viên nam


• Quan hệ: HOCVIEN
• Thuộc tính: Gioitinh
• Điều kiện: Gioitinh=‘Nam’

σGioitinh=‘Nam’(HOCVIEN)
Mahv HoTen Gioitinh Noisinh Malop
K1103 Ha Duy Lap Nam Nghe An K11
K1102 Tran Ngoc Han Nu Kien Giang K11
K1104 Tran Ngoc Linh Nu Tay Ninh K11
K1105 Tran Minh Long Nam TpHCM K11
K1106 Le Nhat Minh Nam TpHCM K11

8
Database
2.1 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
• Không có kết quả trùng

§ Phép chọn có tính chất giao hoán


σ P1(σ P 2 ( R )) = σ P 2 (σ P1( R )) = σ ( P1∧ P 2) ( R )

9
Database
Ví dụ phép chọn (tt)

§ Tìm những học viên ‘Nam’ có nơi sinh ở ‘TpHCM’


• Quan hệ: HOCVIEN
• Thuộc tính: Gioitinh, Noisinh
• Điều kiện: Gioitinh=‘Nam’ và Noisinh=‘TpHCM’

σ(Gioitinh=‘Nam’)∧(Noisinh=‘TpHCM’)(HOCVIEN)

Mahv HoTen Gioitinh Noisinh Malop


K1103 Ha Duy Lap Nam Nghe An K11
K1102 Tran Ngoc Han Nu Kien Giang K11
K1104 Tran Ngoc Linh Nu Tay Ninh K11
K1105 Tran Minh Long Nam TpHCM K11
K1106 Le Nhat Minh Nam TpHCM K11

10
Database
Ví dụ phép chọn (tt)

1. Liệt kê danh sách các nhân viên làm việc ở phòng số 4


2. Cho biết các nhân viên có lương > 45000 hoặc sinh sau
ngày ‘1/1/1970’
3. 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.

11
Database
2.2 Phép chiếu
§ Được dùng để lấy ra một vài cột (thuộc tính) của quan hệ R
§ Ký hiệu: π A ,A ,...,A ( R )
1 2 k

• Trong đó, Ai là tên các thuộc tính được chiếu

§ Định nghĩa: π A ,A ( R ) = { t[ A1 , A 2 ,..., A k ] | t ∈ R}


1 2 ,...,A k

§ 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
• Các dòng trùng nhau chỉ lấy một
§ Phép chiếu không có tính giao hoán

12
Database
Ví dụ phép chiếu

§ Cho biết mã học viên và họ tên của các học viên


• Quan hệ: HOCVIEN
• Thuộc tính: Mahv, HoTen

π Mahv,HoTen (HOCVIEN)

13
Database
Ví dụ phép chiếu (tt)

1. Liệt kê các ms_nv


2. Liệt kê các ms_da
3. Cho biết mã nhân viên, mã đề
án và nhiệm vụ mà nhân viên
tham gia trong đề án đó.

14
Database
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
o Hằng số
o Thuộc tính trong E

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

15
Database
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
π A1, A2, …, Ak ( σ P (R)) σ (π
P A1, A2, …, Ak (R))

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


o B1: σP (R)

o B2: π A1, A2, …, Ak (Quan hệ kết quả ở B1)

16
Database
Ví dụ kết hợp phép chiếu và phép chọn

§ Tìm mã số, họ tên những học viên ‘Nam’ có nơi sinh ở


‘TpHCM’
π Mahv,Hotenσ(Gioitinh=‘Nam’)∧(Noisinh=‘TpHCM’)(HOCVIEN)

Mahv HoTen Gioitinh Noisinh Malop


K1103 Ha Duy Lap Nam Nghe An K11
K1102 Tran Ngoc Han Nu Kien Giang K11
K1104 Tran Ngoc Linh Nu Tay Ninh K11
K1105 Tran Minh Long Nam TpHCM K11
K1106 Le Nhat Minh Nam TpHCM K11

17
Database
Ví dụ kết hợp phép chiếu và phép chọn

1. Cho biết họ tên, giới tính và mức lương của các nhân
viên của phòng số 5.

2. Cho biết các dự án (MaDA, TenDA) có địa điểm ở Hà


Nội và có ngân sách lớn hơn 10.000.000.

18
Database
2.3 Phép gán – Phép đổi tê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: S← σ P (R)

• B2: KQ ← π A1, A2, …, Ak (S)

R(HOTEN, LG) ← πHOTEN, LUONG(NHANVIEN)

19
Database
Ví dụ

§ Cho biết họ tên nhân viên làm việc ở phòng số 4


• Quan hệ: NHANVIEN
• Thuộc tính: HOTEN
• Điều kiện: PHG=4
§ C1: π HOTEN ( σ PHG=4 (NHANVIEN))

§ C2:
σ
NV_P4 ← PHG=4 (NHANVIEN)

KQ ← π HOTEN (NV_P4)

20
Database
2.4 Phép tích

§ Được dùng để kết hợp các bộ của các quan hệ lại với
nhau

§ Ký hiệu: R × S

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

• Số bộ của Q = Số bộ của R x số bộ của S .

• Số thuộc tính của Q = Số thuộc tính của R + Số thuộc tính


của S.

21
Database
2.4 Phép tích (tt)

§ Ví dụ: HOCVIEN×MONHOC

HOCVIEN MONHOC Mahv Hoten Mamh


Mahv Hoten Mamh K1103 Le Van Tam CTRR
K1103 Le Van Tam CTRR K1103 Le Van Tam THDC
K1114 Tran Ngoc Han THDC K1103 Le Van Tam CTDL
K1203 Le Thanh Hau CTDL K1114 Tran Ngoc Han CTRR
K1114 Tran Ngoc Han THDC
K1114 Tran Ngoc Han CTDL
K1203 Le Thanh Hau CTRR
K1203 Le Thanh Hau THDC
K1203 Le Thanh Hau CTDL

22
Database
2.4 Phép tích (tt)

NHANVIEN PHONGBAN

MANV HOTEN NTNS PHAI PHONG MAPH TENPH TRPH

NV001 Nguyễn Tấn Ðạt 10/12/1970 Nam PH01 PH01 Nghiên cứu NV001

NV002 Trần Ðông Anh 01/08/1981 Nữ PH02 PH02 Điều hành NV002
NV003 Lý Phước Mẫn 02/04/1969 Nam PH01

NHANVIEN X PHONGBAN
MANV HOTEN NTNS PHAI PHONG MAPH TENPH TRPH

NV001 Nguyễn Tấn Đạt 10/12/1970 Nam PH01 PH01 Nghiên cứu NV001
NV001 Nguyễn Tấn Đạt 10/12/1970 Nam PH01 PH02 Điều hành NV002
NV002 Trần Đông Anh 01/08/1981 Nữ PH02 PH01 Nghiên cứu NV001
NV002 Trần Đông Anh 01/08/1981 Nữ PH02 PH02 Điều hành NV002
NV003 Lý Phước Mẫn 02/04/1969 Nam PH01 PH01 Nghiên cứu NV001
NV003 Lý Phước Mẫn 02/04/1969 Nam PH01 PH02 Điều hành NV002

§ Cho biết họ tên nhân viên và tên phòng nhân viên làm
việc
23
Database
2.5 Phép kết

§ Được dùng để tổ hợp 2 bộ có liên quan từ 2 quan hệ


thành 1 bộ thỏa điều kiện nào đó.
§ 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 đó
o Có dạng Ai θ Bj
o Ai là thuộc tính của R, Bj là thuộc tính của S
o Ai và Bj có cùng miền giá trị
o θ là phép so sánh ≠, =, <, >, ≤, ≥

24
Database
2.5 Phép kết (tt)

§ Phân loại
• Kết theta (theta join) là phép kết có điều kiện
o Ký hiệu R CS
o 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)


o Ký hiệu R ∗ S
o R + ∩ Q+ ≠ ∅
o Kết trên tập thuộc tính cùng tên
o Kết quả của phép kết bằng bỏ bớt đi 1 cột giống nhau

25
Database
2.5 Phép kết (tt)

§ Ví dụ phép kết theta

R S
B<D
R A B C S D E A B C D E

1 2 3 3 1 1 2 3 3 1
4 5 6 6 2 1 2 3 6 2
7 8 9 4 5 6 6 2

R C S = σC(R × S)

26
Database
2.5 Phép kết (tt)

§ Ví dụ phép kết bằng

R S
C=D

R A B C S D E A B C D E

1 2 3 3 1 1 2 3 3 1
4 5 6 6 2 4 5 6 6 2
7 8 9

27
Database
2.5 Phép kết (tt)

§ Ví dụ phép kết tự nhiên

R*S

R A B C S C D A B C S. D
C
1 2 3 3 1 1 2 3 3 1
4 5 6 6 2 4 5 6 6 2
7 8 9

A B C D

1 2 3 1
4 5 6 2

28
Database
Ví dụ phép kết
§ Với mỗi phòng ban, cho biết thông tin của người
trưởng phòng PHONGBAN NHANVIEN
TRPHG=MANV
TENPHG MAPHG TRPHG NG_NHANCHUC
Nghien cuu 5 333445555 05/22/1988
Dieu hanh 4 987987987 01/01/1995
Quan ly 1 888665555 06/19/1981

MANV HOTEN NGSINH DIACHI PHAI LUONG PHG


333445555 Nguyen Thanh Tung 12/08/1955 638 NVC Q5 Nam 40000 5
999887777 Bui Ngoc Hang 07/19/1968 332 NTH Q1 Nu 25000 4
987654321 Le Quynh Nhu 06/20/1951 291 HVH QPN Nu 43000 4
987987987 Nguyen Manh Hung 09/15/1962 Ba Ria VT Nam 38000 4

TENPHG MAPHG TRPHG NG_NHANCHUC MANV HOTEN


Nghien cuu 5 333445555 05/22/1988 333445555 Nguyen Thanh Tung
Dieu hanh 4 987987987 01/01/1995 987987987 Nguyen Manh Hung
Quan ly 1 88866555 06/19/1981 888665555 Pham Van Vinh
29
Database
Ví dụ phép kết (tt)

§ 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

NHANVIEN(HOTEN, MANV, …, PHG)


PHONGBAN(TENPHG, MAPHG, TRPHG, NG_NHANCHUC)

KQ ← NHANVIEN PHG=MAPHG
PHONGBAN

KQ(HOTEN, MANV, …, PHG, TENPHG, MAPHG, …)

30
Database
Ví dụ phép kết (tt)

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

PHONGBAN * DDIEMPHG

31
Database
Ví dụ phép kết (tt)

§ Cho biết họ tên của các nhân viên nữ và tên các thân
nhân của họ.

A ← σPHAI = ‘Nu’(NHANVIEN)

B←A THANNHAN
MANV

KQ ← πHOTEN, TENTN B

32
Database
Bài tập
1. Tìm họ tên và địa chỉ của các nhân viên thuộc phòng ‘Nghien
cuu'.
2. Cho biết họ tên nhân viên và tên phòng mà nhân viên đó làm
việc.
3. Cho biết họ tên trưởng phòng và tên phòng mà người đó làm
trưởng phòng.
4. Cho biết những tên phòng có địa điểm ở TPHCM.
5. Cho biết họ tên nhân viên và tên những đề án mà nhân viên đó
đã tham gia.
6. Cho biết họ tên nhân viên có lương hơn lương của nhân viên
‘Nguyen Van A’

R1(LG) ← πLUONG (σHOTEN=‘Nguyen Van A’ (NHANVIEN))


KQ ← πHOTEN (NHAN_VIEN LUONG>LG
R1)

33
Database
Các phép toán tập hợp

§ Các phép toán thực hiện trên 2 quan hệ xuất phát từ lý


thuyết tập hợp của toán học:
• Phép hội R ∪ S
• Phép giao R ∩ S
• Phép trừ R − S
§ Các quan hệ R(A1,A2,…An) và S(B1,B2,…Bn) phải có
tính khả hợp
• Có cùng bậc (cùng số lượng thuộc tính)
• Với mọi i, Dom(Ai) = Dom(Bi)
§ 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)

34
Database
Các phép toán tập hợp (tt)

§ Ví dụ:

NHANVIEN TENNV NGSINH PHAI THANNHAN TENTN NG_SINH PHAITN

Tung 12/08/1955 Nam Trinh 04/05/1986 Nu


Hang 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(NGSINH) = DOM(NG_SINH)
DOM(PHAI) = DOM(PHAITN)

35
Database
2.6 Phép hội (Union)

§ 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ỏ)

R ∪ S = { t / t∈R ∨ t∈S }

§ Ví dụ: Cho biết mã nhân viên có tham gia đề án ‘DA01’


hoặc ‘DA02’
πMANV σMADA=‘DA01’ (PHANCONG) ∪ πMANV σMADA=‘DA02’ (PHANCONG)

36
Database
2.7 Phép giao (intersection)

§ 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ụ: Cho biết mã nhân viên có tham gia đề án ‘DA01’


và ‘DA02’

πMANV σMADA=‘DA01’ (PHANCONG) ∩ πMANV σMADA=‘DA02’ (PHANCONG)

37
Database
2.8 Phép trừ

§ Cho 2 quan hệ R và S khả hợp


§ Phép trừ 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ụ: Cho biết mã nhân viên không tham gia đề án nào

πMANV (NHANVIEN) - πMANV (PHANCONG)

38
Database
Ví dụ phép toán tập hợp

1. Cho biết tên những đề án có nhân viên Nguyen Van


A và Nguyen Van B cùng tham gia.
2. Cho biết họ tên nhân viên không có thân nhân nào.
3. Cho biết họ tên những nhân viên phòng số 5 có tham
gia vào đề án ‘San pham X’ và nhân viên này do
‘Nguyen Thanh Tung’ quản lý trực tiếp.
4. Cho biết họ tên những nhân viên có tham gia đề án
có mã ‘DA01’ mà không tham gia đề án có mã
‘DA02’.

39
Database
2.9 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)
o Z là tập thuộc tính của R, X là tập thuộc tính của S
o 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
R(Z) S(X) T(Y)
o tR(Y) = t
X Y
o tR(X) = tS(X)

40
Database
2.9 Phép chia (tt)

§ Ví dụ:
R÷S

R A B C D E S D E A B C

c a c a 1 a 1 c a e
c a e a 1 b 1 e a e
c a e b 1
d a e a 1
d a e b 3
e a e a 1
e a e b 1
e a d b 1

41
Database
Ví dụ phép chia

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


πMA_NVIEN, MADA(PHANCONG) ÷ πMADA(DEAN)

§ Cho biết các nhân viên (họ tên) tham gia tất cả các đề
án do phòng số 4 phụ trách

A ← πMADA(σPHONG = 4(DEAN))
B ← πMANV, MADA(PHANCONG)
C←B÷A
KQ ← πHOTEN (C MANV NHANVIEN)

42
Nội dung

1. Giới thiệu
2. Các phép toán cơ bản
3. Các phép toán khác
Database
3.1 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
§ Ví dụ:
R A B SUM(B) = 10
1 2 AVG(A) = 1.5
3 4 MIN(A) = 1
1 2 MAX(B) = 4
1 2 COUNT(A) = 4

44
Database
3.2 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:
G1, G2, …, Gn ℑF1(A1), F2(A2), …, Fn(An)(E)

• 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

45
Database
3.2 Phép gom nhóm (tt)

§ Ví dụ:
ℑSUM(C)(R)
SUM_C
R A B C
27
α 2 7
α 4 7
β 2 3
γ 2 10 A ℑSUM(C)(R)
SUM_C

14
3
10

46
Database
3.2 Phép gom nhóm (tt)

§ Ví dụ: Cho biết:


• Số lượng nhân viên trong công ty và lương trung bình

ℑCOUNT(MANV),AVG(LUONG)(NHANVIEN)

• Số lượng nhân viên và lương trung bình của từng phòng

PHGℑCOUNT(MANV),AVG(LUONG)(NHANVIEN)
• Cho biết tổng số đề án mà mỗi nhân viên đã tham gia

MANVℑCOUNT(MADA)(PHANCONG)

47
Database
3.3 Phép kết ngoài (mở rộng)

§ 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 dạng
• Left outer join (Mở rộng bên trái) R p S
• Right outer join (Mở rộng bên phải) R p S
• Full outer join (Mở rộng 2 bên) R p S

48
Database
3.3 Phép kết ngoài (tt)

§ Phép kết mở rộng trái:


• Giữ lại tất cả các bộ của quan hệ ở bên trái phép toán kết mà
không liên kết được với bộ nào của quan hệ bên phải.

R A B C
A B C D E
a a 1
a a 1 2 7
a b 5
a a 1 12 3
b b 15
R C<D S a b 5 12 3
b b 15 null null
S D E
1 7
2 7
12 3

49
Database
3.3 Phép kết ngoài (tt)

§ Phép kết mở rộng phải:


• Giữ lại tất cả các bộ của quan hệ ở bên phải phép toán kết
mà không liên kết được với bộ nào của quan hệ bên trái.

R A B C
A B C D E
a a 1
a b 5 1 7
a b 5
a b 5 2 7
b b 15
R C>D S b b 15 1 7
b b 15 2 7
S D E null null null 20 3
1 7
2 7
20 3

50
Database
3.3 Phép kết ngoài (tt)

§ Phép kết mở rộng 2 phía:


• Giữ lại tất cả các bộ của từng quan hệ ở hai bên phép toán
kết mà không liên kết được với bộ nào của quan hệ còn lại.

R A B C
A B C D E
a a 1
a a 1 1 7
a b 2
a b 2 2 7
b b 15 R S
C=D
b b 15 null null
null null null 20 3
S D E
1 7
2 7
20 3

51
Database
Ví dụ

§ Cho biết họ tên nhân viên và tên phòng ban mà họ làm


trưởng phòng nếu có

π HOTEN, TENPHG (NHANVIEN


MANV=TRPHG
PHONGBAN)

HOTEN TENPHG
Nguyen Thanh Tung Nghien cuu
Bui Ngoc Hang Null
Le Quynh Nhu Null
Pham Van Vinh Quan ly

§ Cho biết họ tên nhân viên (HOTEN) và tên các đề án


mà nhân viên ấy tham gia nếu có.

52
Database
Tổng kết

§ Đại số quan hệ là một tập hợp các phép toán để ánh


xạ quan hệ thành quan hệ.

§ Các phép toán cơ sở gồm: σ, π, ×, ∪, −

§ Các phép toán khác định nghĩa trên các phép toán cơ
sở: ∩, , ÷

53
Database
Lược đồ CSDL Quản lý dự án công ty
§ PHONGBAN(TENPHG, MAPHG, TRPHG, NGAY_NHANCHUC)
Mỗi phòng ban có một mã phòng ban duy nhất để phân biệt với phòng ban khác, có tên phòng
ban, do một nhân viên làm trưởng phòng và có ngày nhận chức của người trưởng phòng đó.
§ NHANVIEN(HOTEN, MANV, NGSINH, DCHI, PHAI, CVU, LUONG, MA_NQL, PHG)
Mỗi nhân viên của công ty có một họ, tên lót, tên, lương, địa chỉ, điện thoại, phái và có một mã
nhân viên duy nhất để phân biệt với các nhân viên khác. Một nhân viên có một người quản lý
trực tiếp và làm việc cho một phòng ban nào đó.
§ DIADIEM_PHG(MAPHG, DIADIEM)
Một phòng ban có thể ở nhiều địa điểm và một địa điểm có thể có nhiều phòng ban tọa lạc.
§ THANNHAN(MANV, TENTN, PHAI, NGSINH, QUANHE)
Mỗi thân nhân là một người thân của một nhân viên nào đó. Một nhân viên có thể có nhiều thân
nhân. Thân nhân có tên, phái, ngày sinh và mô tả mối quan hệ với nhân viên.
§ DEAN(TENDA, MADA, DDIEM_DA, PHONG, NSACH)
Một đề án có tên và một mã đề án duy nhất để phân biệt với đề án khác. Đề án do một phòng
ban chịu trách nhiệm chủ trì và diễn ra ở một địa điểm nào đó.
§ PHANCONG(MANV, MADA, THOIGIAN)
Một nhân viên được phân công làm nhiều đề án và một đề án có thể có nhiều nhân viên tham
gia. Nhân viên tham gia đề án với 1 khoảng thời gian nào đó trong tuần.

54