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

Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 3 - Phạm Nguyên Thảo

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 (2.32 MB, 40 trang )

Chương 3: Cơ bản về thiết kế cơ sở
dữ liệu

Phạm Nguyên Thảo
Trường Đại học Khoa học Tự nhiên
Khoa Công nghệ Thông tin
Bộ môn Hệ thống Thông tin




Nội dung
• Khái niệm về phụ thuộc hàm
• Khái niệm về dạng chuẩn
• Chuẩn bị cài đặt CSDL
• Cài đặt chỉ mục với SQL Server

2


Khái niệm phụ thuộc hàm

• Phụ thuộc hàm (PTH) – functional dependency
thể hiện sự phụ thuộc của một tập thuộc tính
(Y) đối với một tập thuộc tính khác(X)
– Định nghĩa dựa trên những ngữ nghĩa, qui tắc tìm
hiểu được từ môi trường ứng dụng
– Ký hiệu XY

3



Khái niệm PTH (tt)
• Cho quan hệ Q(X, Y, Z), với X, Y, Z là các tập
thuộc tính, X  , Y  
– Một thể hiện TQ của Q thỏa PTH XY nếu:
q,q’TQ, q.X = q’.X =>q.Y = q’.Y

– TQ vi phạm PTH XY nếu:
q,q’ TQ: q.X = q’.X và q.Y  q’.Y

– PTH XY được gọi là định nghĩa trên Q nếu TQ là
thể hiện của Q, TQ thỏa PTH này
– PTH XY gọi là phụ thuộc hàm hiển nhiên

 Y X
4


PTH – ví dụ
• Xét lịch xếp lớp của một cơ sở giảng dạy trong
một ngày, ta có các phụ thuộc hàm sau:
– (1) GV, Giờ  Lớp
( nếu biết giảng viên và giờ dạy, ta sẽ biết được lớp mà giảng
viên dạy vào giờ đó)

– (2) Giờ, Lớp  Phòng
(Cho một giờ học và lớp học cụ thể, ta sẽ biết được lớp đang
học phịng nào vào giờ đó)

 Nếu biết giảng viên và giờ dạy, ta sẽ biết Phịng

mà giảng viên dạy vào giờ đó

 (3) GV,Giờ  Phòng
5


Hệ tiên đề Amstrong để suy dẫn PTH
• Luật phản xạ:
Y X, XY

• Luật cộng:
Nếu X Y và Z  W thì X,W Y,Z

• Luật bắc cầu:
Nếu X Y và Y Z thì X Z

6


Một số luật dẫn thơng dụng khác
• Từ các luật dẫn trong tiên đề Amstrong ta có
thể suy ra các luật dẫn khác, một số sau đây
thường được sử dụng:
– Luật bắc cầu giả:
Nếu X Y và Y,W  Z thì X,W  Z

– Luật hội:
Nếu X Y và X Z thì X Y,Z

– Luật phân rã:

Nếu X Y và Z Y thì X Z
Ghi chú: X,Y hay XY có nghĩa là X Y
7


Khái niệm khóa dựa trên PTH


Cho quan hệ Q và F là tập PTH định nghĩa trên
Q



K  Q+ là một khóa của Q nếu:
i.

f: K Q+  F+ (K xác định tất cả các thuộc
tính cịn lại trong Q+)

ii. K’  K | K’  Q+
(ghi chú: Q+ là tập thuộc tính của quan hệ Q )

8


Nội dung
• Khái niệm về phụ thuộc hàm
• Khái niệm về dạng chuẩn
• Chuẩn bị cài đặt CSDL
• Cài đặt chỉ mục với SQL Server


9


Tình trạng trùng lắp thơng tin
• Phụ thuộc hàm là một loại ràng buộc tồn vẹn
• Khi thêm, xóa, cập nhật dữ liệu phải đảm bảo
không vi phạm PTH
– Các PTH mà vế trái là một khóa: được kiểm tra
hiệu quả bằng cơ chế khóa của HQT
– Các PTH mà vế trái khơng là một khố: khó kiểm
tra, thường gây ra tình trạng trùng lắp thơng tin

10


Tình trạng trùng lắp thơng tin (tt)
• Ví dụ:
MON_KT(N,G,P,M,GV); F2 = {N,G,PM; M GV}
Với một thể hiện:
T_MÔN_KT
N G

P

M

2 8:00 – 10:00

101 Giải thuật X


2 10:00 – 12:00 101 CSDL
2 8:00 – 10:00

GV
Y

103 Giải thuật X

– Nhận xét về sự trùng lắp thơng tin và bất tiện khi
thêm/ xóa/ sửa dữ liệu?
11


Tình trạng trùng lắp thơng tin (tt)
• Các bất tiện gây ra do trùng lắp thông tin:
– Bất tiện khi thêm/cập nhật : để đảm bảo dữ liệu
nhất quán, phải kiểm tra và cập nhật hàng loạt trên
các thông tin trùng lắp

– Mất thơng tin khi xóa

12


Khái niệm dạng chuẩn
• Dạng chuẩn là một tiêu chuẩn được đưa ra để
đánh giá chất lượng của một lược đồ CSDL
• Mục tiêu khi nâng cấp dạng chuẩn của một
lược đồ: giảm thiểu trùng lắp thông tin


13


Định nghĩa các dạng chuẩn
• Dạng chuẩn 1:
– Một quan hệ ở dạng chuẩn 1 khơng có các trường lặp và các
trường kép, còn được gọi là cấu trúc phẳng.
– Ví dụ:
LỊCH_COI_THI (GV_CT, N,G,P,M,GV)
F = {f1: GV_CTN,G,P: một giảng viên coi thi chỉ coi vào
một ngày(N), một giờ (G) và
trong một phịng(P) duy nhất
f2: M  GV

: mỗi mơn thi (M) có một giảng
viên (GV) duy nhất phụ trách

f3: N,G,P  M

: mỗi ngày, vào một giờ, trong một
phòng, chỉ có một mơn thi duy
nhất
}
14


Định nghĩa các dạng chuẩn (tt)
• Dạng chuẩn 2:
– Một quan hệ Q ở dạng chuẩn 2 nếu và chỉ nếu tất

cả thuộc tính khơng khóa đều phụ thuộc đầy đủ vào
khóa, tức là:

(f: XY)  F, khơng tồn tại X’  X sao cho
(X’Y)  F+
– Ví dụ:

MON_KT(N,G,P,M,GV);
F2 = {N,G,PM; M GV}

15


Định nghĩa các dạng chuẩn (tt)


Dạng chuẩn 3:


Q ở DC3 nếu và chỉ nếu với mỗi phụ thuộc hàm
XA không hiển nhiên định nghĩa trên Q (A là
thuộc tính đơn, X là tập thuộc tính), một trong hai
điều kiện sau được thỏa:
i.

Hoặc X chứa một khóa của Q

ii. Hoặc A là một thuộc tính trong khóa của Q




Ví dụ:
LỊCH_KT(N,G,P,M); F1 = {N,G,P M; M P }
(LỊCH_KT có hai khóa là (N,G,P) và (N,G,M) )
GIANG_DAY(M,GV) ; F2 = {M  GV}
16


Định nghĩa các dạng chuẩn (tt)
• Dạng chuẩn BCK (Boyce_Codd_Kent)
– Q ở DC BCK nếu và chỉ nếu: với mỗi PTH không
hiển nhiên X  A định nghĩa trên Q thì B  Q+, ta
ln có (XB) là một PTH thuộc F+. Hay nói cách
khác, X chứa một khóa của Q
– Ví dụ:
LICH_KT_1(M,P) ; F1 = {M P}

LICH_KT_2(M,N,G); F2 = 
GIANG_DAY(M,GV); F3 = {M  GV}

17


Tính lồng nhau của các dạng chuẩn

DC 1
DC 2
DC 3
DC BCK


18


Dạng chuẩn của lược đồ CSDL
• Định nghĩa:
Cho một lược đồ CSDL C = {<Qi, Fi>}, i = 1..n
Dạng chuẩn của C là dạng chuẩn thấp nhất trong
các dạng chuẩn của các Qi

19


Nâng cấp lược đồ - Thuật tốn phân rã
• Mục tiêu: Đưa lược đồ về dạng chuẩn cao hơn.
• Thuật toán:
Với mọi quan hệ Q trong lược đồ đạt dạng chuẩn
thấp:

– Chọn một PTH XY gây ra dạng chuẩn thấp cho
quan hệ Q
– Phân rã Q thành Q1(XY) và Q2(Q+ - Y)
– Đệ qui, phân rã tiếp Q1 và Q2 cho đến khi các quan
hệ kết quả đều đạt dạng chuẩn mong muốn

20


Nâng cấp lược đồ - Thuật tốn phân rã (tt)
• Ví dụ:
LỊCH_COI_THI (GV_CT, N,G,P,M,GV)

F = {f1: GV_CTN,G,P: một giảng viên coi thi chỉ coi vào
một ngày(N), một giờ (G) và
trong một phịng(P) duy nhất
f2: M  GV

: mỗi mơn thi (M) có một giảng
viên (GV) duy nhất phụ trách

f3: N,G,P  M : mỗi ngày, vào một giờ, trong một
phòng, chỉ có một mơn thi duy nhất
}

– Áp dụng thuật toán phân rã để đưa lược đồ trên về
dạng chuẩn BCK ?
21


Dạng chuẩn – nhận xét
– Dạng chuẩn càng cao thì càng giảm được trùng lắp
thông tin. Lược đồ ở dạng chuẩn BCK khơng cịn
trùng lắp thơng tin.
– Tuy nhiên, dạng chuẩn cao có thể gây ra khó khăn
khi truy vấn (các quan hệ bị tách nhỏ nên phải thực
hiện nhiều phép kết hơn)
– Đơi khi dạng chuẩn cao gây khó khăn trong kiểm
tra một số PTH (trong ví dụ về DC BCK, để kiểm tra
PTH N,G,PM, ta phải kết LICH_KT_1 và
LICH_KT_2 )

22



Nội dung
• Khái niệm về phụ thuộc hàm
• Khái niệm về dạng chuẩn
• Chuẩn bị cài đặt CSDL
• Cài đặt chỉ mục với SQL Server

23


Các vấn đề chính
• Cân nhắc các thơng tin về khối lượng dữ liệu
và tần suất khai thác:
– Quyết định gộp – tách bảng (Thông thường các
quan hệ nên đạt DC 3 trở lên, tuy nhiên đôi khi
chấp nhận dạng chuẩn thấp hơn để truy vấn thuận
lợi hơn)
– Lựa chọn khố chính cho bảng (trường hợp bảng
có nhiều khóa, chọn một khố làm khố chính, các
khóa cịn lại dùng ràng buộc unique để cài đặt)
– Lựa chọn chỉ mục cho bảng

24


Lựa chọn chỉ mục (index)
• Khơng có chỉ mục, HQT thực hiện truy vấn
bằng cách duyệt qua từng dòng trong bảng
• Cài đặt các chỉ mục cho bảng giúp truy vấn

thơng tin nhanh hơn (tìm kiếm trên B-Tree)

• Khóa chính và các ràng buộc unique : hiển
nhiên là các chỉ mục của bảng
• Cơ sở để chọn cài đặt chỉ mục: các nhu cầu
truy vấn thực hiện thường xuyên trên CSDL

25


×