Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 51

BÀI 2.

CƠ SỞ DỮ LIỆU QUAN HỆ

NỘI DUNG:
2.1. MỘT SỐ KHÁI NIỆM VÀ ĐỊNH NGHĨA
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

2.2. NGÔN NGỮ ĐẠI SỐ QUAN HỆ

GV: Lê Văn Trung


Bộ môn: Hệ thống thông tin 1

Khoa CNTT, Đại học Công nghệ TP.HCM


2.1. MỘT SỐ KHÁI NIỆM VÀ ĐỊNH NGHĨA

1. Khái niệm mô hình quan hệ

Một hệ thống các ký hiệu để mô tả dữ liệu dưới


dạng dòng và cột như quan hệ, bộ, thuộc
tính, khóa chính, khoá ngoại, ...
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

Một tập hợp các phép toán thao tác trên dữ liệu
như phép toán tập hợp, phép toán quan hệ.
2
Ràng buộc toàn vẹn quan hệ.
2.1. MỘT SỐ KHÁI NIỆM VÀ ĐỊNH NGHĨA (1)

Tại sao phải dùng mô hình quan


hệ ?  Giảm dư thừa về dữ liệu
 Giảm hay loại trừ các kết quả không

mong muốn khi cập nhật CSDL


Bộ môn: HTTT- ĐH Công nghệ TP.HCM

3
2.1. MỘT SỐ KHÁI NIỆM VÀ ĐỊNH NGHĨA (1)


dụ MASV HOTENH MH TENKHOA DIEMTHI

99001 TRAN DAN THU CSDL CNTT 3.0

99002 NGUYEN HA DA THAO CSDL CNTT 8.0

99001 TRAN DAN THU THVP CNTT 6.0


Bộ môn: HTTT- ĐH Công nghệ TP.HCM

99005 LE THANH TRUNG THVP ANH VAN 5.0

 Gây ra tình trạng dữ liệu thiếu nhất quán

4
2.1. MỘT SỐ KHÁI NIỆM VÀ ĐỊNH NGHĨA (1)

• Cách khắc phục: phân rã dữ liệu


KETQUA SINHVIEN
MASV MAMH DIEM THI MASV HOTEN
99001 CSDL 3.0 99001 TRAN DAN THU
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

99002 CSDL 8.0 99002 NGUYEN HA DA THAO

99001 THVP 6.0 99005 LE THANH TRUNG

99005 THVP 5.0

5
2.1. MỘT SỐ KHÁI NIỆM VÀ ĐỊNH NGHĨA (1)

• Cách khắc phục: phân rã dữ liệu


MONHOC KHOA
MAKHO TENKHOA
MAMH TENMH SOTIET A

CO SO DU CONG NGHE
CSDL 90 CNTT
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

LIEU THONG TIN

TIN HOC
THVP 90 AV ANH VAN
VAN
PHONG

6
2.1. MỘT SỐ KHÁI NIỆM VÀ ĐỊNH NGHĨA (2)

2. Thuộc tính (Attribute)


 Thuộc tính là các đặc trưng riêng
biệt của đối tượng.
 Một thuộc tính cần có: kiểu dữ liệu
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

của thuộc tính và miền giá trị của


thuộc tính.
 Ví dụ : HoTen,NgaySinh, Phai …
7
2. Thuộc tính (Attribute)

 Kiểu dữ liệu của thuộc tính : số, chuỗi,


ngày tháng, logic, hình ảnh,…
 Miền giá trị : mỗi thuộc tính chỉ chọn
lấy giá trị trong một tập con của kiểu dữ
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

liệu.
Ví dụ : DIEMTHI kiểu số nguyên từ
0 đến 10
8
3. Lược đồ quan hệ (Relation Schema)

 Lược đồ quan hệ: là tập tất cả các thuộc tính cần


quản
lý của một đối tượng cùng với các mối liên hệ giữa
chúng.
Ký hiệu : Q(A1,A2,...,An)
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

Trong đó Q là lược đồ quan hệ với tập thuộc tính


{A1,A2,...,An}
 Tập các thuộc tính của Q được ký hiệu là Q+.
 Số thuộc tính của 1 LĐQH là gọi là số ngôi của LĐQH, ký
hiệu: Card(Q+).
9
 Ví dụ : SV(MASV,HOSV,TenSV,Phai, Ngaysinh, Malop, Hocbong,Tinh)
3. Lược đồ quan hệ (Relation Schema)

Một Tân từ, Ký hiệu:||Q||, dùng mô tả ý nghĩa của


LĐQH, các quy tắc, qui định giá trị và sự liên hệ của các
thuộc tính.

SV(Masv, HoTen, Phai, Ngaysinh, Malop, Hocbong,Tinh)


Bộ môn: HTTT- ĐH Công nghệ TP.HCM

Dựa vào tân từ người ta xác định khóa của lược đồ quan hệ
VD: Tân từ của lược đồ quan hệ Sinh viên ở trên là: "mỗi sinh viên
có một mã sinh viên (Masv) duy nhất, mỗi mã sinh viên xác định tất cả
các thuộc tính của sinh viên đó như họ tên (Hoten), phái (Phai) ,ngày
sinh (Ngaysinh), lớp theo học (Malop), học bổng (Hocbong), tỉnh
(Tinh)
10
3. Lược đồ quan hệ (Relation Schema)

Một lược đồ cơ sở dữ liệu : là nhiều lược đồ quan hệ


cùng nằm trong một hệ thống quản lý

Ví dụ :
Lược đồ CSDL dùng để quản lý điểm của các sinh viên có thể
bao gồm các quan hệ Sv, Lop, Kh, Mh, Kq:
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

Sv(MASV, HOTEN, NGAYSINH, MALOP, HOCBONG, TINH);

Tân từ: Mỗi sinh viên có mỗi MASV duy nhất. Mỗi MASV

xác
đnịh tất cả các thuộc tính còn lại của sinh viên đó. 11
3. Lược đồ quan hệ (Relation Schema)

Lop(MALOP, TENLOP,MAKHOA)
Tân từ: Mỗi lớp có một ma lớp duy nhất, một mã lớp xác
định tên lớp, một khoa mà sinh viên đang theo học.
Kh(MAKHOA,TENKHOA, DIENTHOAI)
Tân từ: Mỗi khoa có mỗi MAKHOA duy nhất. Mỗi
MAKHOA xác định tất cả các thuộc tính còn lại của khoa
đó.
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

Mh(MAMH, TENMH, SOTIET)


Tân từ: Môi Môn học có một MAMH duy nhất. Mỗi
MAMH xác định tất cả các thuộc tính còn lại của môn học
đó.
Kq(MASV, MAMH, DIEMTHI)
Tân từ: Mỗi sinh viên cùng với một môn học xác định duy
nhất một điểm thi
12
4.Quan hệ (Relation)

Quan hệ là Sự thể hiện của lược đồ


quan hệ Q ở một thời điểm nào
Một lược đồ quan hệ có thể định nghĩa
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

rất nhiều quan hệ.


Ký hiệu : Q,R,S :lược đồ quan hệ
q,r,s : là quan hệ
13
4.Quan hệ (Relation)
Ví dụ : có 2 quan hệ khoa1 và khoa2
MAKHO
TÊNKHOA DTHOAI MAKHOA TÊNKHOA DTHOAI
A
Công Nghệ Công Nghệ
CNTT 8110775 CNTT 8110775
Thông Tin Thông Tin

D Điện 8116819 D Điện 8116819


DT Điện tử 8116877
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

DT Điện tử 8116877
DL Điện lạnh
DL Điện lạnh
OTO Động lực 8111215
OTO Động lực 8111215 CK Cơ khí
CK Cơ khí Khoa học cơ
KHCB
bản
Khoa học cơ
KHCB CNM Công nghệ may
bản
14
5. Bộ (Tuple)

 Bộ là tập mỗi giá trị liên quan của tất cả


các thuộc tính của một lược đồ quan hệ.
 Ví dụ : 2 quan hệ trên khóa1 có 7 bộ và
khóa2
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

có 8 bộ

15
6. Siêu khóa & Khóa (của một loại quan hệ):

 Siêu Khóa (Super Key): Tập thuộc tính mà giá trị của nó dùng
để phân biệt bộ này với bộ khác trong cùng một quan hệ.
Ví dụ: KhachHang(MSKH, TenKH, DiaChi,
SoDT)
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

có các siêu khóa: S1={MSKH},


S2={MSKH,TenKH}, S3 = {MSKH,DiaChi},
S4={MSKH,TenKH,DiaChi},…
16
6. Siêu khóa & Khóa (của một loại quan hệ):

Khóa chính (primary Key):


Là một siêu khóa tối tiểu không chứa bất kỳ một siêu
khóa nào
Ví dụ: K={MSKH}

Khóa ngoại (Foreign key) :


Một thuộc tính gọi là khóa ngoại nếu nó là thuộc tính của 1 lđqh này
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

và khóa chính của 1 lđqh kia

Ví dụ : Lop(MALOP, TENLOP,MAKHOA)
Kh(MAKHOA,TENKHOA, DIENTHOAI)

 LOP: Khóa ngoại: MAKHOA


17
Những điều lưu ý về khóa

* Khóa không do chủ quan của người cài đặt mà do qui tắc
quản lý quyết định.
* Không phải tất cả các thuộc tính có tên Mã số là tham gia
vào khóa mà chỉ có thể là khóa ngoại (hay khóa của một
loại quan hệ khác).
* Bất cứ loại quan hệ nào cũng có ít nhất là 1 khóa.
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

* Khóa của loại quan hệ là tập thuộc tính còn khóa của 1 quan
hệ là tập các giá trị thể hiện của quan hệ đó trên tập thuộc
tính khóa.
* Cách tìm khóa dựa vào: Qui tắc quản lý (tân từ), dựa vào
2 bộ với các giá trị không thể trùng nhau (vì
trùng nhau buộc các giá trị khác phải trùng nhau tức 2 bộ là
một)
18
2.2: Ngôn ngữ đại số quan hệ

1. Các phép toán tập hợp


2. Các phép toán quan
hệ
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

3. Bài tập áp dụng

19
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) để mô hình hóa CSDL quan hệ.
Đối tượng xử lý là các quan hệ trong cơ sở dữ liệu
quan hệ.
 Chức năng:
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

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

20
2.2.1 Các phép toán tập
hợp
2.2.1.1 Phép hội
2.2.1.2 Phép giao
2.2.1.3 Phép
hiệu
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

2.2.1.4 Phép tích


2.2.1.5 Phép bù

21
Giới thiệu

 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), phép tích
(RS).
 Đối với các phép hội, giao, trừ, các quan hệ
R và S phải khả hợp:
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

 Số lượng thuộc tính của R và S phải


bằng nhau: R(A1,A2,…An) và S(B1,B2,
…Bn)
 Miền giá trị của thuộc tính phải tương
thích dom(Ai)=dom(Bi)
 Quan hệ kết quả của phép hội, giao, trừ có 22

cùng tên thuộc tính với quan hệ đầu tiên.


2.2.1.1 Phép hội (Union)

 Ký hiệu: RS
 Định nghĩa: RS {t|tRtS} trong đó R,S là
hai quan hệ khả hợp.
 Ví dụ: Học viên được khen thưởng đợt 1 hoặc đợt 2
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

DOT1 DOT2 Mahv Hoten


Mahv Hoten Mahv Hoten K1101 Le Kieu My
K1103 Le Van Tam K1101 Le Kieu My K1103 Le Van Tam
K1114 Tran Ngoc Han K1114 Tran Ngoc Han K1114 Tran Ngoc Han
K1203 Le Thanh Hau K1203 Le Thanh Hau
K1308 Nguyen Gia K1308 Nguyen Gia

DOT1DOT2
23
2.2.1.2 Phép giao (Intersection)

 Ký hiệu: RS
 Định nghĩa: RS {t|tRtS} trong đó R,S là
hai quan hệ khả hợp. Hoặc RS = R – (R – S)
 Ví dụ: Học viên được khen thưởng cả hai đợt 1 và 2
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

KT_D1 KT_D2 Mahv Hoten


Mahv Hoten Mahv Hoten K1114 Tran Ngoc Han
K1103 Le Van Tam K1101 Le Kieu My
K1114 Tran Ngoc Han K1114 Tran Ngoc Han
K1203 Le Thanh Hau
DOT1 DOT2
K1308 Nguyen Gia

24
2.2.1.3 Phép trừ (MINUS)

 Ký hiệu: R-S
 Định nghĩa: RS {t|tR  tS} trong đó R,S là
hai quan hệ khả hợp.
 Ví dụ: Học viên được khen thưởng
đợt 1 nhưng không được khen thưởng đợt 2
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

DOT1 DOT2 Mahv Hoten


Mahv Hoten Mahv Hoten K1103 Le Van Tam
K1103 Le Van Tam K1101 Le Kieu My K1203 Le Thanh Hau
K1114 Tran Ngoc Han K1114 Tran Ngoc Han K1308 Nguyen Gia
K1203 Le Thanh Hau
DOT1- DOT2
K1308 Nguyen Gia
25
2.2.1.4 Phép tích Descartes (1)

 Ký hiệu: RS
 Định nghĩa: RS {t t /t R t S}
r s r s
 Nếu R có n bộ và S có m bộ thì kết quả là n*m bộ
KQ(A1,A2,…Am,B1,B2,…Bn)  R(A1,A2,…Am)  S(B1,B2,…Bn)
 Phép tích thường dùng kết hợp với
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

các phép chọn để kết hợp các bộ có liên quan từ


hai quan hệ.
 Ví dụ: từ hai quan hệ HOCVIEN và MONHOC, có
tất cả những trường hợp nào “học viên đăng ký học
môn học”, giả sử không có bất kỳ điều kiện nào 26
2.2.1.4 Phép tích Descartes(2)

HOCVIEN MONHOC Mahv Hoten Mamh


Mahv Hoten Mamh K1103 Le Van Tam CTRR
K1103 Le Van Tam CTRR K1114 Tran Ngoc Han CTRR
K1114 Tran Ngoc Han THDC K1203 Le Thanh Hau CTRR
K1203 Le Thanh Hau CTDL K1103 Le Van Tam THDC
K1114 Tran Ngoc Han THDC
K1203 Le Thanh Hau THDC
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

K1103 Le Van Tam CTDL


K1114 Tran Ngoc Han CTDL
K1203 Le Thanh Hau CTDL

HOCVIENMONHOC

27
2.2.1.5 Phép bù(COMPLEMENT)
Ký hiệu: MGThh(Ai); !Q
Bộ môn: HTTT- ĐH Công nghệ TP.HCM
28
2.2.2. Các phép toán trên quan
hệ
2.2.2.1 Phép chiếu
2.2.2.2 Phép chọn
2.2.2.3 Phép kết
2.2.2.4 Phép chia
2.2.2.5 Phép gán
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

2.2.2.6 Hàm tính toán và gom nhóm

29
2.2.2.1 Phép chiếu (Project)

 Sử dụng để trích chọn giá trị một vài


thuộc tính của quan hệ
 Ký hiệu:

trong đó X là tên các thuộc tính được chiếu.


Bộ môn: HTTT- ĐH Công nghệ TP.HCM

 Kết quả trả về một quan hệ có k thuộc


tính theo thứ tự như liệt kê. Các dòng trùng nhau
chỉ lấy một.
 Phép chiếu không có tính giao hoán
30
Ví dụ

 Ví dụ: SinhVien(MSSV, MSLop,


HoTen, NgaySinh, Phai)
Câu hỏi: Liệt kê danh sách sinh viên gồm
các
thông tin: MSSV, HoTen
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

MSSV,HoTen (SinhVien)
Hoặc
SinhVien[MSSV,HoTen]
31
2.2.2.2 Phép chọn
(Selection)
 Trích chọn các bộ (dòng) từ quan hệ Q. Các
bộ được trích chọn phải thỏa mãn điều kiện chọn E.
 Ký hiệu: Q' = E(Q) hoặc Q' = Q: E
 Định nghĩa: TQ’= { q' / q'  Q và q' thỏa E}
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

Kết quả trả về là một quan hệ, có cùng danh sách


thuộc
tính với quan hệ Q. Không có kết quả trùng.

32
Ví dụ phép chọn(1)

 Ví dụ 1: Chọn trên quan hệ SinhVien(MSSV,


MSLop, HoTen, NgaySinh, Phai), tìm
những sinh viên sinh trước năm 1975.
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

Ngaysinh< ‘1/1/1975’(SinhVien)
Hoặc
(SinhVien): (Ngaysinh< ‘1/1/1975’ )
33
Ví dụ phép chọn(2)

 Ví dụ 2: KetQuaHT(MSSV, MSMon,
HocKy, DiemL1,DiemL2)
Chọn ra những học sinh có điểm thi lần 1 hoặc
điểm thi lần 2 lớn hơn 8.
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

E = (DiemL1 >8) OR (DiemL2 >8)


TQ'=(E)(KetQuaHT)
Hoặc
TQ’ = (KetQuaHT):((DiemL1>8)OR(DiemL2>8))
34
2.2.2.3 Phép kết (Join) (1)

 Định nghĩa: Cho 2 lược đồ quan hệ


Q1(A1,...,An) và Q2(B1,..,Bm) có Dom(Ai) =
Dom(Bj),  là 1 phép so sánh trên miền giá trị của
Ai. Phép kết Theta () giữa Q1 và Q2 dựa trên
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

Ai và Bj sẽ tạo thành một lược đồ quan hệ Q3


có:
Tập thuộc tính bằng tập thuộc tính của
tích Descartes Q1xQ2 và
Chứa các bộ thỏa điều kiện so sách Ai 
Bj. 35
2.2.2.3 Phép kết (Join) (2)

 Nghĩa là: Q3 = (Q1 x Q2): Ai  Bj = { (q1,q2) / q1


 Q1, q2Q2, q1.Ai  q2.Bj }
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

36
Ví dụ phép kết

Ví dụ 1: Giả sử có hai lược đồ Q1(ABC) và


Q2(DE). Xác định quan hệ kết dựa trên 2 quan hệ
TQ1, TQ2 với phép so sánh là ‘ >= ‘ dựa trên 2
thuộc tính B và D (D>=B)
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

R A B C S D E

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

37
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

Ví dụ phép kết
38
Các trường hợp đặc biệt(1)

 Kết bằng: Nếu  là phép so sánh bằng (=), phép


kết gọi là phép kết bằng (equi-join).
MahvTrglop
Ký hiệu: HOCVIEN ⊳⊲ LOP
 Nếu điều kiện của equi-join là các
thuộc tính giống nhau thì gọi là phép kết tự nhiên
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

(natural-join). Khi đó kết quả của phép kết loại bỏ


bớt 1 cột (bỏ 1 trong 2 cột giống nhau)
Mahv
Ký hiệu: HOCVIEN hoặc
H O C V I E N * K E T Q U AT H I
39
Các trường hợp đặc biệt(2)

 Kết trái(Left outer join) Q3= Q1 |>< Q2


Là phép kết nối ưu tiên lấy hết các dòng dữ
liệu
từ table bên trái, các dòng dữ liệu tương ứng
của table bên phải nếu không có thì được nhận
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

giá trị NULL

Ví dụ: In ra danh sách tất cả các học viên và điểm số


của các môn học mà học viên đó thi (nếu có)
40
Các trường hợp đặc biệt(3)
mahv
 HOCVIEN |>< KETQUATH HOCVIEN
I Mahv Hoten
Mahv Hoten Mahv Mamh Diem HV01 Nguyen Van Lan
HV01 Nguyen Van Lan HV01 CSDL 7.0 HV02 Tran Hong Son
HV01 Nguyen Van Lan HV01 CTRR 8.5 HV03 Nguyen Le
HV02 Tran Hong Son HV02 CSDL 8.5 HV04 Le Minh
HV03 Nguyen Le HV03 CTRR 9.0
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

HV04 Le Minh Null Null Null KETQUATHI


Mahv Mamh Diem
HV01 CSDL 7.0
HV02 CSDL 8.5
HV01 CTRR 8.5
HV03 CTRR 9.0
41
Các trường hợp đặc biệt(4)

 Kết phải: Là phép kết nối ưu tiên bên phải,


table kết quả sẽ lấy hết các dòng của table bên
phải của phép kết nối. Sau đó các dòng tương
ứng của table bên trái sẽ được lấy, nếu dòng
nào không có giá trị sẽ nhận giá trị NULL.
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

 Ký hiệu: Q3= Q1 ><| Q2

42
2.2.2.4 Phép chia (Division)

 Định nghĩa: Cho 2 lược đồ quan hệ


Q1(A1,A2,..,Ap,Ap+1,..,An) và Q2(A1,A2,..,Ap), Q2+  Q1+.
Phép chia Q1 cho Q2 sẽ tạo thành 1 lược đồ quan hệ
Q3(Ap+1,..,An) chứa các bộ mà khi ghép nối những bộ đó với
các bộ của Q2 sẽ cho ra 1 bộ của Q1.
 Q3 = {q / q2Q2, q1Q1, q = q1.Q 3+ và q2 = q1.Q 2+ }
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

 Ký hiệu: Q3 = Q1  Q2
Q1 Q2 Q3
X Y

43
2.2.2.4 Phép chia(2)

 Ví dụ RS

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
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

 a  a 1
 a  b 3
 a  a 1
 a  b 1
 a  b 1

44
2.2.2.4 Phép chia (3)

 Ví dụ: Chọn ra những sinh viên cùng có điểm môn CSDL là 8 và


điểm
CTDL là 7.
 Q3 = KetQuaHT  Q2
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

Mssv
01
MONHOC
03

KETQUAHTQ2

45
2.2.2.4 Phép chia (4)

 Ví dụ: Cho biết mã học viên thi tất cả các môn học
 Quan hệ: KETQUA, MON HOC
 Thuộc tính: MAHV
KETQUATHI MONHOC Mahv
Mahv Mamh Diem Mamh Tenmh HV01
HV01 CSDL 7.0 CSDL Co so du lieu HV03
HV02 CSDL 8.5 CTRR Cau truc roi rac
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

HV01 CTRR 8.5 THDC Tin hoc dai cuong KETQUAMONHOC


HV03 CTRR 9.0
HV01 THDC 7.0
MONHOC
HV02 THDC 5.0
KETQUA  KETQUATHI[Mahv,
HV03 THDC 7.5
HV03 CSDL 6.0 Mamh] MONHOC 
MONHOC[Mamh] 46
KETQUA
2.2.2.5 Phép gán
(Assignment)
 Dùng để diễn tả câu truy vấn phức tạp.
 Ký hiệu: A  B
 Ví dụ:
R(HO,TEN,LUONG) HONV,TENNV,LUONG(NHANVIEN)
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

 Kết quả bên phải của phép gán được


gán cho biến quan hệ nằm bên trái.

47
2.2.2.6 Hàm tính toán và gom
nhóm (1)
 Hàm tính toán gồm các hàm:
avg(giatri), min(giatri), max(giatri), sum(giatri),
count(giatri).
 Phép toán gom nhóm:
G1 ,G2 ,...,Gn  F1 ( A1 ),F2 ( A2 ),...,Fn ( An (E)
)
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

 E là biểu thức đại số quan hệ


 Gi là thuộc tính gom nhóm (rỗng, nếu không gom nhóm)
 Fi là hàm tính toán
 Ai là tên thuộc tính

48
2.2.2.6 Hàm tính toán và gom
nhóm (2)
KETQUATHI (MAHV, MAMH, LANTHI, NGTHI, DIEM, KQUA)
 Điểm thi cao nhất, thấp nhất, trung bình
của môn CSDL ?

 max(Diem),min(Diem),agv( Diem) Mamh'CSDL' (KETQUATHI)


Bộ môn: HTTT- ĐH Công nghệ TP.HCM

 Điểm thi cao nhất, thấp nhất, trung bình


của từng môn ?

Mamh  max(Diem),min(Diem),avg(Diem) (KETQUATHI)


49
Bài tập

Lược đồ CSDL quản lý bán hàng gồm có các quan hệ sau:

KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH,


DOANHSO, NGDK)
NHANVIEN (MANV,HOTEN, NGVL, SODT)
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

SANPHAM (MASP,TENSP, DVT, NUOCSX, GIA)


HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA)
CTHD (SOHD,MASP,SL)

50
Mô tả các câu truy vấn sau
bằng ĐSQH
1.
In ra danh sách các sản phẩm (MASP,TENSP) do “Trung Quốc”
sản xuất có giá từ 30.000 đến 40.000
2. In ra danh sách các khách hàng (MAKH, HOTEN) đã
mua hàng trong ngày 1/1/2007.
3. In ra danh sách các sản phẩm (MASP,TENSP) do “Trung Quoc”
sản xuất hoặc các sản phẩm được bán ra trong ngày 1/1/2007.
Bộ môn: HTTT- ĐH Công nghệ TP.HCM

4. Tìm các số hóa đơn mua cùng lúc 2 sản phẩm có mã số


“BB01” và “BB02”.
5. In ra danh sách các sản phẩm (MASP,TENSP) do “Trung Quoc”
sản xuất không bán được trong năm 2006.
6. Tìm số hóa đơn đã mua tất cả các sản phẩm do Singapore sản xuất
51

You might also like