Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 82 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
82
Dung lượng
8 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THƠNG TIN ĐÀO TẤN NGỌC KHĨA LUẬN CAO HỌC NGÀNH: Khoa Học Máy Tính Mã số: 60 48 01 01 NGƯỜI HƯỚNG DẪN KHOA HỌC: TS PHẠM QUỐC TRUNG HỒ CHÍ MINH - Năm 2015 LỜI CAM ĐOAN Tơi xin cam đoan, kết khóa luận hồn tồn kết tự thân tơi tìm hiểu, nghiên cứu Các tài liệu tham khảo trích dẫn thích đầy đủ rõ ràng, tên tác giả, tên cơng trình, thời gian, địa điểm cơng bố Tác giả Đào Tấn Ngọc i LỜI CẢM ƠN Trước tiên, em xin chân thành cảm ơn quý thầy cô trường Đại học Công nghệ Thông tin - ĐHQG thành phố Hồ Chí Minh tận tình dạy bảo cho em nhiều kiến thức bổ ích thời gian học tập trường, tạo điều kiện cho em thực đề tài Kính chúc quý thầy cô dồi sức khoẻ thành công sống Đặc biệt, em xin bày tỏ lòng biết ơn chân thành, sâu sắc đến Thầy TS Phạm Quốc Trung Mặc dù bận rộn với công việc nghiên cứu, giảng dạy cơng việc gia đình, nhiên suốt thời gian thực đề tài, dù thời gian làm việc hay ngày nghỉ, lễ, Thầy ln sẵn sàng nhiệt tình xếp thời gian để định hướng, hướng dẫn, động viên, giúp đỡ tận tình giúp tơi hồn thành khóa luận Xin gửi lời cám ơn sâu sắc đến gia đình, người thân bạn khóa chia sẽ, động viên suốt thời gian học tập nghiên cứu, tạo nên sức mạnh to lớn để tơi hồn thành kết học tập Sau cùng, xin kính chúc q Thầy Cơ khoa Khoa Học Máy Tính – Trường Đại Học Cơng Nghệ Thông Tin TS Phạm Quốc Trung thật dồi sức khỏe, niềm tin để tiếp tục thực sứ mệnh cao đẹp truyền đạt kiến thức cho hệ mai sau Mặc dù cố gắng khóa luận khó tránh khỏi thiếu sót, tơi kính mong Q thầy, bạn bè hướng dẫn, góp ý để nội dung nghiên cứu ngày hoàn thiện Một lần nữa, em xin chân thành cảm ơn! Trân trọng TP HCM, tháng 11 năm 2015 Đào Tấn Ngọc – CH1301043 ii MỤC LỤC Số trang Trang phụ bìa LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii Danh mục ký hiệu chữ viết tắt v Danh mục hình vẽ đồ thị vi MỞ ĐẦU vii CHƯƠNG - GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI 1.1 Đặt vấn đề 1.2 Mục đích nghiên cứu 1.3 Đối tượng phạm vi nghiên cứu 1.4 Phương pháp, quy trình thực khóa luận 1.5 Ý nghĩa khoa học thực tiễn CHƯƠNG – CƠ SỞ LÝ THUYẾT 2.1 Đối tượng, lớp định danh đối tượng 2.2 Các mối quan hệ lớp 2.3 Truy vấn đối tượng 12 2.4 Ngôn ngữ đối tượng OQL 13 2.5 Đại số đối tượng 17 2.6 Lược đồ quan hệ nhúng 20 CHƯƠNG - TỐI ƯU HÓA TRUY VẤN TRONG CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 24 iii 3.1 Mô tả vấn đề 24 3.2 Các cách tiếp cận tối ưu hóa truy vấn hướng đối tượng 24 3.3 Cách tiếp cận tối ưu truy vấn hướng đối tượng khóa luận 26 3.4 Kết luận 53 CHƯƠNG – CHƯƠNG TRÌNH THỬ NGHIỆM VÀ ĐÁNH GIÁ 54 4.1 Mô tả cách sử dụng 54 4.2 Mô tả bước thực chương trình 55 4.3 Một số nhận xét, đánh giá kết thực chương trình 57 CHƯƠNG – KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 58 5.1 Kết đạt 58 5.2 Hướng phát triển 58 TÀI LIỆU THAM KHẢO 59 PHỤ LỤC 60 iv Danh mục ký hiệu chữ viết tắt Viết tắt Mơ tả Annotation Chú thích API Application Programming Interface - Giao diện chương trình ứng dụng Classes Các lớp khái niệm CNTT Công nghệ thông tin CSDL Cơ sở liệu SQL Structured Query Language OQL Object Query Language ODMG Object Database Management Group OID Object Identifier OODB Object Oriented Database OPG OODB Predicate Graph TID Tuple Identifier UML Unified Modeling Language ODL Object Definition Language DCL Data Control Language DDL Data Definition Language RPG Relational Predicate Graph URI Uniform Resource Identifier WWW World Wide Web XML Extensible Markup Language XML Extensible Markup Language XMLS Extensible Markup Language Schema v Danh mục hình vẽ đồ thị Hình 2.2 Sự phân cấp kiểu OQL 15 Hình 3.1 Quy trình thực tối ưu hóa truy vấn 24 Hình 3.2 Biểu diễn lược đồ quan hệ nhúng dạng 31 Hình 3.3 Đồ thị tân từ đối tượng mệnh đề where 43 Hình 3.4 Chuyển đổi đồ thị tân từ đối tượng thành đồ thị tân từ quan hệ 44 Hình 3.5 Tiến trình khung xử lý truy vấn 46 Hình 3.6 Khởi tạo phân tích cú pháp ví dụ 3.6 51 Hình 3.7 Bước chuyển đổi hình 3.6 51 Hình 3.8 Khởi tạo ví dụ 3.7 52 Hình 3.9 Cây kết sau áp dụng luật chuyển đổi 52 vi MỞ ĐẦU Cơ sở liệu (CSDL) lĩnh vực quan tâm nhiều cơng nghệ thơng tin, có nhiều ứng dụng khoa học kỹ thuật ngành kinh tế khác Suốt năm 70, lĩnh vực nghiên cứu lý thuyết CSDL tập trung giải mơ hình liệu quan hệ E F Codd đề xuất Đây mơ hình xây dựng sở lý thuyết toán học quan hệ với cấu trúc chặt chẽ hoàn chỉnh Những kết nghiên cứu đạt mô hình khơng tạo tảng lý thuyết CSDL, mà mang tính ứng dụng cao, hệ thống quản trị CSDL thương mại phát hành vào cuối thập kỷ 70 đầu thập kỷ 80 Oracle, SQL/DS DB2, v.v Tuy nhiên, đa dạng ứng dụng công nghệ phần mềm, hệ thống tự động hóa, hệ thống đa phương tiện với tích hợp âm thanh, hình ảnh, tài liệu tồn văn ngơn ngữ lập trình, làm nảy sinh u cầu cần phải có mơ hình liệu với tính mạnh, phong phú để đặc tả đối tượng phức giới thực đảm bảo tính mềm dẻo, khả chuyển hệ thống có thay đổi, đòi hỏi tạo tiền đề cho hình thành phát triển mơ hình CSDL hướng đối tượng Trong năm gần đây, việc phát triển ngôn ngữ CSDL hệ thống CSDL hướng đối tượng xem hướng nghiên cứu quan trọng Các ngôn ngữ CSDL mở rộng theo hướng tích hợp với ngơn ngữ lập trình hướng đối tượng, điều tạo điều kiện cho hệ thống tăng khả tính tốn phức tạp xây dựng giao diện lập trình hướng đối tượng hệ thống Như ta biết, thành công ngày tăng công nghệ CSDL quan hệ việc xử lý liệu phần tính dễ dùng khả khai thác, tìm kiếm liệu ngơn ngữ phi thủ tục (như SQL), cải thiện đáng kể công việc phát triển ứng dụng khả sáng tạo người dùng Các ngôn ngữ phi thủ tục CSDL quan hệ cho phép diễn tả câu truy vấn phức tạp cách xác đơn giản Đặc biệt để có câu trả lời cho truy vấn, người sử dụng không cần phải vii xác định xác trình tự tiến hành thao tác/ phép toán câu truy vấn Trình tự xử lý Bộ xử lý truy vấn (query processor) hệ quản trị CSDL, tốn xử lý truy vấn hay tối ưu hóa truy vấn viii Chương - Giới thiệu tổng quan đề tài CHƯƠNG - GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI Chương giới thiệu tổng quan đề tài bao gồm nghiên cứu khảo sát tình hình ứng dụng tối ưu hóa truy vấn hệ quản trị sở liệu nói chung hệ quản trị sở liệu hướng đối tượng nói riêng; phân tích đánh giá thực trạng, hạn chế xác định nhu cầu mà hệ thống ứng dụng chưa đáp ứng được, từ đề xuất nghiên cứu phát triển giải pháp tối ưu truy vấn để khai thác sở liệu tốt 1.1 Đặt vấn đề 1.1.1 Lý hình thành đề tài Cơ sở liệu thành phần thiếu trình phát triển hệ thống thông tin Trong thực tế, ứng dụng thông tin không dừng lại ứng dụng lĩnh vực xử lý liệu kinh doanh, thương mại mà phát triển sang lĩnh vực khác trí tuệ nhân tạo, thơng tin văn phòng, đa phương tiện… Do đó, việc phát triển hệ thống sở liệu hướng đối tượng điều tất yếu Một hướng nghiên cứu quan trọng đề cập hệ thống sở liệu hướng đối tượng tối ưu hóa truy vấn hướng đối tượng Khi thực thi truy vấn sở liệu hướng đối tượng, có nhiều phương án mà hệ thống sở liệu cho phép xử lý Các phương án có kết cuối tương đương khác chi phí thực hay tổng thời gian thực truy vấn Tối ưu hóa truy vấn lựa chọn phương án để có tổng thời gian thực truy vấn nhỏ Như vậy, vấn đề quan tâm cực tiểu tần suất sử dụng CPU, nhớ, chi phí nhập/xuất nguồn tài nguyên lĩnh vực truyền thơng Vì với kỹ thuật phần cứng việc tối ưu thực thi truy vấn vấn đề làm cực tiểu thời gian trả lời truy vấn Vấn đề đặt với lượng thông tin ngày lớn song việc vấn tin vấn đề thường xuyên đòi hỏi việc xử lý thơng tin phải nhanh chóng TÀI LIỆU THAM KHẢO [1] Navita Kumari (2012), “SQL Server Query Optimization Techniques – Tips for Writing Efficient and Faster Queries”, International Journal of Scientific and Research Publications, Vol 2, Issue 6, ISSN 2250-3153 [2] Cattel R G G, Douglas K Barry (2000), The Object Data Standard: ODMG 3.0, Morgan Kaufmann Publisher San Francisco, California [3] Bamnote G R, Agrawal S.S (2013), “Introduction to Query Processing and Optimazation”, International Journal of Advanced Research in Computer Science and Software Engineering, Vol 3, Issue [4] Bierman G.M and A Trigoni A (2000), “Towards a formal type system for ODMG OQL”, Technical Report 497, University of Cambridge Computer Laboratory [5] Joseph Fong and Xiuzhen Zhang, Translating update operations from relational to object-oriented database, Department of Computer Science, City University of Hong Kong, Kowloon, Hong Kong [6] Ramez Elmasri and Shamkant B Navathe, Fundamentals of Database Systems, second edition, Addison-Wesley Publishing Company [7] Ahmad Nouri, David J Wisneski (2008), Object oriented query path expression to relational outer join translator method, system, article of manufacture, and computer program product, USA [8] Cetin Ozkan, Asuman Dogac, Mehmet Altinel, A cost model for path expressions in object oriented queries, ACM Sigmod [9] Cetin Ozkan, Asuman Dogac, Mehmet Altinel (2010), A heuristic approach for optimization of path expressions, Ankara Turkiye [10] Ullman J.D (2014), Principles of database and knowledge base systems, Computer Science Press, New York [11] Zhaohui Xie, Optimization of Object Queries Containing Encapsulated Methods, ACM, USA [12] Henk Ernst Blok, Djoerd Hiemstra and Sunil Choenni, Franciska de Jong, Henk M Blanken and Peter M.G Apers, “Predicting the cost-quality tradeoff for information retrieval queries: Facilitatiing database design and query optimization”, Proceedings of the tenth international conference on Information and knowledge management, Pages 207 - 214 [13] Index Optimization Tips (Oct 2015), http://www.mssqlcity.com/Tips/tipInd.htm [14] Nikose M.C, Dhande S.S, Bamnote G.R (2012), “Query Optimization in Object Oriented Databases through Detecting Independent Subqueries”, International Journal of Advanced Research in Computer Science and Software Engineering, Vol 2, Issue 59 PHỤ LỤC Sự biểu diễn tương đương truy vấn OQL đại số đối tượng Định nghĩa 3.5 Nếu E biểu thức đại số đối tượng Q truy vấn đối tượng OQL xác định tập đối tượng ta nói E biểu diễn Q hay Q biểu diễn E, ta gọi E tương đương với Q, ký hiệu E Q Sử dụng phương pháp tương tự để chứng minh chuyển đổi truy vấn OQL thành biểu thức đại số đối tượng tương đương, bước chứng minh thực theo hai chiều (định nghĩa 3.5) qua hai định lý 3.1 định lý 3.2, định lý 3.2 kết bổ đề 3.1 đến bổ đề 3.13 Định lý 3.1 Mọi biểu thức đại số đối tượng biểu diễn truy vấn đối tượng OQL Chứng minh Sử dụng phép biện chứng minh quy nạp, tập phép toán đại số đối tượng biểu diễn truy vấn OQL tương đương biểu thức đại số đối tượng viết lại với truy vấn ngôn ngữ truy vấn OQL Một biểu thức đại số đối tượng E chứa nhiều định danh (biến, hằng, hàm,…), đối tượng CSDL mức đỉnh phép toán đại số Trường hợp sở: Giả sử biểu thức đại số đối tượng E khơng chứa phép tốn Lúc đó, E= R, R định danh đối tượng CSDL mức đỉnh Truy vấn OQL là: select R Trường hợp quy nạp: Giả sử biểu thức đại số E có chứa nhiều phép tốn đại số đối tượng Xét tập phép toán đại số đối tượng sau: a Các phép toán đối tượng (i) Chiếu lấy định danh: O(S) select o.OID from S as o (ii) Chiếu lấy giá trị: V(S) select (O.a1, O.a2, …, O.an) from S as O Trong đó, thuộc tính đối tượng O (i= 1, …, n) 60 (iii) Chiếu lấy đối tượng: D(oid_object) select O where oid_object in (select O.OID from S as O) b Các phép toán (i) Thiết lập bộ: select tuple (a1: v1, …, an: vn) (ii) Chiếu bộ: (Attrs) (S), Attrs = {a1, a2, …, am} select tuple (ai: v.v1, … am: v.vm) from S as v (iii) Trích xuất giá trị thuộc tính: (Attrs) (S) select v.Attrs from S as v (iv) Ghép bộ: tuple_cat(S1, S2) select tuple(a1: u.u1, …, an: u.un, b1: v.v1, …bm: v.vm) from S1 as u, S2 as v c Các phép toán tập hợp (i) Thiết lập tập hợp: set(S) {} select set(p) from S as p (ii) Hợp hai tập hợp: set_union(S1, S2) select set(s) from (S1 uniion S2) as s (iii) Hiệu hai tập hợp: set_diff(S1, S2) select set(s) from (S1 except S2) as s (iv) Chọn tập hợp: ss.f(S) select set(u) from S as u where f in u (v) Làm phẳng tập: set_flat(S) select set(v) where v in (select distinct u from S as u) (vi) Áp dụng hàm tập: set_apply.s.e(S) define s_element as (type(elements(S))> define function e(): s_element select set(u) from S as u where u.e() 61 d Các phép toán đa tập Các phép toán kiểu liệu “bag” biểu diễn tương tự phép toán tập hợp Xét phép toán chuyển “bag” thành kiểu tập: bagtoset(S) với truy vấn OQL là: select set(u) from (select distinct u from S as u) e phép toán danh sách (i) Thiết lập danh sách: list(S) select list(s) from S as s (ii) Lấy phần tử đầu tiên: first(S) select s[0] from S as s (iii) Lấy phần tử cuối cùng: last(S) select s[count(select s from S as s) -1] (vii) Các phép toán nối danh sách: list_cat(S1, S2), chọn 1s.f(S), làm phẳng: list_flat(S), áp dụng: list_apply.s.e(S) chứng minh tương tự phép toán tập hợp bag f Các phép toán mảng (i) Thiết lập mảng: array(S) select array(s) from S as s (ii) Trích xuất phần tử: i(S) Phép tốn trả phần tử thứ I mảng cho select s[i] from S as s (iii) Chiếu mảng: i, j(S) j> i select array(s[x]) from S as s where (x>=i) and (x s.gvhd.tuoi Từ mệnh đề select (): “(s.hoten.hodem, s.hoten.ten)”, ta có thành phần sở “s.hoten” Cho hai R1 R2, thành phần sở chung nhất, ký hiệu GC(R1, R2) “tiền tố” chung Đề xác định thành phần sở sử dụng thuật tốn sau: void Thành_phần_cơ_sở_chung_nhất Vào: R1, R2 kết thuộc truy vấn Ra: Thành phần sở chung kết Phương pháp: (1) (2) for R1 in for R2 in (3) G = GC(R1, R2) (4) if (G > PC(R1)) (5) PC(R1) = G Trong đó, GC thành phần sở chung R1 R2, PC: thành phần sở Ri Đối với có n có n thành phần sở Tiếp theo, xét tính tương quan liệu truy vấn với có thành phần sở Với thành phần sở PCi , ta có: (i) Giả sử PCi thành phần sở R1, …, Rn, (i=1,…,n) 70 (ii) Vì Ri có thành phần sở chung nhất, chúng có biểu thức chung tương ứng với thành phần sở Nếu xóa biểu thức chung QRi (biểu thức đại số tương đương Ri) nhận biểu thức đại số phận PRi, biểu thức đầu vào biểu thức đại số chung (iii) Các biểu thức đại số phận PRi xác định sau: Nếu n = biểu thức đại số phận PRi ra, n > 1, PRi là: tuple_cat(tuple(PRi),…, tuple_cat(tuple(PRn-1) tuple(PRn))) Như vậy, ta có biểu thức đại số áp dụng cho thành phần phận thành phần sở để truy vấn liệu từ thành phần Tiếp theo, áp dụng tân từ “mệnh_đề_where” lên thành phần sở Theo bổ đề 3.10, “mệnh_đề_where” biểu diễn tân từ Áp dụng tân từ biểu thức đại số PE cho thành phần sở (theo bổ đề 3.7: thành phần sở PC có biểu thức đại số tương đương PE): (i) Nếu có thành phần sở PC = PE (ii) Nếu khơng tồn PCi có kiểu tập kiểu mảng thì: PC = tuple_cat(tuple(PE1),…, tuple_cat(tuple(PEm-1) tuple(PEm))), (m số thành phần sở ) (iii) Nếu tồn PCi có kiểu tập, thì: PC = PE1 x (PE2 x … x (PEm-1 x PEm)) Nếu PCi tham chiếu, thay D(O(E1)) Tiếp theo, áp dụng tân từ P “mệnh_đề_where” PC Ký hiệu biểu thức đại số tương đương PC áp dụng tân từ P PQ Xét trường hợp sau: (i) PC giá trị, một tham chiếu Thì PQ = P(PC) (ii) PC tập Thì PQ = set_apply.s.P1(PC), P1 xây dựng từ P với phép toán bổ sung ((…), ) để truy vấn liệu từ tích Đề thành phần sở 71 (iii) PC mảng Thì PQ = array_apply.s.P1(PC), P1 xây dựng từ P với phép toán bổ sung ((…), ) để truy vấn liệu mảng (sử dụng phép toán array array_cat) thành phần sở Với kết trên, áp dụng PRi PQ cho kết cuối truy vấn Xét trường hợp: (i) PQ giá trị, một tham chiếu Nếu có thành phần sở tất kết tương ứng đơn trị, truy vấn cuối PR1(PQ) (ii) PQ tập Thì phần tử tập có phần liệu tương ứng với thành phần sở Truy vấn cuối là: set_apply.s.E(PQ), mà E biểu thức áp dụng cho PRi(PQ) với phép tốn thành phần phép trích xuất ghép nối (tuple, tuple_cat) (iii) PQ mảng Mỗi phần tử mảng có phần liệu tương ứng với thành phần sở Truy vấn cuối là: array_apply.s.E(PQ), mà E biểu thức áp dụng cho PRi(PQ) với thành phần tương ứng (sử dụng phép trích xuất cần thiết) phép nối kết vào bộ, sử dụng phép toán tuple, tuple_cat Bổ đề 3.12 Truy vấn đối tượng OQL có hàm kết nhập khơng chứa từ khóa “distinct” biểu diễn biểu thức đại số tương đương Chứng minh Nếu truy vấn không chứa kết nhập, sử dụng kết bổ đề 3.11 (đây mở rộng bổ đề 3.11) Thành phần sở kết kết nhập xác định biến vùng mệnh_đề_from (nếu có thành phần) thành phần sở danh sách thuộc tính mô tả bên kết nhập Nếu danh sách thuộc tính có nhiều thành phần sở, chúng trở thành tích Đề thành phần sở tương ứng với danh sách thuộc tính 72 Phần lại việc chứng minh bổ đề này, xét E phần tử tập tham chiếu, chúng phải loại bỏ tham chiếu với phép toán D Theo bổ đề 3.11, ta có PE biểu thức đại số tương đương với thành phần sở kết kết nhập, AG phép tốn đại số, AG(E) biểu thức sử dụng PRi bổ đề 3.11 Nếu thành phần sở kết kết nhập mảng thì, ta dùng phép toán array_apply thay phép toán set_apply Bổ đề 3.13 Truy vấn đối tượng OQL biểu diễn biểu thức đại số đối tượng tương đương Chứng minh Nếu truy vấn khơng có từ khóa “distinct”, bổ đề 3.12 chứng minh Nếu truy vấn “select distinct Q”, theo bổ đề 3.11 ta có biểu thức đại số E biểu diễn Q Nếu kiểu kết E bộ, tham chiếu giá trị đơn biểu thức truy vấn đầu vào E Nếu kiểu E tập hợp, biểu thức đại số set_flat(E) Ngồi ra, biểu thức đại số array_ apply.s.e(E) Với việc chứng minh bổ đề 3.13, việc chứng minh cho định lý 3.2 hoàn thành Và kết luận rằng: Sự biểu diễn truy vấn đối tượng OQL đại số đối tượng tương đương Như vậy, việc viết lại truy vấn cho thành biểu thức đại số tập phép toán đại số đối tượng tương đương Các biểu thức đại số ước lượng với chi phí xử lý khác Vì vậy, mặt lý thuyết người ta mong muốn tìm biểu thức đại số tương đương với truy vấn cho đạt phương án thực thi hiệu Tuy nhiên, mặt cài đặt, số lượng truy vấn tương đương lớn, lúc cần tập truy vấn mà thơi Do đó, để tìm truy vấn tương đương khác, người ta cần tập luật biến đổi bảo tồn tương đương, mơ hình liệu hướng đối tượng lại khơng có đại số đối tượng chuẩn áp dụng cho tất mơ hình hướng đối tượng, kỳ vọng để có tập chuẩn tắc gồm luật biến đổi bảo tồn tương đương khơng tồn Vì vậy, khóa luận tập trung nghiên cứu nhằm chứng tỏ biến đổi bảo toàn tương đương sở đại số đối tượng đúng, với số luật biến đổi trình bày phía 73 ... hệ thống sở liệu hướng đối tượng điều tất yếu Một hướng nghiên cứu quan trọng đề cập hệ thống sở liệu hướng đối tượng tối ưu hóa truy vấn hướng đối tượng Khi thực thi truy vấn sở liệu hướng đối. .. thực thi vấn tin nhằm hạ thấp tối đa chi phí việc tối ưu câu vấn tin vấn đề mà phải quan tâm Từ nhận thấy vấn đề tối ưu hóa truy vấn hệ quản trị sở liệu hướng đối tượng cần thiết quản trị hệ sở... rộng thuật tốn tối ưu hóa truy vấn đối tượng cơng cụ minh họa cho thuật tốn tối ưu hóa truy vấn đề xuất chương 2.1 Đối tượng, lớp định danh đối tượng 2.1.1 Đối tượng định danh đối tượng Khái niệm