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
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
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
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 (
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
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
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ệ
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
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
đ
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
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
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
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
{ 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
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)
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
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
{ 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
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
(σ
α
β
C
1
5
12
β
23
D
7
7
3
10
α
β
β
β
AB
α
C
1
β
23
D
7
10
α
β
σ
PHG=4
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
∧ q ∈ R}
{ Q
+
= (R
+
∩ S
+
)
(R
+
∩ S
+
= ∅
AB
α
R
β
1
2
CD
α
S
β
10
10
E
+
+
β
20 -
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
β
20 -
γ
10 -
R × S
AB
α
β
1
2
β
2
α
1
α
1
α
1
β
2
β
2
XC
α
α
10
10
β
10
β
ρ
Đượ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
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
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=S.C
S
AB
1
2
C
3
456
S.C
3
D
1
62
S.C D
3
S
6
1
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
Q(X)S(Y)R(XY)