Tải bản đầy đủ (.ppt) (118 trang)

CHƯƠNG 5: LÝ THUYẾT THIẾT KẾ CSDL QUAN HỆ

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 (553.17 KB, 118 trang )

CHƯƠNG 5: LÝ THUYẾT THIẾT KẾ CSDL
QUAN HỆ

12/22/16

Hoàng Thị Hà

1


Bài 1: Giới thiệu
I. Đặ t vấn đề

12/22/16

Hoàng Thị Hà

2


Xét ví dụ:
S# SNAME

STATUS CITY P#, PNAM
E

COLOR WEIGH
T

PRICE QTY


S1 A1

17

Paris P1 B1

do

23

100

200

S1 A1

17

Paris P2 B2

Xanh

11

150

300

S2 A2


20

Lon
d
o
n

Xanh

17

150

250

12/22/16

Hoàng Thị Hà

P2 B2

3


Câu hỏi?


Vậy làm thế nào để thiết kế một CSDL cho tốt?

12/22/16


Hoàng Thị Hà

4


Nhận xét


Ưu điểm: Khi thực hiện truy vấn SQL chỉ cần thực hiện các phép toán một ngôi do đó bi ếu
diễn câu hỏi dễ dàng, thời gian chi phí đáp ứng nhỏ.

12/22/16

Hoàng Thị Hà

5


Nhận xét (cont)



Nhượ c điểm:



* Không nhất quán (Inconsistency) (dị thườ ng xuất hiện khi sửa dữ liệu): Là hệ quả của việc dư thừa dữ liệu. VD: khi sửa
đổi địa chỉ của nhà cung cấp ở bộ nào đó còn các bộ khác giữ nguyên thì một nhà cung cấp có nhiều địa chỉ.




* Dị thườ ng khi thêm bộ (Insertion anomalies): Nếu một nhà cung cấp chưa cung cấp một mặt hàng nào cả, khi đó ta không
thể đư a thông tin về nhà cung cấp đó vì …sẽ phải đư a giá trị nào vào các thuộc tính còn lại.



* Dị thườ ng khi xoá bộ (Deletion anomalies): Là vấn đề ngượ c lại của vấn đề trên. Nếu vô tình một nhà cung cấp chỉ mới
cung cấp một mặt hàng duy nhất (giả sử S2, P2) thì sẽ bị mất thông tin về nhà cung cấp đó.

* Dư thừa dữ liệu (Redundancy): Dễ dàng thấy rằng mỗi khi xuất hiện tên nhà cung cấp thì đị a chỉ của ông ta lại lặp lại
trong mối quan hệ.

12/22/16

Hoàng Thị Hà

6


Cách giải quyết thế nào?.


Để khắc phục những nhược điểm trên thì cần tách quan hệ trên thành các quan h ệ khác
nhau ta đượ c một lượ c đồ CSDL (tập các lượ c đồ quan hệ) sao cho t ốt hơn.

12/22/16

Hoàng Thị Hà


7


Lược đồ VT có thể tách thành 3 lược đồ như
sau


S (S#, SNAME, STATUS, CITY)



P (p#, PNAME, COLOR, WEIGHT, PRICE)



SP (S#, P#, QTY)

12/22/16

Hoàng Thị Hà

8


Nhận xét




Ưu điểm:



Khắc phục được sự dư thừa dữ liệu



Tránh dị thường

Nhượ c điểm:


Biểu diễn câu hỏi phức tạp hơn.



Thời gian và chi phí tính toán các phép tính toán kết nối tăng lên.

12/22/16

Hoàng Thị Hà

9


II. Các bước thiết kế một Cơ sở dữ liệu











Bướ c 1: Phân tích toàn bộ các yêu cầu
Bướ c 2: Nhận diện những thực thế
Bướ c 3: Nhận diện các mối liên quan giữa các thực thể
Bướ c 4: Xác đinh khoá chính
Bướ c 5: Nhận diện khoá ngoại lai
Bướ c 6: Thêm các thuộc tính không phải khoá vào bảng dữ liệu
Bướ c 7: Xây dựng mạng dữ liệu
Bướ c 8: Khai báo phạm vi của mỗi thuộc tính
Bướ c 9: Kiểm tra tính chuẩn của các quan hệ(3NF)

12/22/16

Hoàng Thị Hà

10


BÀI 2: PHỤ THUỘC HÀM.

12/22/16

Hoàng Thị Hà

11



I. Khái niệm PTH


Định nghĩa: Cho R(U) là một sơ đồ quan hệ với U= {A1, A2, …, An} là tập các thuộc
tính. X,Y ⊆ U. Ta nói rằng X xác đị nh Y (hay Y phụ thuộc hàm vào X) nếu với hai bộ t1, t2
bất kỳ chúng bằng nhau trên tập X thì cũng bằng nhau trên tập Y( t1[X] = t2[X] thì t1[Y]
= t2[Y] ).


Ký hiệu: X → Y



Ví dụ: Trong quan hệ NCC ở trên, SID→ SNAME, SID → SNAME,
SID → SADDR

12/22/16

Hoàng Thị Hà

12


II. Hệ tiên đề Amstrong đối với các phụ thuộc
hàm
2. Hệ tiên đề Amstrong đố i với các phụ thuộc hàm.




Cho R(U) là một sơ đồ quan hệ với U = {A1, A2, …, An} là t ập các thuộc tính. X,Y, Z, W ⊆
U.



Ta ký hiệu XY= X ∪ Y



Hệ tiên đề Amstrong:


A1: Phản xạ(reflexivity): Nếu Y ⊆ X ⊆ U thì X → Y



A2: Tăng trưởng(augmentation): Nếu X → Y, Z ⊆ U thì
XZ → YZ



A3: Bắc cầu (transitivity): Nếu X → Y, Y → Z thì X → Z

12/22/16

Hoàng Thị Hà

13



Định lý:


Hệ tiên đề Amstrong là đúng và đầ y đủ (đã đượ c chứng minh)

12/22/16

Hoàng Thị Hà

14


Từ hệ tiên đề Armstrong suy ra một số luật
sau đây:
Với X,Y, Z, W ⊆ U:


a. Luật hợp (Union rule): Nếu X → Y, X → Z thì X → YZ



b. Luật tựa bắc cầu (pseudotransitivity rule): Nếu X → Y, WY → Z
thì WX → Z



c. Luật tách(decomposition): Nếu X → Y, Z⊆ Y thì X → Z

12/22/16


Hoàng Thị Hà

15


III. Bao đóng(closures of attribute sets)


Đặt vấn đề: Cho quan hệ r, tập PTH F, và tập phụ thuộc tính X,Y ⊆ U. Hỏi rằng X → Y có
thõa mãn trong r?.



Để trả lời được câu hỏi trên có 2 cách:


Cách 1: Tính F+ và xem X → Y ∈ F+ hay không?. Như vậy, ta
phải tính F+ , nhưng việc tính F+ là rất khó.



Cách 2: Tính bao đóng của X . Cách thứ 2 này đơn giản hơn so
với cách thức nhất.

12/22/16

Hoàng Thị Hà

16



Bao đóng(cont)


Bao đóng của tập thuộc tính X



Định nghĩa: Bao đóng của tập thuộc tính X (ký hiệu X+) bao gồm các thu ộc tính A ∈ U sao
cho


X → A ∈ F+.

Vậy, bao đóng của 1 tập thuộc tính X cho ta biết được các thuộc
tính mà X xác định nó.

12/22/16

Hoàng Thị Hà

17


Thuật toán tìm bao đóng của tập thuộc tính
X:


Input: Tập hữu hạn các thuộc tính U, tập các PTH F trên U v à X ⊆ U




Output: Bao đóng của X đố i với F (X +)
F



Thuật toán:Tính liên tiếp X , X , X , …X theo các bướ c sau:
0 1 2
(k)


Bước 1: Đặt X0 = X



Bước 2: Lần lượt xét các phụ thuộc hàm trong F, nếu
Z ∈ F mà Y ⊆ Xi ; A ∉ Xi và A ∈ Z thì Xi+1 = Xi ∪ A.



Bước 3: Nếu Xi+1 = Xi , khi đó ta có: XF+ = Xi+1

12/22/16

Hoàng Thị Hà

Y→

18



Ví dụ
Ví dụ: Cho lượ c đồ R(U, F) , U= {A, B, C, D,E}
F= {A→ BC, C→ DE, E→ A}
Hãy tính C +
F



Đặt X = C
0



X  = CDE vì (C→ DE)
1



X = CDEA vì ( E → A)
2



X = CDEAB vì (A→ BC)
3




X =X
4
3



Vậy : C + = CDEAB
F

12/22/16

Hoàng Thị Hà

19


Tính chất của bao đóng
1. Tính phản xạ: X ⊆ X+
 2. Tính đơn điệu: Nếu X ⊆ Y thì X+ ⊆ Y+
 3. Tính lũy đẳng: X++ = X+
 4. (XY)+ ⊇ X+Y+
 5. (X+Y)+ = (XY+)+ = (X+Y+)+
 6. X → Y ⇔ Y+ ⊆ X+
 7. X+ = Y+ ⇔ X → Y và Y → X


12/22/16

Hoàng Thị Hà


20


Bao đóng của tập PTH F (F+)


Định nghĩa: Cho một lược đồ quan hệ R(U,F), bao đóng của tập PTH F (ký hi ệu l à F +) là
tất cả các PTH đượ c suy diễn logic từ F mà mọi quan hệ trên l ượ c đồ R đề u thõa mãn
điều kiện sau:


F ⊆ F+



Khi ta áp dụng hệ tiên đề Armstrong đối với các PTH trong F+ thì
không thể thêm được một PTH nào khác ngoài các PTH trong F+ .

12/22/16

Hoàng Thị Hà

21


Tính chất :


Tính chất 1: Tính phản xạ: F ⊆ F+




Tính chất 2: Tính đơ n điệu: F, G là hai tập PTH, nếu F ⊆ G thì F+⊆ G+



Tính chất 3: Tính lũy đẳ ng: (F+)+ = F+



Tính chất 4: (F+G)+=(FG+)+=(FG)+



Tính chất 5: F+G+ ⊆ (FG)+

12/22/16

Hoàng Thị Hà

22


Thuật toán tìm bao đóng của tập phụ thuộc
hàm F(F+)


Input: Lượ c đồ quan hệ R (U,F)




Output: F+ là bao đóng của F



Thuật toán:


Bước1: Tìm tất cả các tập con của U: Xi⊆U



Bước 2: Tìm (Xi)+ với F ban đầu



Bước 3: Dựa vào (Xi)+ đã tìm để suy ra các PTH thuộc F+

12/22/16

Hoàng Thị Hà

23




Cho lượ c đồ quan hệ R(A,B,C) với




Hãy tính F+

12/22/16

Hoàng Thị Hà

F = {AB → C,C → B}

24


B1: Các tập con của U

12/22/16

Hoàng Thị Hà

25


×