1
Ôn
Ôn
tập
tập
C
C
ơ
ơ
sở
sở
Dữ
Dữ
liệu
liệu
Phụ trách : TrầnHạnh Nhi
Khoa Công nghệ Thông tin
Trường Đại học Khoa họctự nhiên
06/03/2008 Ôn thi tuyển sinh cao học 2008 2
T
T
ổ ch
ổ ch
ức
ức
25 tiết lý thuyết = Ôn tập các điểm chính + Sửabàitập
SửaBàitập10/04/20086
SửaBàitập03/04/20085
Ràng buộctoànvẹn trong mộtCSDL, Cácdạng chuẩn CSDL13/03/20084
SửaBàitập06/03/20083
Ngôn ngữ truy vấn SQL28/02/20082
Mô hình dữ liệu quan hệ , Ngôn ngữ đại số quan hệ 21/02/20081
Nội dungNgàyBuổi
2
C
C
ác
ác
khái
khái
ni
ni
ệm
ệm
c
c
ơ
ơ
bản c
bản c
ủa
ủa
CSDL
CSDL
CSDL và Hệ quản trị CSDL
Các mứctrừu tượng CSDL
Lược đồ và thể hiện
Mô hình dữ liệu
Ngôn ngữ CSDL
06/03/2008 Ôn thi tuyển sinh cao học 2008 4
CSDL v
CSDL v
à
à
Hệ
Hệ
quản
quản
trị
trị
CSDL
CSDL
CSDL (Database)
{ Mộttậphợpcócấutrúccủanhững dữ liệucóliênquanvới nhau đượclưutrữ
trong máy tính
Hệ quảntrị CSDL (Database Management System)
{ Tậphợpcácchương trình cho phép ngườisử dụng định nghĩa, xây dựng, và khai
thác CSDL một cách hiệuqủavàtiệnlợi
Hệ QTCSDL
Chương trình
QuảnTrị
CSDL
-Xử lý truy vấn
CSDL
Chương trình ứng dụng 1
Quảnlýdữ liệu
Chương trình ứng dụng 2
Quảnlýdữ liệu
Chương trình ứng dụng 3
Quảnlýdữ liệu
truy vấn
truy vấn
truy vấn
Truy xuất
3
06/03/2008 Ôn thi tuyển sinh cao học 2008 5
Vai
Vai
tr
tr
ò Hệ QTCSDL
ò Hệ QTCSDL
Mục tiêu : hỗ trợ
{ Khai thác thông tin từ CSDL
{ Lưu trữ thông tin vào CSDL
Tính năng : cung cấp các cơ chế
{ Định nghĩacấu trúc lưu trữ dữ liệu
{ Thao tác, xử lý dữ liệu
{ Bảo đảm an toàn dữ liệu
{ Kiểm soát chia sẻ dữ liệu
Các đặc tính CSDL cần bảo đảm
{ Tính tự mô tả
{ Tính độclậpdữ liệu
{ Tính nhất quán
06/03/2008 Ôn thi tuyển sinh cao học 2008 6
Mức ngoài
(External Level)
Ngườidùng
Ứng dụng
Các
Các
m
m
ức
ức
tr
tr
ừu
ừu
t
t
ư
ư
ợng
ợng
CSDL
CSDL
Nhu cầu khai thác cụ thể
(1 phần) CSDL
Mức quan niệm
(Conceptual Level)
Ngườithiết kế
CSDL
Mứctrong
(Internal Level)
Ngườicài đặt
CSDL
Cấu trúc toàn thể CSDL
• dữ liệulưutrữ
• quan hệ giữacácdữ liệu
Lưutrữ vậtlýCSDL
4
06/03/2008 Ôn thi tuyển sinh cao học 2008 7
Các
Các
m
m
ức
ức
tr
tr
ừu
ừu
t
t
ư
ư
ợng
ợng
CSDL (
CSDL (
tt
tt
)
)
Mức quan niệm
(Conceptual Level)
Mứctrong
(Internal Level)
Mức ngoài
(External Level)
R
1
(A number(10), B string, …, primary key (A), )
….
R
n
(X number(15), Y string, …, primary key (X), …)
Lược đồ logic
Lược đồ quan niệm
Lược đồ vậtlý
Các Khung nhìn
(views)
06/03/2008 Ôn thi tuyển sinh cao học 2008 8
Các
Các
m
m
ức
ức
tr
tr
ừu
ừu
t
t
ư
ư
ợng
ợng
CSDL (
CSDL (
tt
tt
)
)
Mức quan niệm
(Conceptual Level)
Mứctrong
(Internal Level)
Mức ngoài
(External Level)
R
1
(A number(10), B string, …, primary key (A), )
….
R
n
(X number(15), Y string, …, primary key (X), …)
Độclập logic :
Khả năng thay đổilược đồ
quan niệm mà không thay đổi
lược đồ ngoài hoặc các CTƯD
Độclậpvậtlý:
Khả năng thay đổilược đồ
trong mà không làm thay
đổilược đồ quan niệmcũng
như lược đồ ngoài
5
06/03/2008 Ôn thi tuyển sinh cao học 2008 9
L
L
ư
ư
ợc
ợc
đ
đ
ồ
ồ
và
và
thể hi
thể hi
ện
ện
c
c
ủa
ủa
CSDL
CSDL
Lược đồ (Schema)
{ mô tả về cấutrúcvàràng
buộctrênCSDL
Thể hiện (Instance)
{ dữ liệuhiệnthời đượclưu
trữ trong CSDL ở mộtthời
điểmnàođó
Lược đồ đượcbiễudiễn
bằng một mô hình dữ liệu
SVien
Ten
MaSV
Nam Khoa
TenMH MaMH TinChi Khoa
Mhoc
MaMH
MaMH_Truoc
DKien
MaKH MaMH
KHoc
HocKy Nam GV
MaKH MaSV
KQua
Diem
Ten MaSV Nam Khoa
Son 17 1 CNTT
Bao 8 2
CNTT
SVien
TenMH
Nhap mon tin hoc
Cautrucdulieu
Mhoc
Toan roi rac
Co so du lieu
MaMH
COSC1310
COSC3320
MATH2410
COSC3380
TinChi Khoa
4
4
3
3
CNTT
CNTT
TOAN
CNTT
MaMH MaMH_TruocDKien
COSC3380 COSC3320
COSC3380 MATH2410
COSC3320 COSC3380
MaSV Diem
17 8
17 6
KQua MaKH
8
8
8
8
112
119
85
92
102
135
10
9
8
10
06/03/2008 Ôn thi tuyển sinh cao học 2008 10
Mô
Mô
hình
hình
dữ
dữ
liệu
liệu
(Data model)
(Data model)
Tậphợp các phương tiện cho phép biễudiễndữ liệu, quan hệ dữ
liệu và các ràng buộcdữ liệu
{ Các khái niệmbiểudiễndữ liệu
{ Các phép toán xử lý dữ liệu
Các mứctrừutượng
{ Mô hình quan niệm (conceptual model)
các khái niệm độclậpvới các hệ thống tin học
vd : ER, UML
{ Mô hình logic (logical model)
các khái niệmsử dụng bởimộthọ các CSDL nhưng độclậpvớimộtCSDL cụ thể
vd : Phân cấp, mạng, quan hệ, hướng đốitượng, XML
{ Mô hình mứcthấp
các khái niệm đượccàiđặt trong mộtCSDL cụ thể
vd. Oracle, Sybase
6
06/03/2008 Ôn thi tuyển sinh cao học 2008 11
Ngôn
Ngôn
ngữ
ngữ
CSDL
CSDL
Ngôn ngữđịnh nghĩadữ liệu (DDL – Data Definition Language)
{ Đặctả các khái niệmbiễudiễn trong lược đồ CSDL (quan niệm / logic)
Ngôn ngữ lưutrữ dữ liệu
(SDL – Storage Definition Language) : Ngôn ngữđịnh nghĩalược đồ trong
Ngôn ngữđịnh nghĩa khung nhìn
(VDL – View Definition Language) : Ngôn ngữđịnh nghĩalược đồ ngoài
Ngôn ngữ thao tác dữ liệu (DML – Data Manipulation Language)
{ Đặctả các thao tác truy xuất, vấn tin CSDL
{ Phân loại:
Ngôn ngữ thủ tục (Procedural)
Ngôn ngữ khai báo (Declarative)
Mô
Mô
hình
hình
dữ
dữ
liệu
liệu
quan
quan
hệ
hệ
Giớithiệu
Các khái niệmcủamôhìnhquanhệ
Các đặctrưng của quan hệ
7
06/03/2008 Ôn thi tuyển sinh cao học 2008 13
Giới
Giới
thiệu
thiệu
Do tiếnsĩ E. F. Codd đưara
{ “A Relation Model for Large Shared Data Banks”, Communications of ACM,
6/1970
Khái niệm quan hệ : biểudiễn các thông tin lưutrữ trong CSDL dưới
dạng bảng (table) 2 chiều
{ Cung cấpmộtcấutrúcdữ liệu đơngiảnvàđồng bộ
Có nềntảng lý thuyếtvững chắc
{ Lý thuyếttậphợp
Là cơ sở của các HQT CSDL thương mại
{ Oracle, DB2, SQL Server…
06/03/2008 Ôn thi tuyển sinh cao học 2008 14
Các
Các
khái
khái
niệm
niệm
của
của
mô
mô
hình
hình
quan
quan
hệ
hệ
Quan hệ (Relation)
Thuộc tính (Attribute)
Lược đồ quan hệ(Relation Schema)
Bộ (Tuple)
Miền giá trị (Domain)
Các loại Khoá của quan hệ (Key)
8
06/03/2008 Ôn thi tuyển sinh cao học 2008 15
NHANVIEN
TENNV HONV NGSINH DCHI PHAI LUONG PHG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5
Quan hệ (Relation)
Các
Các
khái
khái
niệm
niệm
của
của
mô
mô
hình
hình
quan
quan
hệ
hệ
Thuộc tính (attribute)
Bộ (Tuple/record)
Lược đồ quan hệ
(relation schema)
06/03/2008 Ôn thi tuyển sinh cao học 2008 16
1 cộtlà1 thuộctínhcủa nhân viên
1 dòng là 1 nhân viên
Quan
Quan
hệ
hệ
Phảnánhnội dung CSDL tạimộtthời điểm
Đượcbiểudiễnbằng mộtbảng 2 chiều
MộtQuanhệđược định nghĩabởi
{ Tên
{ Tậphợp các dòng → Mộtdòng~ Mộtthựcthể
Quan hệ ~ Tậpthưcthể
{ Tậphợpcáccột → Mộtcột~ Một thuộc tính
TENNV HONV NGSINH DCHI PHAI LUONG PHG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5
NHANVIEN
9
06/03/2008 Ôn thi tuyển sinh cao học 2008 17
Thuộc
Thuộc
tính
tính
Phảnánhmột đặctínhcủamột đốitượng
Mộtthuộctínhđược định nghĩabởi
{ Tên (cộtcủa quan hệ)
{ Kiểudữ liệu
{ Miềngiátrị (Domain)
Tậpcácgiátrị mộtthuộctínhcóthể nhận
Mô hình quan hệ chỉ chấpnhậncácthuộc tính có giá trịđơn
Cóthể nhận giá trị NULL
TENNV HONV NGSINH DCHI PHAI LUONG PHG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5
Thuộctính
∈ MiềnGT
số nguyên
06/03/2008 Ôn thi tuyển sinh cao học 2008 18
Lược đồ quan hệ
L
L
ư
ư
ợc
ợc
đ
đ
ồ
ồ
quan
quan
hệ
hệ
PhảnánhcấutrúcCSDL
{ Quan hệ phảnánhtìnhtrạng CSDL
Biểudiễncấutrúcbảng 2 chiềuthể hiện quan hệ
Lược đồ quan hệđược định nghĩabởi
{ Tên của quan hệ
{ Tên củatậpthuộc tính
{ Tân từ phảnánhngữ nghĩacủa quan hệ
Có thể có nhiều quan hệ cùng được định nghĩatrênmộtlược đồ quan hệ
NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG)
Là tậphợp
10
06/03/2008 Ôn thi tuyển sinh cao học 2008 19
L
L
ư
ư
ợc
ợc
đ
đ
ồ
ồ
CSDL
CSDL
Gồm nhiềulược đồ quan hệ
{ Phản ánh cấutrúctoànbộ CSDL
{ Tập các quan hệđịnh nghĩatrênlược đồ CSDL tạimộtthời điểm = tình trạng
CSDL
Lược đồ CSDL
NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG)
PHONGBAN(MAPHG, TENPHG, TRPHG, NG_NHANCHUC)
DIADIEM_PHG(MAPHG, DIADIEM)
THANNHAN(MA_NVIEN, TENTN, PHAI, NGSINH, QUANHE)
DEAN(TENDA, MADA, DDIEM_DA, PHONG)
06/03/2008 Ôn thi tuyển sinh cao học 2008 20
Dữ liệucụ thể
củathuộctính
Bộ
Bộ
Là các dòng của quan hệ (trừ dòng tiêu đề -têncủacácthuộc tính)
Thể hiệndữ liệucụ thể của các thuộc tính trong quan hệ
<Tung, Nguyen, 12/08/1955, 638 NVC, Q5, Nam, 40000, 5>
11
06/03/2008 Ôn thi tuyển sinh cao học 2008 21
Đ
Đ
ịnh
ịnh
nghĩa
nghĩa
hình
hình
thức
thức
Lược đồ quan hệ R(A
1
:D
1
, A
2
:D
2
, …, A
n
:D
n
)
{ A
1
, A
2
, …, A
n
là các thuộc tính
{ D
1
, D
2
, …, D
n
là các miền giá trị tương ứng củaA
1
, A
2
, …, A
n
Bậc củalược đồ quan hệ là số lượng thuộc tính trong lược đồ
NHANVIEN(MANV:integer, TENNV:string, HONV:string,
NGSINH:date, DCHI:string, PHAI:string, LUONG:integer,
PHONG:integer)
{ NHANVIEN là mộtlược đồ bậc8 môtảđốitượng nhân viên
{ MANV là mộtthuộctínhcómiền giá trị là số nguyên
{ TENNV là mộtthuộctínhcómiền giá trị là chuỗikýtự
06/03/2008 Ôn thi tuyển sinh cao học 2008 22
Đ
Đ
ịnh
ịnh
nghĩa
nghĩa
hình
hình
thức
thức
(
(
tt
tt
)
)
Quan hệ r củalược đồ quan hệ R(A
1
, A
2
, …, A
n
)
{ Ký hiệu r(R)
{ r = {t
1
, t
2
, …, t
k
}
t
i=
1 bộ→t
i
là 1 danh sách có thứ tự của n giá trị t
i
=<v
1
, v
2
, …, v
n
>
Mỗiv
j
là mộtphầntử củamiền giá trị DOM(A
j
) hoặc giá trị rỗng
TENNV HONV NGSINH DCHI PHAI LUONG PHG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 null Nam 38000 5
t
1
t
2
t
3
t
4
v
i
12
06/03/2008 Ôn thi tuyển sinh cao học 2008 23
Tóm
Tóm
tắt
tắt
các
các
ký
ký
hiệu
hiệu
Lược đồ quan hệ R bậcn
{ R(A
1
, A
2
, …, A
n
)
Tậpthuộc tính củaR
{ R
+
Quan hệ (thể hiện quan hệ)
{ R, S, P, Q
Bộ
{ t, u, v
Miền giá trị củathuộc tính A
{ DOM(A) hay MGT(A)
Giá trị tạithuộc tính A củabộ thứ t
{ t.A hay t[A]
06/03/2008 Ôn thi tuyển sinh cao học 2008 24
Khóa
Khóa
Dùng để nhậnbiếtmộtbộ trongquanhệ
{ Đặctrưng củalược đồ quan hệ, không phụ thuộcvàothể hiệnquanhệ
Siêu khóa (Super Key)
{ SK ⊆ R+, SK ≠∅, SK là siêu khóa khi
{ Mọilược đồ quan hệ có tốithiểumột siêu khóa
Khóa chỉđịnh (Candidate key)
{ K ⊆ R+, K ≠∅
{ K là khóa chỉđịnh nếuthỏa đồng thời2 điềukiện
K là một siêu khóa (nhỏ nhất) củaR
Khóa chính (primary key) : khoá chỉđịnh đượcchọn để chỉ mục
⇒∀
r,
∀
t1,t2
∈
r, t1 t2
≠≠
t1[SK]
t2[SK]
∀≠
K, K’K’
⊂
K
không phảilàsiêukhóacủaR
, K’
13
06/03/2008 Ôn thi tuyển sinh cao học 2008 25
Ví
Ví
dụ
dụ
Khóa
Khóa
Xét quan hệ
{ Siêu khóa
MANV
MANV, HONV, TENNV
MANV, NGSINH
MANV, DCHI
{ Khóa chỉđịnh = Khoá chính
MANV
Các thuộc tính khoá không đượcnhậngiátrị NULL
NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG)
NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG)
06/03/2008 Ôn thi tuyển sinh cao học 2008 26
Tham
Tham
chiếu
chiếu
Mộtbộ trong quan hệ R, tạithuộc tính A nếunhậnmột giá trị từ một
thuộc tính B của quan hệ S, ta gọi R tham chiếuS
{ Bộđượcthamchiếuphảitồntạitrước
TENNV HONV NGSINH DCHI PHAI LUONG PHG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5
TENPHG MAPHG
Nghien cuu 5
Dieu hanh 4
Quan ly 1
R
S
14
06/03/2008 Ôn thi tuyển sinh cao học 2008 27
Khóa
Khóa
ngoại
ngoại
Xét 2 lược đồ R và S
{ FK ⊆ S+, FK ≠∅
{ FK là khóa ngoại(Foreign Key) của S khi
Các thuộctínhFK phải có cùng miềngiátrị với các thuộc tính khóa chính củaR
Giá trị tạiFK củamộtbộ t
1
∈S
{ Hoặcbằng giá trị tại khóa chính củamộtbộ t
2
∈R
{ Hoặcbằng giá trị rỗng
A ⊆ R+, A có thể tham gia vào khóa chính, vừa tham gia vào khóa ngoại
FK có thể tham chiếu đến PK trên cùng 1 lược đồ quan hệ
Có thể có nhiều FK tham chiếu đến cùng mộtPK
NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG,
PHG
)
PHONGBAN(TENPHG, MAPHG
)
Khóa chính
Khóa ngoại
06/03/2008 Ôn thi tuyển sinh cao học 2008 28
Ví
Ví
dụ
dụ
Khóa
Khóa
ngoại
ngoại
15
06/03/2008 Ôn thi tuyển sinh cao học 2008 29
Các
Các
đ
đ
ặc
ặc
tr
tr
ư
ư
ng
ng
của
của
quan
quan
hệ
hệ
Thứ tự các bộ trong quan hệ là không quan trọng
Thứ tự giữa các giá trị trong mộtbộ là quan trọng
TungNguyen 12/08/1955 638 NVC Q5 Nam 40000 5
TENNVHONV NGSINH DCHI PHAI LUONG PHG
HangBui 07/19/1968 332 NTH Q1 Nu 25000 4
NhuLe 06/20/1951 291 HVH QPN Nu 43000 4
HungNguyen 09/15/1962 null Nam 38000 5
Bộ <Nguyen, Tung, 12/08/1955, 638 NVC Q5,
Nam, 40000
, 5>
khác
Bộ <Nguyen, Tung, 12/08/1955, 638 NVC Q5,
40000, Nam
, 5>
Đ
Đ
ại
ại
số
số
quan
quan
hệ
hệ
Giớithiệu
Các phép toán
Các thao tác cậpnhật trên quan hệ
16
06/03/2008 Ôn thi tuyển sinh cao học 2008 31
Giới
Giới
thiệu
thiệu
Đạisố (Algebra) : hệ thống toán họcbaogồm
{ Toán hạng (operand) : các biến/giá trị dùng để xây dựng một giá trị mới
{ Toán tử (operator) : các ký hiệubiểudiễnthủ tụcxâydựng mộtgiátrị mớitừ các
biến/giá trịđãcó
Đạisố quan hệ (Relational Algebra)
{ Toán hạng: các quan hệ
{ Toán tử : cácphéptoántrênquanhệ :
Trên tậphợp
{ Hội ∪ (union) , Giao ∩ (intersec), Trừ − (difference)
Rút trích 1 phầncủa quan hệ
{ Chọn σ (selection), Chiếu π (projection)
Kếthợp các quan hệ
{ Tích Cartesian × (Cartesian product) , Kết (join)
Đổitênρ
06/03/2008 Ôn thi tuyển sinh cao học 2008 32
Đ
Đ
ại
ại
số
số
quan
quan
hệ
hệ
(
(
tt
tt
)
)
Hằng số là thể hiệncủaquanhệ
Biểuthức đạisố quan hệ
{ Đượcgọilàcâutruyvấn
{ Là chuỗi các phép toán đạisố quan hệ
{ Kếtquả trả về là mộtthể hiệncủa quan hệ
Nềntảng của các ngôn ngữ truy vấnkiểuthủ tục
{ cơ sở củaSQL
Đạisố quan hệ vs. Phép tính quan hệ (Relational calculus)
17
06/03/2008 Ôn thi tuyển sinh cao học 2008 33
Phép
Phép
toán
toán
tập
tập
hợp
hợp
Quan hệ là tậphợp các bộ
{ Phép hộiR ∪ S
{ Phép giao R ∩ S
{ Phép trừ R − S
Tính khả hợp (Union Compatibility)
{ Hai lược đồ quan hệ R(A
1
, A
2
, …, A
n
) và S(B
1
, B
2
, …, B
n
) là khả hợp nếu
Cùng bậcn
Và có DOM(A
i
)=DOM(B
i
) , 1≤ i ≤ n
Kếtquả của ∪, ∩, và − là một quan hệ có cùng tên thuộc tính với
quan hệđầutiên(R)
06/03/2008 Ôn thi tuyển sinh cao học 2008 34
Phép
Phép
toán
toán
tập
tập
hợp
hợp
(
(
tt
tt
)
)
Ví dụ
TENNV NGSINH PHAI
Tung 12/08/1955 Nam
Hang 07/19/1968 Nu
Nhu 06/20/1951 Nu
Hung 09/15/1962 Nam
NHANVIEN TENTN NG_SINH PHAITN
Trinh 04/05/1986 Nu
Khang 10/25/1983 Nam
Phuong 05/03/1958 Nu
Minh 02/28/1942 Nam
THANNHAN
Chau 12/30/1988 Nu
Bậcn=3
DOM(TENNV) = DOM(TENTN)
DOM(NGSINH) = DOM(NG_SINH)
DOM(PHAI) = DOM(PHAITN)
⇒NHANVIEN khả hợpvới THANNHAN
18
06/03/2008 Ôn thi tuyển sinh cao học 2008 35
Phép
Phép
hội
hội
∪
∪
Cho 2 quan hệ R và S khả hợp
Phép hộicủaR vàS
{ Ký hiệuR ∪ S
{ Là mộtquanhệ gồm các bộ thuộcR hoặcthuộcS, hoặccả hai (các bộ trùng lắp
sẽ bị bỏ)
Ví dụ
R ∪ S = { t / t∈R ∨ t∈S}
AB
α
R
α
β
1
2
1
AB
α
S
β
2
3
AB
α
R ∪ S
α
β
1
2
1
β
3
α
2
06/03/2008 Ôn thi tuyển sinh cao học 2008 36
Phép
Phép
giao
giao
∩
∩
Cho 2 quan hệ R và S khả hợp
Phép giao củaR vàS
{ Ký hiệuR ∩ S
{ Là mộtquanhệ gồm các bộ thuộcR đồng thờithuộcS
Ví dụ
R ∩ S = { t / t∈R ∧ t∈S}
AB
α
R
α
β
1
2
1
AB
α
S
β
2
3
AB
α
R ∩ S
2
19
06/03/2008 Ôn thi tuyển sinh cao học 2008 37
Phép
Phép
trừ
trừ
−
−
Cho 2 quan hệ R và S khả hợp
Phép giao củaR vàS
{ Ký hiệuR − S
{ Là mộtquanhệ gồm các bộ thuộc R và không thuộcS
Ví dụ
R − S = { t / t∈R ∧ t∉S}
AB
α
R
α
β
1
2
1
AB
α
S
β
2
3
AB
α
R − S
β
1
1
06/03/2008 Ôn thi tuyển sinh cao học 2008 38
Các
Các
tính
tính
chất
chất
Giao hoán
Kếthợp
R ∪ S = S ∪ R
R ∩ S = S ∩ R
R ∪ (S ∪ T) = (R ∪ S) ∪ T
R ∩ (S ∩ T) = (R ∩ S) ∩ T
20
06/03/2008 Ôn thi tuyển sinh cao học 2008 39
Phép
Phép
chọn
chọn
Trích ra các bộ củaquanhệ R thỏamãnđiềukiệnchọnP
P là biểuthứcgồm các mệnh đề có dạng
{ <tên thuộc tính> <phép so sánh> <hằng số>
{ <tên thuộc tính> <phép so sánh> <tên thuộc tính>
{ <phép so sánh> gồm < , > , ≤ , ≥ , ≠ , =
{ Các mệnh đề đượcnốilạinhờ các phép ∧ , ∨ , ¬
Kếtquả trả về là mộtquanhệ
{ Có cùng danh sách thuộctínhvớiR
{ Có số bộ luôn ít hơnhoặc bằng số bộ củaR
Phép chọncótínhgiaohoán, kếthợp
σ
P
(R)
σ
p1
(σ
p2
(R)) = σ
p2
(σ
p1
(R)) = σ
p1 ∧ p2
(R)
06/03/2008 Ôn thi tuyển sinh cao học 2008 40
Phép
Phép
chọn
chọn
(
(
tt
tt
)
)
Ví dụ 1
NHANVIEN(MANV, TENNV, LUONG, PHG)
{ Cho biết các nhân viên ở phòng số 4
{ Tìmcácnhânviêncó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
σ
(A=B)∧(D>5)
(R)
AB
α
R
α
β
C
1
5
12
β
23
D
7
7
3
10
α
β
β
β
AB
α
C
1
β
23
D
7
10
α
β
σ
PHG=4
(NHANVIEN)
σ
(LUONG>25000 ∧ PHG=4) ∨ (LUONG>30000 ∧ PHG=5)
(NHANVIEN)
21
06/03/2008 Ôn thi tuyển sinh cao học 2008 41
Phép
Phép
chiếu
chiếu
Trích ra mộtvàicộtcủa quan hệ R
Kếtquả trả về là mộtquanhệ
{ Có k thuộc tính
{ Có số bộ luôn ít hơn hoặcbằng số bộ củaR
Ví dụ
Phép chiếu không có tính giao hóan, kếthợp
AC
α
1
AB
α
R
α
β
10
20
30
C
1
1
1
β
40 2
π
A,C
(R)
β
1
β
2
α
1
π
A1, A2, …, Ak
(R)
π
X,Y
(R) ≠π
X
(π
Y
(R))
06/03/2008 Ôn thi tuyển sinh cao học 2008 42
Phép
Phép
chiếu
chiếu
(
(
tt
tt
)
)
NHANVIEN(MANV, TENNV, LUONG, PHG)
Cho biếttênvàlương của các nhân viên
Mở rộng phép chiếubằng cách cho phép sử dụng các phép toán số học
trongdanhsáchthuộctính
{ Ký hiệu π
F1, F2, …, Fn
(E)
E là biểuthức ĐSQH
F1, F2, …, Fn là các biểuthứcsố họcliênquanđếnHằng số/Thuộc tính trong E
{ Cho biếttêncủa các nhân viên và lương củahọ sau khi tăng 10%
π
TENNV,LUONG
(NHANVIEN)
π
TENNV, LUONG*1.1
(NHANVIEN)
22
06/03/2008 Ôn thi tuyển sinh cao học 2008 43
Phép
Phép
tích
tích
Cartesian
Cartesian R × S
Kếthợp các bộ của các quan hệ lạivớinhau
Kếtquả trả về là mộtquanhệ Q
Q = {t q | t ∈ R
∧ q ∈ R}
{ Q
+
= (R
+
∩ S
+
)
(R
+
∩ S
+
= ∅
AB
α
R
β
1
2
CD
α
S
β
10
10
E
+
+
β
20 -
γ
10 -
R × S
AB
α
β
1
2
β
2
α
1
α
1
α
1
β
2
β
2
CD
α
α
10
10
β
10
β
10
β
20
γ
10
β
20
γ
10
E
+
+
+
+
-
-
-
-
06/03/2008 Ôn thi tuyển sinh cao học 2008 44
Phép
Phép
tích
tích
Cartesian (
Cartesian (
tt
tt
)
)
Ví dụ (R
+
∩ S
+
)≠∅
AB
α
R
β
1
2
BC
α
S
β
10
10
D
+
+
β
20 -
γ
10 -
XC
α
S
β
10
10
D
+
+
β
20 -
γ
10 -
R × S
AB
α
β
1
2
β
2
α
1
α
1
α
1
β
2
β
2
XC
α
α
10
10
β
10
β
10
β
20
γ
10
β
20
γ
10
D
+
+
+
+
-
-
-
-
Đổitên
B→X
23
06/03/2008 Ôn thi tuyển sinh cao học 2008 45
Phép
Phép
đ
đ
ổi
ổi
tên
tên
ρ
Được dùng để đổitên
{ Quan hệ
{ Thuộc tính
ρ
S
(R) : Đổitênquanhệ R thành S
Xét quan hệ R(B, C, D)
ρ
X, C, D
(R) : ĐổitênthuộctínhB thànhX
Đổitênquanhệ R thành S và thuộctínhB thànhX
ρ
S(X,C,D)
(R)
06/03/2008 Ôn thi tuyển sinh cao học 2008 46
Phép
Phép
kết
kết
Kếthợp2 bộ cóliênquantừ 2 quan hệ thành 1 bộ
R(A
1
, A
2
, …, A
n
) và S(B
1
, B
2
, …, B
m
)
Kếtquả của phép kếtlàmộtquanhệ Q
{ Q(A
1
, A
2
, …, A
n
, B
1
, B
2
, …, B
m
)
{ Mỗibộ củaQ làtổ hợpcủa2 bộ trong R và S, thỏamãnmộtsốđiềukiệnkết A
i
θ B
j
Có dạng
A
i
⊆ R+, B
j
⊆ S+ , Dom(A
i
) = Dom(B
j
), θ là phép so sánh ≠, =, <, >, ≤, ≥
Phân loại
{ Kết theta (theta join) là phép kếtcóđiềukiệnR ⋈
θ
S
R⋈
θ
S= σ
θ
(R × S)
{ Kếtbằng (equi join) khi A
i
θ B
j
là điềukiện so sánh bằng
R ⋈
A=B
S = σ
A=B
(R × S)
{ Kếttự nhiên (natural join) R1 ⋈ R2
R1 ⋈ R2 = Π
A
(σ
C
(R1 × R2))
C là điềukiệnkiểmtrabằng trên tấtcả các thuộc tính chung
Phép kếttự nhiên loạibỏ các thuộc tính trùng trong quan hệ kếtquả
R ⋈ S
24
06/03/2008 Ôn thi tuyển sinh cao học 2008 47
Phép
Phép
kết
kết
(
(
tt
tt
)
)
Ví dụ phép kếttheta
DE
3
S
6
1
2
AB
1
R
4
2
5
C
3
6
789
R
B<D
S
12331
12362
45662
ABCDE
R
C
S =
σ
C
(R × S)
06/03/2008 Ôn thi tuyển sinh cao học 2008 48
Phép
Phép
kết
kết
(
(
tt
tt
)
)
Ví dụ phép kếtbằng
DE
3
S
6
1
2
AB
1
R
4
2
5
C
3
6
789
R
C=D
S
AB
1
2
C
3
456
D
3
E
1
62
CD
3
S
6
1
2
AB
1
R
4
2
5
C
3
6
789
R
C=S.C
S
AB
1
2
C
3
456
S.C
3
D
1
62
S.C D
3
S
6
1
2
ρ
(S.C,D)
S
25
06/03/2008 Ôn thi tuyển sinh cao học 2008 49
Phép
Phép
kết
kết
(
(
tt
tt
)
)
Ví dụ phép kếttự nhiên
R S
CD
3
S
6
1
2
AB
1
R
4
2
5
C
3
6
789
AB
1
2
C
3
456
D
1
2
06/03/2008 Ôn thi tuyển sinh cao học 2008 50
Phép
Phép
chia
chia
R
R
÷
÷
S
S
Trích ra mộtsố bộ trong quan hệ R sao cho thỏavớitấtcả các bộ
trong quan hệ S
R = (A
1
, …, A
m
, B
1
, …, B
n
), S = (B
1
, …, B
n
)
Kếtquả củaphépchialàmột quan hệ Q
{ Q (R – S) = Q(A
1
, …, A
m
)
{ r ÷ s = { t | t ∈∏
R-S
(r) ∧∀u ∈ s ( tu ∈ r ) }
Có t là mộtbộ củaQ nếuvớimọibộ u ∈S, tồntạibộ r ∈R thỏa2 điềukiện
r(A
1
, …, A
m
) = t
r(B
1
, …, B
n
) = u
XY
Q(X)S(Y)R(XY)