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

TIỂU LUẬN MÔN CƠ SƠ DỮ LIỆU Tìm hiểu cơ sở dữ liệu hướng đối tượng

25 3,3K 21

Đ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 25
Dung lượng 201 KB

Nội dung

Theo hướng tiếp cận này, OODB mang những đặc trưng nhưđã được trình bày ở trên, ngoài ra nó còn mang thêm một số đặc trưng khác nữanhư : Khả năng mở rộng Extensibility: hệ thống được thi

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Lương Văn Dũng

Đỗ Văn Khang

TÌM HIỂU CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

Báo cáo môn cơ sở dữ liệu nâng cao

HÀ NỘI -2012

Trang 2

M c l c ục lục ục lục

Lời mở đầu 1

Chương 1 Cơ sở dữ liệu hướng đối tượng 2

1 Giới thiệu phương pháp tiếp cận hướng đối tượng 2

1.1 Các khái niệm 2

2 Cơ sở dữ liệu hướng đối tượng 4

2.1 Giới thiệu chung 4

2.2 Các đặc trưng trong cơ sở dữ liệu hướng đối tượng 4

2.3 Quản lý lưu trữu dữ liệu 6

2.4 So sánh cơ sở dữ liệu hướng đối tượng và cơ sở dữ liệu quan hệ 6

Chương 2 Mô hình đối tượng 8

2.1 Giới thiệu 8

2.2 Types: Specifications and Implementation 9

2.2.1 Subtyping và kế thừa hành vi 10

2.2.2 Kế thừa trạng thái 11

2.2.3 Keys 12

2.3 Objects 12

2.3.1 Object creation 12

2.3.2 Object identifiers 12

2.3.3 Object names 13

2.3.4 Object lifetimes 13

2.3.5 Collection objects 13

2.4 Literals 14

2.4.1 Literal types 14

2.4.2 Copying literals 15

2.4.3 Comparing literals 15

Trang 3

2.4.4 Literal equivalence 15

2.5 Mô hình dựa trên trạng thái đối tượng (Modeling State - Properties) 16

2.5.1 Attribute 16

2.5.2 Relationships 16

Chương 3 Thiết kế cơ sở dữ liệu hướng đối tượng 17

3.1 Thiết kế khái niệm (UML) 17

3.2 Thiết kế lược đồ tiêu chuẩn 18

3.3 Xây dựng cơ sở dữ liệu hướng đối tượng 19

Trang 5

Lời mở đầu

Cơ sở dữ liệu là một thành phần không thể thiếu trong việc phát triển các ứngdụng phục vụ cho các bài toán khác nhau Và, cơ sở dữ liệu được sử dụng ở đây chủ yếu

là cơ sở dữ liệu quan hệ Tuy nhiên, hệ cơ sở dữ liệu quan hệ không đáp ứng được một

số bài toán mang tính chất phức tạp như các ứng dụng dùng trong thiết kế, sản xuất côngnghiệp (CAD/CAM và CIM), các thí nghiệm khoa học, viễn thông, hay multimedia, GIS.Các ứng dụng này có tính chất phức tạp hơn, thời gian thực thi transaction lâu, kiểu dữliệu lưu trữ Và cơ sở dữ liệu hướng đối tượng ra đời được xem là phù hợp để đáp ứngnhững nhu cầu của các loại ứng dụng này Việc tiếp cận hướng đối tượng sẽ tạo ra tínhlinh độ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à ngôn ngữtruy vấn có sẵn trong hệ cơ sở dữ liệu quan hệ

Trang 6

Chương 1 Cơ sở dữ liệu hướng đối tượng

1 Giới thiệu phương pháp tiếp cận hướng đối tượng

1.1 Các khái niệm

Khái niệm về một đối tượng là khái niệm được sinh ra từ việc nhận thức

thực tế Một đối tượng có các đặc tính sau:

Mang tên duy nhất, không thay đổi

lý mới của đối tượng Hoặc có thể sử dụng biến số kiểu Long Integer làm OID, sau

đó sử dụng hàm băm để ánh xạ giá trị OID đến địa chỉ vật lý của đối tượng

Lớp đối tượng: một lớp đối tượng có giao diện và miền riêng của nó Giao

diện của đối tượng là cái mà các đối tượng khác có thể nhìn thấy được

Giao diện của đối tượng bao gồm 2 thành phần:

Thuộc tính của lớp: trong một chừng mực nào đó, các thuộctính của lớp được coi là tương đương với các thuộc tính của quan hệ Thông quathuộc tính của lớp, người ta có thể thể hiện các liên kết giữa các đối tượng Tronglớp, không có hạn chế gì về cách thức cấu trúc đối tượng hay cách liên kết thuộctính với nhau Các thuộc tính có thể là một đối tượng, dùng để tạo đối tượng phứctạp hơn Người ta không xử lý trực tiếp các giá trị thuộc tính của đối tượng mà xử

lý thông qua phương pháp liên kết với lớp đối tượng

Phương thức gắn kết đối tượng: các thông báo được chuyểndến lớp đối tượng nhờ phương thức gắn kết đối tượng Chúng thường có dạng làcác phép toán, các hàm với các tham số khác nhau Các đối tượng trong lớp có thểđược truy cập thông qua phương thức và các tham số cần cho phương thức này

Miền của lớp đối tượng là phần xác định lớp, nhưng không hiện ra cho đối

tượng khác thấy Miền này có thể bao gồm thông tin chi tiết về cấu trúc của lớpđối tượng Trong chương trình, người ta có thể cài đặt che giấu các giá trị, ngày cảviệc che giấu các liên kết cũng như các thông báo Việc bảo vệ thông tin làm việc

Trang 7

bên trong cùng với các giá trị đối tượng trước các sử dụng thông thường được gọi

là che giấu thông tin

Một khái niệm quan trong nữa là bao bọc, có nghĩa là mọi vấn đề về đối

tượng được nhận biết thông qua định nghĩa lớp đối tượng Người ta truy cập kháiniệm nhờ giao diện và xác định các hành vị thông việc xác định lớp

1.1.1 Tính kế thừa (Inheritance)

Khái niệm kế thừa là một khái niệm quan trọng trong hướng tiếp cận hướngđối tượng Người ta thường sử dụng thuật ngữ này khi chỉ định lớp đối tượng nàytiếp thu, kế thừa các thuộc tính của lớp đối tượng khác Tuy nhiên, mỗi lớp con cóthể mang một số thuộc tính hay phương thức riêng Một lớp có thể kế thừa từnhiều lớp khác nhau Điều này làm cho việc xây dựng các lớp dữ liệu cho hệ thống

sẽ dễ dàng hơn và sử dụng lại các lớp dữ liệu đã có khi tạo ra lớp dữ liệu mới

1.1.2 Tính đóng gói (Encapsulation)

Đây là một cơ chế được kế thừa từ ngôn ngữ lập trình hướng đối tượng.Tính đóng gói được xem là lớp vỏ bọc bảo vệ các mã lệnh bên trong và tránh sựtruy cập tùy tiện từ các mã lệnh khác Việc truy cập sẽ được điều khiển một cáchchặt chẽ thông qua các phương thức được định nghĩa trước Các phương thức nàyđược các đối tượng khác nhìn thấy, tuy nhiên các dữ liệu và cách thực hiện thìđược ẩn giấu bên trong đối tượng và trong suốt với các đối tượng khác

1.1.3 Tính đa hình (Polymorphism )

Đây là đặc điểm cho phép một đối tượng có thể được sử dụng cho nhiều đốitượng khác nhau, thông qua việc thực thi phương thức bên trong Điều này sẽ làmgiảm độ phức tạp của chương trình

1.1.4 Tính trừu tượng (Abstraction)

Một đối tượng chỉ mang những đặc điểm cần thiết nhưng lại không mangnhững chi tiết cụ thể bên trong nó Đối tượng này được tạo ra để mang những đặctính tổng quát nhưng bản thân nó không mang ý nghĩa hay đầy đủ ý nghĩa để cóthể tạo ra một đối tượng cụ thể từ nó

1.1.5 Đối tượng phức hợp (Complex Objects)

Đối tượng phức hợp được xây dựng từ những kiểu đối tượng đơn giản hơnbằng cách sử dụng lại chúng Các đối tượng đơn giản là những đối tượng kiểu như

số nguyên, ký tự, chuỗi, hay logic… Có nhiều đối tượng phức tạp như: tuples,sets, bags, lists, arrays

1.1.6 Nạp chồng, ghi đè và liên kết muộn (Overriding, overloading and late binding)

Trang 8

Overriding là việc định nghĩa lại một phương thức nào đó từ đối tượng cơsở.

Overloading: sử dụng cùng một phương thức nhưng lại có cách thức thựcthi khác nhau, và cho ra kết quả khác nhau trong các chương trình ứng dụng

Một chức năng mới trong OODB, hệ thống có thể không có ràng buộc tênphương thức thực thi cho các chương trình biên dịch Qua đó, tên của phương thức

sẽ được dịch trong thời gian chạy chương trình Và việc dịch chậm này được gọi làliên kết muộn

2 Cơ sở dữ liệu hướng đối tượng

2.1 Giới thiệu chung

Các CSDL quan hệ, theo các bảng chiếm tỷ lệ cao, khoảng 70%, trên thịtrường phần mềm ứng dụng Các dữ liệu được xử lý thuộc loại số, ký tự Còn lạicác dữ liệu phức tạp như văn bản, đồ hoạ, bản đồ, hình ảnh, dữ liệu nhiều chiều vàcác dữ liệu động như chương trình, mô phỏng quá trình…trong CAD, văn phònghọc, hệ chuyên gia…thì người ta không chỉ dùng CSDL quan hệ mà giải quyếtđược Mô hình đối tượng hay mô hình hướng đối tượng rất đa dạng Nó gồmnhững mạng ngữ nghĩa và các ngôn ngữ lập trình hướng đối tượng Chúng chophép mô hình hoá những đối tượng phức tạp có được trong các thủ tục xử lý

Dù có nhiều ngôn ngữ hướng đối tượng, đa số các CSDL hướng đối tượngdựa trên C++, lựa chọn này là do tính hiệu quả và thông dụng của C++ Thực tếcho thấy CSDL hướng đối tượng có những ưu điểm:

Cho phép xét các liên kết đối tượng dưới dạng các phép lưu trữ vớicác đối tượng

Các đối tượng được dùng chung giữa nhiều người sử dụng

Khả năng phát tiển kho tri thức bằng cách thêm mới các đối tượng

và các phép xử lý kèm theo

Phát triển hệ quản trị CSDL dựa trên việc xử lý các đối tượng phứctạp, giao diện chương tình, đối tượng động và trừu tượng

2.2 Các đặc trưng trong cơ sở dữ liệu hướng đối tượng

Các đặc trưng trong cơ sở dữ liệu hướng đối tượng được tách làm ba nhómchính sau:

Đặc trưng mang tính bắt buộc (Mandatory)Đặc trưng mang tính tùy chọn (Optional)Đặc trưng mang tính mở (Open)

Đặc trưng mang tính bắt buộc (Mandatory): đây là những đặc trưng mà ở

hệ OODB nào cũng phải đáp ứng được OODB được xây dựng dựa trên nền tảng

Trang 9

của ngôn ngữ lập trình hướng đối tượng, nên nó mang những đặc trưng vốn có ởloại ngôn ngữ này Theo hướng tiếp cận này, OODB mang những đặc trưng như

đã được trình bày ở trên, ngoài ra nó còn mang thêm một số đặc trưng khác nữanhư :

Khả năng mở rộng (Extensibility): hệ thống được thiết lập các kiểu

dữ liệu có sẵn, người sử dụng dựa vào đó có thể tự định nghĩa ra kiểu dữ liệu mới,khi sử dụng kiểu dữ liệu mới này thì hệ thống sẽ không có sự phân biệt với kiểu

dữ liệu cơ bản vốn có

Khả năng bảo toàn (Persistence): cho phép hệ thống bảo toàn dữ

liệu trong quá trình thực hiện, đối tượng có thể được sử dụng cùng lúc bởi quátrình khác, và cung cấp khả năng tái sử dụng

Tính toán đầy đủ (Computationally complete): ngưởi sử dụng có thể

thực hiện bất ký chức năng tính toán nào, bằng cách sử dụng các DML của hệthống

Quản lý lưu trữ thứ cấp (Secondary storage management): dữ liệu

được hệ thống quản lý để truy cấp nhanh và dễ dàng hơn Việc lưu trữ dữ liệuđược sử dụng bởi các kỹ thuật khác nhau như: phân nhóm dữ liệu, đánh chỉ mục,tối ưu hóa truy vấn, tạo bộ đệm dữ liệu và lựa chọn đường truy cập Những kỹthuật này là trong suốt với người sử dụng

Truy cập đồng thời (Concurrency) hệ thống cung cấp cùng lúc cho

nhiều người sử dụng cùng truy cập tới một dữ liệu.Hệ thống cũng quản lý việc xảy

ra các lỗi hệ thống hay chưa hoàn thành các transaction

Phục hồi (Recovery) tính năng này cung cấp khả năng khôi phục lại

trạng thái ban đầu nến hệ thống bị lỗi phần cứng hoặc phần mềm

Ngôn ngữ truy vấn (Ad Hoc Query Facility): một hệ OODB phải

cung cấp ngôn ngữ để thực hiện truy vấn dữ liệu Một ngôn ngữ truy vấn phải đảmbảo ba tiêu chí sau đây: (i) nên có cấp độ (high level) (ii) tính hiệu quả, xây dựngcác truy vấn tối ưu, (iii) ứng dụng độc lập, có thể hoạt động trên bất kỳ cơ sở dữliệu hướng đối tượng nào

Đặc trưng mang tính tùy chọn (Optional): những đặc trưng này mang tính

chất để cải thiện hệ thống, nhưng ko bắt buộc phải có trong hệ thống Một số đặctrưng này có tính chất hướng đối tượng như đa kế thừa Các tính năng khác là tínhnăng của cơ sở quan hệ Tuy nhiện được cải thiện nhằm vào mục đích mới phục

vụ những ứng dụng như CAD/CAM, CASE, văn phòng tự động Chúng bao gồmnhững đặc tính như : đa kế thừa (có thể có nhiều giải pháp để đối phó với vấn đềgiải quyết xung đột); kiểu checking và inferencing (type checking sẽ được thực

Trang 10

hiện trong thời gian biên dịch, số lượng type inferencing được để mở đối với nhàthiết kế hệ thống), phân tán (đặc tính này trực giao với tính hướng đối tượng của

hệ thống, qua đó hệ thống có thể được phân tán hoặc không), thiết kế transaction(hệ OODB hỗ trợ nhiều kiểu thiết kế transaction dài hoặc lồng nhau), versions(trong các ứng dụng mới như CAD/CAM và CASE liên quan tới hoạt động thiết

kế và yêu cầu hình thức của versioning)…

Đặc trưng mang tính mở (Open) đặc trưng này liên quan tới vấn đề lập

trình và thể hiện hệ thống Có rất nhiều sự lựa chọn khi thiết kế để cải thiện môhình để xây dựng lên một hệ thống tốt, nó bao gồm các lựa chọn: hệ thống; lậptrình mô hình; thể hiện hệ thống và đồng nhất

2.3 Quản lý lưu trữu dữ liệu

Việc lưu trữ dữ liệu được sử dụng bởi các kỹ thuật khác nhau như: phânnhóm dữ liệu, đánh chỉ mục, tối ưu hóa truy vấn, tạo bộ đệm dữ liệu và lựa chọnđường truy cập Mỗi đối tượng có một OID duy nhất và được định nghĩa là mộtlớp con của một lớp cơ sở, sử dụng tính kế thừa để xác định các thuộc tính Bản đồ

bộ nhớ ảo được sử dụng cho việc lưu trữ và quản lý các đối tượng Việc truyền dữliệu được thực hiện trên cơ sở mỗi đối tượng hoặc trên cơ sở một trang

2.4 So sánh cơ sở dữ liệu hướng đối tượng và cơ sở dữ liệu quan hệ

Một đối tượng cơ sở dữ liệu có cấu trúc phức tạp, các mối quan hệ giữa các

dữ liệu là trực tiếp, không liên quan tới các hàng, các cột nhưng trong cơ sở dữliệu quan hệ, điều này làm cho chúng phù hợp với các ứng dụng xử lý dữ liệu rấtphức tạp Đối tượng có nhiều mối quan hệ và được truy cập bằng cách sử dụngcon trỏ Con trỏ liên kết các đối tượng với nhau để thiết lập các mối quan hệ Mộtđiểm mạnh của hệ OODB là nó có thể được lập trình với sự khác biệt về thủ tục

mà không ảnh hưởng đến toàn bộ hệ thống Điều này rất hữu ích cho những mốiquan hệ dữ liệu không rõ ràng hoặc cần phải thay đổi các mối quan hệ để đáp ứngcác yêu cầu mới

Điểm mạnh của hệ OODB:

Đối tượng không cần phải khởi tạo và hủy điều này sẽ tiết kiệm thời gianlập trình và thời gian để xử lý

Giảm việc phân trang

Dễ dàng chuyển hướng

Kiểm soát đồng thời tốt hơn – phân cấp các đối tượng

Mô hình dữ liệu được dựa trên thế giới thực

Hoạt động tốt với các kiến trúc phân tán

Trang 11

Tốn ít công lập trình với các ứng dụng hướng đối tượng.

Điểm yếu của hệ OODB:

Hiệu quả thấp hơn khi dữ liệu đơn giản và các mối quan hệ đơn giản

Bảng quan hệ đơn giản

Các ràng buộc cuối sẽ làm giảm tốc độ truy cập

Có nhiều công cụ cho người sử dụng RDBMS + tiêu chuẩn cho RDBMS ổnđịnh hơn nên hệ OODB ít có khả năng được yêu cầu sử dụng nếu ứng dụng đókhông đặc thù

Trang 12

Chương 2 Mô hình đối tượng

2.1 Giới thiệu

Mô hình đối tượng là chiến lược tổ chức các hệ thống như là tuyển tập các đốitượng tương tác, phối hợp với nhau về dữ liệu và các hành vi ứng xử Trong đó, đốitượng là thể hiện của một đại diện một lớp Lớp là một mô tả về một nhóm đối tượng cónhững tính chất giống nhau, có cùng mối liên quan với các đối tượng khác và có chungngữ nghĩa với hệ thống Theo đó, các đối tượng thể hiện thông tin về trạng thái của đốitượng, còn các phương thức được xem như là đặc tính mô tả hành vi của chúng Thuộctính và phương thức của đối tượng là một trong những khái niệm trung tâm của mô hình

cơ sở dữ liệu hướng đối tượng

Cấu trúc của một mô hình đối tượng, cấu trúc này được hỗ trợ bởi một hệ quản trị

cơ sở dữ liệu hướng đối tương:

Các mô hình nguyên thủy cơ bản là object và literal Mỗi object thì có một

giá trị định danh duy nhất Một literal thì không có định danh cụ thể nào

Object và literal có thể được phân theo kiểu (types) Tất cả các yếu tố của

một type nhất định có chung một trạng thái (cùng properties), chung hành vi (cùngoperations) Một đối tượng thình thoảng được gọi là một thể hiện của type của nó

Các trạng thái của đối tượng được định nghĩa bởi các giá trị mang trongmột bộ proper-ties Các tính chất này có thể là thuộc tính của chính nó hoặc thể hiện mốiquan hệ với một hoặc nhiều đối tượng khác Thông thường, các giá trị này có thể thay đổitheo thời gian

Các hành vi của một đối tượng được xác định bởi tập hợp các hoạt động cóthể được thực hiện bởi đối tượng đó

Một hệ quản trị cơ sở dữ liệu hướng đối tượng lưu trữ các đối tượng, chúngđược sử dụng bởi nhiều người dùng và nhiều ứng dụng khác nhau Một hệ quản trị cơ sở

dữ liệu hướng đối tượng được xây dựng trên một lược đồ (schema), lược đồ này đượcđịnh nghĩa bởi ngôn ngữ định nghĩa đối tượng (object definition language) và có chứanhữn thể hiện của các types được định nghĩa trong lược đồ đó

Trang 13

Mô hình đối tượng trong hệ quản trị cơ sở dữ liệu hướng đối tượng cụ thể đượcđịnh nghĩa bởi các object, literal, types, thuộc tính, mối quan hệ Các nhà phát triển ứngdụng dựa trên hệ quản trị cơ sở dữ liệu hướng đối tượng sử dụng cấu trúc đó để xây dựng

mô hình đối tượng cho các ứng dụng của mình Mô hình đối tượng của ứng dụng quyđịnh một type đặc biệt như :Tài liệu, tác giả, nhà xuất bản, chương, và các hoạt động vàtính chất của mỗi type đặc biệt đó Mô hình đối tượng chứa đựng ngữ nghĩa phong phúhơn đáng kể so với mô hình quan hệ, bằng cách chỉ ra mối quan hệ và hành vi của đốitượng một cách rõ ràng

2.2 Types: Specifications and Implementation

Có hai khía cạnh để định nghĩa một type Một type có một đặc tả (specification)bên ngoài và một hoặc nhiều cách triển khai (implementation) Đặc tả bên ngoài của type

sẽ xác định đặc điểm của type Ngược lại với đặc tả, việc triển khai sẽ được thực hiện bêntrong nội tại của đối tượng Việc triển khai này đối với type được xác định bởi một ngônngữ cụ thể

Một đặc tả bên ngoài của một type bao gồm việc miêu tả các hành vi trừu tượng(abstract), các trường hợp ngoại lệ (exception), các thuộc tính có thể được nhìn thấy bởingười dùng type đó Một giao diện (interface) là một đặc tả chỉ có hành vi trừu tượng củamột kiểu đối tượng trừu tượng Một class là một đặc tả xác định hành vi trừu tượng vàtrạng thái trừu tượng của một kiểu đối tượng Một class là một mở rộng của giao diện vớicác thông tin được định nghĩa trong lược đồ hệ quản trị cơ sở dữ liệu hướng đối tượng.Một literal chỉ xác định trạng thái trừu tượng của kiểu literal Hình 2.1 mô tả một kiểuđặc tả

Ngày đăng: 08/07/2015, 16:06

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w