Tải bản đầy đủ (.pdf) (35 trang)

Tài liệu ôn thi cao học - thạc sĩ khoa học máy tính, hệ thống thông tin trường ĐH KHTN TP.HCM:p1

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (577.51 KB, 35 trang )

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
đ
đ




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


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)


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


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


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


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


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


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)

×