Cơ sở dữ liệu nâng cao - Buổi 7 - Chương 3: Giai đoạn thiết kế lô-gic
Giai ñoạn thiết kế logic làbước trung gian
ñể giai ñoạn thiết vật lý ñược thực hiện dễ
dàng.
Biểu diễn lại mô hình CSDL mức quan niệm
thành mô hình dữ liệu phù hợp với hệ quản trị
sẽ dùng ñể cài ñặt sau này.
Độc lập với các ñặc trưng khác của hệ quản trị.
Chọn một biểu diễn ở dạng ñồ thị phù hợp,
làm cơsở cho việc lựa chọn chỉ mục ở giai
ñoạn thiết kế vật lý.
a Học Tự Nhiên - HCM
3
Nhắc lại bối cảnh thiết kế CSDL (tt)
Thiết kế quan niệm
Thiết kế lô-gíc
Thiết kế vật lý
Lược ñồ CSDL vật lý
Yêu cầu về
thông tin/dữ
liệu
Yêu cầu
khai thác/
xử lý
Đặc trưng
của hệ
QTCSDL
Đặc trưng của
phần cứng
và HĐH
CHƯƠNG III:
Giai ñoạn thiết kế lô-gíc
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
5
Nội dung tuần này
III.1 Mục tiêu của giai ñoạn thiết kế lô-gíc
III.2 Nhắc lại một số khái niệm của lý thuyêt
ñồ thị
III.3 Đồ thị các con ñường truy xuất
III.4 Đồ thị quan hệ
III.5 Chuyển ñổi ĐTQH ĐT CĐTX và
ngược lại
III.6 Chuổi kết ñược cài ñặt trên ñồ thị
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
6
III.1 Mục tiêu của giai ñoạn
Giai ñoạn thiết kế logic là bước trung gian
ñể giai ñoạn thiết vật lý ñược thực hiện dễ
dàng.
Biểu diễn lại mô hình CSDL mức quan niệm
thành mô hình dữ liệu phù hợp với hệ quản trị
sẽ dùng ñể cài ñặt sau này.
Độc lập với các ñặc trưng khác của hệ quản trị.
Chọn một biểu diễn ở dạng ñồ thị phù hợp,
làm cơ sở cho việc lựa chọn chỉ mục ở giai
ñoạn thiết kế vật lý.
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
7
III.1 Mục tiêu của giai ñoạn (tt)
Kết quả của gñ phải hoàn toàn “trung
thực” với cấu trúc quan niệm:
Bảo toàn nội dung CSDL
Bảo toàn sự truy xuất trực tiếp ñến các quan
hệ của cấu trúc quan niệm.
Khi một quan hệ con Qi tồn tại trong cấu trúc quan
niệm C, một bộ của Qi có thể ñược truy xuất trực
tiếp (không cần thông qua một quan hệ nào
khác). Cấu trúc logic phải bảo toàn khả năng này.
Bảo toàn tính hiệu quả trong việc kiểm tra ràng
buộc toàn vẹn.
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
8
III.1 Mục tiêu của giai ñoạn (tt)
Ví dụ 3.1
Cho cấu trúc mức quan niệm:
NhânViên (Ma_NV, HoTen_NV, Ma_P )
Phòng (Ma_P, Ten_P)
ĐềÁn (Ma_DA, Ten_DA, Ma_P)
PhânCông (Ma_NV, Ma_DA),
ràng buc: Mt nhân viên ñc phân công vào
tt c các ñ án do phòng ban mà nhân viên ñó
trc thuc ph trách )
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
9
Ví dụ 3.1 (tt)
Xét cấu trúc logic sau:
NhânViên (Ma_NV, HoTen_NV, Ma_P )
Phòng (Ma_P, Ten_P)
ĐềÁn_1 (Ma_DA, Ten_DA)
PhụTrách (Ma_DA, Ma_P)
Không có quan hệ PhânCông: có bảo toàn nội
dung không?
Có bảo toàn sự truy xuất trực tiếp ñến quan hệ
PhânCông không?
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
10
III.2 Lý thuyết ñồ thị - một số khái
niệm
Đồ thị G(N,C) ñược ñịnh nghĩa trên một
tập nút N={n1,n2,…nn} và một tập cung
C={c1, c2,…cm}
Đồ thị có hướng nếu tồn tại một cung có
hướng (khi ñó các nút trong ñồ thị gọi là nút
ñi hoặc nút ñến), 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à mch
ñi (ñối với ñồ thị có hướng)
Khuyên & Chu trình
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
11
III.2 Lý thuyết ñồ thị - một số
khái niệm (tt)
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 là nút xuất phát (hoặc nút ñi/ ñến) của ci ∈ D,
tồn tại một ñường ñi hoặc mạch ñi từ gốc n1 ñến
ni qua các cung của D.
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
12
III.2 Lý thuyết ñồ thị - Ví dụ 3.2
(c1, c2) là một dòng có gốc n1
(c1, c2) không là một dòng có gốc n2
(c1, c2) là một mạch ñi
(c1, c2) là một dòng có gốc n2
(c1, c2) không là một mạch ñi
(c1, c2) không là dòng của gốc nào cả
(c1, c2) là dòng của gốc n1, n2 hoặc n3
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
13
III.3 Đồ thị con ñường truy xuất
Định nghĩa:
Đồ thị con ñường truy xuất là một ñồ thị có
hướng với:
N: Tập các nút của ñồ thị
C ⊆ (N x N): Tập các cung (có hướng)
Q: tập các quan hệ Qi.
Cñ: Tập các con ñường truy xuất
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
14
III.3 Đồ thị CĐTX – Định nghĩa (tt)
Mỗi cung trên ñồ thị tương ứng với một con
ñường truy xuất ñến 1 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 nó ứng 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.
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
15
III.3 Đồ thị CĐTX – Định nghĩa (tt)
Ni 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 Nj: Từ một bộ của quan hệ nút QNi có
thể truy xuất ñến 1 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
cij
cij
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
16
III.3 Đồ thị CĐTX – Ví dụ 3.3
Ngõ vào
CSDL
Ngõ vào
CSDL
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
17
Ví dụ 3.3 (tt)
Diễn giải:
Có hai ngõ vào CSDL: NhânViên_2 và ĐềÁn_2, nghĩa là cung
cấp một giá trị Ma_NV (Ma_DA), ta có thể truy xuất ngay một
bộ tương ứng trong quan hệ NhânViên_2 (ĐềÁn_2).
Từ một bộ NhânViên_2, ta có thể truy xuất trực tiếp một bộ
của Phòng_2 mà nhân viên trực thuộc, thông qua con ñường
truy xuất NhânViên_2 → Phòng_2.
Từ một bộ của Phòng_2, 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 Phòng_2 → NhânViên_2.
Từ một bộ của NhânViên, 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 NhânViên_2 → ĐềÁn_2.
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
18
Đồ thị con ñường truy xuất thô
Là ñồ thị con ñường truy xuất ñặc biệt,
trong ñó, nếu giữa hai nút của ñồ thị có
một cung thì bao giờ cũng tồn tại một
cung theo chiều ngược lại.
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
19
III.4 Đồ thị quan hệ
Đồ thị quan hệ là một dạng ñồ thị con
ñường truy xuất ñược ñơn giản hoá
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, với:
NQ: Tập nút
CQ ∈ NQ x NQ: tập cung có hướng/vô hướng
QQ : tập quan hệ Qi
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
20
III.4 Đồ thị quan hệ (tt)
Diễn giải:
Ni Nj:
Qi, Qj là các quan hệ lần lượt ứng với hai 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: Qji+ = KQi+ ∪ KQj+
Qij
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
21
III.4 Đồ thị quan hệ của ví dụ 3.3 (tt)
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
22
III.5 a.Biến ñổi từ ñồ thị CĐTX thô
sang ĐTQH
NQ = N
QQ = Q
∀c,c’ ∈ C có chiều ngược nhau và cùng ứng với
một quan hệ cung Qc, ∃ cQ ∈ CQ sao cho cQ
cũng ứng với quan hệ Qc trong QQ.
Cung cQ là cung vô hướng nếu bản số của c và c’
ñều có giá trị tối ña (max(c), max(c’)) lớn hơn 1
Ngược lại cQ là cung có hướng
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
23
III.5 b.Chuyển từ ĐTQH sang ñồ
thị CĐTX thô
N =NQ
Q= QQ
∀cQ = (n1, n2) ∈ CQ, (cQ ứng với một quan hệ
Qc ∈ QQ), ∃ c,c’ ∈ C có chiều ngược nhau và
cùng ứng với một quan hệ cung Qc ∈ Q.
Nếu cQ là cung vô hướng: max(c) >1 và max(c’)>1
Ngược lại max(c) =<1 hoặc max(c’) <= 1
Các nút trong N ñều là nút vào.
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
24
III.6 Chuỗi kết ñược cài ñặt trên
ĐTQH / ñồ thị CĐTX
Khái niệm chui kt ñc cài ñt trên ñ
th quan h là cơ sở ñể ñánh giá tính hiệu
quả của cấu trúc lô-gíc khi thực hiện phép
kết.
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
25
III.6 a. Chuỗi kết ñược cài ñặt
trên ñồ thị CĐTX
Một chuỗi kết p = Q1 Q2… Qm ñược
cài ñặt trên ñồ thị CĐTX (N,C,Q,Cñ ) nếu và
chỉ nếu:
∀ Qi, i=1..m, Qi ∈ Q
∃ một dòng D = (c1, c2,… ,cp) trên ñồ thị CĐTX sao
cho :
∀ cung ci của D, ci ứng với một quan hệ Qj, trong
chuỗi kết
∀ Qi trong chuỗi kết : ∃ một cung c của D ứng với Qi
Hoặc ∃ một nút n trên D ứng với Qi
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
26
III.6 b. Chuỗi kết ñược cài ñặt
trên ĐTQH
Một chuỗi kết p = Q1 Q2… Qm ñược
cài ñặt trên ĐTQH (NQ,CQ,QQ) nếu và chỉ
nếu:
∀ Qi, i=1..m, Qi ∈ QQ
∃ một dòng D = (c1, c2,… ,cp) trên ñồ thị quan hệ
sao cho :
∀ cung ci của D, ci ứng với một quan hệ Qj, trong
chuỗi kết
∀ Qi trong chuỗi kết: ∃ một cung c của D ứng với Qi
Hoặc ∃ một nút n trên D ứng với Qi
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
27
Chuỗi kết trên ñồ thị - Ví dụ 3.4
Chuỗi kết (AX) (AB) (BY) (BC) (CZ) ñược cài
ñặt trên (a), (b), (d) nhưng không ñược cài ñặt trên (c)
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
28
Chuỗi kết trên ñồ thị - Diễn giải
Nếu chuỗi kết ρ ñược cài ñặt trên ñồ thị,
tồn tại một dòng D có gốc là ng.
Từ quan hệ Qg ứng với ng ta có thể truy xuất
nhanh ñến những bộ của Qi trong ρ thông
qua các ñường ñi hoặc mạch ñi xuất phát từ
ng
© Đồng Thị Bích Thủy Bộ môn Hệ Thống Thông Tin
Trường ĐH Khoa Học Tự Nhiên - HCM
29
Câu hỏi?
File đính kèm:
Unlock-Buoi_7_CHUONG_II_CSDLNC_TH2008.pdf

