intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Luận văn Thạc sĩ Khoa học: Truy vấn cơ sở dữ liệu hướng đối tượng sử dụng biểu thức đường dẫn

Chia sẻ: Sơ Dương | Ngày: | Loại File: PDF | Số trang:65

24
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Luận văn "Truy vấn cơ sở dữ liệu hướng đối tượng sử dụng biểu thức đường dẫn" tập trung nghiên cứu sâu về vấn đề xử lý truy vấn trong cơ sở dữ liệu hướng đối tượng nói chung và xử lý truy vấn sử dụng biểu thức đường dẫn nói riêng và vấn đề truy vấn biểu thức đường dẫn lồng nhau trong cơ sở dữ liệu hướng đối tượng.

Chủ đề:
Lưu

Nội dung Text: Luận văn Thạc sĩ Khoa học: Truy vấn cơ sở dữ liệu hướng đối tượng sử dụng biểu thức đường dẫn

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI ----------------------DE---------------------- Đào Văn Tâm TRUY VẤN CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG SỬ DỤNG BIỂU THỨC ĐƯỜNG DẪN CHUYÊN NGHÀNH : CÔNG NGHỆ THÔNG TIN LUẬN VĂN THẠC SĨ KHOA HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS. NGUYỄN KIM ANH HÀ NỘI – Năm 2010
  2. MỤC LỤC LỜI CÁM ƠN ......................................................................................................4 LỜI CAM ĐOAN ................................................................................................5 Danh mục các ký hiệu, các chữ viết tắt................................................................. 6 Danh mục hình vẽ.................................................................................................. 7 MỞ ĐẦU...................................................................................................................8 Chương 1 – TỔNG QUAN CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG ................ 10 1.1. Cơ sở dữ liệu hướng đối tượng..................................................................... 12 1.2. Khái niệm cơ bản trong cơ sở dữ liệu hướng đối tượng ..............................13 1.2.1. Định danh đối tượng ........................................................................................ 14 1.2.2. Thuộc tính đối tượng ....................................................................................... 15 1.2.3. Trạng thái đối tượng ........................................................................................ 15 1.2.4. Hành vi đối tượng ............................................................................................ 16 1.2.5. Lớp đối tượng .................................................................................................. 16 1.2.6. Đóng gói dữ liệu .............................................................................................. 16 1.2.7. Thừa kế ............................................................................................................ 17 1.2.8. Đa hình............................................................................................................. 18 1.2.9. Đối tượng phức hợp ......................................................................................... 18 1.3. Hệ quản trị cơ sở dữ liệu hướng đối tượng ................................................. 22 1.3.1. Hệ quản trị OODB .......................................................................................... 22 1.3.2. Vấn đề toàn vẹn cho OODB ........................................................................... 23 Chương 2 – XỬ LÝ TRUY VẤN TRONG HỆ CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG........................................................................................... 26 2.1. Các vấn đề liên quan đến truy vấn trong cơ sở dữ liệu hướng đối tượng....................................................................................................................26 2.2. Quá trình xử lý truy vấn ..............................................................................28 -2-
  3. 2.2.1. Phương pháp xử lý truy vấn............................................................................. 29 2.2.2. Tối ưu hóa truy vấn.......................................................................................... 30 2.3. Kỹ thuật tối ưu hóa ...................................................................................... 35 2.3.1. Các vấn đề về tối ưu hóa đại số ....................................................................... 35 2.3.2. Tối ưu hóa biểu thức đường dẫn...................................................................... 41 Chương 3 – KỸ THUẬT XỬ LÝ TRUY VẤN LỒNG NHAU............................. 46 3.1. Truy vấn biểu thức đường dẫn lồng nhau ................................................... 46 3.2. Các loại truy vấn.......................................................................................... 47 3.2.1. Truy vấn đơn giản........................................................................................ 48 3.2.2. Truy vấn lồng nhau ...................................................................................... 49 3.2.1. Truy vấn tương quan.................................................................................... 49 3.3. Kỹ thuật xử lý truy vấn lồng nhau............................................................... 50 3.3.1. Mô hình hệ thống............................................................................................. 50 3.3.2. Đồ thị truy vấn ................................................................................................. 51 3.3.2.1. Định nghĩa................................................................................................. 51 3.3.2.2. Chuyển đổi đồ thị truy vấn ....................................................................... 56 3.4. Kỹ thuật Access Support Relations (ASRs)................................................. 59 3.4.1. Các toán tử thao tác ASRs ............................................................................... 59 3.4.2. Sơ đồ thực thi chung ........................................................................................ 61 Chương 4 - KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN ............................................. 63 TÀI LIỆU THAM KHẢO................................................................................... 64 PHỤ LỤC ............................................................................................................ 65 -3-
  4. LỜI CÁM ƠN Lời đầu tiên của luận văn tôi xin gửi lời cảm ơn chân thành đến cô giáo, PGS.TS Nguyễn Kim Anh người đã trực tiếp hướng dẫn, giúp đỡ và tạo mọi điều kiện thuận lợi cho tôi từ lúc tìm hiểu, định hướng cũng như tìm kiếm tài liệu để hoàn thành luận văn tốt nghiệp này. Tôi xin gửi lời cám ơn tới các thầy, cô giáo trong Viện Công nghệ thông tin và Truyền thông - Trường Đại học Bách khoa Hà Nội đã trang bị cho tôi những kiến thức quý báu trong suốt quá trình học tập tại trường. Tôi cũng xin gửi lời cám ơn tới Viện đào tạo Sau đại học - Trường Đại học Bách khoa Hà nội đã tạo điều kiện giúp đỡ tôi trong thời gian học tập và nghiên cứu. Cuối cùng, tôi muốn được nói lời cám ơn tới gia đình, người thân, bạn bè và đồng nghiệp Trường Đại học Công Nghiệp Hà Nội nơi tôi đang công tác đã luôn bên cạnh động viên, khích lệ tôi trong suốt quá trình nghiên cứu và hoàn thành luận văn. Hà Nội, ngày 28 tháng 10 năm 2010 -4-
  5. LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được công bố trong bất kỳ công trình nào khác. Tác giả luận văn -5-
  6. Danh mục các ký hiệu, các chữ viết tắt STT Từ viết tắt Viết đấy đủ Ý nghĩa Object Database Management Hệ quản trị cơ sở dữ liệu 1 ODBMS Systems đối tượng Cơ sở dữ liệu hướng đối 2 OODB Object Oriented Database tượng Object-Oriented Database Hệ quản trị cơ sở dữ liệu 3 OODBMS Management Systems hướng đối tượng 4 OID Object Identifier Định danh đối tượng 5 OO Object Oriented Hướng đối tượng 6 DBMS Database Management Systems Hệ quản trị cơ sở dữ liệu Ngôn ngữ truy vấn đối 7 OQL Object Query Language tượng 8 CSDL Cơ sở dữ liệu Cơ sở dữ liệu -6-
  7. Danh mục hình vẽ Hình 1.1 Các thành phần của CSDL hướng đối tượng ...........................................12 Hình 1.2 Ví dụ một complex object........................................................................ 19 Hình 2.1 Phương pháp xử lý đối tượng truy vấn ....................................................29 Hình 2.2 Phân vùng không gian tìm kiếm vào các vùng ........................................33 Hình 2.3 Tối ưu hóa như là một phần của hệ thống loại......................................... 34 Hình 2.4 Tối ưu hóa của biểu thức đường dẫn........................................................ 43 Hình 3.1 Lược đồ cơ sở dữ liệu Employee ............................................................. 48 Hình 3.2 Kiến trúc xử lý truy vấn ...........................................................................51 Hình 3.3 Ví dụ đại điện đồ họa Navigation-Link ................................................... 53 Hình 3.4 Đại điện đồ họa của e.Supervisor = d.Manager ....................................... 54 -7-
  8. MỞ ĐẦU Các mô hình dữ liệu và các hệ cơ sở dữ liệu (CSDL) truyền thống, như là quan hệ, mạng và phân cấp, vốn khá thành công trong việc vận hành, phát triển các hệ thống thông tin cũng như các chương trìn và phần mềm ứng dụng. Tuy nhiên với sự phát triển rất nhanh chóng của Công nghệ thông tin, CSDL quan hệ đã dần bộc lộ những yếu điểm và rất nhiều hạn chế, đặc biệt là trong việc xây dựng các ứng dụng có dữ liệu phức tạp, dữ liệu đa chiều, các kiểu dữ liệu mới để lưu hình ảnh, văn bản lớn, âm thanh, video,.. CSDL hướng đối tượng là giải pháp cho các vấn đề trên. Trong CSDL hướng đối tượng, dữ liệu được lưu trữ dưới dạng các đối tượng của ngôn ngữ lập trình nên cho phép lưu trữ được các dạng dữ liệu phứ c tạp, lượng thông tin lớn, đa chiều, âm thanh, video. Các dữ liệu không lưu trữ đơn thuần, mà cả các hành vi của đối tượng dữ liệu cũng được lưu trữ trong CSDL. Trong những năm qua đã có một số nghiên cứu quan trọng trong việc xác định định hướng mô hình, đối tượng truy vấn bao gồm cả tính toán , đại số, và ngôn ngữ người dùng. Một trong những chức năng cơ bản của hệ thống quản lý cơ sở dữ liệu là để có thể xử lý các truy vấn người dùng khai báo. Một số truy vấn biểu thức đường dẫn yêu cầu các giá trị hiện có trong cơ sở dữ liệu được lấy và sau đó được sử dụng trong điều kiện so sánh, các truy vấn như vậy thường được hình thành bằng cách sử dụng các truy vấn lồng nhau, truy vấn lồng nhau có thể đơn giản hóa các truy vấn trên một cơ sở dữ liệu cho người dùng. Sau khi nghiên cứu một số tài liệu liên quan tới vấn đề xử lý truy vấn, truy vấn lồng nhau trong cơ sở dữ liệu hướng đối tượng, được sự đồng ý, động viên của cô giáo hướng dẫn khoa học tôi đã chọn đề tài “Truy vấn cơ sở dữ liệu hướng đối tượng sử dụng biểu thức đường dẫn” để nghiên cứu trong luận văn tốt nghiệp của mình. Mục đích của luận văn là nghiên cứu về xử lý truy vấn biểu thức đường dẫn trong cơ sở dữ liệu hướng đối tượng và kỹ thuật xử lý truy vấn lồng nhau. -8-
  9. Việc tổ đồ án thực hiện như sau. Chương 1 trình bày các khái niệm cơ bản trong cơ sở dữ liệu hướng đối tượng và hệ cơ sở dữ liệu hướng đối tượng, tiếp theo là Chương 2 trình bày về xử lý truy vấn biểu thức đường dẫn trong cơ sở dữ liệu hướng và các phương pháp xử lý truy vấn. Chương 3 trình bày về kỹ thuật xử lý truy vấn cho các truy vấn lồng nhau trong cơ sở dữ liệu hướng đối tượng và cuối Chương 4 là kết luận với một số ý kiến, công việc đạt được và hướng nghiên cứu tiếp theo. -9-
  10. Chương 1 – TỔNG QUAN CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG Các mô hình dữ liệu và các hệ cở sở dữ liệu (CSDL) truyền thống, như là quan hệ, mạng và phân cấp, vốn khá thành công trong việc phát triển kỹ thuật CSDL cấn thiết cho nhiều ứng dụng CSDL kinh doanh. Tuy nhiên chúng có những khiếm khuyết nhất định khi phải thiết kế và thực hiện các CSDL phức hợp hơn, ví dụ như các CSDL dùng trong thiết kế và sản xuất công nghiệp (CAD/CAM và CIM2), các thí nghiệm khoa học, viễn thông, hệ bản đồ địa lý và đa phương tiện. Các ứng dụng mới mẻ này có những yêu cầu và đặc tính khác với các ứng dụng kinh doanh truyền thống, như là cấu trúc phức hợp hơn đối với các đối tượng, thời gian giao dịch lâu hơn, các kiểu dữ liệu mới để lưu hình ảnh hoặc những văn bản lớn và nhu cầu định nghĩa các xử lý đặc trưng của ứng dụng. CSDL hướng đối tượng được xem là phù hợp với những đòi hỏi của các ứng dụng này. Việc tiếp cận hướng đối tượng tạo ra tính linh động để xử lý một số yêu cầu mà không bị hạn chế bởi các kiểu dữ liệu và các ngôn ngữ truy vấn có sẵn trong các hệ CSDL truyền thống. Tính năng then chốt của CSDL hướng đối tượng là năng lực mà chúng trao cho nhà thiết kế để chỉ ra cấu trúc của các đối tượng phức hợp các thao tác áp dụng lên các đối tượng này. Một nguyên nhân khác của ra sự ra đời CSDL hướng đối tượng là việc vận dụng ngày càng nhiều các ngôn ngữ lập trình hướng đối tượng để xây dựng các ứng dụng phần mềm. Ngày nay CSDL đang trở thành những thành phần cơ bản trong hệ thống phần mềm và rất khó sử dụng CSDL truyền thống để nhúng trong các ứng dụng phần mềm hướng đối tượng được xây dựng bằng một ngôn ngữ lập trình hướng đối tượng như là C++, SMALLTALK hay JAVA. Object-Oriented Database (OODB) được thiết kế để có thể tích hợp trực tiếp với phần mềm được xây dựng bằng những ngôn ngữ lập trình hướng đối tượng. - 10 -
  11. Các nhà cung cấp hệ CSDL quan hệ còn nhận ra nhu cầu về tính năng mô hình hóa dữ liệu bổ sung, các phiên bản tốt hơn của các hệ thống quan hệ đang kết hợp nhiều tính năng đề ra cho OODB như các tiêu chuẩn thiết kế và các vấn đề truy vấn trong CSDL hướng đối tượng. - 11 -
  12. 1.1. Cơ sở dữ liệu hướng đối tượng Cơ sở dữ liệu hướng đối tượng (Object – Oriented Database) là một kiểu CSDL, mà trong đó các dữ liệu được lưu trữ dưới dạng các đối tượng. Hay Cơ sở dữ liệu hướng đối tượng được xây dựng bằng các kết hợp các yếu tố của Cơ sở dữ liệu và các kĩ thuật của Lập trình hướng đối tượng nhằm mục đích lưu trữ các đối tượng dữ liệu. Từ đó có thể tận dụng, phát huy được những ưu điểm, lợi ích và thế mạnh của ngôn ngữ lập trình hướng đối tượng, đồng thời khắc phục được những yếu điểm và khó khăn của các CSDL khác. Hình sau minh học việc tổ hợp các yếu tố của CSDL và các kĩ thuật của lập trình hướng đối tượng để xây dựng nên CSDL hướng đối tượng. Hình 1.1 Các thành phần của CSDL hướng đối tượng - 12 -
  13. 1.2. Khái niệm cơ bản trong cơ sở dữ liệu hướng đối tượng Thuật ngữ hướng đối tượng (Object Oriented - OO) có nguồn gốc từ ngôn từ lập trình hướng đối tượng (Object Oriented Programming Language - OOPL). Các khái niệm OO ngày nay được áp dụng trong lĩnh vực CSDL, công nghệ phần mềm, công nghệ trí thức, trí tuệ nhân tạo và các hệ máy tính nói chung. OOPL có nguồn gốc từ ngôn ngữ SIMULA, được giới thiệu vào cuối những năm 1960. Một đối tượng (Object) đặc trưng thường có hai thành phần: trạng thái (State) và hành vi (Behaviour). Do đó, nó giống với một biến chương trình trong một ngôn ngữ lập trình, ngoại trừ rằng về nguyên tắc nó sẽ có một cấu trúc dữ liệu phức hợp cũng như các thao tác đặc thù do người lập trình viên định nghĩa. Các đối tượng trong một OOPL chỉ tồn tại trong một thời gian chương trình hoạt động và do đó chúng được gọi là những đối tượng tức thời. Một OODB có thể kéo dài sự tồn tại của những đối tượng sao cho chúng được lưu trữ vĩnh viễn và do đó các đối tượng vẫn bảo toàn sau khi chương trình chấm dứt và có thể được gọi lại sau này cũng như được chia sẻ với các chương trình khác. Nói cách khác, OODB lưư trữ các đối tượng bảo toàn ở nơi lưu trữ phụ và cho phép chia sẻ những đối tượng này với nhiều chương trình và ứng dụng. Việc này đòi hỏi kết hợp các tính năng phổ biến khác của hệ quản trị CSDL, như là cơ chế định chỉ mục, điều khiển song hành và phục hồi. Một hệ OODB giao tiếp với một hoặc nhiều ngôn ngữ lập trình hướng đối tượng để cung cấp khả năng đối tượng bảo toàn và chia sẻ. Mục tiêu của OODB là duy trì sự tương đồng trực tiếp giữa các đối tượng thực tế và các đối tượng CSDL sao cho đối tượng không mất đi tính toàn vẹn và cá tính của chúng và có thể xác định và xử lý dễ dàng với chúng. Do đó, OODB cung cấp một đối tượng định danh (Object Identifier- OID) duy nhất do hệ thống phát sinh (OID) cho mỗi đối tượng. Ta có thể so sánh điều này với mô hình quan hệ trong đó mỗi quan hệ phải có một thuộc tính khoá chính mà giá trị của nó xác định từng mẩu tin duy nhất. Trong mô hình quan hệ, nếu giá trị của khoá chính bị thay đổi, mẩu tin sẽ có một con số xác định mới, mặc dù nó vẫn thể hiện cùng một đối tượng thực tế. - 13 -
  14. Nói cách khác, một đối tượng thực tế có thể có nhiều tên khác nhau đối với thuộc tính khoá trong các quan hệ khác nhau, sẽ khó mà biết được rằng những khoá thể hiện cùng một đối tượng. Cấu trúc bên trong của một đối tượng trong OOPL bao gồm đặc tả của biến bản sao, lưu giữ những giá trị xác định trạng thái bên trong của đối tượng. Do đó, một biến bản sao tương tự với khái niệm của một thuộc tính (Attributes), ngoại trừ rằng biến bản có thể được đóng gói bên trong đối tượng và như vậy, không nhất thiết phải thể hiện ra đối với người sử dụng bên ngoài. Các biến bảo sao còn có thể thuộc kiểu dữ liệu phức hợp tuỳ ý. Những hệ thống hướng đối tượng cho phép định nghĩa các thao tác hay hàm ( hành vi) áp dụng lên kiểu đối tượng cụ thể. Trong thực tế, một số mô hình OO khẳng định rằng tất cả các hành vi mà người sử dụng áp dụng lên một đối tượng đều phải định nghĩa trước. Điều này bắt buộc một sự đóng gói hoàn chỉnh các đối tượng. 1.2.1. Định danh đối tượng Định danh đối tượng : Hệ OODB cung cấp xác định duy nhất cho từng đối tượng độc lập lưu trữ trong CSDL. Về nguyên tắc, xác định duy nhất này được thực hiện thông qua phần xác định đối tượng duy nhất, do hệ thống phát sinh, gọi là định danh đối tượng (Object Identifier - OID). Giá trị của một OID không thể sinh ra cho người sử dụng bên ngoài, mà nó được sử dụng nội bộ bên trong hệ thống để xác định từng đối tượng duy nhất, tạo ra và quản lý các tham chiếu lẫn nhau giữa các đối tượng. Đặc điểm chính bắt buộc của một OID là tính chất biến; nghĩa là giá trị OID của một đối tượng nhất định không thay đổi. Điều này giúp bảo toàn ý nghĩa của một đối tượng thực tế. Do đó, một hệ thống OODB phải có một cơ chế để phát sinh các OID và bảo toàn tính bất biến. Tốt nhất là mỗi OID chỉ nên sử dụng một lần; nghĩa là thậm chí khi đối tượng bị xoá khỏi CSDL, thì OID của nó cũng không thể đem gán cho một đối tượng khác được. Nhờ đó OID không thể phụ thuộc vào giá trị - 14 -
  15. thuộc tính bất kỳ của đối tượng, bởi vì giá trị thuộc tính có thể bị thay đổi hoặc chỉnh sửa. Nói chung, OID cũng không thể dựa trên địa chỉ vật lý của đối tượng trong kho lưu trữ, bởi vì địa chỉ vật lý có thể thay đổi sau một đợt tổ chức lại của CSDL về phương diện vật lý. Tuy vậy, một số hệ thống vẫn sủ dụng địa chỉ vật lý làm OID để tăng cường hiệu quả trong truy vấn đối tượng. Nếu địa chỉ vật lý của một đối tượng thay đổi, một con trỏ gián tiếp có thể được đặt tại địa chỉ trước đó, sẽ cho biết vị trí vật lý mới của đối tượng. Phổ biến hơn, người ta sử dụng số Long Interger làm OID, sau đó sử dụng sẽ sử dụng một số dạng bảng băm (hash table) để ánh xạ giá trị OID đến địa chỉ vật lý của đối tượng. 1.2.2. Thuộc tính đối tượng Các đối tượng chứa một tập thông tin nhất định về đối tượng gọi là thuộc tính của đối tượng. Mỗi thuộc tính có một tên duy nhất trong đối tượng và giá trị được biểu diễn trong miền giá trị của một kiểu dữ liệu nào đó. Các kiểu dữ liệu này có thể là các kiểu dữ liệu cơ bản, như khiểu số nguyên, số thực, kiểu xâu ký tự,… hoặc các kiểu dữ liệu do người dùng định nghĩa, các kiểu đối tượng. 1.2.3. Trạng thái đối tượng Trạng thái của một đối tượng là thể hiện của đối tượng tại một thời điểm nhất định, bao gồm một tập các giá trị của các thuộc tính đối tượng tại thời điểm đó. Trạng thái của đối tượng có thể thay đổi theo thời gian, tương ứng với sự thay đổi giá trị của các thuộc tính đối tượng. Tập hợp tất cả các trạng thái có thể của đối tượng được gọi là mạng trạng thái. Để thay đổi trạng thái của đối tượng (thay đổi giá trị của thuộc tính), cần gửi các thông điệp hợp lệ đến đối tượng, hay yêu cầu thực thi các hành vi của đối tượng. - 15 -
  16. 1.2.4. Hành vi đối tượng Hành vi của một đối tượng là các thao tác hợp lệ của chính đối tượng đó trên các thuộc tính của đối tượng, được sử dụng để khởi tạo hay thay đổi các giá trị của thuộc tính, hoặc trả về một giá trị nào đó dựa trên các giá trị thuộc tính của đối tượng. Các đối tượng khác có thể truyền các thông điệp, hay yêu cầu đối tượng thực thi các hành vị bằng việc gọi tên của hành vi đó và các tham số nếu có. Một hành vị đối tượng có thể được gọi từ đối tượng bằng cách sử dụng dấu chấm (.) và tên của hành vi cùng các tham số. 1.2.5. Lớp đối tượng Lớp đối tượng là một khái niệm trừu tượng mô tả một cấu trúc dữ liệu, biểu thị cấu trúc chung của một tập các đối tượng cùng kiểu, hay có cùng cấu trúc thuộc tính và hành vi. Mỗi đối tượng là một thể hiện cụ thể của lớp, có các thuộc tính và hành vị được khai báo trong lớp. Trong các mô hình và các ngôn ngữ lập trình hướng đối tượng, lớp thường được mô tả bằng từ khóa class. 1.2.6. Đóng gói dữ liệu Để truy vấn hay cập nhật các thuộc tính của một đối tượng, các đối tượng khác chỉ có thể truyền các thông điệp hay yêu cầu thực thi các hành vi của đối tượng, mà không thể truy cập đến cấu trúc dữ liệu bên trong của đối tượng, và cũng không cần biết đến các chi tiết thực hiện của đối tượng. Điều này nhằm đảm bảo tính toàn vẹn của đối tượng (được trình bày ở phần sau), che giấu thông tin, và được gọi là đóng gói dữ liệu (Data Encapsulation). Các đối tượng khác không thể truy cập và cập nhất giá trị các thuộc tính đã được đóng gói trong đối tượng. Đóng gói là một trong các đặc điểm chính của CSDL hướng đối tượng và không được sử dụng trong các kiểu CSDL truyền thống. Do đó trong CSDL truyền thống, người dùng hay các chương trình ứng dụng có thể nhìn thấy, truy cập và thay đổi dữ liệu của các đối tượng làm ảnh hướng đến việc đảm bảo tính toàn vẹn của dữ liệu. - 16 -
  17. Các dữ liệu trong CSDL hướng đối tượng là các đối tượng không có kiểu định trước và thường có cấu trúc phức hợp, trong khi nhiều đối tượng lại có cùng một cấu trúc hoặc một phần cấu trúc dữ liệu. Do đó, việc sử dụng lại và mở rộng một kiểu dữ liệu hay kiểu đối tượng có sẵn là rất cần thiết và quan trọng. Điều này có thể được thực hiện trong các hệ thống hướng đối tượng bằng cách sử dụng kĩ thuật thừa kế. 1.2.7. Thừa kế Các dữ liệu trong CSL hướng đối tượng là các đối tượng không có kiểu định trước và thường có cấu trúc phức hợp, trong khi nhiều đối tượng lại có cùng một cấu trúc hoặc một phần cấu trúc dữ liệu. Do đó việc sử dụng lại và mở rộng một kiểu dữ liệu hay kiểu đối tượng có sẵn là rất cần thiết và quan trọng. Điều này có thể thực hiện trong các hệ thống hướng đối tượng bằng cách sử dụng kỹ thuật thừa kế. Thừa kế là kỹ thuật cho phép một lớp đối tượng có khả năng thừa hướng tất cả các tính chất và đặc trưng của một lớp đối tượng khác, bao gồm tất cả các thuộc tính, hành vị và các quan hệ đối tượng. Do đó, thừa kế cho phép các đối tượng mới được tạo ra có khả năng sử dụng lại các kiểu đối tượng có sẵn trong CSDL, đồng thời cho phép mở rộng kiểu đối tượng đó bằng cách khai báo thêm các thuộc tính, hành vi và quan hệ riêng, thậm chí có thể định nghĩa lại các hành vị được thừa kế. Bất kỳ lớp đối tượng nào cũng đều có thể sử dụng và cho phép thừa kế bởi các lớp đối tượng khác. Các lớp thừa kế từ các lớp khác gọi là lớp dẫn xuất hay lớp con, lớp được thừa kế là lớp cơ sở hay lớp cha. Có hai kiểu thừa kế là đơn thừa kế và đa thừa kế. Các thừa kế mà một lớp dẫn xuất chỉ thừa kế từ một lớp cơ sở gọi là đơn thừa kế và thừa kế từ nhiều lớp cơ sở gọi là đa thừa kế. - 17 -
  18. 1.2.8. Đa hình Đa hình là khả năng cho phép các đối tượng thực hiện những hành vi khác nhau khi nhận được cùng một thông điệp dựa trên các đặc trưng riêng của mình. Đa hình còn cho phép một đối tượng thực hiện các hành vi khác nhau trong những ngữ cảnh khác nhau, dựa trên các đặc trưng, hay các kiểu của đối tượng trong cây thừa kế thì nó có thể thực hiện các hành vi riêng của mình hoặc cũng có thể thực hiên các hành vi như là một đối tượng của lớp mà nó thừa kế, phụ thuộc vào ngữ cảnh mà hành vi được thực hiện. Đa hình có ý nghĩa trong việc thừa kế và mở rộng các kiểu dữ liệu đối tượng trong CSDL, cho phép có thể vừa định nghĩa lại các hành vị đối tượng nhưng vừa có thể duy trì, sử dụng lại các hành vị đối tượng đã có sẵn, làm tăng độ khả chuyển giữa các kiểu dữ liệu đối tượng. 1.2.9. Đối tượng phức hợp Nguyên nhân chủ yếu dẫn đến sự phát triển của các hệ thống hướng đối tượng là nhu cầu thể hiện các đối tượng phức hợp.Có hai kiểu đối tượng phức hợp chính: ¾ Có cấu trúc ¾ Không có cấu trúc. Một đối tượng phức hợp có cấu trúc được cấu tạo từ các thành phần và được định nghĩa bằng cách áp dụng các thiết lập kiểu đối tượng có sẵn theo cách đệ quy ở nhiều mức khác nhau. Một đối tượng phức hợp không có cấu trúc về nguyên tắc là một kiểu dữ liệu đòi hỏi dung lượng lưu trữ lớn, như kiểu dữ liệu thể hiện một đối tượng hình ảnh hay khối văn bản. - 18 -
  19. Hình 1.2 Ví dụ một complex object Đối tượng phức hợp có cấu trúc Đối tượng phức hợp có cấu trúc khác với đối tượng phức hợp không cấu trúc ở chỗ cấu trúc của đối tượng được định nghĩa nhờ ứng dụng lặp đi lặp lại các thiết lập kiểu đối tượng do hệ quản trị CSDL hướng đối tượng cung cấp. Vì vậy, cấu trúc đối tượng được định nghĩa và được nhận biết đối với các hệ quản trị CSDL hướng đối tượng. Hai kiểu ngữ nghĩa tham chiếu tồn tại giữa một đối tượng phức hợp và những thành phần của nó ở mỗi mức. ¾ Kiểu đầu tiên, chúng ta có thể gọi là ngữ nghĩa quyền sở hữu, áp dụng khi các đối tượng con của một đối tượng phức hợp của đối tượng phức hợp. - 19 -
  20. ¾ Kiểu thứ hai, chúng ta gọi là ngữ nghĩa tham chiếu, áp dụng khi những thành phần của đối tượng phức hợp tự chúng là những đối tượng độc lập nhưng có thể được tham chiếu đến từ đối tượng phực hợp Kiểu đầu tiên còn được nói đến như mối quan hệ một phần của hay thành phần của và kiểu thứ hai được gọi là mối quan hệ gắn với, bởi vì nó mô tả một gắn kết bằng giữa hai đối tượng độc lập. Mối quan hệ là một phần của (ngữ nghĩa quyền sở hữu) được dùng để xây dựng đối tượng phức hợp có thuộc tính là những thuộc tính thành phần được đóng gói ở trong đối tượng phức hợp và được xem như là một phần của trạng thái đối tượng bên trong. Chúng không cần có các xác định đối tượng và chỉ có thể được truy cập như phương thức của đối tượng đó. Chúng bị xoá nếu như chính đối tượng đó bị xoá. Nói cách khác, một đối tượng phức hợp mà những thành phần của nó được tham chiếu được xem là bao gồm các đối tượng độc lập có thể có định danh của chính nó và các phương thức. Khi một đối tượng phức hợp cần truy cập những thành phần được tham chiếu của nó, nó phải thực hiện việc đó bằng cách kích hoạt phương thức tương ứng của các thành phần, bởi vì chúng không bị đóng gói ở trong đối tượng phức hợp. Do đó, những ngữ nghĩa tham chiếu thể hiện mối quan hệ giữa các đối tuợng độc lập. Ngoài ra, một đối tượng thành phần được tham chiếu có thể được tham chiếu đến từ nhiều hơn một đối tượng phức hợp và do dó được tự động xoá khi đối tượng phức hợp bị xoá. Một hệ quản trị CSDL hướng đối tượng cần cung cấp tuỳ chọn lưu trữ để clustering những đối tượng thành phần của một đối tượng phức hợp cùng nhau ở nơi chứa phụ để tăng cường hiệu quả của những thao tác truy cập đến đối tượng phức hợp. Trong nhiều trường hợp, cấu trúc đối tượng được cất nên đĩa theo kiểu phi thông dịch. Khi phần đĩa bao hàm một đối tượng được lấy về trên bộ nhớ, hệ quản trị CSDL hướng đối tượng có thể xây dựng đối tượng phức hợp có cấu trúc từ - 20 -
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
13=>1