Professional Documents
Culture Documents
1.3.1. NGÔN NGỮ THAO TÁC DỮ LIỆU
1.3.1. NGÔN NGỮ THAO TÁC DỮ LIỆU
3: NGÔN NGỮ
THAO TÁC DỮ LIỆU
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
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 5
1.3.1. Đạ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 6
Đạ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ệ
Bậc n=3
DOM(TENNV) = DOM(TENTN)
DOM(NGSINH) = DOM(NG_SINH)
DOM(PHAI) = DOM(PHAITN)
1 2 1
2 3 2
1 1
2
3
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 11
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 / tR tS }
Ví dụ
R A B S A B RS A B
1 2 2
2 3
1
R S = { t / tR tS }
Ví dụ
S A B RS A B
R A B
2 1
1
3 1
2
1
RS=SR
RS=SR
Kết hợp
R (S T) = (R S) T
R (S T) = (R S) T
Ví dụ
(A=B)(D>5) (R)
R: (A=B)(D>5)
R A B C D
1 7
A B C D
5 7
12 3 1 7
23 10 23 10
(
p1 p2 (R)) = (
p2 p1 (R)) = p1 p2 (R)
10 1 1
20 1 A,C (R) 1
30 1 1
40 2 R.{A,C} 2
X,Y (R) = (
X Y (R))
(
A1, A2, …, An A1, A2, …, Am (R)) = A1, A2, …, An (R) , với n m
HONV,TENNV,LUONG (NHANVIEN)
NHANVIEN.{HONV,TENNV,LUONG}
Ví dụ
- B1 S P (R)
- Thuộc tính
X, C, D (R) : Đổi tên thuộc tính B thành X
S(X,C,D)(R)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 29
30
Ví dụ 4
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
1 A B X C D
2 1 10 +
1 10 +
1 20 -
S B
X C D 1 10 -
10 + 2 10 +
10 + 2 10 +
20 - 2 20 -
10 - 2 10 -
(X,C,D) (S)
R A B
RS A R.B S.B C D
1
2 1 10 +
1 10 +
1 20 -
S B C D 1 10 -
2 10 +
10 +
2 10 +
10 +
2 20 -
20 -
2 10 -
10 -
1 10 + 1 10 +
1 10 + 2 10 +
1 20 - 2 20 -
1 10 -
2 10 +
2 10 +
2 20 -
2 10 -
38
Ví dụ 5 (tt)
B1: Tích Cartesian PHONGBAN và NHANVIEN
PB_NV (NHANVIEN PHONGBAN)
TENPHG MAPHG TRPHG NG_NHANCHUC MANV TENNV HONV …
s
Ví dụ 5 (tt)
ở B2: Chọn ra những bộ thỏa TRPHG=MANV
d
ữ
KQ TRPHG=MANV(PB_NV)
l TENPHG MAPHG TRPHG NG_NHANCHUC MANV TENNV HONV …
i
Nghien cuu 5 333445555 05/22/1988 333445555 Tung Nguyen …
ệ
Dieu hanh 4 987987987 01/01/1995 987987987 Hung Nguyen …
u
Quan ly 1 888665555 06/19/1981 888665555 Vinh Pham …
K
h
o
a
C
N
T
T 40
Ví dụ 6
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 Phòng nào có địa điểm nằm
địa điểm nào? trong trong tập hợp đó?
1 TP HCM 1 TP HCM
4 HA NOI 4 HA NOI
5 VUNGTAU 5 VUNGTAU
5 NHATRANG 5 NHATRANG
5 TP HCM 5 TP HCM
MAPHG DIADIEM DD
1 TP HCM
VUNGTAU
4 HA NOI
NHATRANG
5 VUNGTAU
TP HCM
5 NHATRANG
5 TP HCM
R1 MAPHG5 (DIADIEM_PHG)
R1
MAPHG DIADIEM
MAPHG DIADIEM
1 TP HCM
1 TP HCM
4 HA NOI
4 HA NOI
5 VUNGTAU
5 NHATRANG
5 TP HCM
43
Ví dụ 6 (tt)
B2: Lấy ra các phòng có cùng địa điểm với DD_P5
R2 DIADIEM=DD (R1 DD_P5)
R1 DD_P5(DD) R1 DD_P5
R2
MAPHG DIADIEM DD
1 TP HCM TP HCM
44
C
ơ
s
Ví dụ 6 (tt)
ở B2: Lấy ra các phòng có cùng địa điểm với DD_P5
d
ữ KQ MAPHG (R2)
l
i R2 KQ
ệ
MAPHG DIADIEM DD MAPHG
u
1 TP HCM TP HCM 1
-
K
h
o
a
C
N
T
T 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
R B<D S
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 = (R S)
C
1 2 3 3 1 1 2 3 3 1
4 5 6 6 2 4 5 6 6 2
7 8 9
R C=S.C S
R A B C S S.C
C D A B C S.C D
1 2 3 3 1 1 2 3 3 1
4 5 6 6 2 4 5 6 6 2
7 8 9
(S.C,D) S
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
R S
R A B C S C D AA BB C C S.CD D
1 2 3 3 1 11 22 33 31 1
4 5 6 6 2 44 55 66 62 2
7 8 9
52
Ví dụ 7
R1(LG) LUONG (TENNV=‘Tung’ (NHANVIEN))
TENNV=‘Tung’ (NHANVIEN)
MANV TENNV HONV NGSINH DCHI PHAI LUONG PHG
R1(LG)
LG
40000
53
C
ơ
s
Ví dụ 7
ở MANV TENNV HONV NGSINH DCHI PHAI LUONG PHG
K
KQ NHAN_VIEN LUONG>LG R1
h
o MANV TENNV HONV NGSINH DCHI PHAI LUONG PHG LG
a
987654321 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4 40000
C
N
T KQ(HONV, TENNV, MANV, …, LUONG, LG)
T 54
Ví dụ 8
DDIEM_PHG(MAPHG, DIADIEM)
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
R A B C D E S D E A B C
a a 1 a 1 a
a a 1 b 1 a
a b 1
a a 1
a b 3 Kết quả của phép chia là một quan hệ T(Y)
a a 1 Với Y=Z-X
a b 1 Có t là một bộ của T nếu với mọi bộ
a b 1 tSS, tồn tại bộ tRR thỏa 2 điều kiện
tR(Y) = t
tR(X) = tS(X)
Q3 Y(Q2 R)
T Q1 Q3
s
Ví dụ 10 R1(MANV,MADA)
ở
s
Ví dụ 10
ở
R1(MANV,MADA) R2(MADA)
d
ữ MANV MADA MADA
123454 D12344 D12344
l 657345 D54478 D54478
i 876443 D84678 D84678
ệ 657345 D12344
u 876443 D12344
657345 D84678
-
R1(MANV,MADA) R2(MADA)
K
h MANV
o 657345
a
C
N
T
T 63
Ví dụ 11
65
1.Lập danh sách các sinh viên lớp có mã lớp là CDTH2A, danh
sách cần MASV,HOTENSV
2.Lập danh sách sinh viên nữ và có mã khoa là “CNTT”, danh
sách cần MASV, HOTENSV.
3.Lập bảng điểm thi lần 1 của tất cả các môn cho sinh viên lớp
CDTH2A, danh sách cần MASV, HOTENSV, TENMH, DIEMTHI.
4.Lập phiếu điểm thi lần 1 các môn cho sinh viên có
MASV=”00CDTH189”. danh sách cần MAMH,TENMH, DONVIHT,
DIEMTHI.
66