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

Bài giảng Cơ sở dữ liệu - Bài 4: Phụ thuộc hàm

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 (1 MB, 54 trang )

CƠ SỞ DỮ LIỆU
Bài 4:
PHỤ THUỘC HÀM
13/08/2012 1 HVĐ – THQL
BÀI TOÁN THỰC TẾ
• Nghiên cứu hình thức các ràng buộc
– Xây dựng cấu trúc bảo đảm các ràng buộc tự động
thoả, do đó không cần lập trình
– Đánh giá một lược đồ cơ sở dữ liệu
13/08/2012 HVĐ – THQL 2
MỤC TIÊU
• Kiến thức:
– Phụ thuộc hàm
– Dạng chuẩn
– Kỹ thuật tableaux
• Kỹ năng:
– Tìm phủ tối tiểu
– Xác định dạng chuẩn
– Đánh giá lược đồ CSDL
• Yêu cầu: áp dụng thực tế
13/08/2012 HVĐ – THQL 3
NỘI DUNG
• Phụ thuộc hàm
• Phủ tối tiểu
• Dạng chuẩn
• Kỹ thuật tableaux
• Đánh giá lược đồ CSDL
• Khảo sát tình huống
13/08/2012 HVĐ – THQL 4
PHỤ THUỘC HÀM
• Phụ thuộc hàm


– Khái niệm
– Bài toán thành viên
• Phủ tối tiểu
• Dạng chuẩn
• Kỹ thuật tableaux
• Đánh giá lược đồ CSDL
• Khảo sát tình huống
13/08/2012 HVĐ – THQL 5
QUAN HỆ HÀM
• Hình bên có
– Quan hệ thuần túy
– Quan hệ đường
• Không có quan hệ hàm
• Quan hệ hàm từ X vào Y
• Quan hệ hàm từ Y vào X
• Hàm từ X vào Y:
– Mỗi x có duy nhất y
– Nếu chiếu xuống XY
• Bảng: x xuất hiện một lần
• Lược đồ: X là siêu khoá
13/08/2012 6 HVĐ – THQL
X
Y
MaSV MaLop
S01
S02
S03
S04
L1
L2

L2
L2
PHỤ THUỘC HÀM
• Phụ thuộc hàm là một
loại ràng buộc toàn vẹn
• Phụ thuộc hàm là luật
– PTH X  Y ngụ ý: biết
X sẽ xác định được Y
– Quan hệ r thỏa X  Y
• Các dòng có X giống
nhau thì Y cũng vậy
• r[X,Y] có X siêu khoá
– Luật nên lưu riêng để áp
dụng, ví dụ
• HDSo  NLap
• MaHG  Dgia
• HDSo,MaHG  SoL
13/08/2012 7 HVĐ – THQL
HDSo NLap MaHG DGia SoL
H01
H01
H02
H02
12
12
14
14
H01
H02
H01

H03
12
5
12
20
5
2
4
3
HDSo NLap
H01
H02
12
14
THẢO LUẬN
• Tìm các phụ thuộc hàm
• Tổ chức lại các bảng
• Bài tập 1, 13a

13/08/2012 8 HVĐ – THQL
MSV HT ML TL MM TM STC MGV TGV KH ĐT
a Tèo 1 T x DSTT 5 p Minh T 6
a Tèo 1 T y LTHT 3 q Lan T 7
a Tèo 1 T z CSDL 3 p Minh T 9
b Nị 2 K x DSTT 5 q Lan T 5
b Nị 2 K y LTHT 3 q Lan T 7
b Nị 2 K z CSDL 3 p Minh T 8
c Bi 1 T x DSTT 5 p Minh T 6
c Bi 1 T y LTHT 3 q Lan T 4
c Bi 1 T z CSDL 3 p Minh T 8

QUY TẮC QUẢN LÝ
• Cho cơ sở dữ liệu lưu các dữ liệu liên quan đến
{Gviên, Sviên, Lớp , Môn, Khoa, Điểm, Tênsv}
• Các quy tắc sau đây, cái nào là phụ thuộc hàm
– Sinh viên thuộc về một lớp
– Sinh viên thuộc về một khoa
– Lớp thuộc về một khoa
– Sinh viên học một môn phải có điểm
– Sinh viên phải có tên
– Mỗi lớp có không quá 30 sinh viên
• Tổ chức lại các bảng
13/08/2012 9 HVĐ – THQL
BÀI TOÁN THÀNH VIÊN
• Ta nói f là hệ quả của F (hay được suy từ F)
nếu một quan hệ r bất kỳ thoả F thì thoả f
• Ký hiệu tập các phụ thuộc hàm hệ quả là F
+

được gọi là bao đóng của F
• Bài toán kiểm tra f  F được gọi là bài toán
thành viên

13/08/2012 HVĐ – THQL 10
LUẬT DẪN
• Bộ luật
– F1: XX
– F2: XY suy ra XZY
– F3: XY và XZ suy ra XYZ
– F4: XYZ suy ra XY và XZ
– F5: XY và YZ suy ra XZ

– F6: XY và YZW suy ra XZW
• Hệ tiên đề Amstrong {F1, F2, F6}
• {A

D,AB

E,BI

E,CD

I,E

C}

AE

DI
13/08/2012 HVĐ – THQL 11
BAO ĐÓNG
• X
+
F

= { A | (X  A)  F
+
}
• Áp dụng Y  X
+
F


 X  Y (F
+
)
• Kiểm tra tính thành viên f = AE

DI đối với
F = {A

D,AB

E,BI

E,CD

I,E

C}
– Tính AE
+
= AEDCI
– Ta có DI  AE
+

– Suy ra f F
+

13/08/2012 12 HVĐ – THQL
THẢO LUẬN
• Bài tập 2, 3, 4, 5
13/08/2012 HVĐ – THQL 13

PHỦ TỐI TIỂU
• Phụ thuộc hàm
• Phủ tối tiểu
– Khái niệm
– Thuật toán
• Dạng chuẩn
• Kỹ thuật tableaux
• Đánh giá lược đồ CSDL
• Khảo sát tình huống
13/08/2012 HVĐ – THQL 14
PHỦ TỐI TIỂU
• Phụ thuộc hàm, như luật, đúng trong ngữ cảnh
nhất định. Với ngữ cảnh cho trước chúng ta có
tập phụ thuộc hàm
• Xác định phụ thuộc hàm để lưu riêng một cách
tuỳ tiện có thể dẫn đến dư thừa
• Tập phụ thuộc hàm không dư thừa được gọi là
phủ tối tiểu
– Vế phải gồm một thuộc tính
– Vế trái không dư thừa
– Không có phụ thuộc hàm dư thừa
• Dư thừa được xác định nhờ hệ tiên đề Armstrong

13/08/2012 15 HVĐ – THQL
THẢO LUẬN
• Các ký tự GSLMKNDHY là viết tắt của
Gviên, Sviên, Lớp, Môn, Khoa, Ngành, Điểm,
Hệ, học kỲ
• Xét hai ngữ cảnh
– Tổng quát: NM  Y, SM  D, N  K, L  HN,

S  HN, M  H, LM  G
– Trong một học kỳ: S  L
• Với mỗi ngữ cảnh cho biết F có tối tiểu không
13/08/2012 16 HVĐ – THQL
TÌM PHỦ TỐI TIỂU
• Cơ sở: bài toán thành viên
• Các bước
– Phân rã
– Rút gọn vế trái
– Rút gọn phụ thuộc hàm

13/08/2012 17 HVĐ – THQL
VÍ DỤ
• Dùng thuật toán:
– Phân rã
– Rút gọn VT
– Rút gọn PTH
• Dùng bộ luật dẫn

13/08/2012 18 HVĐ – THQL
A->C
AB->C
C->DI
CD->I
EC->AB
EI->C
A->C
AB->C
C->D
C->I

CD->I
EC->A
EC->B
EI->C
C
A+=A
EI+=EI
A->C
C->DI
EC->AB
EI->C
A->C

C->D
C->I

EC->A
EC->B
EI->C
A+=ACDI
B+=B
C+=CDI
D+=D
E+=E
I+=I

THẢO LUẬN
• Dùng luật
• Dùng thuật toán
13/08/2012 19 HVĐ – THQL

{ S -> D,
I -> B,
IS -> Q,
B -> O }
{ A -> BC,
B -> AC,
C -> A }
{ AB -> C,
C -> A,
BC -> D,
ACD -> B,
D -> EG,
BE -> C,
CG -> BD,
CE -> AG }
DƯ THỪA PHẢI
• Tìm những thuộc tính xuất hiện
ở vế phải nhiều lần (ví dụ D)
• Chọn một PTH liên quan (ví dụ
H->KDN)
• Bỏ thuộc tính này, rồi tính bao
đóng (ví dụ H
+
=HKDN)
• Kết luận (ví dụ H->KDN dư
thừa D)

R(KDHNMLG)
F={ K -> D,
H -> KDN,

M -> G,
HM -> L}
13/08/2012 20 HVĐ – THQL
THỬ SỨC
• Xét I và C->DI
• Thử bỏ I, được C->D, tính C
+
= CDI
• Vậy C->DI dư thừa phải
F =
{A->C
AB->C
C->DI
CD->I
EC->AB
EI->C}
13/08/2012 21 HVĐ – THQL
DƯ THỪA TRÁI
• Chọn một PTH có hơn 1 thuộc
tính ở vế trái (ví dụ HNM->L)
• Bỏ 1 thuộc tính, tính bao đóng
(ví dụ HM
+
=HMLKNDG)
• Kết luận (ví dụ HNM->L dư
thừa N)

R(KDHNMLG)
F={ K -> D,
H -> KN,

M -> G,
HNM -> L}
13/08/2012 22 HVĐ – THQL
THỬ SỨC
• Xét CD -> I
• Tính C
+
= CDI, chứa D
• Vậy CD -> I dư thừa trái
F =
{A->C
AB->C
C->DI
CD->I
EC->AB
EI->C}
13/08/2012 23 HVĐ – THQL
DẠNG CHUẨN
• Phụ thuộc hàm
• Phủ tối tiểu
• Dạng chuẩn
– Khái niệm
– Bài toán tìm tập khoá
– Bài toán xác định dạng chuẩn
– Bài toán tìm tập phụ thuộc hàm chiếu
• Kỹ thuật tableaux
• Đánh giá lược đồ CSDL
• Khảo sát tình huống
13/08/2012 HVĐ – THQL 24
VI PHẠM DẠNG CHUẨN

• Dạng chuẩn là một khái niệm dùng để đo mức độ
dư thừa trong lưu trữ, qua việc phát hiện các PTH
• Tìm thấy 1 PTH là tìm ra 1 vi phạm dạng chuẩn
• Trong các bảng trên, tìm thấy có các vi phạm dạng
chuẩn sau
– Ở bảng bên trái, là P  N
– Ở bảng bên phải, là M  G
13/08/2012 HVĐ – THQL 25
HDSo NLap MaHG DGia SoL
H01
H01
H02
H02
12
12
14
14
H01
H02
H01
H03
12
5
12
20
5
2
4
3

×