1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tối Ưu Hóa Truy Vấn Cơ Sở Dữ Liệu Hướng Đối Tượng.pdf

80 4 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 80
Dung lượng 1,23 MB

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 2 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG[.]

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 Ký hiệu STT Diễn giải Att (Attribute) Thuộc tính R Tập thuộc tính mệnh đề Select E Siêu cạnh Oid OID đối tƣợng O (Object) Tập đối tƣợng V (Value) Giá trị D Tập đối tƣợng H (HyperGraph) Siêu đồ thị Mid (Method Identify) Định danh phƣơng thức 10 Odb (Object database) Cơ sở liệu đối tƣợng 11 Dom (Domain) Miền trị 12 Obj (Object) Đối tƣợng 13 Val (Value) Giá trị 14 Sup (Super) Siêu lớp/ lớp cha 15 Meth (Method) Phƣơng thức 16 Attrs (Attributes) Tập thuộc tính CÁC CHỮ VIẾT TẮT Ký hiệu STT Diễn giải CSDL Cơ sở liệu OID (Object Identifier) Định danh đối tƣợng UML (Unified Modeling Language) Ngôn ngữ mơ hình hợp ODMG (Object Database Management Group) Nhóm quản trị CSDL đối tƣợng ODL(Object Definition Language) Ngôn ngữ định nghĩa đối tƣợng OQL (Object Query Language) Ngôn ngữ truy vấn đối tƣợng OODB(Object-Oriented Database) CSDL Hƣớng đối tƣợng OODBMS (Object-Oriented Database Hệ quản trị CSDL Hƣớng đối tƣợng Management System) ADTs (Abtract Data Types) Tập kiểu liệu trừu tƣợng 10 SFW (Select From Where) Khối lệnh trọng tâm ngôn ngữ truy vấn OQL 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 Value based instance variable Class instance varSSiable Composite object Kiểu đặc trƣng Kiểu liệu “túi”, đa tập kiểu sƣu tập Specific types Bag Kiểu tổng quát General types Lƣợc đồ đối tƣợng Object schemas Mối quan hệ kế thừa Mối quan hệ kết nhập Phân cấp lớp Inheritance relationship Aggregation relationship Class hierarchy Phân cấp lớp hợp thành Phƣơng thức nạp chồng Class composition hierarchy Overloading method Phƣơng thức thuộc tính - suy dẫn Siêu lớp Lớp Derived-attribute method Metaclass/Superclass Subclass 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 Nested query Object-Oriented Model Entity Overriding Late binding 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 Single attribute Single-valued attribute Multivalued attribute Composite attribute Tính đa hình Tính đóng gói thơng tin Tính kế thừa bội 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 nguyên mẫu Hình 1.3 Kế thừa đơn 14 Hình 1.4 Kế thừa bội từ hai lớp khác có lớp sở chung 14 Hình 1.5 Kế thừa bội khơng có lớp sở chung 15 Hình 1.6 Sự phân cấp kiểu OQL 20 Hình 1.7 Lƣợc đồ CSDL Quản lý Nhân viên 21 Hình 2.1 Siêu đồ thị H 28 Hình 2.2 Siêu đồ thị kết nối đối tƣợng ví dụ 2.1 30 Hình 2.3 Siêu đồ thị kết nối ví dụ 2.2 34 Hình 2.4 Siêu đồ thị kết nối ví dụ 2.3 35 Hình 2.5 Siêu đồ thị kết nối ví dụ 2.4 36 Hình 3.1 Lƣợc đồ CSDL Quản lý Nhân 52 Hình 3.2 Form luận văn 61 Hình 3.3 Kết truy vấn 62 Hình 3.4 Kết truy vấn 63 Hình 3.5 Kết truy vấn 65 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 44 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 46 Bảng 2.3 Kết ƣớc lƣợng siêu cạnh ví dụ 2.4 46 Bảng 2.4 Kết ƣớc lƣợng áp dụng thuật toán 2.5 Tinh chỉnh siêu đồ thị ví dụ 2.4 47 Biều đồ 3.1 So sánh thời gian thực truy vấn 62 Biều đồ 3.2 So sánh thời gian thực truy vấn 64 Biều đồ 3.3 So sánh thời gian thực truy vấn 65 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 HOÁ 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 qt 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] Đồ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] Đồ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] Hoàng Bảo Hùng (2007), Truy vấn tối ưu hoá 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, Hồ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”, Chun 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, Hoà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 [16] 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 Schema Requirements of and OQL Query”, In 18th 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 [20] 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 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 Object-Oriented Databases”, Proceedings of the 21st 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 [25] Elmasri Navathe (2007) Fundamentals Database Systems 5th 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 12 MƠ HÌNH CƠ SỞ DỮ LIỆU HƢỚNG ĐỐI TƢỢNG .12 1.1 Tổng quan hệ thống liệu hƣớng đối tƣợng .12 1.1.1 Mơ hình liệu .12 1.1.2 Những hạn chế sở liệu quan hệ 12 1.2 Các khái niệm sở .15 1.2.1 Đối tƣợng, Định danh đối tƣợng Lớp đối tƣợng 15 1.2.2 Thuộc tính phƣơng thức 17 1.2.3 Các kiểu liệu .18 1.2.4 Hệ thống phân cấp quan hệ kế thừa 21 1.3 Truy vấn hƣớng đối tƣợng 23 1.4 Chuẩn sở liệu hƣớng đối tƣợng 24 1.4.1 Mơ hình đối tƣợng ODMG 25 1.4.2 Ngôn ngữ định nghĩa đối tƣợng ODL 26 1.4.3 Ngôn ngữ truy vấn đối tƣợng OQL .27 1.5 Các phép toán đối tƣợng .32 1.5.1 Phép toán đối tƣợng 32 1.5.2 Phép toán 32 1.5.3 Phép toán tập hợp 32 1.5.4 Phép toán bag “túi” .33 1.5.5 Phép toán danh sách .33 1.5.6 Phép toán mảng .33 1.6 Kết luận 33 Chƣơng 35 TỐI ƢU HÓA TRUY VẤN CƠ SỞ DỮ LIỆU HƢỚNG ĐỐI TƢỢNG 35 2.1 Giới thiệu .35 2.1.1 Siêu đồ thị kết nối 36 2.1.2 Siêu đồ thị kết nối đối tƣợng 36 2.2 Tối ƣu hoá truy vấn CSDL hƣớng đối tƣợng siêu đồ thị 39 80 2.2.1 Thuật toán khởi tạo siêu đồ thị 39 2.2.2 Ví dụ minh họa 40 2.2.3 Phƣơng pháp ƣớc lƣợng siêu đồ thị .44 2.2.3.1 Ƣớc lƣợng siêu cạnh siêu đồ thị 44 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 55 Chƣơng 56 CHƢƠNG TRÌNH CÀI ĐẶT THUẬT TỐN TỐI ƢU HĨA TRUY VẤN .56 3.1 Giới thiệu DB4O 56 3.1.1 Tạo lập kết nối CSDL DB4O 56 3.1.2 Truy vấn liệu DB4O 58 3.2 Bài toán quản lý nhân .59 3.3 Thiết kế cài đặt chƣơng trình 62 3.4 Kết thực nghiệm 69 3.5 Kết luận 74 KẾT LUẬN 75 TÀI LIỆU THAM KHẢO 76

Ngày đăng: 23/06/2023, 18:26

w