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)
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:
- Unlock-Buoi_9_CHUONG_II_CSDLNC_TH2008.pdf