Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 41 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
41
Dung lượng
2,43 MB
Nội dung
3/14/2014 THỌNG TIN V H C PH N Tên học phần: CSDL Phơn tán- Distributed Database Mư học phần: TIN4112 Số tín chỉ: (30 tiết) C S D Yêu cầu c a học phần: Bắt buộc LI U PHỂN TỄN Các học phần tiên quyết: Ngơn ngữ lập trình bậc cao DISTRIBUTED DATABASES Nhập môn s liệu Thiết kế s liệu M ng máy tính PGS.TS Nguyễn Mậu Hân Khoa CNTT-ĐHKH HUẾ NỘI DUNG THỌNG TIN V H C PH N Phơn gi tín ch đ i v i ho t đ ng: + Nghe gi ng lý thuyết: 20 + Ki m tra, làm tập lớp: (=3) + Tự học tập nhóm: 21 (=7) Chính sách đ i v i h c ph n vƠ yêu c u c a Gi ng viên: Học viên bắt buộc ph i tham gia ho t động sau: Nghe gi ng lý thuyết, Ki m tra định kỳ Thi cuối kỳ Ph ng pháp, hình th c ki m tra Kiểm tra – Tiểu luận- Chuyên cần : 50 % Thi cuối kỳ : 50 % Ch ơng TỔNG QUAN VỀ DDB Ch ơng CÁC MỨC TRONG SUỐT TRONG DDB Ch ơng THIẾT KẾ CSDL PHÂN TÁN Ch ơng TỐI U HÓA TRUY VẤN TRONG DDB Đ A CH LIểN H TÀI LI U THAM KH O [1] Andrew S Tanenbaum and Maarten Van Steen, Distributed Systems Principles and Paradigms, 2002 Pentice-Hall [2] M.TAMER OZSU and PATRICK VALDURIEZ, Principles of Distributed Database Systems, Prentice Hall, 2004 [3] Weiyi Meng and Clement T.Yu, Principles of Database Query Processing for Advanced Applications, Morgan Kaufman Inc., 2003 [4] William Buchanan, Distributed Systems and Networks, Mc Graw-Hill Book International 2002 [5] Stefano Ceri and Giuseppe Pelagatti, Distributed Databases Principles and Systems, Mc Graw-Hill Book International [6] Jeffrey D.Ullman (biên dịch: Trần Đ c Quang), Nguyên lỦ h CSDL vƠ c s tri th c, t p 1&2 NXB Thống kê, 1998 [7] Nguyễn Mậu Hân, Giáo trình Cơ s liệu phân tán, 2012 PGS.TS NGUY N M U HỂN, KHOA CỌNG NGH THỌNG TIN TR NG Đ I H C KHOA H C - Đ I H C HU 77, NGUYEN HU ậ HU ĐI N THO I: CQ: 054 382 6767 DĐ: 090 559 1515 EMAIL: nmhan2005@yahoo.com 3/14/2014 CH NG T NG QUAN V CSDL PHỂN TỄN CH Tại phải phân tán? NỘI DUNG 1.1 S l NG T NG QUAN V CSDL PHỂN TỄN • Nhu cầu dùng chung liệu hợp c v m ng máy tính 1.2 Các hình th c t ch c h th ng phơn tán • Các tổ ch c kinh tế có nhi u trụ s phân tán 1.3 Các đ c tr ng c a h th ng phơn tán nhi u vị trí địa lý khác 1.4 C s • Gi m chi phí truy n thông công việc d li u phơn tán 1.5 Các lo i truy xu t CSDL phơn tán • Qu n lý luồng liệu sử dụng chung liệu, ch ơng trình c a tổ ch c CH 1.1 S NG T NG QUAN V CSDL PHỂN TỄN Phân tán gì? L C V M NG MỄY TệNH •Một m ng máy tính tập máy tính tự vận hành, đ ợc kết nối l i có kh trao đổi thơng tin với •Các máy tính m ng th ng đ ợc gọi nút hay tr m (site), chúng t o phần c ng b n c a m ng đ ợc kết nối l i vói b i đ ng truy n • Một m ng máy tính tr ng hợp đ c biệt c a hệ thống xử lý phân tán, máy tính thiết bị đ ợc kết nối vào kênh truy n liệu • Phần c ng-M ng máy tính • Phần m m Hệ qu n trị CSDL Csdl phân tán Các ng dụng 1.1 S L C V M NG MỄY TệNH 10 1.1 S Những loại mạng máy tính M ng hình (star) •Th ng đ ợc dùng tổ ch c có nhi u chi nhánh nằm nhi u vùng khác • Máy tính trung tâm đ ợc đ t t i văn phịng ho c t i trung tâm vùng • Nh ợc m: - độ tin cậy thấp - giao tiếp c a hai máy tính phụ thuộc vào máy tính trung tâm - t i trọng cao máy tính trung tâm M ng hình L C V M NG MỄY TệNH M ng vịng (circle) • Các máy tính đ ợc nối với theo vịng khép kín • Mỗi tr m đóng vai trị chuy n tiếp • Truy n liệu quanh vòng th ng theo chi u • Việc u n truy n tin m ng xoay vòng th ng đ ợc thực thẻ u n • Nh ợc m: -nếu đ ng nối bị cắt đ t có th làm ngừng tồn ho t động c a m ng -L ợng thông tin di chuy n đ ng truy n lớn 11 12 3/14/2014 1.1 S L C V M NG MỄY TệNH 1.1 S M ng bus: • Có kênh chung đ chuy n liệu, máy tính thiết bị đầu cuối đ ợc gắn vào L C V M NG MỄY TệNH M ng h n h p (hybrid): •Các m ng truy n thơng th ng có đ ng nối vơ định •Các đ ng nối khơng có tính hệ thống khơng tn theo khn mẫu •Có th g p nút nối với nút khác c nút nối với nhi u nút khác •Các nối kết máy tính m ng Internet thuộc lo i M ng bus 13 1.1 S L C V M NG MỄY TệNH 14 1.1 S L C V M NG MỄY TệNH M ng th m (Mesh): •Mỗi nút đ u đ ợc nối kết với nút cịn l i •Có độ tin cậy cao kh ho t động tốt cấu trúc đư nói •Cấu trúc có chi phí cao HUB Hub Hub Bé chun ®ỉi c¸p M ng hỗn hợp 15 1.2 Các hình th c t ch c h th ng phơn tán 16 1.2 Các hình th c t ch c h th ng phơn tán peer-to-peer (mơ hình nhóm lƠm vi c): Các máy tính cá nhân máy tr m có th đ ợc sử dụng nh hệ thống độc lập trợ giúp ng dụng địa ph ơng peer-to-peer Mỗi thành viên m ng có vai trò ngang nhau, tự qu n lý tài nguyên c a chia sẻ tài ngun cho máy tính khác m ng File server Mỗi máy tính m ng vừa đóng vai trị máy ch (Server), vừa đóng vai trị máy khách (Client) Client/Server 17 Đây mơ hình m ng đơn gi n, phù hợp với hệ thống m ng nhỏ khơng có u cầu cao v b o mật 18 3/14/2014 1.2 Các hình th c t ch c h th ng phơn tán 1.2 Các hình th c t ch c h th ng phơn tán peer-to-peer (mơ hình nhóm lƠm vi c): File server (máy d ch v file): File server Một số máy dịch vụ file đ ợc gán trực tiếp vào m ng LAN File server thiết bị qu n lý ho t động file phục vụ máy tính cá nhân đ ợc kết nối m ng LAN Mỗi máy cá nhân đ ợc phân chia dung l ợng cố định ổ c ng c a File server, ch ơng trình máy tính cá nhân có th tham chiếu đến file phần đĩa t ơng ng c a đ c t đ ng dẫn Những h n chế c a File server •Dữ liệu di chuy n m ng nhi u •Việc ki m soát liệu phi tập trung •Các máy tr m ph i đ m nh 19 20 1.2 Các hình th c t ch c h th ng phơn tán 1.3 C s d li u phơn tán (Distributed Database) Client/server (mơ hình khách/ch ) Đ nh nghĩa: CSDL phân tán tập hợp liệu, mà v m t logic tập hợp thuộc hệ thống, nh ng v m t vật lý liệu đ ợc phân tán vị trí khác c a m ng máy tính Có hai m quan trọng đ ợc nêu định nghĩa: a Phân tán: Một số máy dịch vụ file đ ợc gán trực tiếp vào m ng LAN server có ch c u n, l u trữ CSDL, xử lý truy vấn qu n lý việc khai thác tài nguyên m ng c a máy tính khác Thuật ngữ client đ ợc sử dụng đ ng i khai thác tài nguyên m ng Dữ liệu khơng c trú vị trí mà đ ợc phân bố rộng khắp nhi u máy tính đ t t i nhi u vị trí khác 21 1.3 C s d li u phơn tán (Distributed Database) Đây m phân biệt s liệu phân tán 22 với s liệu tập trung 1.3 C s d li u phơn tán (Distributed Database) b Tƣơng quan logic: Dữ liệu hệ phân tán có số thuộc tính ràng buộc chúng với Đi u giúp có th phân biệt s liệu phân tán với tập hợp s liệu tập trung Các file liệu đ ợc l u trữ t i nhi u vị trí khác nhau, u th ng thấy ng dụng mà hệ thống phân quy n truy nhập liệu môi tr ng m ng 23 This illustration shows a homogeneous distributed database The figure shows three databases, HQ.ACME.COM, SALES.ACME.COM and MFG.ACME.COM Each database is connected to a number of client systems at Headquarters and the Sales and Manufacturing divisions, respectively 24 3/14/2014 1.3 C s d li u phơn tán (Distributed Database) 1.3 C s d li u phơn tán An Oracle Database Distributed Database System K t n i CSDL (Database Links) database link kết nối vật lý hai server CSDL cho phép NSD truy cập liệu nh CSDL logic There are two databases located on separate servers: HQ and SALES The figure shows examples of direct and indirect client connections Queries are made to the HQ database directly, and queries are made indirectly to the SALES database, through the HQ database, which then acts as a client Communication between the servers occurs over the network using Oracle Net 25 1.3 C s d li u phơn tán 26 Database Link 1.3 C s d li u phơn tán Chú Ủ Database Links • Database links có th This illustration depicts a database link between user Scott and a remote database The link passes through the local database, and, because the link to the remote database is stored on the local database, a unidirectional link links the remote database to the user sử dụng hai d ng: private ho c public • Nếu private có User t o liên kết có quy n truy cập liệu ng d ng đ a ph ng (local application) • Các ng dụng mà khơng u cầu liệu từ site khác ng d ng toƠn c c (global application) • Các ng dụng mà có u cầu liệu từ site khác • Nếu public, User hệ thống có th truy cập liệu Assignment: to learn more database link See also: http://www.stanford.edu/dept/itss/docs/oracle/ 27 1.3 C s d li u phơn tán (Distributed Database) Ví dụ 1: Một ngân hàng có ba chi nhánh đ t t i vị trí khác T i chi nhánh (site) có máy tính u n số máy giao dịch đầu cuối (teller terminal) s liệu c a chi nhánh T i site đ ợc đ t phần s liệu phân tán Các máy tính đ ợc nối với b i m ng truy n thông Các nút m ng phân tán có hai ch c năng: Xử lý thơng tin t i vị trí mà qu n lý Tham gia vào việc xử lý yêu cầu v thông tin cần truy cập qua nhi u địa m Chẳng h n, việc lên danh sách tất c nhân viên c a ngân hàng Yêu cầu địi hỏi tất c máy tính chi nhánh c a công ty đ u ph i ho t động đ cung cấp thông tin 29 28 1.3 C s d li u phơn tán (Distributed Database) Database Database Server T T T T T Server Terminal T T T T T Network Database Server T T T T T CSDL phơn tán m t m ng phơn tán v đ a lỦ 30 3/14/2014 1.3 C s d li u phơn tán (Distributed Database) 1.3 C s d li u phơn tán (Distributed Database) Ví d 2: Xet ngân hàng nh Branch1 ví dụ Nh ng: • Các máy tính với CSDL c a chúng T T T T chi nhánh đ ợc chuy n đến tòa nhà Database Computer Computer Local Network • Các máy giao dịch đầu cuối đ ợc kết nối với máy tính ng dây điện tho i • Mỗi máy tính CSDL c a t o nên site c a m ng Computer Branch3 T T T T cục Database Telephone lines 31 32 CSDL phơn tán m t m ng c c b 1.3 C s d li u phơn tán (Distributed Database) 1.3 C s d li u phơn tán (Distributed Database) Ví d 3: Xét hệ thống ngân hàng nh Nh ng: Branch1 T T T • Dữ liệu c a chi nhánh đ ợc phân tán back-end computers, máy tính thực ch c qu n trị CSDL • Các ch ơng trình T T T T Telephone lines cục với băng thông rộng t ơng ng c a chúng qua đ Branch2 Telephone lines • Các máy tính đ ợc kết nối với b i m ng Database Database Database Database Back end Computer Back end Computer Back end Computer ng dụng đ ợc thực b i Branch2 T T T Local Network máy tính khác (front-end computer), máy tính đóng vai trò giao diện yêu cầu back-end Application computers thực lệnh c a NSD Front-end Computer Branch3 T T T H th ng đa x 33 lỦ (multiprocessor system) Các ng dụng 1.4 H qu n tr c s d li u phơn tán (DDBMSs) Program n DataBase Management System Operation System DataBase Kiến trúc tổng quát c a hệ qu n trị CSDL tập trung 35 Giao diện ng Tầng giao diện i dùng Qu n lý khung nhìn Phép tính quan hệ Tầng u n Ki m sốt tồn vẹn ngữ nghĩa Ki m định cấp quy n Phép tính quan hệ Tầng biên dịch Phân rư tối u hóa truy vấn Qu n lý ho ch định truy xuất Các kết qu Communication SubSystems Các tầng ch c c a Hệ QTCSDL quan hệ a Hệ qu n trị s liệu tập trung Program 34 Đ i số quan hệ Tầng thực thi Đi u n thực thi ho ch định truy xuất Thực thi phép toán đ i số Truy xuất/Cập nhật Tầng truy xuất liệu Qu n lý vùng đệm Các ph ơng pháp truy xuất Truy xuất/Cập nhật Tầng trì quán Đi u n đồng th i Ghi nhật ký 36 DataBase 3/14/2014 1.4 H qu n tr c s d li u phơn tán 1.4 H qu n tr c s d li u phơn tán b Hệ qu n trị s liệu phân tán (DDBMSs) DDBMS có ch c hỗ trợ việc t o b o trì s liệu phân tán DDBMS có thành phần t ơng tự nh hệ qu n trị s liệu tập trung; thành phần hỗ trợ việc chuy n t i liệu đến tr m ng ợc l i Các thành phần c a DDBMS: Qu n trị liệu (Database management): DB Truy n thông liệu (Data Communication): DC Từ n liệu (Data Dictionary): DD dùng đ mô t thông tin v phân tán c a liệu m ng Cơ s liệu phân tán (Distributed Database): DDB T T T Local database DB DC DDB DD Site Site DD Local database DB T DDB DC T T Các thành phần c a DDBMS th ơng m i 37 Application Program Client DBMS Communication Software SQL Query Result Relation Operation System Operation System User Interface Result Relation User Interface Application Program 38 1.3 C s d li u phơn tán (Distributed Database) Client DBMS DDBMS thu n nh t (Homogeneous DDBMS) Communication Software DBMS địa ph ơng giống SQL Query Communication Software DDBMS không thu n nh t (Heterogeneous DDBMS) Sematic Data Controler DBMS địa ph ơng có th khác Query Optimizer DDBMS có ch c chuy n đổi mơ hình Transaction Manager Recovery Manager Kiến trúc tham chiếu c a DDBMS theo mơ hình Client/Server liệu Runtime Support Processor Operation System DataBase 39 40 41 42 3/14/2014 1.3 C s d li u phơn tán (Distributed Database) 1.3 C s d li u phơn tán (Distributed Database) So sánh csdl phơn tán vƠ csdl t p trung Nhận xét: CSDL phân tán không đơn gi n thực phân tán c a CSDL tập trung, b i chúng cho phép thiết kế đ c tr ng khác với CSDL tập trung truy n thống a Đi u n t p trung Trong CSDL tập trung: Mỗi ng dụng có files riêng Tính u kki n tập trung th toàn hệ thống Trong CSDL phân tán: Khái niệm v u n tập trung đ ợc nhấn m nh phụ thuộc vào kiến trúc c a CSDL phân tán CSDL phân tán đ ợc u n với cấu trúc phân lớp dựa vào hệ qu n trị CSDL toàn cục Hệ qu n trị CSDL địa ph ơng có trách nhiệm qu n trị CSDL địa ph ơng riêng 44 Các đ c m tiêu bi u c a CSDL truy n thống: • u n tập trung • độc lập liệu • gi m d thừa • biệt lập b o mật liệu 43 1.3 C s d li u phơn tán (Distributed Database) 1.3 C s d li u phơn tán (Distributed Database) b Đ c l p d li u Trong CSDL tập trung: Ch ơng trình không bị nh h ng b i thay đổi cấu trúc vật lý c a liệu Trong CSDL phân tán: Tính độc lập liệu quan trọng giống nh CSDL truy n thống Một khía c nh đ ợc thêm vào ý niệm c a độc lập liệu suốt phân tán Các ch ơng trình ng dụng có th sử dụng CSDL nh khơng đ ợc tổ ch c phân tán Sự xác c a ch ơng trình khơng bị nh h ng b i việc dịch chuy n liệu từ tr m 45 đến tr m khác c Gi m d th a d li u Trong CSDL tập trung: Chuẩn hóa liệu Sự khơng t ơng thích nhi u b n c a tập liệu Tiết kiệm không gian l u trữ cách lo i bỏ d thừa Việc gi m d thừa liệu có th đ t đ ợc cách chia sẻ liệu, cho phép nhi u ng dụng truy cập b n tin b n ghi 46 1.3 C s d li u phơn tán (Distributed Database) 1.3 C s d li u phơn tán (Distributed Database) c Gi m d d Bi t l p vƠ b o m t stop here Trong CSDL tập trung: Hệ qu n trị CSDL b o đ m truy cập đến liệu đư đ ợc uỷ quy n Trong CSDL phân tán: Hệ qu n trị CSDL địa ph ơng ph i b o đ m vấn đ v Biệt lập b o mật nh CSDL tập trung Tuy nhiên, hai khía c nh đ c biệt sau c a CSDL phân tán cần ph i đ ợc xem xét: • Trong CSDL phân tán với m c độ tự trị cao c a địa ph ơng, ng i ch liệu địa ph ơng c m giác đ ợc b o vệ tốt họ có th tự ch thực b o vệ thay phụ thuộc vào ng i qu n trị CSDL trung tâm • B o mật b n chất c a hệ phân tán nói chung, m ng truy n thông diện rộng cho phép nhi u ng i cập 48 nhật khai thác liệu th a d li u Trong CSDL phân tán: việc gi m d thừa ph c t p Ho t động c a trình ng dụng có th bị tăng lên liệu đ ợc l i tất c vị trí, nơi trình ng dụng cần Tính th ng trực c a hệ thống tăng lên, b i có lổi xẩy tr m khơng dừng việc thực ng dụng c a tr m khác liệu đư đ ợc chép l i 47 3/14/2014 1.3 C s d li u phơn tán (Distributed Database) 1.3 C s d li u phơn tán (Distributed Database) 1.3.4 u vƠ nh c m c a h phơn tán Ƣu điểm • Đáp ng nhanh hầu hết ng dụng sử dụng liệu t i tr m • Tăng c ng đơn th ng dụng CSDL mà không làm c n tr ng i sử dụng t i • Ki m soát liệu địa ph ơng theo h ớng hồn thiện tích hợp qu n trị liệu từ xa • Tăng c ng kh c a hệ thống liên quan đến d thừa liệu 1.3.4 u vƠ nh c m c a h phơn tán Nhƣợc điểm • Phần m m đắt ph c t p • Ph i xử lý thay đổi thông báo địa m • Khó ki m sốt tính tồn vẹn liệu với nhi u b n liệu đ ợc phân bố khắp nơi • Đáp ng chậm nhu cầu c a tr m tr ng hợp phần m m ng dụng không đ ợc phân bố phù hợp với việc sử dụng chung 49 1.5 Các lo i truy xu t CSDL phơn tán 1.5 Các lo i truy xu t CSDL phơn tán 1.5.1 Truy xu t t xa thông qua tác v c b n: ng dụng phát u cầu truy xuất CSDL vị trí Yêu cầu đ ợc hệ qu n trị CSDL phân tán g i đến vị trí ch a liệu Thực xong gửi kết qu v Trình ng d ng Các tác v c b n truy xu t CSDL DBMS1 50 1.5.2 Truy xu t t xa thơng qua ch ng trình ph tr Một ng dụng yêu cầu thực ch ơng trình phụ trợ vị trí từ xa Ch ơng trình phụ trợ truy xuất CSDL từ xa tr l i kết qu cho ng dụng yêu cầu Trình ng d ng Cơ s liệu Yêu c u thực hi n ch ng trình ph tr Cơ s liệu DBMS1 Site Site Site Site K t qu toƠn c c Cơ s liệu DBMS2 DBMS2 Ch ng trình ph tr Kết qu gửi v Các tác v truy xu t CSDL vƠ k t qu Cơ s liệu 51 Các lĩnh vực c n quan tơm 52 ASSIGNMENT Distributed Database Design Distributed Database Systems: Oracle8i Distributed Query Processing http://www.camden.rutgers.edu/HELP/Documentation/Oracle/server.815/ a67784/toc.htm Distributed Database Systems: DB2 Distributed Transaction Management http://www.cs.mcgill.ca/~cs577/#Project Distributed Concurrency Control Distributed Deadlock Management Reliability of Distributed DBMS Operating System Support Heterogeneous Database 53 54 3/14/2014 Cơu h i cu i ch ng CH NG CỄC M C TRONG SU T TRONG CSDL PHỂN TỄN u nh ợc m c a l i m ng máy tính NỘI DUNG Định nghĩa s liệu phân tán Hệ qu n trị CSDL phân tán Các thành phần yêu cầu DDBMSs th ơng m i Cho ví dụ v CSDL phân tán 2.1 Ki n trúc c So sánh csdl phân tán csdl tập trung 2.4 T ch c h th ng phơn tán b n c a m t CSDL phơn tán 2.2 Các đ c m c a h phơn tán 2.3 Trong su t phơn tán u nh ợc m c a hệ phân tán MỤC ĐÍCH Các truy xuất từ xa hệ thống phân tán Cung c p cho ng i s d ng th y đ c m c su t khác c a m t DDBMS Kết nối s liệu hệ phân tán 55 2.1 KI N TRÚC C B N C A CSDL PHỂN TỄN S đ t ng th S đ đ nh v (Allocation Schema) S đ ánh x đ a ph ng (Local mapping Schema 1) H qu n tr CSDL t i v trí (DBMS 1) CSDL đ a ph ng (Local Database 1) 2.1 Ki n trúc c b n c a m t c s d li u phơn tán a Sơ đồ tổng thể (Global Schema): Các S đ đ c l p v trí (Global Schema) S đ phơn m nh (Fragmentation Schema) Xác định tất c liệu đ ợc l u trữ s liệu phân tán nh liệu không đ ợc phân tán tr m hệ thống Sơ đồ tổng th đ ợc định nghĩa theo cách nh CSDL tập trung S đ ánh x đ a ph ng n (Local mapping Schema n) Trong mơ hình quan hệ, sơ đồ tổng th bao gồm định nghĩa c a tập quan hệ tổng th (Global relation) H qu n tr CSDL t i v trí n (DBMS n) CSDL đ a ph ng n (Local Database n) Ki n trúc tham kh o dùng cho CSDL phơn tán 57 2.1 Ki n trúc c b n c a m t c s d li u phơn tán 58 2.1 Ki n trúc c b n c a m t c s d li u phơn tán b Sơ đồ phân đoạn (fragment schema): Mỗi quan hệ tổng th có th chia thành vài phần không giao gọi phân đo n (fragment) Có nhi u cách khác đ thực việc phân chia Sơ đồ phân đo n mô t ánh x quan hệ tổng th 56 đo n đ ợc định nghĩa sơ đồ phân đo n (fragmentation Schema), Các đo n đ ợc mô t tên c a quan hệ tổng th với mục đo n Chẳng h n, Ri đ ợc hi u đo n th i c a quan hệ R 59 c Sơ đồ định vị (allocation schema): Các đo n phần logic c a quan hệ tổng th đ ợc định vị vật lý hay nhi u tr m Sơ đồ định vị xác định đo n liệu đ ợc định vị t i tr m m ng Các đo n đ ợc liên kết với quan hệ tổng th R đ ợc định vị t i tr m j cấu thành nh vật lý quan hệ tổng th R t i tr m j Do ta có th ánh x một-một nh vật lý c p (quan hệ tổng th , tr m) Các nh vật lý có th tên c a quan 60 hệ tổng th mục tr m 10 3/14/2014 Các k t n i CSDL IV Thi t k c • có 11 đ ng nối: L1, L2, L3, L4, L5, L6, L7, L8, L9, L10 ,L11 Ta có: owner(L1) = SAN_BAY member(L1) = TUYEN_BAY owner(L2) = MAY_BAY member(L2) = GHE owner(L3) = MAY_BAY member(L3) = CHUYEN_BAY owner(L4) = TUYEN_BAY member(L4) = CHUYEN_BAY owner(L5) = MAY_BAY member(L5) = CHI_TIET_HANG_VE owner(L6) = TUYEN_BAY member(L5) = CHI_TIET_HANG_VE owner(L7) = CHUYEN_BAY member(L7) = VE owner(L8) = HANG_VE member(L8) = CHI_TIET_HANG_VE owner(L9) = HANG_VE member(L9) = VE owner(L10) = DAI_LY member(L10) = VE owner(L11) = HANH_KHACH member(L11) = VE Thi t k phơn m nh d li u Chọn vị trí đặt liệu trung tâm Dựa vào tần suất sử dụng, kho ng cách địa lý ho t động c a hệ thống, ph ơng án phân m nh liệu đ ợc thực nh sau: Sử dụng phân m nh ngang nguyên th y phân m nh ngang dẫn xuất đ chia quan hệ tổng th thành ba m nh đ t t i ba vị trí dựa vào kho ng cách địa lý ba mi n đất n ớc: Vị trí 1: liệu đ t t i mi n bắc (Hà Nội) Vị trí 2: liệu đ t t i mi n trung (Đà N ng) Vị trí 3: liệu đ t t i mi n nam (Sài Gòn) S đ t ng th c a h th ng •Phân rư quan hệ TUYEN_BAY thành m nh ngang TUYEN_BAY1, TUYEN_BAY2, TUYEN_BAY3 đ ợc định nghĩa nh sau: TUYEN_BAY1 = TUYEN_BAY SAN_BAY1 TUYEN_BAY2 = TUYEN_BAY SAN_BAY2 TUYEN_BAY3 = TUYEN_BAY SAN_BAY3 đó, thuộc tính mư sân bay c a quan hệ TUYEN_BAY tr ng đ nối tự nhiên với mư sân bay c a quan hệ SAN_BAY mư sân bay đến c a quan hệ TUYEN_BAY đ ợc chọn giá trị từ m nh SAN_BAY1, SAN_BAY2, SAN_BAY3 s d li u phơn tán Thiết kế phân mảnh B ng phân tích tần suất nhu cầu khai thác liệu THỰC TH TR SỞ CHI CHÍNH NHÁNH SAN_BAY L.R H.RWED MAY_BAY L.RWED H.R GHE L.RWED H.R CHUYEN_BAY L.R H.RWED TUYEN_BAY L.RWED H.R HANG_VE L.RWED H.R CHI_TIET_HANG_VE L.R H.RWED VE L.R H.RWED DAI_LY L.R H.RWED HANH_KHACH L.R H.RWED Thi t k phơn m nh d Trong đó: W: T o ghi E: Sửa D: Xóa R: Đọc H: Tần suất cao L: Tần suất thấp li u •Chọn quan hệ tổng th SAN_BAY làm tiêu chí đ phân m nh Phân thành ba m nh đ t t i ba vị trí đ qu n lý Sân bay vùng lân cận Sau dựa vào m nh c a Sân bay dẫn xuất đến phân m nh c a quan hệ tổng th l i Phân rư quan hệ SAN_BAY thành m nh ngang SAN_BAY1, SAN_BAY2, SAN_BAY3: SAN_BAY1 = MA_SB = ‘Các mư sân bay mà vị trí qu SAN_BAY2 = MA_SB = ‘Các mư sân bay mà vị trí qu SAN_BAY3 = MA_SB = ‘Các mư sân bay mà vị trí qu Thi t k phơn m nh d n lý’ (SAN_BAY) n lý’ (SAN_BAY) n lý’ (SAN_BAY) li u Phân rư quan hệ CHUYEN_BAY thành m nh ngang CHUYEN_BAY1, CHUYEN_BAY2, CHUYEN_BAY3 đ ợc định nghĩa nh sau: CHUYEN_BAY = CHUYEN_BAY TUYEN_BAY CHUYEN_BAY = CHUYEN_BAY TUYEN_BAY CHUYEN_BAY = CHUYEN_BAY TUYEN_BAY Phân rư quan hệ CHI_TIET_HANG_VE thành m nh ngang CHI_TIET_HANG_VE1, CHI_TIET_HANG_VE2, CHI_TIET_HANG_VE3, đ ợc định nghĩa nh sau: CHI_TIET_HANG_VE = CHI_TIET_HANG_VE TUYEN_BAY CHI_TIET_HANG_VE = CHI_TIET_HANG_VE TUYEN_BAY CHI_TIET_HANG_VE = CHI_TIET_HANG_VE TUYEN_BAY 27 3/14/2014 Thi t k phơn m nh d li u Phân rư quan hệ VE thành m nh ngang VE1, VE2, VE3 đ ợc định nghĩa nh sau: VE1 = VE CHUYEN_BAY1 VE2 = VE CHUYEN_BAY2 VE3 = VE CHUYEN_BAY3 Phân rư quan hệ DAI_LY thành m nh ngang DAI_LY1, DAI_LY2, DAI_LY3 đ ợc định nghĩa: DAI_LY1 quầy bán vé c a CHUYEN_BAY1 DAI_LY2 quầy bán vé c a CHUYEN_BAY2 DAI_LY3 quầy bán vé c a CHUYEN_BAY3 Thi t k đ nh v d li u Thi t k phơn m nh d li u Phân rư quan hệ HANH_KHACH thành m nh ngang HANH_KHACH1, HANH_KHACH2, HANH_KHACH3 đ ợc định nghĩa nh sau: HANH_KHACH1 hành khách mua vé CHUYEN_BAY1 mà DAL_LY1 bán HANH_KHACH2 hành khách mua vé CHUYEN_BAY2 mà DAL_LY2 bán HANH_KHACH3 hành khách mua vé CHUYEN_BAY3 mà DAL_LY3 bán Đối với quan hệ MAY_BAY, GHE, HANG_VE dùng chung cho vị trí nên ta không phân m nh nên ta th ng xuyên thêm cập nhật đồng vị trí Thi t k s đ ánh x đ a ph ng Đ hệ thống ho t động tốt môi tr ng phân tán nên ta ph i t o b n c a b ng liệu t i vị trí nh sau: Sơ đồ định vị c a m nh t i vị trí S đ ánh x đ a ph ng Trong đó, R: Gồm quan hệ tổng th SAN_BAY, TUYEN_BAY, CHUYEN_BAY, CHI_TIET_HANG_VE, VE, DAI_LY, HANH_KHACH Còn quan hệ tổng th MAY_BAY, GHE, HANG_VE dùng chung t i ba vị trí nên ta thêm cập nhật đồng ba vị trí Các đo n hình nh vật lý c a quan hệ tổng th V Thi t k v t lỦ t i tr m Do sử dụng phân m nh ngang đ phân tán liệu nên cấu trúc vật lý c a b ng liệu t i tr m đ u giống Các b ng liệu t ơng ng với thực th mối quan hệ có hệ thống nh sau: Các ký hiệu: NULL: N (No, không đ ợc rỗng), Y (Yes, có th rỗng) PK (Primary key – khóa chính) FK (Foreign key – khóa ngo i) 28 3/14/2014 V Thi t k v t lỦ t i tr m Tên bảng STT Ý nghĩa phục vụ cho công tác quản lý sân bay phục vụ cho công tác quản lý máy bay máy bay CHUYEN_BAY CHI_TIET_HANG_VE bay phục vụ cho công tác qlý chuyến bay tuyến bay hệ thống 10 HANH_KHACH phục vụ cho việc bán vé hệ thống Hành khách, chứa thông tin liên quan đến hành khách mua vé hệ thống B ng MAY_BAY (Máy bay, ch a thông tin v máy bay hệ thống) STT Kiểu liệu, độ rộng Đại lý, chứa thông tin liên quan đến đại lý V Thi t k v t lỦ t i tr m C u trúc b ng d li u h th ng bán vé máy bay: B ng SAN_BAY (Sân bay, ch a thông tin v sân bay có hệ thống ) Tên trường vé xuất cho hành khách DAI_LY đế số lượng vé, đơn giá theo hạng vé máy bay ứng với tuyến bay Vé, chứa thông tin liên quan đến thông tin VE Chuyến bay, chứa thông tin liên quan đến chuyến V Thi t k v t lỦ t i tr m ST vé chuyến bay mà hành khách lựa chọn Chi tiết hạng vé, chứa thông tin liên quan Tuyến bay, chứa thông tin liên quan đến TUYEN_BAY Hạng vé, chứa thông tin liên quan đến hạng HANG_VE Ghế, chứa thông tin liên quan đến ký hiệu ghế GHE Ý nghĩa Máy bay, chứa thông tin liên quan đến máy bay MAY_BAY Tên bảng STT Sân bay, chứa thông tin liên quan đến sân bay SAN_BAY V Thi t k v t lỦ t i tr m Null Ghi Tên trường Kiểu liệu, độ rộng Null Ghi MA_MB Varchar2 (5) N Mã máy bay (PK) MA_SB Varchar2 (3) N Mã sân bay (PK) TENMB Nvarchar2 (30) N Tên máy bay TEN_SB Nvarchar2 (30) N Tên sân bay SO_GHE Integer N Số ghế T Mư sân bay có ký tự XXX, mư sân bay tên sân bay đ ợc đ t theo chuẩn c a hưng hàng không Việt Nam quốc tế V Thi t k v t lỦ t i tr m V Thi t k v t lỦ t i tr m B ng GHE (Ghế, ch a thông tin v ký hiệu ghế số th tự c a ghế máy bay đ thuận tiện việc in vé lên máy bay cho hành khách) B ng TUYEN_BAY có cấu trúc nh sau: STT Tên trường Kiểu liệu, độ rộng Mư máy bay có ký tự XXXX, mư máy bay tên máy bay đ ợc ký hiệu theo hưng hàng không Việt Nam quốc tế Null Ghi MA_MB Varchar2 (5) N (PK) STT Integer N (PK) KY_HIEU_GHE Varchar2 (3) N B ng TUYEN_BAY có cấu trúc nh sau: STT Tên trường Kiểu liệu, độ rộng Null Ghi MA_TB Varchar2 (7) N Mã tuyến bay (PK) MA_SB_DI Varchar2 (3) N Mã sân bay MA_SB_DEN Varchar2 (3) N Mã sân bay đến Mư máy bay có ký tự XXXX, mư máy bay tên máy bay đ ợc ký hiệu theo hưng hàng không Việt Nam quốc tế 29 3/14/2014 V Thi t k v t lỦ t i tr m V Thi t k v t lỦ t i tr m B ng HANG_VE (H ng vé, ch a thông tin h ng vé chuyến bay mà hành khách có th lựa chọn) STT Tên trường MA_HV TEN_HV Kiểu liệu, độ rộng Null Varchar2 (4) N Nvarchar2 (50) N Ghi Tên trường Kiểu liệu, độ rộng Mã chuyến bay (PK) SO_HIEU_CB Varchar2 (3) N Số hiệu chuyến bay MA_MB Varchar2 (50) N Mã máy bay (FK) MA_TB Varchar2 (7) N Mã tuyến bay (FK) THU Varchar2 (1) N Thứ GIO_BAY Varchar2 (5) N Giờ bay GIO_DEN Varchar2 (5) N Giờ đến Mã hạng vé (PK) Tên hạng vé Float Mư chuyến bay đ ợc đánh tự động có chuyến bay đ ợc thêm vào Số hiệu chuyến bay có ký tự XXX, số hiệu chuyến bay đ ợc ký hiệu theo hưng hàng không việt Nam quốc tế Dựa vào số hiệu chuyến bay ta biết đ ợc th , gi bay, gi đến V Thi t k v t lỦ t i tr m B ng CHI_TIET_HANG _VE (Chi tiết h ng vé, ch a thông tin liên quan đến số l ợng vé, đơn giá cho h ng vé, máy bay tuyến bay): Ghi B ng DAI_LY (Đ i lý, ch a thông tin c a đ i lý) Tên trường STT Kiểu liệu, độ rộng Ghi Null MA_DL Varchar2 (8) N Mã đại lý Họ tên đại lý HO_TEN Nvarchar2 (40) N MA_MB Varchar2 (5) N Mã máy bay (PK) TIEN_CUOC Float N Tiền cược MA_HV Varchar2 (4) N Mã hạng vé DT Nvarchar2 (11) Y Điện thoại DC Nvarchar2 (50) Y Địa MA_TB Varchar2 (7) N Mã tuyến bay (PK) STT Null SL_VE Integer N Số lượng vé DON_GIA Float N Đơn giá (PK) Trong máy bay chia số ghé theo nhóm ghé, nhóm ghé có đơn giá giành riêng cho h ng vé tuyến bay V Thi t k v t lỦ t i tr m Tên trường Kiểu liệu, độ rộng Trong đó, đ i lý xuất vé cho hành khách hệ thống tự động trừ tài kho n ti n c ợc kho ng ti n thành ti n c a vé Mư đ i lý có ký tự có d ng nh sau: XXAAAAAA, đó: XX HN đ i lý thuộc vị trí (Hà Nội) qu n lý XX DN đ i lý thuộc vị trí (Đà N ng) qu n lý XX SG đ i lý thuộc vị trí (Sài Gịn) qu n lý AAAAAA số th tự có đ i lý đ ợc thêm vào V Thi t k h th ng m ng B ng HANH_KHACH (Hành khách, ch a thông tin c a hành khách) STT Ghi Null N MA_CB V Thi t k v t lỦ t i tr m Kiểu liệu, độ rộng STT Mư h ng vé có ký tự XXXX, vé chuyến bay có lo i h ng vé sau: Mỗi h ng vé có khác v ghế ngồi, suất ăn, đồ uống mà hành khách có th lựa chọn h ng vé cho phù hợp với yêu cầu c a Tên trường B ng CHUYEN_BAY (Chuyến bay, ch a thơng tin v chuyến bay có hệ thống ) Ghi Null MA_HK Varchar2 (10) N Mã hành khách HO_TEN Varchar2 (40) N Họ tên hành khách HO_CHIEU Varchar2 (8) Y Hộ chiếu CMND Varchar2 (9) N Chứng minh nhân dân DT Nvarchar2 (11) Y Điện thoại DC Nvarchar2 (50) Y Địa Mư hành khách có 10 ký tự có d ng nh sau: XXAAAAAAAA, đó: XX HN HK mua vé c a đ i lý thuộc vị trí bán XX DN HK mua vé c a đ i lý thuộc vị trí bán XX SG HK mua vé c a đ i lý thuộc vị trí bán AAAAAAAA số th tự có hành khách đến mua vé Mơ hình m ng: Client/Server Hệ QTCSDL: Oracle Server đóng vai trị Server trung tâm đ t t i Hà Nội, dùng đ qu n trị CSDL t i chi nhánh Hà Nội l u tất c b n c a b ng liệu Server chi nhánh Server trung tâm qu n lý đến Server chi nhánh phân quy n truy cập CSDL hệ thống Do Server trung tâm ph i đ m nh Server đ t t i chi nhánh Đà N ng đóng vai trị Client hệ thống Server chi nhánh dùng đ qu n trị CSDL t i chi nhánh Đà N ng ch a tất c b n c a b ng liệu Server trung tâm Server đ t t i chi nhánh Sài Gòn đóng vai trị Client hệ thống Server chi nhánh dùng đ qu n trị CSDL t i chi nhánh Sài Gòn ch a tất c b n c a b ng liệu Server trung tâm Server chi nhánh t i Đà N ng 30 3/14/2014 V Thi t k h th ng m ng VI Qu n tr c Mơ hình m ng c a hệ thống bán vé máy bay DANANG s d li u phơn tán c a Oracle Xem tên CSDL toàn cục: SELECT * FROM GLOBAL_NAME Thay đổi tên CSDL toàn tục: ALTER DATABASE RENAME GLOBAL_NAME TO databasename.domain Ví dụ: Đ đổi tên CSDL toàn cục DN.AIRLINE.VN thành DANANG.AIRLINE.VN ta thực lệnh: ALTER DATABASE GLOBAL_NAME TO DANANG.AIRLINE.VN DB_NAME DANANG VI Qu n tr c li u phơn tán c a Oracle Quản trị tên CSDL toàn cục Trong hệ thống CSDL phân tán, CSDL ph i có tên tồn cục (Global Database Name) dùng đ xác định CSDL Tên s liệu toàn cục gồm hai thành phần tên CSDL (Database Name) tên mi n (Domain Name) Tên CSDL từ đến ký tự Tên mi n ph i tuân theo chuẩn qui ớc c a Internet, m c tên mi n ph i đ ợc cách b i dấu chấm Sau ví dụ ta đ t tên cho CSDL tồn cục cho vị trí ORACLE DB_NAME VI Qu n tr c s d DB_DOMAIN GLOBAL DATABASE NAME AIRLINE.VN HANOI.AIRLINE.VN AIRLINE.VN DANANG.AIRLINE.VN AIRLINE.VN SAIGON.AIRLINE.VN s d li u phơn tán c a Oracle Cú pháp: T o Database links sử dụng câu lệnh SQL: CREATE [PUBLIC] DATABASE LINK [CONNECT TO user IDENTIFIED BY [USING ‘Connect string’]; dblink password] Trong đó: Public: Các user dùng chung Database link Dblink: Tên Database link User: Tên user mà ta muốn kết nối tới Password: Mật c a user mà ta muốn kết nối tới Connect_string: Chuỗi mô t địa IP c a host SID Server SID: Định nghĩa c a Database VI Qu n tr c DB_DOMAIN GLOBAL DATABASE NAME AIRLINE.VN HANOI.AIRLINE.VN AIRLINE.VN DANANG.AIRLINE.VN AIRLINE.VN SAIGON.AIRLINE.VN s d li u phơn tán c a Oracle Tạo liên kết sở liệu (Database links) : Mục đích: đ hỗ trợ cho ng dụng truy xuất liệu từ xa (Remote Database) Một Database links trỏ CSDL cục (local database) cho phép b n truy cập đến đối t ợng liệu CSDL xa (remote database) Oracle cho phép t o Database links câu lệnh SQL giao diện đồ họa VI Qu n tr c s d li u phơn tán c a Oracle Ví dụ: T o Database link có tên DN.AIRLINE.VN đ kết nối đến user DN_ADMIN password ab123456 c a CSDL toàn cục từ xa có tên DANANG.AIRLINE.VN c a Server có địa 192.168.1.10 CREATE DATABASE LINK "DN.AIRLINE.VN" CONNECT TO "DN_ADMIN" IDENTIFIED BY "ab123456" USING ' (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.10)(PORT=1521)) ) ( CONNECT_DATA=(SERVICE_NAME=DANANG.ARILINE.VN) ) )' 31 3/14/2014 VI Qu n tr c s d li u phơn tán c a Oracle Thực giao diện đồ họa Oracle: VI Qu n tr c s d li u phơn tán c a Oracle Sau thiết lập Database link thành cơng ta có th thực cơng việc sau: Truy xuất liệu từ xa thông qua tên Database link: Ví dụ: Đ xem thơng tin hành khách t i chi nhánh t i Đà N ng CSDL từ xa qua Database link DN.AIRLINE.VN, ta sử dụng câu lệnh SQL nh sau: SELECT * FROM DN_ADMIN.HANH_KHACH@DN.AIRLINE.VN Đóng Database links: Nếu khơng cần thiết nên đóng ho c xóa Database links đ đ m b o an toàn truy cập CSDL từ xa thông qua hệ phân tán, : ALTER SESSION CLOSE DATABASE LINK LinkName; Xóa Database links: DROP [PUBLIC] DATABASE LINK dblink; CH NG 4: X Lụ TRUY V N TRONG CSDL PHỂN TỄN NỘI DUNG CH NG 4: X Lụ TRUY V N TRONG CSDL PHỂN TỄN 4.1 Gi i thi u v x lỦ truy v n 4.2 X lỦ truy v n môi tr ng t p trung 4.3 X lỦ truy v n mơi tr ng phơn tán 4.4 T i u hố truy v n CSDL phơn tán MỤC ĐÍCH NGUYEN MAU HAN, PhD HUE UNIVERSITY •Giới thiệu b c tranh tổng quát c a tối u hóa truy vấn môi tr ng tập trung phân tán •Trình bày quy trình xử lý truy vấn hệ thống phân tán 190 4.1 GI I THI U V X Lụ TRUY V N Mục đích xử lý truy vấn: • Gi m thi u th i gian xử lý • Gi m vùng nhớ trung gian • Gi m chi phí truy n thơng tr m • Sử dụng tài ngun Chức xử lý truy vấn: • Biến đổi truy vấn ph c t p thành truy vấn t ơng đ ơng đơn gi n • Phép biến đổi ph i đ t đ ợc c v tính đắn hiệu qu • Mỗi cách biến đổi dẫn đến việc sử dụng tài nguyên máy tính khác nhau, nên vấn đ đ t lựa chọn ph ơng án dùng tài nguyên 191 4.1 GI I THI U V X Lụ TRUY V N Ví dụ1: Trong CSDL đư cho, xét câu truy vấn “Cho biết tên nhân viên qu n lý dự án” Câu lệnh SQL t ơng ng: Nh n xét: (2) S d ng tƠi nguyên SELECT E.TENNV h n (1) FROM E, G WHERE E.MANV = G.MANV AND NHIEMVU= “Qu n lý” Hai bi u th c t ơng đ ơng từ câu lệnh SQL: E.TENNV ( NHIEMVU "Quanly" ( E E.TENNV ( E MANV MANV G)) ( NHIEMVU "Quan lý" (G))) (1) (2) 192 32 3/14/2014 4.1 GI I THI U V X E.TENNV ( E Lụ TRUY V N Chiến lƣợc1 Ví dụ2: (minh ho tầm quan trọng c a việc chọn lựa vị trí cách truy n liệu c a câu truy vấn đ i số) Xét câu truy vấn ví dụ 1: “Cho biết tên nhân viên qu n lý dự án” E.TENNV ( E MANV Vị trí ( NHIEMVU "quan lý" (G))) Vị trí Kqu = E1’ E2’ E1’ E1’ = E1 MANV G1’ ( NHIEMVU "quan lý" (G))) Vị trí Gi sử hai quan hệ NHANVIEN HOSO đ ợc phân m nh ngang nh sau: l u vị trí G1=HOSO1 = MANV “E3” (HOSO) G2=HOSO2 = MANV > “E3” (HOSO) l u vị trí E1=NHANVIEN1 = MANV “E3” (NHANVIEN) l u vị trí E2=NHANVIEN2 = MANV > “E3” (NHANVIEN) l u vị trí Kết qu c a câu truy vấn l u vị trí MANV 193 G2’ “Qu n lý” (G1) G2’ = NHIEMVU = Đánh giá chi phí chiến lược Ký hiệu: tupacc (tuble access): chi phí truy xuất bộ=1 đơn vị tuptrans (tuble transfer): chi phí truy n bộ=10 đơn vị Gi sử: Quan hệ NHANVIEN (E) có 400 Quan hệ HOSO (G) có 1000 bộ, có 20 ng i có nhiệm vụ quản lý dự án Chú ý: Các quan hệ E G đ ợc phân m nh thuộc tính MANV Tổng chi phí chiến lược 1: Đánh giá chi phí chiến lược Truy n E từ vị trí vị trí đến vị trí cần: 400*tuptrans Truy n G từ vị trí vị trí đến vị trí cần: 1000*tuptrans T o G’ cách chọn G cần:1000*tupacc Nối E với G’ cần: (400*20)*tupacc T ng c ng chi phí: Chiến lƣợc2 Vị trí Kqu = (E1 E2) MANV( NHIEMVU = E1 Vị trí 3: E1 E2 Vị trí 4: E2 “Qu n lý” G1 Vị trí 1: G1 = 4000 đv =10000 đv = 1000 đv = 8000 đv =23000 đv (G1 G2)) G2 Vị trí 2: G2197 (G2) 194 1.T o G’ cách chọn G cần: (10+10)*tupacc = 20đv 2.Truy n G’ đến vị trí c a E cần:(10+10)*tuptrans = 200đv 3.T o E’ cách nối G’ với E cần:(10+10)*400*tupacc= 8000đv 4.Truy n E’ đến vị trí nhận kqu cần:(10+10)*tuptrans = 200đv T ng c ng chi phí: = 8420 đv Chiến lƣợc1 Vị trí Vị trí : E1 Kqu = E1’ E2’ E1’ E1’ = E1 MANV G1’ Vị trí 1: G1 G1’ G1’ = NHIEMVU = E2’ G2’ “Qu n lý” Vị trí : E2 E2’ = E2 MANV G2’ (G1) 4.1 GI I THI U V X Tổng chi phí chiến lược 2: Vị trí “Qu n lý” G1=HOSO l u vị trí Chiến lƣợc2 Vị trí = MANV “E3” (HOSO) G2=HOSO2 = MANV > “E3” (HOSO) l u vị trí Kqu = (E1 E2) MANV( NHIEMVU = “Qu n lý” (G1 G2)) E1=NHANVIEN1 = MANV “E3” (NHANVIEN) l u vị trí E2=NHANVIEN2 = MANV > “E3” (NHANVIEN) l u vị trí Kết quVị trí c 3a câu truy vấnVị trí 52 Vị trí 1l u vị trí Vị trí Đánh giá chi phí chiến lược 195 Vị trí E2’ = E2 MANV G2’ G1’ G1’ = NHIEMVU = E2’ Chú ý: chi u c a m i tên h ớng di chuy n c a liệu G2’ = NHIEMVU = Vị trí : G2 “Qu n lý” (G2196 ) Lụ TRUY V N Các phƣơng pháp xử lý truy vấn • Ph ơng pháp biến đổi đ i số: Đơn gi n hóa câu truy vấn nh phép biến đổi đ i số t ơng đ ơng nhằm gi m thi u th i gian thực phép tốn Ph ơng pháp khơng quan tâm đến kích th ớc cấu trúc liệu • Ph ơng pháp ớc l ợng chi phí: Xác định kích th ớc liệu, th i gian thực phép toán câu truy vấn Ph ơng pháp quan tâm đến kích th ớc liệu ph i tính tốn chi phí th i gian thực phép toán 198 33 3/14/2014 4.2 X Lụ TRUY V N TRONG MỌI TR 4.2.1 So sánh xử lý truy vấn tập trung phân tán • Tập trung: Chọn truy vấn đ i số quan hệ tốt số truy vấn đ i số t ơng đ ơng Các chiến l ợc xử lý truy vấn có th bi u diễn m rộng c a đ i số quan hệ • Phân tán Kế thừa chiến l ợc xử lý truy vấn nh môi tr ng tập trung Cịn ph i quan tâm thêm: Các phép tốn truy n liệu tr m Chọn tr m tốt đ xử lý liệu Cách truy n liệu 199 Tối u hóa truy vấn Trong môi tr L L T i u hoá c c b cđ đa ph ng Ch n chi n l Ki m tra h p l Truy vấn SQL hợp lệ ct i u Kế hoạch thực T o sinh mư D ch truy v n Truy vấn đại số quan hệ Mã truy vấn Lụ TRUY V N TRONG MỌI TR • Th ba, tối u hoá tập trung th u Sơ đồ phân lớp chung cho xử lý truy vấn phân tán 4.3 X lỦ truy v n môi tr Truy vấn đại số quan hệ tối ƣu 200 NG T P TRUNG • Th hai, kỹ thuật tối u hoá phân tán th m rộng c a kỹ thuật tập trung u v i phép toán truy n thông Các truy v n c c b đư t i Truy vấn ngữ pháp • Th nhất, câu truy vấn phân tán ph i đ ợc dịch thành câu truy vấn cục bộ, đ ợc xử lí theo ph ơng pháp tập trung Các th ng kê m nh T i u hoá toƠn c c Các tr m địa ph ơng T i u hóa đ i s quan h Ki m tra ng pháp Đ hi u đ ợc kỹ thuật tối u phân tán ba lí do: L cđ phơn m nh li u Truy v n m nh ct i Cơu truy v n SQL Sơ đồ chung Tại phải nghiên cứu xử lý truy vấn tập trung? c đ t ng th Truy v n đ i s quan h phơn tán Truy v n m nh đ ng t p trung 4.4.1 Chiến lƣợc tối ƣu CSDL tập trung Phơn rư truy v n C c b hóa d Trong môi tr 4.2 X ng phơn tán Cơu truy v n phơn tán Tr m u n Tối u hóa truy vấn NG T P TRUNG ng ng đơn gi n 201 202 Đ I S ng phơn tán 4.3.1 Phơn rư truy v n Giai đo n chia làm bốn b ớc: chuẩn hoá, phân tích, lo i bỏ d thừa viết l i 4.3.1.1 Chuẩn hố M c đích: chuy n đổi truy vấn thành d ng chuẩn đ thuận lợi cho xử lý Với SQL, có hai d ng chuẩn cho vị từ mệnh đ WHERE là: Dạng chuẩn hội hội () c a phép toán n (): (p11 p12 p1n) (pm1 pm2 pmn) Dạng chuẩn tuyển n () c a phép toán hội (): (p11 p12 p1n) (pm1 pm2 pmn), pij bi u th c nguyên tố (vị từ đơn gi n) 203 M NH Đ B ng t ng đ ng logic th Đ t T= đúng, F = sai p F ⇔ F p T ⇔ T p F ⇔ p p T ⇔ p p p ⇔p p p ⇔ p ¬(¬p) ⇔p p ¬p ⇔ F p ¬p ⇔ T 10.p q ⇔ q p ng dùng Domination laws-Luật nuốt Identity laws-Luật đồng Idempotent laws-Luật lũy đ ng Double negation law-Luật ph định kép Cancellation laws-Luật xóa bỏ Commutative laws-Luật giao hoán 204 34 3/14/2014 Đ I S B ng t M NH Đ ng đ 4.3 X lỦ truy v n môi tr ng logic th 11 p q ⇔ q p 12 (p q) r ⇔ p (q r) ng dùng (tt) Associative laws-Luật kết hợp 13 (p q) r ⇔ p (q r) 14 p (q r) ⇔ (p q) (p r) Distributive laws-Luật phân phối 15 p (q r) ⇔ (p q) (p r) 16 ¬(p q) ⇔ ¬p ¬q 17 ¬(p q) ⇔ ¬p ¬q 18 (p q) ⇔ (¬p q) 19 p (p q)=p 20 p (p q)=p De Morgan’s laws-Luật De Morgan Implication law-Luật kéo theo 4.3 X lỦ truy v n môi tr 205 ng phơn tán 4.3 X lỦ truy v n môi tr 4.3.1.2 Phơn tích M c đích: Phát thành phần không (sai ki u ho c sai ngữ nghĩa) lo i bỏ chúng sớm có th Truy vấn sai kiểu: thuộc tính ho c tên quan hệ c a khơng đ ợc định nghĩa l ợc đồ tổng th , ho c phép toán áp dụng cho thuộc tính sai ki u Ví dụ: truy vấn d ới sai ki u SELECT E# FROM E WHERE E.TENNV > 200 hai lý do: • Thuộc tính E# khơng khai báo l ợc đồ • Phép tốn “>200” khơng thích hợp với ki u chuỗi c a thuộc tính E.TENNV ng phơn tán Ví d minh h a: xét CSDL công ty ph n m m đư cho Từ quan hệ: E= NHANVIEN (MANV, TENNV, CHUCVU) G= HOSO (MANV, MADA, NHIEMVU, THOIGIAN) Xét truy vấn:“Tìm tên nhân viên làm dự án có mã số J1 với thời gian 12 24 tháng” Truy vấn đ ợc bi u diễn SQL: SELECT E TENNV FROM E, G WHERE E.MANV= G.MANV AND G.MADA=”J1” AND THOIGIAN=12 OR THOIGIAN=24 Điều kiện dạng chuẩn hội là: E.MANV=G.MANV G.MADA=”J1” (THOIGIAN=12 THOIGIAN=24) Điều kiện dạng chuẩn tuyển là: (E.MANV=G.MANV G.MADA=”J1” THOIGIAN=12) 206 (E.MANV=G.MANV G.MADA=”J1” THOIGIAN=24) ng phơn tán Truy vấn sai ngữ nghĩa: thành phần c a khơng tham gia vào việc t o kết qu Đ xác định truy vấn có sai v ngữ nghĩa hay không, ta dựa việc bi u diễn truy vấn nh đồ thị gọi đồ thị truy vấn Đồ thị đ ợc xác định b i truy vấn liên quan đến phép chọn, chiếu nối Nếu đồ thị truy vấn mà không liên thơng truy vấn sai ngữ nghĩa 207 4.3 X lỦ truy v n môi tr ng phơn tán Đồ thị truy vấn: • Có nút dùng đ bi u diễn cho quan hệ kết qu • Các nút khác bi u diễn cho toán h ng câu truy vấn (các quan hệ) • C nh nối hai nút mà không ph i nút kết qu bi u diễn phép n i • C nh có nút đích nút kết qu bi u diễn phép chi u • Một nút không ph i nút kết qu có th đ ợc gán nhưn b i phép ch n ho c phép tự n i (seft-join: nối c a quan hệ với nó) Đồ thị kết nối: • Là đồ thị c a đồ thị truy vấn (join graph), 209 có phép nối 208 4.3 X lỦ truy v n môi tr ng phơn tán Ví d : Từ quan hệ E=NHANVIEN (MANV, TENNV, CHUCVU) G = HOSO (MANV, MADA, NHIEMVU, THOIGIAN) J=DUAN (MADA, TENDA, NGANSACH) Hưy xác định “Tên nhiệm vụ lập trình viên làm dự án CSDL có thời gian lớn năm.” Truy vấn SQL t ơng ng là: SELECT FROM WHERE E.TENNV, G.NHIEMVU E, G, J E.MANV=G.MANV AND G.MADA.= J.MADA AND TENDA=”CSDL” AND THOIGIAN 36 AND NHIEMVU=”LTRINH” 210 35 3/14/2014 4.3 X lỦ truy v n môi tr ng phơn tán 4.3 X lỦ truy v n môi tr Đồ thị truy vấn đồ thị kết nối t ơng ng THOIGIAN 36 G E.MANV=G.MANV E CHUCVU= “L p trình” G.MADA=J.MADA G.NHIEMVU J TENDA=”CSDL” E.TENNV ng phơn tán Xét câu truy vấn SQL tƣơng ứng: thi u AND G.MADA=J.MADA SELECT E.TENNV, NHIEMVU FROM E, G, J WHERE E.MANV=G.MANV AND TENDA=”CSDL” AND THOIGIAN 36 AND CHUCVU=”Lập trình” Truy vấn sai ngữ nghĩa đồ thị truy vấn c a khơng liên thơng K t qu (a) Đ th truy v n THOIGIAN 36 G E.MANV=G.MANV G G.MANV=G.MANV CHUCVU= “L p trình” E G.NHIEMVU G.MANV=J.MANV E (b) Đ th k t n i t 4.3 X lỦ truy v n môi tr J ng ng 211 ng phơn tán 4.3 X lỦ truy v n môi tr K t qu 212 Đ th truy v n 4.3 X lỦ truy v n môi tr ng phơn tán SELECT E.CHUCVU FROM E WHERE (NOT(E.CHUCVU=”Lập trình”) AND (E.CHUCVU=”Lập trình” OR E.CHUCVU=”Kỹ s điện”) AND NOT(E.CHUCVU=”Kỹ s điện”) OR E.TENNV=”Dũng” 4.3.1.3 Lo i b d th a • Đi u kiện truy vấn có th có ch a vị từ d thừa • Một đánh giá sơ sài v u kiện d thừa có th dẫn đến l p l i số cơng việc • Sự d thừa vị từ d thừa cơng việc có th đ ợc lo i bỏ cách làm đơn gi n hoá u kiện thông qua luật luỹ đẳng sau: p p p p true true p p p p p false p true p p p true p false p p1 (p1 p2) p1 p false false 10.p1 (p1 p2) p1 Ví dụ: Đơn gi n hố câu truy vấn sau: J TENDA=”CSDL” E.TENNV 213 ng phơn tán Đ t p1:, p2:, p3: Các vị từ sau mệnh đ WHERE đ ợc mô t l i: p: ( p1 (p1 p2) p2) p3 (( p1 p1 p2) ( p1 p2 p2)) p3 (áp dụng luật 7) ((false p2) ( p1 false) ) p3 (áp dụng luật 5) (false false ) p3 (áp dụng luật 4) p3 Vậy câu truy vấn đ ợc biến đổi thành: SELECT E.CHUCVU FROM E 214 WHERE E.TENNV=”Dũng” 4.3 X lỦ truy v n môi tr 4.3.1.4 Vi t l i B ớc đ ợc chia làm hai b ớc nh sau: • Biến đổi trực tiếp truy vấn phép tính sang đ i số quan hệ • Cấu trúc l i truy vấn đ i số quan hệ đ c i thiện hiệu qu thực • Cây đ i số quan hệ mà nút bi u diễn quan hệ CSDL, nút không quan hệ trung gian đ ợc sinh b i phép toán đ i số quan hệ 215 ng phơn tán Cách chuy n truy vấn phép tính quan hệ thành đ i số quan hệ: • Các nút khác đ ợc t o cho biến khác (t ơng ng quan hệ) Trong SQL nút quan hệ mệnh đ FROM • Nút gốc đ ợc t o b i phép chiếu lên thuộc tính kết qu Trong SQL nút gốc đ ợc xác định qua mệnh đ SELECT • Đi u kiện (mệnh đ WHERE SQL) đ ợc biến đổi thành dưy phép toán đ i số thích hợp (phép chọn, nối, phép hợp, v.v ) từ đến gốc, có th thực theo th tự xuất c a vị từ 216 phép toán 36 3/14/2014 4.3 X lỦ truy v n môi tr ng phơn tán 4.3 X lỦ truy v n môi tr ng phơn tán Ví dụ: Truy vấn “Tìm tên nhân viên “Dũng”, làm việc cho dự án CSDL với thời gian hai năm” Bi u diễn truy vấn SQL là: SELECT E.TENNV FROM J, G, E WHERE G.MANV=E.MANV SELECT E.TENNV FROM J, G, E WHERE G.MANV=E.MANV AND G.MADA= J.MADA AND E.TENNV “Dũng” AND J.TENDA= “CSDL” AND (THOIGIAN=12 OR AND G.MADA= J.MADA THOIGIAN=24) AND E.TENNV “Dũng” AND J.TENDA= “CSDL” AND (THOIGIAN=12 OR THOIGIAN=24) 217 4.3 X lỦ truy v n môi tr 218 ng phơn tán 4.3 X lỦ truy v n môi tr 06 lu t bi n đ i phép tốn đ i s quan h : Mục đích: dùng đ biến đổi đ i số quan hệ thành t ơng đ ơng (trong có th có tối u) Gi sử R, S, T quan hệ, R đ ợc định nghĩa tồn thuộc tính A={A1, , An}, S đ ợc định nghĩa tồn thuộc tính B={B1, , Bn} 1.Tính giao hốn phép tốn hai ngơi: Phép tích Decartes phép nối hai quan hệ có tính giao hoán i R S S R ii R S S R Tính kết hợp phép tốn hai ngơi: Phép tích Decartes phép nối hai quan hệ có tính kết hợp ii (R S) T R (S T) i (RS) T R (ST) ng phơn tán Tính luỹ đẳng phép tốn ngơi • Dưy phép chiếu khác quan hệ đ ợc tổ hợp thành phép chiếu ng ợc l i: A’(A’’(R)) A’(R) A’, A’’ R vƠ A’ A’’ • Dưy phép chọn khác p ( A ) quan i i hệ, với pi vị từ đ ợc gán vào thuộc tính Ai , có th đ ợc tổ hợp thành phép chọn p ( A ) ( p ( A ) ( R)) p ( A ) p ( A ) ( R) 1 2 1 2 219 4.3 X lỦ truy v n môi tr ng phơn tán 4.3 X lỦ truy v n môi tr A1 , ,An ( p ( Ap ) ( R)) p ( Ap ) ( A1 , ,An , Ap ( R)) Nếu Ap thành viên c a {A1, , An}, bi u th c tr thành Phép chọn giao hoán với phép tốn hai ngơi • Phép chọn với phép nhân: p ( Ap ) ( R S ) p ( Ap ) ( R) S • Phép chọn với phép nối: i ( Ai ,Bk ) S ) p ( Ai ) ( R) ( Ai , Bk ) S p ( A ) ( R T ) p ( A ) ( R) p ( A ) (T ) • Phép chọn với phép hợp: Nếu R T thuộc tính i i ng phơn tán Phép chiếu giao hoán với phép toán hai ngơi • Phép chiếu tích Decartes: Nếu C=A’B’ với A’ A, B’ B, A, B tập thuộc tính quan hệ R, S ta có: A1 , ,An ( p ( Ap ) ( R)) A1 , ,An ( p ( Ap ) ( A1 , ,An , Ap ( R))) Phép chọn giao hoán với phép chiếu p( A ) (R 220 i 221 C ( R S ) A ' ( R) B ' ( S ) • Phép chiếu phép nối: C ( R p(Ai , B j ) S ) A' ( R) • Phép chiếu phép hợp: p(Ai ,B j ) B' (S ) C ( R S ) A' ( R) B ' (S ) Chú Ủ: Việc sử dụng sáu luật có kh sinh nhi u đ i số quan hệ t ơng đ ơng Vấn đ xác định cho đ ợc tối u 222 37 3/14/2014 4.3 X lỦ truy v n môi tr ng phơn tán 4.3 X lỦ truy v n môi tr Chú ý: Trong giai đo n tối u, so sánh có th thực dựa chi phí dự đoán c a chúng Tuy nhiên, số l ợng lớn cách tiếp cận khơng hiệu qu Chúng ta có th dùng luật đ cấu trúc l i cây, nhằm lo i bỏ đ i số quan hệ “tồi” Các luật có th sử dụng theo bốn cách nh sau: • Phân rư phép tốn ngơi, đơn gi n hóa bi u th c truy vấn • Nhóm phép tốn ngơi quan hệ đ gi m số lần thực • Giao hốn phép tốn ngơi với phép tốn hai ngơi đ u tiên cho số phép tốn (chẳng h n phép chọn, chiếu, ) • Sắp th tự phép tốn hai ngơi thực truy vấn ng phơn tán Cấu trúc l i truy vấn ví dụ trên, cho kết qu tốt ban đầu nhiên v n xa cơy t i u 223 4.3 X lỦ truy v n môi tr ng phơn tán 4.3 X lỦ truy v n môi tr 4.3.2 C c b hóa d li u - Đ nh v d li u phơn tán Vai trò c a tầng C c b hóa d li u: • dịch câu truy vấn đ i số quan hệ tổng th sang câu truy vấn đ i số m nh vật lý • Sử dụng thơng tin đ ợc l u trữ l ợc đồ phân m nh đ cục hóa liệu • Ch ơng trình đ i số quan hệ xây dựng l i quan hệ tổng th từ phân m nh c a gọi chương trình định vị • Truy vấn có đ ợc từ ch ơng trình định vị gọi truy vấn ban đầu • Chú ý: Trong phần d ới đây, với kiểu phân mảnh bi u diễn kỹ thuật rút gọn đ sinh truy vấn đ ợc tối u đơn gi n hoá 4.3 X lỦ truy v n môi tr 224 ng phơn tán 4.3.2.1 Rút g n theo phơn m nh ngang nguyên thuỷ Xét quan hệ E(MANV,TENNV,CHUCVU) Tách quan hệ thành ba m nh ngang E1, E2 E3 nh sau: E1=MANV ”E3”(E) E2=”E3”< MANV ”E6”(E) E3=MANV > ”E6”(E) Ch ơng trình định vị cho quan hệ E: E = E1 E2 E3 D ng ban đầu c a truy vấn đ ợc xác định E có đ ợc cách thay b i E1 E2 E3 Việc rút gọn truy vấn quan hệ đư đ ợc phân m nh ngang bao gồm việc xác định câu truy vấn, sau đư cấu trúc l i Đi u sinh số quan hệ rỗng, loại bỏ chúng Phân m nh ngang có th đựơc khai thác đ làm đơn gi n c phép chọn phép nối 225 ng phơn tán 226 4.3 X lỦ truy v n môi tr ng phơn tán E1=MANV ”E3”(E) E2=”E3”< MANV ”E6”(E) E3=MANV > ”E6”(E) a Rút gọn với phép chọn: cho quan hệ R đ ợc phân m nh ngang thành R1, R2, , Rn với R j p (R) Luật 1: p ( R j ) xR : (pi(x) pj(x)) Trong đó, j pi, pj vị từ chọn, x liệu, p(x) vị từ p chiếm giữ x Ví dụ: Hưy rút gọn truy vấn j MANV=”E5” MANV=”E5” SELECT * FROM E WHERE MANV=”E5” E2 Với E đ ợc tách thành ba m nh ngang E1, E2 E3 : E1=MANV ”E3”(E) E2=”E3”< MANV ”E6”(E) E3=MANV > ”E6”(E) 227 E1 E2 E3 (a) Truy v n ban đ u (b) Truy v n rút g n Rút gọn cách sử dụng tính chất giao hốn phép chọn với phép hợp, thấy vị từ chọn đối lập với vị từ E1 E3 nên sinh 228 quan hệ rỗng 38 3/14/2014 4.3 X lỦ truy v n môi tr ng phơn tán 4.3 X lỦ truy v n môi tr b.Rút g n v i phép n i • Ri, Rj đ ợc xác định theo vị từ pi, pj thuộc th đơn gi n chúng đ ợc phân m nh theo thuộc tính nối • tính Việc rút gọn đ ợc thực dựa tính phân phối Nhận xét: phép nối phép hợp lo i bỏ phép nối vơ ích • • Với tính chất, (R1R2) Rj = n u xRi, yRj : (pi(x)pj(y)) Trong Luật 2: Ri Các phép nối quan hệ đư đ ợc phân m nh ngang có R3) (R2 R3 = (R1 ng phơn tán Việc xác định phép nối vơ ích đ ợc thực cách xem xét vị từ m nh R3) , Ri • phân m nh Chúng ta có th xác định đ ợc phép Truy vấn rút gọn không ph i tốt ho c đơn gi n truy vấn ban đầu nối vơ ích c a m nh u kiện nối mâu thuẫn Sau đó, dùng luật d ới đ lo i bỏ phép nối • Một thuận lợi c a truy vấn rút gọn phép nối có th thực song song vơ ích 229 4.3 X lỦ truy v n môi tr ng phơn tán 4.3 X lỦ truy v n mơi tr Ví dụ: Gi sử quan hệ E đ ợc phân m nh thành m nh E1=MANV ”E3”(E) E2=”E3”< MANV ”E6”(E) 230 E3=MANV > ”E6”(E) E2=”E3”< MANV ”E6”(E) G1=MANV”E3”(G) G2=MANV>”E3”(G) E Quan hệ G đ ợc phân làm hai m nh: G = (E1E2E3) = (E1 G1=MANV”E3”(G) G2=MANV>”E3”(G) = (E1 Nhận xét: ng phơn tán E1=MANV ”E3”(E) (G1G2) G1)(E1 G2)(E2 G1)(E2 G1 ) (E2 G2)(E3 E, G WHERE E.MANV=G.MANV 4.3 X lỦ truy v n môi tr từ E2 E3 Xét truy vấn * E1 E2 E3 G1 E1 G2 G1 MANV E2 MANV E3 G2 G2 (b) Truy v n rút g n Hình 4.8: Sự rút g n phơn m nh ngang v i phép n i 231 4.3.2.2 Rút g n phơn m nh d c • Ch c c a việc phân m nh dọc tách quan hệ dựa vào thuộc tính c a phép chiếu • Vì phép toán xây dựng l i phân m nh dọc nối, nên ch ơng trình định vị quan hệ đư đ ợc phân m nh dọc nối c a m nh vùng thuộc tính chung Ví d : Quan hệ E đ ợc phân m nh dọc thành E1, E2, với thuộc tính khoá MANV đ ợc l p l i nh sau: E1 = MANV,TENNV(E) E2 = MANV,CHUCVU(E) Ch ơng trình định vị là: E = E1 MANV E2 • Các truy vấn phân m nh dọc có th rút gọn cách xác định quan hệ trung gian vơ ích lo i bỏ ch a chúng • Các phép chiếu phân m nh dọc khơng có thuộc tính chung với thuộc tính chiếu (ngo i trừ khóa c a 233 quan hệ) vơ ích, m c dù quan hệ khác rỗng G2 ) MANV (a) Truy v n ban đ u ng phơn tán G2 ) (E3 MANV • Vị từ định nghĩa G2 hợp c a định nghĩa c a vị FROM G1)(E3 G2) • E1 G1 đ ợc định nghĩa b i vị từ SELECT E3=MANV > ”E6”(E) 4.3 X lỦ truy v n môi tr 232 ng phơn tán Luật 3: D,K(Ri) vơ ích DA’= Trong đó, quan hệ R xác định A={A1, ,An}; R = A’(R), A’A , K khoá c a quan hệ, KA, D tập thuộc tính chiếu, D A Ví d : Với quan hệ E đ ợc phân m nh dọc nh sau: E1 = MANV,TENNV(E) E2 = MANV,CHUCVU(E) TENNV TENNV Xét truy vấn SQL: MANV SELECT FROM TENNV E E1 E2 (a) Truy v n ban đ u E1 (b) Truy v n rút g n Hình 4.9: Rút g n đ i v i vi c phơn m nh d c Nh n xét: phép chi u E2 lƠ vơ ích TENNV khơng có E2, nên phép chi u ch c n gán vƠo E1 234 39 3/14/2014 4.3 X lỦ truy v n môi tr ng phơn tán 4.3 X lỦ truy v n môi tr 4.3.2.3 Rút g n theo phơn m nh gián ti p • Sự phân m nh ngang dẫn xuất cách tách hai quan hệ đ việc xử lý nối c a phép chọn phép nối • Nếu quan hệ R phụ thuộc vào phân m nh ngang dẫn xuất nh quan hệ S, m nh c a R S, mà có giá trị thuộc tính nối, đ ợc định vị t i tr m Ngoài ra, S có th đ ợc phân m nh tùy thuộc vào vị từ chọn • Khi c a R đ ợc đ t tuỳ theo c a S, phân m nh ngang dẫn xuất nên sử dụng mối quan hệ nhi u từ SR (i.e với c a S có th phù hợp với n c a R, nh ng với c a R phù hợp với c a S) • Truy vấn phân m nh ngang dẫn xuất có th rút gọn đ ợc, vị từ phân m nh mâu thuẫn phép nối đ a quan hệ rỗng • Ch ơng trình định vị quan hệ đư đ ợc phân m nh ngang 235 dẫn xuất hợp c a m nh G1 = G vƠ G2 = G MANV E1 MANV E2 X lỦ truy v vƠ n môi tr ng phơn E1= 4.3 E2= CHUCVU”L CHUCVU=”L p trình” (E) p trình”(E) Ch ơng trình định vị cho quan hệ đư đ ợc phân m nh ngang dẫn xuất hợp c a m nh G=G 1G2 Đ rút gọn truy vấn phân m nh ngang dẫn xuất này, phép nối đ a quan hệ rỗng vị từ phân m nh mâu thuẫn Ví dụ vị từ G1 E2 mâu thuẫn nhau, nên G1 E2 = 236 Chú Ủ: (G1 G2 ) CHUCVU=”ks c khí”(E2) = (G1 CHUCVU=”ks c khí”(E2)) (G2 CHUCVU=”ks c tán Ví dụ: Xét truy vấn SELECT * FROM E, G WHERE G.MANV=E.MANV AND CHUCVU=”KS khí” CHUCVU=”KS khí” G1 G1 G2 (a) Truy v n ban đ u MANV CHUCVU=”KS khí” CHUCVU=”KS khí” G2 E2 G2 E2 MANV CHUCVU=”KS khí” E2 khí”(E2)) MANV MANV MANV ng phơn tán Ví d : Cho mối quan hệ nhi u từ quan hệ E=NHANVIEN(MANV, TENNV, CHUCVU) đến quan hệ G=DUAN (MANV, MADA, NHIEMVU, THOIGIAN) Trong đó, quan hệ G có th đ ợc phân m nh ngang dẫn xuất: G1 = G G2 = G MANV E2 MANV E1 Và E đ ợc phân m nh ngang: E1= CHUCVU=”Lập trình”(E) E2= CHUCVU”Lập trình”(E) E1 G2 G1 E2 CHUCVU=”KS khí” (c) Truy v n sau đẩy phép h p lên E2 (b) Truy v n sau đẩy phép ch n xu ng 237 4.3 X lỦ truy v n môi tr ng phơn tán E = (E1 E2) MANV Nh n xét: • Truy vấn ban đầu m nh E1, E2, G1 G2 t ơng ng hình 4.10a • Bằng cách đẩy phép chọn xuống m nh E1 E2, đ ợc truy vấn rút gọn hình 4.10b • Phân phối phép nối với phép hợp, thu đ ợc hình 4.10c 238 • Cây bên trái đ a quan hệ rỗng, nên rút gọn có đ ợc hình 4.10d 4.3 X lỦ truy v n môi tr 4.3.2.4 Rút g n theo phơn m nh h n h p • Sự phân m nh hỗn hợp kết hợp phân dọc phân m nh ngang • Mục đích c a phân m nh hỗn hợp hỗ trợ truy vấn liên quan đến phép chiếu, phép chọn phép nối • Ch ơng trình định vị cho quan hệ đư phân m nh hỗn hợp phép hợp phép nối c a m nh Ví dụ: Xét quan hệ E đ ợc phân m nh hỗn hợp nh sau: E1=MANV ”E4”(MANV,TENNV(E)), E2=MANV > ”E4”( MANV,TENNV(E)) E3= MANV,CHUCVU(E) Ch ơng trình định vị là: (d) Truy v n đư rút g n Hình 4.10: Rút g n c a phơn m nh gián ti p ng phơn tán Các truy vấn m nh hỗn hợp có th đ ợc rút gọn cách kết hợp luật sử dụng phân m nh ngang nguyên th y, phân m nh dọc, phân m nh ngang gián tiếp, t ơng ng nh sau: 1.Lo i bỏ quan hệ rỗng sinh b i mâu thuẫn phép chọn phân m nh ngang 2.Lo i bỏ quan hệ vơ ích sinh b i phép chiếu phân m nh dọc 3.Phân phối phép nối với phép hợp đ tách lo i bỏ phép nối vơ ích E3 239 240 40 3/14/2014 Ví d : E1=MANV ”E4”(MANV,TENNV(E)), E3= MANV,CHUCVU(E) TENNV SELECT FROM WHERE E2=MANV > ”E4”( MANV,TENNV(E)) TENNV E MANV=”E5” ng Mục đích c a tối u hoá truy vấn CSDL phân tán Ch c c a tối u hoá truy vấn phân tán Các ph ơng pháp xử lý truy vấn b n Sơ đồ phân lớp chung cho xử lý truy vấn phân tán Cách chuy n truy vấn phép tính quan hệ thành đ i số quan hệ Sử dụng luật biến đổi phép toán đ i số quan hệ đ biến đổi đ i số quan hệ thành t ơng đ ơng Định vị liệu phân tán-Tối u hoá cục TENNV MANV=”E5” Cơu h i cu i ch MANV=”E5” E2 E1 E2 E3 (a) Truy v n ban đ u (b) Truy v n đư rút g n Hình 4.11: Rút gọn c a phân m nh hỗn hợp CH NG 4: X 241 242 Lụ TRUY V N TRONG CSDL PHỂN TỄN HẾT CHƯƠNG 243 41 ... tán (Distributed Database) b Tƣơng quan logic: Dữ liệu hệ phân tán có số thuộc tính ràng buộc chúng với Đi u giúp có th phân biệt s liệu phân tán với tập hợp s liệu tập trung Các file liệu. .. cầu v liệu xử lý c a tr m Topơ m ng Kiến trúc m ng, Hệ u hành cấu hình phân tán c phơn tán d li u Có chiến l ợc phân tán liệu: Tập trung liệu Chia nhỏ liệu (phân ho ch liệu) Sao l p liệu. .. đ t liệu ch ơng trình m ng máy tính • Đối với DBMS phân tán, việc phân tán ng dụng đòi hỏi hai u: Phân tán DBMS Phân tán ch ơng trình ng dụng ch y DBMS 3.1 N i dung thi t k h th ng phơn tán 3.2