Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 83 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
83
Dung lượng
866,34 KB
Nội dung
1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CƠNG NGHỆ PHẠM THỊ CHANH TỐI ƢU HĨA TRUY VẤN CƠ SỞ DỮ LIỆU HƢỚNG ĐỐI TƢỢNG LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN HÀ NỘI – 2014 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CƠNG NGHỆ PHẠM THỊ CHANH TỐI ƢU HĨA TRUY VẤN CƠ SỞ DỮ LIỆU HƢỚNG ĐỐI TƢỢNG Ngành: CÔNG NGHỆ THÔNG TIN Chuyên ngành : HỆ THỐNG THÔNG TIN Mã số: 60480104 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC : PGS TS ĐOÀN VĂN BAN HÀ NỘI – 2014 LỜI CAM ĐOAN Tôi xin cam đoan, kết luận văn hoàn toà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 đƣợc trích dẫn thích đầy đủ Tác giả Phạm Thị Chanh LỜI CẢM ƠN Lời luận văn em xin gửi lời cảm ơn chân thành đến PGS.TS Đoàn Văn Ban, ngƣời trực tiếp hƣớng dẫn, giúp đỡ tạo điều kiện thuận lợi cho em từ lúc tìm hiểu, định hƣớng nhƣ tìm kiếm tài liệu lĩnh vực sở liệu hƣớng đối tƣợng lúc hoàn thành luận văn Em xin gửi lời cám ơn sâu sắc đến tất thầy cô giáo dạy dỗ truyền đạt kinh nghiệm quý báu cho chúng em suốt hai năm cao học trƣờng Đại học Công nghệ - Đại học Quốc gia Hà nội Cuối cùng, em xin biểu thị biết ơn tới ngƣời thân gia đình bạn bè ƣu ái, giúp đỡ, động viên, khích lệ để em hồn thành luận văn Hà nội, ngày … , tháng … , năm 2014 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT CÁC KÝ HIỆU STT Ký hiệu Att (Attribute) R E Oid O (Object) V (Value) D H (HyperGraph) Mid (Method Identify) 10 Odb (Object database) 11 Dom (Domain) 12 Obj (Object) 13 Val (Value) 14 Sup (Super) 15 Meth (Method) 16 Attrs (Attributes) CÁC CHỮ VIẾT TẮT STT Ký hiệu CSDL OID (Object Identifier) UML (Unified Modeling Language) ODMG (Object Database Management Group) ODL(Object Definition Language) OQL (Object Query Language) OODB(Object-Oriented Database) OODBMS (Object-Oriented Database Management System) ADTs (Abtract Data Types) 10 SFW (Select From Where) DANH MỤC CÁC THUẬT NGỮ Biến thể dựa giá trị Biến thể lớp Đối tƣợng phức hợp Kiểu đặc trƣng Kiểu liệu “túi”, đa tập kiểu sƣu tập Kiểu tổng quát Lƣợc đồ đối tƣợng Mối quan hệ kế thừa Mối quan hệ kết nhập Phân cấp lớp Phân cấp lớp hợp thành Phƣơng thức nạp chồng Value based instance variable Class instance varSSiable Composite object Specific types Bag General types Object schemas Inheritance relationship Aggregation relationship Class hierarchy Phƣơng thức thuộc tính - suy dẫn Siêu lớp Lớp Truy vấn lồng Mơ hình liệu hƣớng đối tƣợng Thực thể Viết đè Liên kết muộn Thuộc tính đơn Thuộc tính đơn trị Thuộc tính đa trị Thuộc tính phức hợp Tính đa hình Tính đóng gói thơng tin Tính kế thừa bội Derived-attribute method Class composition hierarchy Overloading method Metaclass/Superclass Subclass Nested query Object-Oriented Model Entity Overriding Late binding Single attribute Singlevalued attribute Multivalued attribute Composite attribute Polymorphism Encapsulation Multiple inheritance DANH MỤC CÁC HÌNH VẼ Hình 1.1 Sự phát triển mơ hình liệu Hình 1.2 Mơ hình liệu hƣớng đối tƣợng ngun mẫu Hình 1.3 Kế thừa đơn Hình 1.4 Kế thừa bội từ hai lớp khác có lớp sở chung Hình 1.5 Kế thừa bội khơng có lớp sở chung Hình 1.6 Sự phân cấp kiểu OQL Hình 1.7 Lƣợc đồ CSDL Quản lý Nhân viên Hình 2.1 Siêu đồ thị H Hình 2.2 Siêu đồ thị kết nối đối tƣợng ví dụ 2.1 Hình 2.3 Siêu đồ thị kết nối ví dụ 2.2 Hình 2.4 Siêu đồ thị kết nối ví dụ 2.3 Hình 2.5 Siêu đồ thị kết nối ví dụ 2.4 Hình 3.1 Lƣợc đồ CSDL Quản lý Nhân Hình 3.2 Form luận văn Hình 3.3 Kết truy vấn Hình 3.4 Kết truy vấn Hình 3.5 Kết truy vấn DANH MỤC CÁC BẢNG, BIỂU ĐỒ Bảng 2.1 Kết ƣớc lƣợng siêu cạnh ví dụ 2.3 Bảng 2.2 Kết ƣớc lƣợng áp dụng thuật toán 2.5 Tinh chỉnh siêu đồ thị ví dụ 2.3 Bảng 2.3 Kết ƣớc lƣợng siêu cạnh ví dụ 2.4 Bảng 2.4 Kết ƣớc lƣợng áp dụng thuật tốn 2.5 Tinh chỉnh siêu đồ thị ví dụ 2.4 Biều đồ 3.1 So sánh thời gian thực truy vấn Biều đồ 3.2 So sánh thời gian thực truy vấn Biều đồ 3.3 So sánh thời gian thực truy vấn LỜI MỞ ĐẦU Chúng ta sống thời đại mới, thời đại Công nghệ thông tin (CNTT) Công nghệ thông tin ngày phát triển trở thành nhu cầu thiếu lĩnh vực đời sống xã hội CNTT ngành quản lý công nghệ mở nhiều lĩnh vực khác nhƣ phần mềm máy tính, phần cứng máy tính, ngơn ngữ lập trình, ….Và sở liệu lĩnh vực quan trọng Công nghệ thông tin Từ đời nay, nghiên cứu Cơ sở liệu (CSDL) không ngừng phát triển ngày trở nên cần thiết ứng dụng CNTT CSDL trở thành phận chủ yếu thiếu hầu hết hệ thống thông tin Hiện nay, hệ thống thông tin hay CSDL chủ yếu sử dụng kiểu CSDL truyền thống CSDL quan hệ, CSDL đƣợc phát triển ứng dụng rộng rãi Tuy nhiên với phát triển nhanh chóng CNTT, CSDL quan hệ dần bộc lộ yếu điểm nhiều hạn chế, đặc biệt việc xây dựng ứng dụng liệu phức tạp, liệu đa chiều, liệu có nhiều mối quan hệ, hay liệu đa phƣơng tiện nhƣ: hình ảnh, âm thanh, video,… Ngày nay, phƣơng pháp hƣớng đối tƣợng đƣợc sử dụng phổ biến lĩnh vực phát triển phần mềm, cho phép lập trình viên tạo đối tƣợng code trừu tƣợng hóa đối tƣợng thực tế sống Trong giới thực, đối tƣợng thực thể tồn nhƣ ngƣời, xe, máy tính,…Trong ngơn ngữ lập trình, đối tƣợng hình, điều khiển,…Kỹ thuật hƣớng đối tƣợng kỹ thuật nhằm vào tƣơng tác đối tƣợng Mỗi đối tƣợng có thuộc tính (thơng tin lƣu trữ), phƣơng thức xác định chức đối tƣợng đối tƣợng đƣợc tạo tồn nhớ chính, cịn việc lƣu trữ tƣơng tác liệu dƣới dạng đối tƣợng nhớ thứ cấp chủ yếu kế thừa từ mơ hình quan hệ truyền thống Hiện có nhiều kết nghiên cứu, cho phép chuyển đổi qua lại bảng mơ hình quan hệ sang tập đối tƣợng tƣơng ứng Mặc dù kế thừa đƣợc tính mạnh hƣớng đối tƣợng, nhƣng việc chuyển đổi qua lại làm cho mã lệnh chƣơng trình phức tạp thêm, đồng thời hiệu suất chƣơng trình giảm rõ rệt CSDL hƣớng đối tƣợng giải pháp cho hạn chế CSDL quan hệ Trong CSDL hƣớng đối tƣợng, liệu đƣợc lƣu trữ dƣới dạng đối tƣợng ngơn ngữ lập trình nên cho phép lƣu trữ đƣợc dạng liệu phức tạp, lƣợng thông tin lớn, đa chiều, đa quan hệ, hay mở rộng lƣu trữ liệu đa phƣơng tiện nhƣ hình ảnh, âm thanh, video Trên giới, số hệ quản trị sở liệu hƣớng đối tƣợng đƣợc phát triển nhà phân phối sản phẩm thƣơng mại, phịng 10 nghiên cứu cơng nghệ Viện Đại học nhƣ: Gemstone, ObjectStores, IRIS, Orion, Extra, Oracle, Db4o,… Một mơ hình liệu đối tƣợng chuẩn ODMG đƣợc phát triển dựa vào để thiết lập số khái niệm sở đƣợc gọi mơ hình hạt nhân cho mơ hình CSDL hƣớng đối tƣợng Mơ hình hạt nhân đủ mạnh để thỏa mãn nhiều đòi hỏi ứng dụng mới, đƣợc dùng làm sở để xác định khác biệt mơ hình liệu hƣớng đối tƣợng mơ hình liệu truyền thống khác Hệ thống hƣớng đối tƣợng tập lớp đối tƣợng có mối quan hệ với nhau, trao đổi thông tin với để thực nhiệm vụ đặt toán ứng dụng thực tế Một hƣớng nghiên cứu quan trọng đƣợc đề cập hệ thống CSDL hƣớng đối tƣợng tối ƣu hoá truy vấn hƣớng đối tƣợng Với câu truy vấn, tồn nhiều phƣơng án mà hệ thống CSDL cho phép xử lý đƣa kết cuối tƣơng đƣơng nhau, việc tối ƣu hóa câu truy vấn cho lựa chọn phƣơng án có tổng thời gian thực truy vấn hiệu hơn, tức chọn phƣơng án có chi phí ƣớc lƣợng nhỏ Hiện nay, nhà nghiên cứu đề xuất nhiều kỹ thuật tối ƣu hoá truy vấn hƣớng đối tƣợng khả thi đáp ứng đƣợc yêu cầu nhƣ: Scott Lee Vanderberg (1993), J Fong (1997), C Ramanathan and J Hodges (1997), Clement Yu, Yi Zhang, Weiyi Meng, Wom Kim, Gaoming Wang, Tracy Pham and Son Daop (1997): Giới thiệu giải thuật chuyển đổi truy vấn hướng đối tượng sang truy vấn quan hệ để tận dụng kỹ thuật tối ưu hố truy vấn có mơ hình quan hệ; Jia Liang Han (1998): “Optimizing Relational Queries in Connection Hypergraph: Nested Queries, Views, and Binding Propagations”; Ullman and Jeffrey D (1999), Lê Mạnh Thạnh Hoàng Bảo Hùng (2009): Phương pháp tối ưu hóa truy vấn đối tượng phép biến đổi biểu thức đại số đối tượng OQL; Lê Mạnh Thạnh, Đoàn Văn Ban Hoàng Bảo Hùng (2005): Phương pháp dùng ký pháp siêu đồ thị để biểu diễn tối ưu hoá truy vấn CSDL hướng đối tượng Tuy nhiên truy vấn lồng, phân tích ƣớc lƣợng chi phí biểu thức đại số lồng việc định giá cho chi phí chƣa đạt hiệu nhƣ mong muốn Vì vậy, luận văn tập trung nghiên cứu việc làm phẳng truy vấn truy vấn lồng nhờ phương pháp dùng ký pháp siêu đồ thị để biểu diễn tối ưu hoá truy vấn CSDL hướng đối tượng Từ đó, xây dựng thuật tốn ƣớc lƣợng chi phí xử lý truy vấn đối tƣợng sở ƣớc lƣợng siêu cạnh siêu đồ thị để đạt đƣợc mức chi phí nhỏ cho truy vấn Chính lý mà tơi chọn đề tài “TỐI ƢU HỐ TRUY VẤN CƠ SỞ DỮ LIỆU HƢỚNG ĐỐI TƢỢNG” làm luận văn tốt nghiệp Mục tiêu luận văn nghiên cứu mơ hình CSDL hƣớng đối tƣợng để giải tốn tối ưu hóa truy vấn đối tượng Đây vấn đề đƣợc nhà khoa 66 } test += Environment.NewLine + "Siêu cạnh đỉnh : " + chuoisieucanhdinh; string test1 = ""; foreach (string it in sieu_canh_dieu_kien) { test1 += it + ","; } test += Environment.NewLine + "Siêu điều kiện : " + test1; textBox1.Text = test; //MessageBox.Show(test); } // p.LuongCB > 3,000,000 public bool check_value(string value) { try { bool check = false; string[] var = { "="}; for (int i = 0; i < var.Length; i++) { if (value.Contains(var[i])) { return true; } } return check; } catch { return false; } } Thuật toán ƣớc lƣợng siêu cạnh public ArrayList UocLuong_SieuCanh(ArrayList lop_dan_suat_E, string su_kien) { ArrayList lop_dan_suat = new ArrayList(); int so_doi_tuong = lop_dan_suat_E.Count; 67 if (so_doi_tuong == 1) // doi tuong { lop_dan_suat = lop_dan_suat_E; } else // n doi tuong { string[] dulieu = su_kien.Split(','); if (dulieu[1] == "1" || dulieu[1] == "3") // dinh dang kieu doi tuong { string[] doituong = dulieu[0].Split('.'); lop_dan_suat_E.Remove(doituong[1]); // lop_dan_suat = lop_dan_suat_E; // } else if (dulieu[1] == "2") { / co doi tuong giao giua doi tuong string[] doituong = dulieu[1].Split('='); / thuoc tinh se loai bo string[] thuoctinh = doituong[0].Split('.'); lop_dan_suat_E.Remove(thuoctinh[1]); // lop_dan_suat = lop_dan_suat_E; // } } return lop_dan_suat; } public int kiemtra_sieudieukien(string value) { try { / (A==b)n.A = b or n.A == m.B if (value.Contains("==")) { string[] str = value.Split('.'); //n.A == b thuoc dang 3.1 thuoc dang dieu kien gan nhan if (str.Count() < 2) { 68 return 1; } / n.A == m.B thuoc dang 3.2 thuoc dang dieu kien ket hop giua cac bang else { return 2; } } / thuoc dang 3.3 hoac dang 3.4 else { string[] var1 = { "=" }; for (int i = 0; i < var1.Length; i++) { if (value.Contains(var1[i])) { return 3; } } / sieu canh ket hop co cac luong tu nhu sau / IS, IN, UNION, FORALL, EXIST string[] var2 = { "IS", "IN", "UNION", "FORALL", "EXIST" }; for (int i = 0; i < var2.Length; i++) { if (value.Contains(var2[i])) { return 4; } } return -1; } } catch { return -1; } } 69 3.4 Kết thực nghiệm Dựa lƣợc đồ hƣớng đối tƣợng mơ hình quản lý nhân cơng ty đƣợc mô tả mục 3.2 Ta áp dụng thuật tốn tối ƣu hóa truy vấn vào ví dụ cụ thể cho truy vấn đối tƣợng OQL đƣợc viết sở liệu DB4O Để qua ta thấy OQL có đƣợc tính ngôn ngữ truy vấn liệu tỏ có nhiều ƣu điểm so với SQL Bắt đầu đăng nhập vào hệ thống, ta có Form giao diện luận văn, form bao gồm thơng tin luận văn, thông tin tác giả sở liệu cho toán quản lý nhân sự, liệu cho đối tƣợng: nhân viên, quản lý, phịng ban, dự án Hình 3.2 Form luận văn From luận văn có chức năng, cập nhật liệu cho hệ thống quản lý nhân nhƣ: cập nhật nhân sự, quản lý, phòng ban dự án Có button xử lý truy vấn 1, 2, Từ form chƣơng trình, vào chi tiết form xử lý cho truy vấn cụ thể Truy vấn 1: Cho biết tất nhân viên thuộc phịng “Truyền thơng” quản lý Ta có câu lệnh truy vấn cho ví dụ nhƣ sau: var result = from NhanVien nv in container join NhanSu nsu in container on nv.Nhan_Su equals nsu.MaNhanSu join PhongBan pb in container on nv.Phong_Ban equals pb.MaPhongBan where pb.TenPhongBan == "Phong Truyen Thong" select new { nsu.Manhansu, nsu.HoTen, nsu.LuongCB, nsu.SoDT, nsu.NgaySinh, nsu.HeSo, nsu.SoNCT }; Kết sau thực câu truy vấn đƣợc hiển thị Form giao diện truy vấn 70 Hình 3.3 Kết truy vấn Trong hình 3.3 Ta thấy, thời gian thực truy vấn tối ƣu giảm đáng kể so với thời gian thực truy vấn thông thƣờng Dƣới biểu đồ so sánh thời gian truy vấn thông thƣờng thời gian truy vấn tối ƣu qua nhiều lần Test truy vấn Biều đồ 3.1 So sánh thời gian thực truy vấn 71 Truy vấn 2: Tìm tất nhân viên có lƣơng cao thuộc phịng truyền thơng có câu lệnh truy vấn var max_luong = (from NhanSu shu in container join NhanVien nv in container on shu.MaNhanSu equals nv.Nhan_Su join PhongBan pb in container on nv.Phong_Ban equals pb.MaPhongBan where pb.TenPhongBan == "Phong Truyen Thong" // dieu kien de lay select new { shu.LuongCB }).Max(x => x.LuongCB); // dieu kien thu var ketqua = from NhanVien nv in container join NhanSu nsu in container on nv.Nhan_Su equals nsu.MaNhanSu join PhongBan pb in container on nv.Phong_Ban equals pb.MaPhongBan where pb.TenPhongBan == "Phong Truyen Thong" & nsu.LuongCB == luong_phong_lonnhat select new { nsu.MaNhanSu, nsu.HoTen,nsu.GioiTinh, nsu.LuongCB, nsu.SoDT, nsu.SoNCT,nsu.NgaySinh }; Kết chạy truy vấn Hình 3.4 Kết truy vấn 72 Biểu đồ so sánh thời gian truy vấn thông thƣờng thời gian truy vấn tối ƣu qua nhiều lần Test truy vấn Biều đồ 3.2 So sánh thời gian thực truy vấn Truy vấn 3: Cho biết tên nhân viên có mức lƣơng thu nhập lớn 10 triệu tham gia dự án có kinh phí lớn 200 triệu Ta có câu lệnh truy vấn: var result_DA = from DuAn da in container where da.KinhPhi >= 200000000 select da; var result = from DuAn da in result_DA join NhanVien nv in container on da.MaDuAn equals nv.Du_An join NhanSu nsu in container on nv.Nhan_Su equals nsu.MaNhanSu join PhongBan pba in container on nv.Phong_Ban equals pba.MaPhongBan where nsu.LuongCB >= 10000000 select new { nsu.MaNhanSu, nsu.HoTen, nsu.GioiTinh, nsu.HeSo, nsu.LuongCB, nsu.NgaySinh, nsu.SoDT, nsu.SoNCT, da.MaDuAn, da.KinhPhi, da.Phong_Ban,da.TenDuAn }; Kết chạy truy vấn 73 Hình 3.5 Kết truy vấn Biểu đồ so sánh thời gian truy vấn thông thƣờng thời gian truy vấn tối ƣu qua nhiều lần Test truy vấn Biều đồ 3.3 So sánh thời gian thực truy vấn 74 3.5 Kết luận Chƣơng tập trung nghiên cứu sở liệu hƣớng đối tƣợng DB4O, cách tạo lập kết nối CSDL DB4O, cách truy vấn liệu DB4O Phát biểu tổng quan toán quản lý nhân để xác định đƣợc lớp đối tƣợng tham gia truy vấn Tiến hành xây dựng thuật toán khởi tạo siêu đồ thị ƣớc lƣợng siêu cạnh siêu đồ thị Đƣa kết thực nghiệm chạy ví dụ phân tích chƣơng để so sánh kết chạy truy vấn tối ƣu truy vấn thông thƣờng 75 KẾT LUẬN CSDL hƣớng đối tƣợng lĩnh vực mẻ, có nhiều kết tác giả việc xây dựng mơ hình chuẩn mơ hình CSDL hƣớng đối tƣợng dạng chuẩn lƣợc đồ CSDL hƣớng đối tƣợng Nhƣng với tính phức tạp cấu trúc phi tuyến mơ hình CSDL hƣớng đối tƣợng, việc đặc tả đối tƣợng phức, dẫn đến việc kết nghiên cứu kỹ thuật tối ƣu hóa truy vấn đối tƣợng cịn khiêm tốn Vì vậy, phạm vi luận văn, nghiên cứu mơ hình tổng quát CSDL hƣớng đối tƣợng, ngôn ngữ truy vấn đối tƣợng OQL kỹ thuật tối ƣu hoá truy vấn đối tƣợng CSDL hƣớng đối tƣợng Các kết luận văn đạt đƣợc là: - Giới thiệu mơ hình đối tƣợng ODMG, ngơn ngữ truy vấn đối tƣợng OQL phép toán đối tƣợng - Nghiên cứu lý thuyết siêu đồ thị kết nối, siêu đồ thị kết nối đối tƣợng Từ lý thuyết đó, nghiên cứu thuật tốn tối ƣu hóa truy vấn hƣớng đối tƣợng siêu đồ thị kết nội đối tƣợng phƣơng pháp ƣớc lƣợng siêu cạnh, mở rộng thuật toán rút gọn siêu đồ thị kết nối - Cài đặt thuật toán khởi tạo siêu đồ thị thuật toán ƣớc lƣợng siêu cạnh siêu đồ thị Hƣớng phát triển luận văn: - Sử dụng mơ hình ƣớc lƣợng chi phí truy vấn khơng gian tìm kiếm truy vấn để xác định phƣơng án thực thi tối ƣu truy vấn - Nghiên cứu kỹ thuật tối ƣu hóa truy vấn đối tƣợng ƣớc lƣợng chi phí biểu thức đƣờng dẫn 76 TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] Đoàn Văn Ban (1999), “Một số tính chất q trình thừa kế kiểu mơ hình sở liệu hƣớng đối tƣợng”, Tạp chí Tin học điều khiển học, 15(3), tr.1-7 [2] Đoàn Văn Ban (2000), Tính đắn lƣợc đồ sở liệu hƣớng đối tƣợng, Tạp chí Tin học Điều khiển học, 16 (3), tr 7– 15 [3] Lê Mạnh Thạnh, Hoàng Bảo Hùng (2010), “ Siêu đồ thị kết nối đối tƣợng – cách tiếp cận tối ƣu hóa câu truy vấn đối tƣợng lồng nhau”, Tạp chí khoa học, Đại học Huế, số 58 [4] Đoàn Văn Ban, Lê Mạnh Thạnh Hoàng Bảo Hùng (2004), “Sự tƣơng đƣơng biểu diễn ngôn ngữ truy vấn OQL đại số đối tƣợng”, Tạp chí Tin học Điều khiển học, T.20 S.3, tr 257–269 [5] Lê Mạnh Thạnh, Hoàng Bảo Hùng (2009) “Phƣơng pháp tối ƣu hóa truy vấn đối tƣợng phép biến đổi biểu thức đại số đối tƣợng OQL”, Tạp chí khoa học, Đại học Huế, số 53 [6] Hồng Bảo Hùng (2007), Truy vấn tối ưu hố truy vấn sở liệu hướng đối tượng, Luận án Tiến sĩ Tốn học, Viện Cơng nghệ Thơng tin, Viện Khoa học Công nghệ Việt Nam, Hà Nội [7] Hoàng Bảo Hùng (2001), Một vài vấn đề tối ưu hoá truy vấn sở liệu hướng đối tượng, Luận văn tốt nghiệp Thạc Sĩ chuyên ngành Công nghệ thông tin, Đại học Bách khoa Hà Nội [8] Lê Mạnh Thạnh, Hoàng Bảo Hùng (2006), “Mơ hình ƣớc lƣợng chi phí xử lý truy vấn đối tƣợng sở liệu hƣớng đối tƣợng”, Kỷ yếu Hội thảo Quốc gia, lần thứ VIII, Một số vấn đề chọn lọc CNTT truyền thông, chủ đề “Mã nguồn mở, 25/8-27/8/2005, Hải Phòng, Nhà xuất Khoa học Kỹ thuật, Hà nội, tr 568-579 [9] Lê Mạnh Thạnh, Đoàn Văn Ban, Hoàng Bảo Hùng (2005), “Phƣơng pháp ƣớc lƣợng truy vấn lồng sở liệu hƣớng đối tƣợng siêu đồ thị kết nối”, Chuyên san Tạp chí Bưu Viễn thơng Cơng nghệ thơng tin, Các cơng trình nghiên cứu - Triển khai Viễn thông Công nghệ thông tin, ISSN 0866-7039, 14, tr 43–49 [10] Lê Mạnh Thạnh, Hồng Bảo Hùng (2001), “Ngơn ngữ truy vấn hƣớng đối tƣợng tối ƣu hoá truy vấn sở liệu hƣớng đối tƣợng phƣơng pháp biến đổi đại số”, Hội nghị khoa học kỷ niệm 25 năm thành lập Viện Công nghệ thông tin, Hà Nội 77 [11] Đồn Văn Ban, Nguyễn Thị Tĩnh, Giáo trình phân tích, thiết kế hệ thống hướngđối tượng UML, Nhà xuất Đại học Sƣ Phạm 2011 [12] Ullman, Jeffrey D (1999), Nguyên lý hệ sở liệu sở tri thức, Tập 1, 2, Trần Đức Quang biên dịch, Nhà xuất Thống kê Tài liệu tiếng Anh [13] Caixue Lin, Object-Oriented Database Systems: A Survey, April 3, 2003, http://users.soe.ucsc.edu/~lcx/courses/cmps277/cmps277-project.pdf [14] Cattel R.G.G., Barry D.K (2000), The Object Database Standard: ODMG 3.0, Morrgan Kaufmann, San Francisco, CA [15] Francois Bancilhon, Guy Ferran (2007), ODMG-93: “The Odject Database Standard, O2 Technology”, 2685 Marine Way - Suite 1220, Mountain View, California 94043 Han, Jia Liang (1998), “Optimizing Relational Queries in Connection Hypergraph: Nested Queries, Views, and Binding Propagations”, The VLDB Journal, 7, pp.1-11 [17] A.Trigoni and G.M.Bierman (2001), “Inferring the Principal Type and the [16] th Schema Requirements of and OQL Query”, In 18 British National Conference on Databases (BNCOD), pages.185-201 [18] Scott Lee Vanderberg (1993), Algebras for Object - Oriented Query Languages, A thesis submitted in partial fulfilment of the requirements for the degree of Doctor of Philosophy (Computer Sciences), at the University of WinconsinMadison [19] G.M Bierman and A.Trigoni (2000), “Towards A Formal Type System For ODMG OQL”, Technical Report 497, University of Cambridge, Computer Laboratory A.Trigoni, Agathoniki (2002), Semantic Optimization of OQL Queries, Technical Report, Number 547, University of Cambridge, Computer Laboratory, USCAM-CL-TR-547, ISSN 1476-2986 [21] Won Kim (1991), Introduction to Object - Oriented Databases, Massachusetts [20] Institute of Technology, 2th Ed [22] Michael L Horowitz, An Introduction to Object-Oriented Databases and Database Systems, Carnegie Mellon University, 1991 [23] Gardarin G., J.-R Gruser and Z.-H Tang (1995), “A Cost Model for Clustered st Object-Oriented Databases”, Proceedings of the 21 VLDB Conference, Switzerland, pp 323 – 334 78 [24] Bierman G.M and Trigoni A (2000), Towards A Formal Type System For ODMG OQL, Technical Report 497, University of Cambridge, Computer Laboratory th [25] Elmasri Navathe (2007) Fundamentals Database Systems Edition, the United States of America [26] Yu, T.Clement, Meg, Weiyi (1998), “Principles of Databases Query Processing for Advanced Applications”, Morgan Kaufmann Publishers, Inc San Francisco, California [27] Cluet, Sophie and Moerkotte, Guido (1995) Nested Queries In Object Bases, In Fifth International Workshop on Database Programming Languages, Italy [28] Vanderberg, Scott Lee (1993), Algebras for Object - Oriented Query Languages, Ph.D Dissertation, University of Winconsin-Madison [29] Jim Paterson, Stefan Edlich, Henrik Horning, and Reidar Horning (2006), “The Definitive Guide to db4o” 79 MỤC LỤC DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT DANH MỤC CÁC THUẬT NGỮ DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ DANH MỤC CÁC BẢNG, BIỂU ĐỒ LỜI MỞ ĐẦU Chƣơng MƠ HÌNH CƠ SỞ DỮ LIỆU HƢỚNG ĐỐI TƢỢNG 1.1 Tổng quan hệ thống liệu hƣớng đối tƣ 1.1.1 Mơ hình liệu 1.1.2 Những hạn chế 1.2 Các khái niệm sở 1.2.1 Đối tƣợng, Định danh 1.2.2 Thuộc tính phƣơng 1.2.3 Các kiểu liệu 1.2.4 Hệ thống phân cấp 1.3 Truy vấn hƣớng đối tƣợng 1.4 Chuẩn sở liệu hƣớng đối tƣợng 1.4.1 Mơ hình đối tƣợng ODMG 1.4.2 Ngôn ngữ định nghĩa đối tƣợng ODL 1.4.3 Ngôn ngữ truy vấn đối tƣợng OQL 1.5 Các phép toán đối tƣợng 1.5.1 Phép toán đối tƣợng 1.5.2 Phép toán 1.5.3 Phép toán tập hợp 1.5.4 Phép toán bag “túi” 1.5.5 Phép toán danh sách 1.5.6 Phép toán mảng 1.6 Chƣơng Kết luận TỐI ƢU HÓA TRUY VẤN CƠ SỞ DỮ LIỆU HƢỚNG ĐỐI TƢỢNG 2.1 Giới thiệu 2.1.1 Siêu đồ thị kết nối 2.1.2 Siêu đồ thị kết nối đối tƣợng 2.2 Tối ƣu hoá truy vấn CSDL hƣớng đối tƣợn 80 2.2.1 Thuật toán khởi tạo siêu đồ thị 2.2.2 Ví dụ minh họa 2.2.3 Phƣơng pháp ƣớc lƣợng siêu đồ thị 2.2.3.1 Ƣớc lƣợng siêu cạnh siêu đồ thị 2.2.3.2 Mở rộng thuật toán tối ƣu truy vấn hƣớng đối tƣợng siêu đồ thị 47 2.3.Kết luận Chƣơng CHƢƠNG TRÌNH CÀI ĐẶT THUẬT TỐN TỐI ƢU HĨA TRUY VẤN 3.1.Giới thiệu DB4O 3.1.1 Tạo lập kết nối CSDL DB4O 3.1.2 Truy vấn liệu DB4O 3.2.Bài toán quản lý nhân 3.3.Thiết kế cài đặt chƣơng trình 3.4.Kết thực nghiệm 3.5.Kết luận KẾT LUẬN TÀI LIỆU THAM KHẢO ... ::= forall in : | exists in : | exists | unique ( ) | [some | any | all] ... phẳng truy vấn truy vấn lồng nhờ phương pháp dùng ký pháp siêu đồ thị để biểu diễn tối ưu hoá truy vấn CSDL hướng đối tượng Từ đó, xây dựng thuật tốn ƣớc lƣợng chi phí xử lý truy vấn đối tƣợng sở. .. thuật xử lý truy vấn quan hệ Để thực đƣợc câu truy vấn đối tƣợng cách hiệu tiếp tục nghiên cứu vấn đề tối ƣu hoá truy vấn CSDL hƣớng đối tƣợng, ngôn ngữ truy vấn OQL ngôn ngữ truy vấn đƣợc chọn