Các khái niệm cơ bản của DB2: Giới thiệu các bảng truy vấn cụ thể hóa Roman Melnyk, Phát triển thông tin DB2
Số trang: 24
Loại file: pdf
Dung lượng: 166.93 KB
Lượt xem: 12
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tóm tắt: Định nghĩa bảng truy vấn cụ thể hóa (MQT) dựa trên kết quả của một truy vấn. MQT có thể cải thiện đáng kể hiệu suất của truy vấn. Bài viết này giới thiệu cho bạn các MQT, các bảng tóm tắt, và bảng phân tầng, và bằng các ví dụ đang làm việc, chỉ cho bạn cách để xây dựng và chạy các bảng truy vấn được cụ thể hóa. Bảng truy vấn cụ thể hóa (MQT) là một bảng được xác định dựa trên kết quả của một truy vấn. Các dữ liệu được chứa trong...
Nội dung trích xuất từ tài liệu:
Các khái niệm cơ bản của DB2: Giới thiệu các bảng truy vấn cụ thể hóa Roman Melnyk, Phát triển thông tin DB2 Các khái niệm cơ bản của DB2: Giới thiệu các bảng truy vấn cụ thể hóaRoman Melnyk, Phát triển thông tin DB2Tóm tắt: Định nghĩa bảng truy vấn cụ thể hóa (MQT) dựa trên kết quả của mộttruy vấn. MQT có thể cải thiện đáng kể hiệu suất của truy vấn. B ài viết này giớithiệu cho bạn các MQT, các bảng tóm tắt, và bảng phân tầng, và bằng các ví dụđang làm việc, chỉ cho bạn cách để xây dựng và chạy các bảng truy vấn được cụthể hóa.Bảng truy vấn cụ thể hóa (MQT) là một bảng được xác định dựa trên kết quả củamột truy vấn. Các dữ liệu được chứa trong MQT có nguồn gốc từ một hoặc nhiềubảng mà dựa vào chúng, người ta cụ thể hoá định nghĩa của bảng truy vấn. BảngTóm tắt (hoặc bảng tóm tắt tự động, AST), quen thuộc với những người sử dụngcơ sở dữ liệu thông dụng DB2 (UDB) của IBM trong Linux, UNIX, và Windows(DB2 UDB), được coi là dạng đặc biệt của MQT. Việc chọn đầy đủ là một phầncủa định nghĩa của một bảng tóm tắt, chứa mệnh đề GROUP BY để tổng hợp dữliệu từ các bảng được tham chiếu trong câu chọn này.Bạn có thể nghĩ MQT như một loại khung nhìn cụ thể hóa. Cả khung nhìn lẫn cácMQT được xác định dựa trên một truy vấn. Truy vấn mà trên đó khung nhìn dựavào được chạy bất cứ khi nào một khung nhìn được tham chiếu; tuy nhiên, trênthực tế MQT lưu giữ các kết quả truy vấn làm dữ liệu, và bạn có thể làm việc vớicác dữ liệu ở trong MQT thay vì các dữ liệu ở trong các bảng nêu ra.Các bảng truy vấn cụ thể hóa có thể cải thiện một cách đáng kể hiệu suất của cáctruy vấn, đặc biệt là các truy vấn phức tạp. Nếu như trình tối ưu xác định rằng mộttruy vấn hoặc một phần của một truy vấn có thể được giải bằng cách sử dụng mộtMQT, thì truy vấn có thể được viết lại để tận dụng lợi thế của MQT này.Có thể xác định MQT ở thời gian tạo bảng vì được hệ thống hay người dùng duytrì. Các phần tiếp theo sẽ giới thiệu cho bạn hai loại MQT, cũng như bảng tóm tắtvà bảng phân tầng. Các ví dụ sau đây yêu cầu kết nối tới cơ sở dữ liệu SAMPLE;nếu chưa có cơ sở dữ liệu SAMPLE trong hệ thống, thì bạn có thể tạo ra nó bằngcách nhập lệnh db2sampl từ bất kỳ dấu nhắc lệnh nào.Các MQT được duy trì bởi hệ thốngCác dữ liệu trong loại này của bảng truy vấn cụ thể hóa được duy trì bởi hệ thống.Khi bạn tạo MQT loại này, thì bạn có thể xác định dữ liệu bảng sẽ là loại dữ liệuREFRESH IMMEDIATE (làm mới ngay) hoặc REFRESH DEFERRED (làm mớisau). Từ khóa REFRESH cho phép bạn xác định cách dữ liệu được được duy trì.Làm mới sau có nghĩa là các dữ liệu trong bảng có thể được làm mới bất kỳ lúcnào bằng cách sử dụng câu lệnh REFRESH TABLE. Các MQT, dù là làm mớingay hoặc về sau, được hệ thống duy trì, cũng không cho phép các hoạt độngchèn, cập nhật, hoặc xóa được thực hiện đối với chính chúng. Tuy nhiên, các MQTvới REFRESH IMMEDIATE được hệ thống duy trì được cập nhật với các thayđổi trên bảng nêu ra như kết quả của các phép chèn, cập nhật, hoặc xóa.Liệt kê 1 cho thấy ví dụ tạo ra một MQT REFRESH IMMEDIATE được hệ thốngduy trì. Bảng có tên EMP dựa trên các bảng EMPLOYEE và DEPARTMENT kểra trong cơ sở dữ liệu SAMPLE. Vì các MQT với REFRESH IMMEDIATE yêucầu rằng ít nhất một khóa đơn từ mỗi bảng được tham chiếu trong truy vấn xuấthiện trong danh sách chọn, trước tiên ta xác định một ràng buộc đơn trên cộtEMPNO trong bảng EMPLOYEE và trên cột DEPTNO trong bảngDEPARTMENT. Mệnh đề DATA INITIALLY DEFERRED đơn giản ngầm ý cácdữ liệu sẽ không được chèn vào bảng như là một phần của câu lệnh CREATETABLE. Sau khi được tạo, MQT ở trạng thái chờ kiểm tra (xem bảngDemystifying và các trạng thái của không gian bảng), và không thể được truy vấncho đến khi câu lệnh SET INTEGRITY thực hiện đối với nó. Mệnh đềIMMEDIATE CHECKED quy định rằng dữ liệu được kiểm tra đối với truy vấnxác định của MQT và được làm mới; mệnh đề NOT INCREMENTAL định rằngviệc kiểm tra tính toàn vẹn được thực hiện trên toàn bộ bảng. Một truy vấn đượcthực hiện đối với bảng truy vấn cụ thể hóa EMP cho thấy lúc n ày nó được điềnđầy đủ dữ liệu.Liệt kê 1. Tạo một MQT được hệ thống duy trìconnect to sample...alter table employee add unique (empno)alter table department add unique (deptno)create table emp as (select e.empno, e.firstnme, e.lastname, e.phoneno, d.deptno, substr(d.deptname, 1, 12) as department, d.mgrno from employee e, department d where e.workdept = d.deptno) data initially deferred refresh immediate set integrity for emp immediatechecked not incrementalselect * from empEMPNO FIRSTNME LASTNAME PHONENO DEPTNODEPARTMENT MGRNO------ ------------ --------------- ------- ------ ------------ ------000010 CHRISTINE HAAS 3978 A00 SPIFFY COMPU 000010000020 MICHAEL THOMPSON 3476 B01 PLANNING 000020000030 SALLY KWAN 4738 C01 ...
Nội dung trích xuất từ tài liệu:
Các khái niệm cơ bản của DB2: Giới thiệu các bảng truy vấn cụ thể hóa Roman Melnyk, Phát triển thông tin DB2 Các khái niệm cơ bản của DB2: Giới thiệu các bảng truy vấn cụ thể hóaRoman Melnyk, Phát triển thông tin DB2Tóm tắt: Định nghĩa bảng truy vấn cụ thể hóa (MQT) dựa trên kết quả của mộttruy vấn. MQT có thể cải thiện đáng kể hiệu suất của truy vấn. B ài viết này giớithiệu cho bạn các MQT, các bảng tóm tắt, và bảng phân tầng, và bằng các ví dụđang làm việc, chỉ cho bạn cách để xây dựng và chạy các bảng truy vấn được cụthể hóa.Bảng truy vấn cụ thể hóa (MQT) là một bảng được xác định dựa trên kết quả củamột truy vấn. Các dữ liệu được chứa trong MQT có nguồn gốc từ một hoặc nhiềubảng mà dựa vào chúng, người ta cụ thể hoá định nghĩa của bảng truy vấn. BảngTóm tắt (hoặc bảng tóm tắt tự động, AST), quen thuộc với những người sử dụngcơ sở dữ liệu thông dụng DB2 (UDB) của IBM trong Linux, UNIX, và Windows(DB2 UDB), được coi là dạng đặc biệt của MQT. Việc chọn đầy đủ là một phầncủa định nghĩa của một bảng tóm tắt, chứa mệnh đề GROUP BY để tổng hợp dữliệu từ các bảng được tham chiếu trong câu chọn này.Bạn có thể nghĩ MQT như một loại khung nhìn cụ thể hóa. Cả khung nhìn lẫn cácMQT được xác định dựa trên một truy vấn. Truy vấn mà trên đó khung nhìn dựavào được chạy bất cứ khi nào một khung nhìn được tham chiếu; tuy nhiên, trênthực tế MQT lưu giữ các kết quả truy vấn làm dữ liệu, và bạn có thể làm việc vớicác dữ liệu ở trong MQT thay vì các dữ liệu ở trong các bảng nêu ra.Các bảng truy vấn cụ thể hóa có thể cải thiện một cách đáng kể hiệu suất của cáctruy vấn, đặc biệt là các truy vấn phức tạp. Nếu như trình tối ưu xác định rằng mộttruy vấn hoặc một phần của một truy vấn có thể được giải bằng cách sử dụng mộtMQT, thì truy vấn có thể được viết lại để tận dụng lợi thế của MQT này.Có thể xác định MQT ở thời gian tạo bảng vì được hệ thống hay người dùng duytrì. Các phần tiếp theo sẽ giới thiệu cho bạn hai loại MQT, cũng như bảng tóm tắtvà bảng phân tầng. Các ví dụ sau đây yêu cầu kết nối tới cơ sở dữ liệu SAMPLE;nếu chưa có cơ sở dữ liệu SAMPLE trong hệ thống, thì bạn có thể tạo ra nó bằngcách nhập lệnh db2sampl từ bất kỳ dấu nhắc lệnh nào.Các MQT được duy trì bởi hệ thốngCác dữ liệu trong loại này của bảng truy vấn cụ thể hóa được duy trì bởi hệ thống.Khi bạn tạo MQT loại này, thì bạn có thể xác định dữ liệu bảng sẽ là loại dữ liệuREFRESH IMMEDIATE (làm mới ngay) hoặc REFRESH DEFERRED (làm mớisau). Từ khóa REFRESH cho phép bạn xác định cách dữ liệu được được duy trì.Làm mới sau có nghĩa là các dữ liệu trong bảng có thể được làm mới bất kỳ lúcnào bằng cách sử dụng câu lệnh REFRESH TABLE. Các MQT, dù là làm mớingay hoặc về sau, được hệ thống duy trì, cũng không cho phép các hoạt độngchèn, cập nhật, hoặc xóa được thực hiện đối với chính chúng. Tuy nhiên, các MQTvới REFRESH IMMEDIATE được hệ thống duy trì được cập nhật với các thayđổi trên bảng nêu ra như kết quả của các phép chèn, cập nhật, hoặc xóa.Liệt kê 1 cho thấy ví dụ tạo ra một MQT REFRESH IMMEDIATE được hệ thốngduy trì. Bảng có tên EMP dựa trên các bảng EMPLOYEE và DEPARTMENT kểra trong cơ sở dữ liệu SAMPLE. Vì các MQT với REFRESH IMMEDIATE yêucầu rằng ít nhất một khóa đơn từ mỗi bảng được tham chiếu trong truy vấn xuấthiện trong danh sách chọn, trước tiên ta xác định một ràng buộc đơn trên cộtEMPNO trong bảng EMPLOYEE và trên cột DEPTNO trong bảngDEPARTMENT. Mệnh đề DATA INITIALLY DEFERRED đơn giản ngầm ý cácdữ liệu sẽ không được chèn vào bảng như là một phần của câu lệnh CREATETABLE. Sau khi được tạo, MQT ở trạng thái chờ kiểm tra (xem bảngDemystifying và các trạng thái của không gian bảng), và không thể được truy vấncho đến khi câu lệnh SET INTEGRITY thực hiện đối với nó. Mệnh đềIMMEDIATE CHECKED quy định rằng dữ liệu được kiểm tra đối với truy vấnxác định của MQT và được làm mới; mệnh đề NOT INCREMENTAL định rằngviệc kiểm tra tính toàn vẹn được thực hiện trên toàn bộ bảng. Một truy vấn đượcthực hiện đối với bảng truy vấn cụ thể hóa EMP cho thấy lúc n ày nó được điềnđầy đủ dữ liệu.Liệt kê 1. Tạo một MQT được hệ thống duy trìconnect to sample...alter table employee add unique (empno)alter table department add unique (deptno)create table emp as (select e.empno, e.firstnme, e.lastname, e.phoneno, d.deptno, substr(d.deptname, 1, 12) as department, d.mgrno from employee e, department d where e.workdept = d.deptno) data initially deferred refresh immediate set integrity for emp immediatechecked not incrementalselect * from empEMPNO FIRSTNME LASTNAME PHONENO DEPTNODEPARTMENT MGRNO------ ------------ --------------- ------- ------ ------------ ------000010 CHRISTINE HAAS 3978 A00 SPIFFY COMPU 000010000020 MICHAEL THOMPSON 3476 B01 PLANNING 000020000030 SALLY KWAN 4738 C01 ...
Tìm kiếm theo từ khóa liên quan:
quản trị dữ liệu lập trình XML ngôn ngữ SQL data base hệ quản trị lưu trữ dữ liệu bộ nhớTài liệu có liên quan:
-
Đáp án đề thi học kỳ 2 môn cơ sở dữ liệu
3 trang 341 1 0 -
PHÂN TÍCH THIẾT KẾ HỆ THỐNG XÂY DỰNG HỆ THỐNG ĐẶT VÉ TÀU ONLINE
43 trang 311 2 0 -
8 trang 299 0 0
-
6 trang 213 0 0
-
Hướng dẫn tạo file ghost và bung ghost
12 trang 161 0 0 -
Giáo trình Nhập môn cơ sở dữ liệu: Phần 2 - Trần Thành Trai
145 trang 104 0 0 -
Hướng dẫn sử dụng Mapinfo Professional-Phần cơ bản
57 trang 101 0 0 -
150 trang 79 0 0
-
Phát triển Java 2.0: Phân tích dữ liệu lớn bằng MapReduce của Hadoop
12 trang 77 0 0 -
Giáo trình Điện toán đám mây (Xuất bản lần thứ hai): Phần 1
64 trang 75 0 0