Cơ sở dữ liệu nâng cao - Buổi 9

III.9 Trường hợp đáng chú ý

III.10 Cách chọn lựa và khai báo đồ thị CĐTX

với hệ QTCSDL

III.10.1 Đặt vấn đề

III.10.2 Cài đặt cung (con đường truy xuất)

III.10.3 Cài đặt nút (bảng)

pdf25 trang | Chuyên mục: SQL Server | Chia sẻ: dkS00TYs | Lượt xem: 3005 | Lượt tải: 2download
Tóm tắt nội dung Cơ sở dữ liệu nâng cao - Buổi 9, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Buổi # 9 
(lớp TH2008-1)
Cơ sở dữ liệu nâng cao
Đồng Thị Bích thủy
09/11/2010
© Đồ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
2
Nội dung tuần này
III.9 Trường hợp ñáng chú ý
III.10 Cách chọn lựa và khai báo ñồ thị CĐTX 
với hệ QTCSDL
III.10.1 Đặt vấn ñề
III.10.2 Cài ñặt cung (con ñường truy xuất)
III.10.3 Cài ñặt nút (bả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
3
III.9 Trường hợp ñáng chú ý
Cho cấu trúc quan hệ phổ quát:
C0 = <Q0(SABXYZT), F0={S →ABT; AB →X;
A →Y; B →Z }>
Và cấu trúc CSDL quan niệm: 
C1 = {;
 ;
;
 }
© Đồ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
4
III.9 Trường hợp ñáng chú ý (2)
Có thể biểu diễn C1 ở dạng ñồ thị theo 4 cách sau:
1 2
4
3
Q1(ST) Q2(ABX)
Q3(AY)
Q12(SAB)
Q23(AB)
Q24(AB)
Q4(BZ)
Q14(SB)
(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
5
III.9 Trường hợp ñáng chú ý (3)
 Nhận xét:
 Các ñồ thị tương ñương nhau ở góc ñộ thao 
tác quan hệ: các chuỗi kết dựa trên thuộc tính 
chung có thể ñặt ra trên cấu trúc CSDL này 
ñều ñược cài ñặt trên cả 4 ñồ thị:
 Ví dụ: muốn truy xuất piSTAY Q0
 Đồ thị (a) và (d) : dòng (12, 23)
 Đồ thị (b) : dòng (13)
 Đồ thị (c): dòng (13) hoặc (12, 23)
© Đồ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.9 Trường hợp ñáng chú ý (4)
 Nhận xét (2)
 Tuy nhiên, cách truy xuất sẽ khác nhau trên các ñồ thị
 Ví dụ: Truy xuất piAB Q0:
 Đồ thị (a), (c), (d): truy xuất chỉ ở nút 2 : piAB Q2
 Đồ thị (b): dòng (13, 14) và nút 2: piAB (Q13 Q14) 
∪ piAB Q2
 Một thể hiện minh họa cho ñồ thị (b):
t2b2a3s2
t1b3a1s1
TBAS
TQ1
x2b3a1
x1b1a1
XBA
TQ2
y3a3
y2a2
y1a1
YA
TQ3
z3b3
z2b2
z1b1
ZB
TQ4
© Đồ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.9 Trường hợp ñáng chú ý (5)
 Nhận xét (3)
 Các ñồ thị cũng có ý nghĩa khai thác khác nhau:
 Với ñồ thị (c): người sử dụng có thể tạo các bộ Q0[SA] ñộc 
lập với những bộ Q0[SAB], thông qua cung (13) , tức là có
thể nhập trước những bộ dạng (s,a,-,t)
 Tương tự, với ñồ thị (d), người sử dụng có thể tạo các bộ
Q0[SB] ñộc lập với những bộ Q0[SAB], thông qua cung (14)
 Trong ñồ thị (a): không có khả năng này.
 Khi cài ñặt quan hệ Q1 thành một bảng TQ1 , sẽ
phải khai báo khác nhau (xem phần III.10)
© Đồ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.9 Trường hợp ñáng chú ý (6)
 Nhận xét (4)
 Thuật toán chuyển từ cấu trúc CSDL sang ñồ
thị quan hệ ñã trình bày ñề nghị ñồ thị (a): 
 Mục tiêu là cung cấp một biểu diễn ñồ thị không 
trùng lắp trên con ñường truy xuất ñể người thiết 
kế có cái nhìn gọn nhất
 Các biến thể (ñồ thị (b), (c), (d) ) sẽ ñược cân nhắc 
ở giai ñoạn sau với các tiêu chí : ý ñồ khai thác, 
tần suất khai thá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
9
III.10
Cách chọn lựa và khai báo ñồ
thị CĐTX với hệ QTCSDL
© Đồ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.10.1 Đặt vấn ñề
 Các cơ sở ñể cân nhắc khi thiết kế vật 
lý:
 Ý ñồ khai thác CSDL
 Đặc trưng kỹ thuật của hệ quản trị 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
11
III.10.1 Đặt vấn ñề (2)
 Ý ñồ khai thác CSDL: là các chuỗi kết thể
hiện nội dung cốt lõi của các xử lý
 Cung (con ñường truy xuất):
 Nên giữ lại con ñường truy xuất nào?
 Có nên thêm vào con ñường truy xuất trùng lặp?
 Nút (bảng = quan hệ):
 Gộp các nút - giữ nguyên - tách một nút ?
 Đảo nút?
 Kết quả là ñồ thị con ñường truy xuất ñược cài 
ñặ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
12
III.10.1 Đặt vấn ñề (3)
 Đặc trưng kỹ thuật của hệ quản trị
CSDL chọn ñể cài ñặt:
 Cài ñặt trên Hệ quản trị nào, ñồ thị con 
ñường truy xuất cài ñặt có phù hợp với hệ
quản trị này hay không?
 Lựa chọn các hỗ trợ của hệ quản trị ñể thể
hiện các khái niệm lý thuyết trên ñồ thị 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
13
III.10.2 Các vấn ñề liên quan ñến cài 
ñặt cung (CĐTX)
 Đưa trở vào một con ñường truy xuất 
trùng lặp:
© Đồ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.10.2 Các vấn ñề liên quan ñến cài 
ñặt cung (CĐTX) (2)
Ta có: Ma_NV → Ma_DA (12)
Ma_DA → Ma_P (23)
==> Ma_NV → Ma_P (13)
Đưa vào con ñường truy xuất trùng lắp (13) vì
những lý do sau:
 Bản số cung (12) là (0,1). Cung (13) cho biết ñược phòng của 
NV dù nhân viên ñó không tham gia vào ñề án nào. Khi cần 
danh sách nhân viên của một phòng, dùng con ñường (13), vì
dùng (12, 23) sẽ thiếu các nhân viên không tham gia ñề án.
 Nếu bản số cung (12) là (1,1), việc ñưa vào cung (13) có ý nghĩa 
khi nhân viên có thể tham gia vào ñề án của phòng ban khác 
phòng ban mà nhân viên trực thuộ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
15
III.10.2 Các vấn ñề liên quan ñến con 
ñường truy xuất (3)
 Khai báo vật lý 
 Trường hợp 1:
 Khai báo vật lý:
 Q2(BY), B là khóa chính
 Q1(AXB), A là khóa chính, B là khoá ngoại, chỉ
mục (B)
© Đồ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.10.2 Các vấn ñề liên quan ñến con 
ñường truy xuất (4)
 Trường hợp 2:
 Khai báo vật lý:
 Q2(BY), B là khóa chính
 Q1(ABX), AB là khóa chính, B là khoá ngoại, chỉ
mục (B)
© Đồ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
III.10.2 Các vấn ñề liên quan ñến con 
ñường truy xuất (5)
 Trường hợp 3: Cung vô hướng
 Khai báo vật lý:
 Q2(BY), B là khóa chính
 Q1(AX), A là khóa chính 
 Q12(AB), (AB) là khóa chính, hai khóa ngoại: (A) 
và (B), hai chỉ mục (A) và (B)
© Đồ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
III.10.3 Các vấn ñề liên quan ñến cài 
ñặt một nút (=bảng)
 Đảo một quan hệ nút – Chọn chỉ mục cho 
một nút
 Vd 3.7: NV(Mã_NV, Tên_NV,Mã_P )
 Có nhu cầu truy xuất các bộ của nhân viên 
dựa trên Mã_P  Khai báo Mã_P là chỉ mục 
của quan hệ NV.
 Đảo quan hệ NV theo Mã_P
© Đồ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.10.3 Các vấn ñề liên quan ñến cài 
ñặt một nút (2)
 Chia nhỏ một nút:
 Để nguyên hay tách một nút?
 Tách dc:
Xét quan hệ Q(AXY), trong ñó Y có thể là một 
tập thuộc tính lớn, và trong quá trình khai 
thác ta thường xuyên quan tâm tới AX, ít 
nhắc tới Y
 tách Q thành hai nút Q1(AX) và Q2(AY)
© Đồ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.10.3 Các vấn ñề liên quan ñến cài 
ñặt một nút (3)
 Chia nhỏ một nút (2):
 Tách ngang :
 Ví dụ: Sổ thu chi trong năm từ 1/1 ñến 31/12 có
dữ liệu rất lớn  chia ra thành 12 quan hệ con, 
mỗi quan hệ chứa thông tin của từng kỳ
(thá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
21
III.10.3 Các vấn ñề liên quan ñến cài 
ñặt một nút (4)
 Gộp nút – Đưa thêm thuộc tính vào một quan 
hệ nút
Trường hợp 1:
 Từ một bộ của Q1, rất thường xuyên có nhu cầu truy 
xuất các bộ của Q2 tương ứng. Do ñó gộp hai quan hệ
này lại thành một ñể truy xuất cho nhanh. Khi ñó khai 
báo vật lý:
 Q12 (ABXY), khoá chính (AB), chỉ mục (A)
  Q12 chỉ ñạt DC1, ta chấp nhận trùng lắp thông tin ñể
truy xuất nhanh
© Đồ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.10.3 Các vấn ñề liên quan ñến cài 
ñặt một nút (5)
 Gộp nút (2)
Trường hợp 2:
 Từ một bộ của Q1, rt thng xuyên có nhu cầu truy 
xuất các bộ của Q2 tương ứng. Do ñó gộp hai quan hệ
này lại thành một ñể truy xuất cho nhanh. Khi ñó khai 
báo vật lý:
 Q12 (ABXY), khoá chính (B), chỉ mục (A)
  Q12 chỉ ñạt DC2, tương tự ví dụ 1, ta chấp nhận 
trùng lắp thông tin ñể truy xuất nhanh
© Đồ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.10.3 Các vấn ñề liên quan ñến cài 
ñặt một nút (5)
 Cài ñặt nút vào:
 Cài ñặt nút vào cho phép ta truy xuất nhanh ñến 
một bộ của quan hệ từ giá trị khóa mà không cần 
duyệt tuần tự qua các bộ trong thể hiện.
 Tùy vào hỗ trợ của hệ quản trị, ta chọn cách cài 
ñặt nút vào:
 Cài ñặt bằng một chỉ mục có giá trị duy nhất , xem 
chỉ mục ñặc biệt này là khóa của nút
 Cài ñặt bằng hàm băm,…
 Hiện nay ña số các hệ quản trị CSDL ñều có hỗ trợ 
cơ chế khóa chí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
24
Ví dụ của trường hợp ñáng chú ý
 Khi cài ñặt quan hệ Q1 thành một bảng 
TQ1 , sẽ phải khai báo khác nhau, tùy 
theo chọn cài ñặt theo ĐTQH nào, vì mỗi 
ñồ thị có số lượng CĐTX ñến nút của Q1
khác nhau:
 Đồ thị (a): một chỉ mục (AB)
 Đồ thị (b): hai chỉ mục (A) và (B)
 Đồ thị (c): hai chỉ mục (AB) và (A)
 Đồ thị (d): hai chỉ mục (AB) và (B)
© Đồ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
Câu hỏi?

File đính kèm:

  • pdfUnlock-Buoi_9_CHUONG_II_CSDLNC_TH2008.pdf
Tài liệu liên quan