You are on page 1of 23

THIẾT KẾ CƠ SỞ DỮ LIỆU

Biên soạn: ThS. Nguyễn Duy Hiếu


Email: evohieu@gmail.com

1
CHƯƠNG IV
LÝ THUYẾT ĐỒ THỊ QUAN HỆ

2
Nội dung bài học
1. Dẫn nhập

2. Biểu diễn CT CSDL quan niệm ở dạng ĐT

3. Đồ thị con đường truy xuất thô

4. Đồ thị Quan hệ

5. Biến đổi ĐTCĐTX thô sang ĐTQH và ngược


lại

3
I. Dẫn nhập
 Xác định được đủ các chỉ mục cần thiết, với số
thuộc tính vừa đủ để khai thác.
 Sử dụng phương pháp biểu diễn quan hệ ở dạng đồ
thị.
 Làm nổi bật các thuộc tính chung giữa 2 hay nhiều
quan hệ
 Dễ dàng đánh giá và chọn lựa đúng các chỉ mục

4
II. Biểu diễn CT CSDL quan niệm ở dạng ĐT
1. Một số khái niệm trong lý thuyết đồ thị
2. Đồ thị con đường truy xuất
3. Đồ thị con đường truy xuất thô
4. Đồ thị quan hệ

5
II. Biểu diễn CT CSDL quan niệm ở dạng ĐT
Một số khái niệm trong lý thuyết đồ thị
 Đồ thị: Một đồ thị G(N, C) được định nghĩa
trên 1 tập nút N = {n1, n2, .., nn} và 1 tập cung
C = {c1, c2,.., cn}
 Đồ thị có hướng nếu tồn tại một cung có hướng
(khi đó các nút trong đồ thị được gọi là nút đi
hoặc nút đến) và ngược lại đồ thị vô hướng
(các nút gọi là nút xuất phát).
 Đường đi (đối với đồ thị vô hướng) và mạch đi
(đối với đồ thị có hướng)
 Khuyên & chu trình

6
II. Biểu diễn CT CSDL quan niệm ở dạng ĐT
 Dòng có gốc n1 là một tập cung D= (c1, c2, …,
cp) sao cho:
 Một cung trong tập D có nút xuất phát (hoặc nút
đi) là n1
 ni nút xuất phát (hoặc nút đi/đến) của ci,  1
đường đi (hoặc mạch đi) từ gốc n1, nút cuối là ni
và gồm các cung của tập D.

7
II. Biểu diễn CT CSDL quan niệm ở dạng ĐT
 Ví dụ
c1 c2 (c1, c2) là 1 dòng có gốc n1
n1 n2 n3
(c1, c2) không là dòng có gốc n2
(c1, c2) là 1 mạch đi

c1 c2 (c1, c2) là dòng có gốc n1, n2


n1 n2 n3
hoặc n3

c3 c4 (c1, c2) không là dòng có gốc


n4 n5 n6
nào cả

8
Đồ thị con đường truy xuất
Đồ thị con đường truy xuất là 1 đồ thị có hướng với:
 N : tập nút, Ký hiệu: Nút:  và Nút vào :  
 C  (NxN) : tập cung có hướng, ký hiệu :  hoặc ->>
 Q : tập quan hệ Qi
 Cđ : tập con đường truy xuất

9
Đồ thị con đường truy xuất
 Mỗi cung trên đồ thị tương ứng với 1 con đường
truy xuất đến 1 bộ hoặc n bộ của quan hệ nút đến
 Một quan hệ Qi ∈Q có thể là quan hệ nút (nếu nó
tương ứng với một nút trên đồ thị) hoặc quan hệ
cung (nếu có với một cung trên đồ thị)
 Mỗi quan hệ cung có thể tương ứng với tối đa
hai cung ngược chiều nhau trên đồ thị CĐTX, nút
đến của cung này là nút đi của cung kia và
ngược lại

10
Đồ thị con đường truy xuất
 Ni Cij Nj : Từ một bộ của quan hệ nút QNi có thể
truy xuất từ 1 đến n bộ của quan hệ nút QNj thông
qua con đường truy xuất tương ứng với Cij
 Ni Cij Nj : Từ một bộ của quan hệ nút Qni có
thể truy xuất đến một bộ của quan hệ nút QNj
thông qua con đường truy xuất tương ứng với
Cij
 Trên mỗi con đường truy xuất có gắn một bản số
(n1,n2,n3) thể hiện số bộ tối thiểu, trung bình và
tối đa có thể được truy xuất.

11
Đồ thị con đường truy xuất
Ví dụ

12
Đồ thị con đường truy xuất
Diễn giải:
Có 2 ngỏ vào CSDL: đó là NVN (1) và DeAnN (3) nghĩa là
cung cấp một giá trị MaNV (MaDA) ta có thể truy xuất
ngay một bộ tương ứng trong quan hệ NV (DeAn)
Từ một bộ NV ta có thể truy xuất trực tiếp một bộ của
Phong mà nhân viên đó trực thuộc, thông qua con đường
truy xuất NV->Phong
Từ một bộ của Phong, ta có thể truy xuất trực tiếp danh
sách các nhân viên của phòng thông qua con đường truy
xuất Phong->NV
Từ một bộ của NV, ta không thể truy xuất trực tiếp danh
sách các đề án mà nhân viên được phân công, do không
có con đường truy xuất NV->DeAn
13
III. Đồ thị con đường truy xuất thô
Định nghĩa: Là đồ thị con đường truy xuất đặc biệt
thỏa 2 điều kiện:
- Nếu giữa 2 nút của đồ thị có 1 cung thì bao giờ
cũng có một cung theo chiều ngược lại.
- Các nút trên đồ thị đều là nút vào
Ví dụ: Với đồ thị trên, nếu từ nút NV(1) đến
DeAn(3) có thêm một con đường truy xuất, và nếu
nút Phong(2) cũng là nút vào thì đồ thị trở thành đồ
thị con đường truy xuất thô.

14
IV. Đồ thị Quan hệ
 Là một dạng đồ thị con đường truy xuất được
đơn giản hóa.
 Giúp người thiết kế dễ dàng hơn trong việc đánh
giá chất lượng của biểu diễn cấu trúc CSDL ở
dạng đồ thị.
 Đồ thị Quan hệ là một đồ thị có hướng:
 NQ: Tập nút
 CQ ∈ NQ x NQ: Tập cung có hướng/ vô hướng
 RQ: Tập quan hệ Qi

15
IV. Đồ thị Quan hệ
Diễn giải
 Ni Qij Nj:
 Qi, Qj là các quan hệ lần lượt ứng với 2 nút Ni và
Nj
 Có một phụ thuộc hàm KQi  KQj, với Kqi và KQj
lần lượt là một khóa của Qi và Qj
 Quan hệ cung Qij được hình thành từ tất cả các
thuộc tính khóa của Qi, Qj: Qij+ = KQi+ ∪ KQJ+

16
IV. Đồ thị Quan hệ
Ví dụ

17
V.a Biến đổi ĐTCĐTX thô sang ĐTQH
ĐTCĐTX thô (N, C, R, Cđ, f, g, h, i, j)  ĐTQH(NQ,
CQ, RQ, fQ, gQ, kQ) với:
 N = NQ
 R = QQ
 (c, c')  C có chiều ngược nhau, và g(c) = g(c'), cQ 
CQ sao cho: gQ(cQ) = g(c) = g(c')
 Nếu max(c) >1 và max(c') > 1 thì kQ(cQ) = 0 (cung cQ là
vô hướng)
Nếu max(c)<=1 và max(c') <= 1 thì kQ(cQ) = 1 (cung cQ
là có hướng) khi đó:
 cQ = c nếu max(c)  1
 cQ = c' nếu ngược lại.

18
V.b Biến đổi ĐTQH sang ĐTCĐTX thô
ĐTQH(NQ, CQ, RQ, fQ, gQ, kQ)  ĐTCĐTX thô (N, C,
R, Cđ, f, g, h, i, j) với:
 N = NQ
 R = RQ
 cQ  CQ, cQ = (n1, n2),  (c, c')  C với c = (n1, n2)
và c' =(n2, n1) và g(c) = g(c') = gQ(cQ)
 Nếu kQ(cQ) = 1 thì max(c)>1 và max(c') > 1
 Nếu kQ(cQ) = 0 thì max(c)<= 1 hoặc max(c') <=1.
 n  NQ, j(n) = 1 (nút vào).

19
V.b Biến đổi ĐTQH sang ĐTCĐTX thô
ĐTQH(NQ, CQ, RQ, fQ, gQ, kQ)  ĐTCĐTX thô (N, C,
R, Cđ, f, g, h, i, j) với:
 N = NQ
 R = RQ
 cQ  CQ, cQ = (n1, n2),  (c, c')  C với c = (n1, n2)
và c' =(n2, n1) và g(c) = g(c') = gQ(cQ)
 Nếu kQ(cQ) = 1 thì max(c)>1 và max(c') > 1
 Nếu kQ(cQ) = 0 thì max(c)<= 1 hoặc max(c') <=1.
 n  NQ, j(n) = 1 (nút vào).

20
V.b Biến đổi ĐTQH sang ĐTCĐTX thô
ĐTQH(NQ, CQ, RQ, fQ, gQ, kQ)  ĐTCĐTX thô (N, C,
R, Cđ, f, g, h, i, j) với:
 N = NQ
 R = RQ
 cQ  CQ, cQ = (n1, n2),  (c, c')  C với c = (n1, n2)
và c' =(n2, n1) và g(c) = g(c') = gQ(cQ)
 Nếu kQ(cQ) = 1 thì max(c)>1 và max(c') > 1
 Nếu kQ(cQ) = 0 thì max(c)<= 1 hoặc max(c') <=1.
 n  NQ, j(n) = 1 (nút vào).

21
Bài tập
1. Cho lược đồ quan hệ Q(A,B,C,D,E,G,H,K,L,M,N) và tập
các phụ thuộc hàm
F={ C → D,E; G → H,K; A,G → L; M → A,N; A → B,C}
a) Hãy xác định tất cả các khóa của Q
b) Hãy cho biết Q có đạt 3NF không ?
c) Tìm phủ tối thiểu của F.
d) Phân rã Q về dạng chuẩn 3, yêu cầu phân rã bảo toàn
thông tin và phụ thuộc hàm.
e) Vẽ đồ thị quan hệ cho lược đồ CSDL

22
KẾT THÚC CHƯƠNG III

23

You might also like