Bài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base)

51 597 1
Bài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base)

Đ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

Đoàn Văn Ban OODB CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG (Object-Oriented Data Base) Nội dung Các mơ hình liệu: CSDL hướng đối tượng (CSDLHĐT) Các hệ quản trị CSDLHĐT Một số kết nghiên cứu CSDLHĐT CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 1/51 Đồn Văn Ban OODB Mơ hình liệu 1.1 Các mơ hình liệu Cơ sở liệu (Data Base) - CSDL Một sưu tập (Collection) ghi liệu tổ chức để tiện lợi cho việc lưu trữ tìm kiếm liệu hệ thống thơng tin Các mơ hình liệu phổ biến: Mơ hình mạng (Network DB) Mơ hình phân cấp (Hierarchical DB) Mơ hình quan hệ (Relational DB) Mơ hình đối tượng (Object DB or Object-Oriented DB) Mơ hình quan hệ - đối tượng (Object-Relational DB) CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 2/51 Đoàn Văn Ban OODB Mơ hình liệu File Systems Hierarchical Network Relational Object-Oriented System Semantic Data Model (ERD) Complex Object Model Object-Oriented Databases CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 3/51 Đồn Văn Ban OODB Mơ hình sở liệu 1.2 Một số khái niệm  Hệ quản trị CSDL (Database management system) Phần mềm thực thi (quản trị) CSDL  Phần lớn hệ quản trị CSDL truyền thống quan hệ     Các hệ thống thông tin (Information system) sử dụng hệ quản trị CSDL để    Dữ liệu tổ chức lưu trữ thành bảng (tables) Mỗi liệu (record, tuple) mô tả cho thực thể xác định thuộc tính khố (primary key) Thuộc tính khố sử dụng để xác định liệu bảng khác gọi khoá ngoại (foreign key) Ghi liệu lên thiết bị nhớ (chủ yếu đĩa) Tìm kiếm liệu từ đĩa (CSDL) Ví dụ:   Trên máy lớn: DB2, Oracle, Informix, Sybase PC: Microsoft Access CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG Đoàn Văn Ban OODB Mơ hình sở liệu 1.2 Một số khái niệm Mơ hình CSDLĐT  Thơng tin biểu diễn thành đối tượng giống đối tượng lập trình hướng đối tượng        Dữ liệu thuộc tính mô tả đặc trưng thực thể (đối tượng) Các phương thức mô tả hành vi ứng xử đối tượng Mối quan hệ lớp với Thuộc tính khố sử dụng để xác định liệu bảng khác gọi khoá ngoại (foreign key) Mỗi đối tượng (thực thể) có định danh ID để xác định CSDL Các CSDLĐT thiết kế để làm việc tốt ngơn ngữ lập trình Java, C++, C#, Smalltalk, v.v Mục đích CSDLHĐT để quản trị hiệu kiểu liệu phức hợp âm thanh, hình ảnh, liệu đa phương tiện, v.v., nhằm khắc phục hạn chế CSDL quan hệ CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG Đồn Văn Ban OODB Mơ hình sở liệu 1.2 Một số khái niệm Các ngun lý áp dụng cho CSDLĐT Bao gói che giấu thơng (Encapsulation and hiding)   Các thuộc tính phương thức (method, operation) gộp vào cấu trúc lớp cho phép quản lý truy cập Một chương trình (đối tượng) trao đổi với đối tượng khác (phần mềm khác) cách gửi nhận thông điệp (message) Các phương thức cung cấp đối tượng xác định tập thông điệp cần trao đổi với Me ss ĐT Me ss ĐT ag e ag e Messa3ge ge s e M sa  CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG ĐT Đoàn Văn Ban OODB Mơ hình sở liệu 1.2 Một số khái niệm Các nguyên lý áp dụng cho CSDLĐT  Kế thừa (Inheritance) sử dụng lại (Reuse)    Những lớp mở rộng, kế thừa lớp khác có sẵn (superclass) Ngồi thuộc tính, phương thức kế thừa, ta bổ sung thêm thuộc tính, phương thức để mô tả lớp đối tượng toán ứng dụng Quan hệ kế thừa quan hệ kiểu “thành viên” (”is-a“), nghĩa mội đối tượng lớp đối tượng lớp cha ngược lại đối tượng lớp cha đại diện cho mội đối tượng lớp Quan hệ kế thừa tuân theo qui luật 100%, nghĩa đối tượng lớp có tất mối quan hệ giống đối tượng lớp cha lớp khác CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG Đoàn Văn Ban OODB Mơ hình sở liệu 1.2 Một số khái niệm Có loại kế thừa bản:  Kế thừa đơn (Single Inheritance)  Kế thừa bội (Multiple Inheritance) Person Kế thừa đơn (Java hỗ trợ kế thừa đơn) Employee SalePerson Student Developer CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG Đoàn Văn Ban OODB Mơ hình sở liệu 1.2 Một số khái niệm Có loại kế thừa bản:  Kế thừa đơn (Single Inheritance)  Kế thừa bội (Multiple Inheritance) Person Kế thừa bội (C++ hỗ trợ kế thừa bội) Employee Student PartTimeStudent CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG Đoàn Văn Ban OODB Mơ hình sở liệu 1.2 Một số khái niệm Các nguyên lý áp dụng cho CSDLĐT  Đa xạ (Polymorphism)     Đa xạ hay tương ứng bội khái niệm mạnh tốn học: thơng điệp (lời gọi hàm) có nhiều nội dung thực khác nhau, đối tượng nhận thực theo ngữ cảnh riêng Khái niệm liên quan chặt chẽ với khái niệm kế thừa nêu Các phương thức lớp dẫn xuất (lớp kế thừa) định nghĩa lại (viết đè – Overriding) phương thức lớp cha Trong lớp, có phương thức tên (name) cho phép định nghĩa nhiều nội dung thực khác theo chế nạp chồng (Overloading) Để thực khái niệm ngơn ngữ lập trình phải hỗ trợ liên kết động, hay gọi liên kết muộn (Dynamic Binding) CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 10 Đoàn Văn Ban OODB 3.2 Thiết kế sơ đồ CSDL chuẩn class PhienBanHang { attribute Date ngayBan; attribute Time gioBan; relationship Set banHang inverse ghiNhan::HBH; void PhienBanHang(); void ~PhienBanHang(); Boolean becomeComplete(){…} void makeLineItem() makePayment(){…} Number total(){…} }; CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 37 Đoàn Văn Ban OODB 3.2 Thiết kế sơ đồ CSDL chuẩn  Chuyển đổi quan hệ kế thừa: Quan hệ kết hợp nhị nguyên chuyển sang mối quan hệ liên kết relationship ODL ThanhToan ThanhToanTM ThanhToanThe class ThanhToanTM extends ThanhToan (extent ThanhToanTM Key number) { … }; class ThanhToanThe extends ThanhToan { … }; CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 38 Đoàn Văn Ban OODB 3.2 Thiết kế sơ đồ CSDL chuẩn  Chuyển đổi quan hệ kết tập: Quan hệ kết tập phận tổng thể (part-whole aggregation) Quan hệ thể lớp cấu trúc gồm hai lớp khác PhienBanHang ngayBan: Date gioBan: Time becomeComplete() makeLineItem() makePayment() total() gomCo * DongBanHang soLuong: Int subtotal() class PhienBanHang { attribute Date ngayBan; attribute Time gioBan; attribute List gomCo; Boolean becomeComplete(){…} void makeLineItem() void makePayment(){…} Number total(){…} PhienBanHang(); ~PhienBanHang(); }; class DongBanHang { attribute Integer soLuong; Number subtotal(){…} }; CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 39 Đoàn Văn Ban OODB 3.3 Một số tính chất CSDLHĐT    Tính quán kiểu liệu hệ thống hướng đối tượng Chuẩn hóa đối tượng: Phụ thuộc đối tượng theo đường dẫn dạng chuẩn đối tượng Các mẫu thiết kế (Design Pattern) dựa mã nguồn mở (Open Sourrce) CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 40 Đoàn Văn Ban OODB (i) Tính quán kiểu liệu hệ thống hướng đối tượng  Mơ hình liệu hướng đối tượng hỗ trợ kế thừa bội, cho phép lớp kế thừa từ hay nhiều lớp (kiểu) Chính chế dẫn đến nhiều vấn đề nhập nhằng kiển liệu phương thức sử dụng Person + salary: int + readInfo() Employee Developer + job: String + project: String + readInfo() + readInfo() PartTimeWorker CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 41 Đồn Văn Ban OODB (i) Tính qn kiểu liệu hệ thống hướng đối tượng   Vấn đề đặt hệ thống hướng đối tượng phải có tính chất để đảm bảo tính quán liệu phi mâu thuẫn? Trả lời cho câu hỏi này, báo “Tính lược đồ CSDL hướng đối tượng” (TC TH & ĐKH, T 16, S.3, 2000), nghiên cứu tính chất q trình kế thừa kiểu (lớp) lược đồ liệu đối tượng      Quan hệ kế thừa tạo thứ tự phận Phép hội kiểu τ1 ↓ τ2 xác định kết kiểu chung lớn τ1 τ2 Một lược đồ đối tượng xảy xung đột kiểu có cặp kiểu cha kiểu (được kế thừa bội) khơng tương thích với nhau, nghĩa phép hội kiểu cha không xác định Lược đồ đối tượng biểu diễn dạng s-đồ thị (đồ thị đặc trưng cho quan hệ kế thừa kiểu lược đồ) đối tượng Trên sở nghiên cứu tính chất đường s-đồ thị chúng khẳng định phụ thuộc liệu CSDL ĐT loại phụ đối tượng theo đường dẫn S-đồ thị có xung đột kiểu (có mâu thuẫn liệu) có đường tựa tương đẳng đỉnh dẫn đến đỉnh đích kiểu khơng tương thích với (phép hội kiểu không xác định) CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 42 Đoàn Văn Ban OODB (ii) Chuyển đổi tương đương mơ hình liệu   Thực tế tồn nhiều hệ thống liệu với nhiều mơ hình khác Vấn đề đặt làm để khai thác liệu chúng, tích hợp vào ứng dụng chúng ta? Một phương pháp thực đáp ứng yêu cầu liệu biến đổi từ mơ hình quan hệ (mơ hình thực thể liên kết) sang mơ hình đối tượng ngược lại không?  Trong báo: “Chuyển đổi mơ hình thực thể liên kết thành mơ hình hướng đối tượng “ (TC TH & ĐKH, T 17, s 4, 2001) “Mơ hình hóa hệ thống phần mềm hướng đối tượng” ( TC TH & ĐKH, T 18, s 4, 2002), giới thiệu thuật tốn chuyển đổi mơ hình liệu:   CSDL QH CSDL ĐT; Biểu đồ lớp UML biểu đồ thực thể-liên kết (ERD); CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 43 Đoàn Văn Ban OODB (ii) Chuyển đổi tương đương mơ hình liệu  Trong báo: “Chuyển đổi biểu thức đại số quan hệ thành câu truy vấn mơ hình liệu hướng đối tượng “ (TC KH & CN, T 40, s.ĐB, 2002) “Sự tương đương biểu diễn ngôn ngữ truy vấn OQL đại số đối tượng” (TC TH & ĐKH, T 20, s 3, 2004); “Phương pháp ước lượng truy vấn lồng CSDL hướng đối tượng siêu đồ thị kết nối “ (TC Bưu VT & CNTT, s 14, 4-2005), chúng tơi trình bày qui tắc chuyển đổi phép toán quan hệ thành biểu thức đại số đối tượng tương đương phương pháp biểu diễn câu truy vấn đối tượng OQL (mở rộng siêu đồ thị kết nối) số thuật tốn tối ưu hóa truy vấn đối tượng CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 44 Đoàn Văn Ban OODB (iii) Mẫu thiết kế dựa mã nguồn mở    Bên cạnh hoạt động mang tính nghiên cứu, sáng tạo, sản xuất phần mềm cịn ngành cơng nghiệp người ta tìm cách để rút ngắn trình sản xuất nâng cao suất lao động Một cách áp dụng rộng rãi sử dụng khn mẫu có sẵn (Framework), thư viện lập trình thành phần (Component) mẫu thiết kế (Design Pattern) Các Framework thường bao gồm cấu trúc kiến trúc hệ thống, mẫu thiết tối ưu hay giải pháp mang tính lý thuyết cịn thư viện thường bao gồm tập hợp giải pháp cụ thể (giải thuật, cấu trúc liệu, mã nguồn) cho vấn đề cụ thể (ví dụ tìm giá trị cực tiểu hàm bất kỳ) CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 45 Đoàn Văn Ban OODB (iii) Mẫu thiết kế dựa mã nguồn mở    Các mẫu thiết xem giải pháp cụ thể cho phép người thiết kế tùy biến chức qua việc xác định tham số hoạt động (properties) ghép nối chúng lại với (lập trình) thành giải pháp hoàn chỉnh Do khả tùy biến cao nên mẫu thiết “chỉ” giải pháp hiển thị kết dạng đồ thị bao gồm tồn chức phức tạp chương trình soạn thảo văn Word© Như với thành phần, mẫu thiết kế cơng cụ thích hợp người ta nhanh chóng bổ sung tính cho phần mềm mà tự phát triển phải hàng tháng trời hàng năm! CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 46 Đoàn Văn Ban OODB (iii) Mẫu thiết kế dựa mã nguồn mở    Mặt khác, phần mềm nguồn mở (Open Source) phần mềm tự (Free Software) hai khái niệm khác quyền mức độ tự người sử dụng Đó hai cách tiếp cận triết lý hướng tới phần mềm tự Phần mềm nguồn mở phần mềm tự do, hai phần mềm hướng tới giải phóng phiền hà giới hạn quyền Nó sử dụng, chép, nghiên cứu, thay đối phân phối lại mà không gặp phải hạn chế Phần mềm tự (Free software) khơng phải hồn tồn giống freeware, phần mềm cung cấp với giá (software available at zero price) Có trường hợp, phần mềm tự phần mềm nguồn mở ngược lại “Phần mềm tự do” định nghĩa phần mềm cho tự Nó phản ánh xu hướng chuyển dịch tự phần mềm (free software movement) CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 47 Đoàn Văn Ban OODB (iii) Mẫu thiết kế dựa mã nguồn mở   Phần mềm nguồn mở (open-source software) hiểu theo nghĩa rộng khái niệm chung sử dụng cho tất phần mềm mà mã nguồn cơng bố rộng rãi công khai cho phép người tiếp tục phát triển phần mềm đó, đặc biệt phù hợp để thiết kế mẫu ứng dụng Mã nguồn mở công bố nhiều điều kiện khác (license), số cho phép phát triển, sử dụng bán tùy ý miễn giữ nguyên dòng nguồn gốc sản phẩm (BSDL), số bắt buộc tất sản phẩm làm từ phải open-source (GPL), số khác địi hỏi phải cơng bố trọn vẹn mã nguồn (Mozilla), số khác không cho phép sử dụng vào mục đích thương mại (Sun Solaris Source Code License), số khác lại khơng có ràng buộc đáng kể (public domain, MIT X11 license) v.v CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 48 Đoàn Văn Ban OODB (iii) Mẫu thiết kế dựa mã nguồn mở    Mẫu phần mềm trở nên thông dụng kể từ xuất sách thường tham chiếu GoF (của Bè lũ tên): Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (frequently referred to as the Gang of Four or just GoF) Mẫu sử dụng nhiều lĩnh vực khác từ tổ chức trình kiến trúc hệ thống, lĩnh vực đào tạo, nghiên cứu phát triển ứng dụng phần mềm Hiện cộng đồng phát triển phần mềm sử dụng phổ biến mẫu thiết kế cho kiến trúc phần mềm mẫu cho trình phát triển phần mềm cho tổ chức thực dự án phần mềm CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 49 Đoàn Văn Ban OODB (iii) Mẫu thiết kế dựa mã nguồn mở    Hướng đối tượng hỗ trợ để tạo mẫu thiết kế cho thiết kế phần mềm, mẫu thiết kế theo mã nguồn mở Mẫu thiết kế hướng đối tượng mô tả tường minh mối quan hệ tương tác lớp đối tượng mà không cần phải xác định ứng dụng cụ thể Mẫu thiết kế giúp ta giải tốn nhanh gọn, có khả tái sử dụng tránh khả phải thiết kế lại Mẫu thiết kế dựa nguyên lý thiết kế hướng đối tượng xem cơng cụ để phát mơ tả tốn mức trừu tượng cao mà bao hàm đầy đủ ngữ nghĩa toán ứng dụng Trên sở nghiên cứu mẫu thiết kế Erich Gamma, báo cáo “Ứng dụng mơ hình mẫu thiết kế khung cho tầng truy cập liệu” (Báo cáo HT CNTT 30 năm thành lập Viện CNTT) đề xuất phương pháp thiết kế khung (Framework) ứng dụng theo mơ hình ba tầng, áp dụng công nghệ đối tượng ADO.Net cài đặt khung cho tầng truy cập liệu CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 50 Đoàn Văn Ban OODB Tài liệu tham khảo [1] [2] [3] [4] [5] [6] [7] [8] David W Embley, Object Database Development: Concepts and Principles, Addison Wesley Longman, http:// osm7.cs.byu.edu, 1998 David Maier, Object-Oriented Database Theory: An Introduction & indexing in OODBS, Database Hall of Fame, http://www.cse.ogi.edu, 2001 Đồn Văn Ban, Tính lược đồ CSDL hướng đối tượng, TC TH & ĐKH, T 16, S.3, 2000 Đồn Văn Ban, Phân tích, thiết kế hướng đối tượng UML, giáo trình Khoa CNTT, 2003 Đồn Văn Ban, Lập trình hướng đối tượng với Java, NXB Khoa học Kỹ thuật, 2003 Đoàn Văn Ban, Lập trình hướng đối tượng với C++, Giáo trình Khoa CNTT, 2003 Erichgam, Richard Helm, Ralph Johnson, John Vlissdes, Design Pattern, elements of Reusable Oject-Oriented Software, 1, Addison-Wesley Pub Co, 1995 James W Cooper, C# Design Patterns, Addison Wesley, 2002, 416 [9] Mario Piattini, Oscar Díaz, Advanced Data Technology and Design, Artech House, 2000, http:// www.artechhouse.com [10] Michael B., William P., Object – Oriented Modeling and Design for Database Applications, Prentice Hall, New Jersey 1998 [11] Object Design, ObjectStore C++ Release 4.0.2 Documentation, Burlington, Massachusetts, 1996 [12] OMG, “The OMG Unified Modeling Language Specification”, http:// www.omg.org/uml 1999 [13] Quatrani T., Visual Modeling With Rational Rose and UML, Addison-Wesley, http:// www.rational.com, 2000 [14] Ying Liang, From use cases to classes: a way of building object model with UML, Information and Software Technology, 45 (2003) 83-93, http://www.elservier.com/locate/infsof [15] Zhiming Liu, Object-Oriented Software Development Using UML, UNU /IIST, Macau 2001 CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 51 ... Aggregation) CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 12 Đồn Văn Ban OODB Mơ hình sở liệu 1.2 Một số khái niệm HamDoi TauChien Kết tập thông thường DeTai 10 CanBo Kết tập chia sẻ CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG... HĐT đối tượng lưu lại sau chương trình kết thúc Những đối tượng tự động lưu vào CSDL gọi đối tượng bền vững, đối tượng không lưu lại gọi đối tượng tạm thời Đối tượng A CSDL HĐT Đối tượng B Đối tượng. .. subtotal(){…} }; CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 39 Đồn Văn Ban OODB 3.3 Một số tính chất CSDLHĐT    Tính quán kiểu liệu hệ thống hướng đối tượng Chuẩn hóa đối tượng: Phụ thuộc đối tượng theo đường

Ngày đăng: 07/05/2017, 18:07

Từ khóa liên quan

Mục lục

  • CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG (Object-Oriented Data Base)

  • Mô hình dữ liệu

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • 2. Các hệ quản trị CSDLĐT

  • Slide 17

  • Slide 18

  • Slide 19

  • Slide 20

Tài liệu cùng người dùng

Tài liệu liên quan