Object-Database

21
Object- Database Extend New data Identi ty Inherita nce Desig n Challeng e ODL, OQL Compare

description

Compare. Extend. New data. ODL, OQL. Object-Database. Challenge. Identity. Inheritance. Design. Objectives. Tổng quan về mô hình dữ liệu ODMG Object Data Language – ODL Object Query Language - OQL. ODMG Data Model. Được tạo bởi ODMG năm 1991. - PowerPoint PPT Presentation

Transcript of Object-Database

Page 1: Object-Database

Object-Database

Extend

New data

Identity

Inheritance

Design

Challenge

ODL, OQL

Compare

Page 2: Object-Database

Objectives

• Tổng quan về mô hình dữ liệu ODMG • Object Data Language – ODL• Object Query Language - OQL

Page 3: Object-Database

ODMG Data Model

• Được tạo bởi ODMG năm 1991.• Là mô hình chuẩn cho các CSDL đối tượng.• Hỗ trợ định nghĩa đối tượng qua ODL.• Hỗ trợ truy vấn đối tượng qua OQL.• Hỗ trợ nhiều kiểu dữ liệu và hàm dựng kiểu.• Cơ sở cho OODBMS.

Page 4: Object-Database

Object vs Class

Collection of objectOBJECT CLASS

Unique oid Same properties

Sử dụng Object Data Language để xác định các thuộc tính của lớp.

Page 5: Object-Database

Object Data Language – ODL

• Hỗ trợ các khái niệm ngữ nghĩa của OODBMS.• Không phụ thuộc vào bất kỳ ngôn ngữ lập

trình nào.• ODL is used to create object specification

(classes and interfaces)• Không được dùng để xử lý CSDL.

Page 6: Object-Database

Class

CLASS

attributes

relationships

methods

Page 7: Object-Database

Class

• Atrributes: Kiểu nguyên tử hay kiểu có cấu trúc.

• Methods: – Là các function cho các đối tượng của lớp.– Không giống với method trong mô hình ER hay mô

hình quan hệ.

Page 8: Object-Database

Class

• Relationships:– Có kiểu tham chiếu đến một đối tượng hoặc một

tập. – Thể hiện mối quan hệ với một hay nhiều đối

tượng trong cùng class hoặc khác class.– Có một quan hệ nghịch tương ứng - inverse

relationship.

Page 9: Object-Database

Ví dụ

MOVIEmovieNamestart: dateend: datemovieName: string

THEATERtheaterNametheaterName: stringaddress: stringticketPrice: integernumshowing(): float

showAt

nowShowing

Page 10: Object-Database

Example

Page 11: Object-Database

Example

Page 12: Object-Database

Example

Page 13: Object-Database

Object Query Language - OQL

• Là ngôn ngữ truy vấn của ODMG.• Làm việc giống với ngôn ngữ lập trình như C+

+.• Embedded OL statement return objects that

are compatible with the type system of the host language.

• Cấu trúc tương tự như SQL với các điểm đặc trưng của đối tượng.

Page 14: Object-Database

Example

Page 15: Object-Database

Example

Page 16: Object-Database

Example

Page 17: Object-Database

Object-Database

Extend

New data

Identity

Inheritance

Design

Challenge

ODL, OQL

Compare

Page 18: Object-Database

RDBMS versus ORDBMS

• RDBMS không hỗ trợ phần mở rộng của ORDBMS.

• RDBMS dễ sử dụng hơn vì nó có ít tính năng hơn.

• RDBMS ít linh hoạt hơn ORDBMS.

Page 19: Object-Database

OODBMS vs ORDBMSSimilarities

• Hỗ trợ các kiểu có cấu trúc, kiểu đối tượng, ADTS và kế thừa.

• Hỗ trợ ngôn ngữ truy vấn để thao tác trên kiểu collection:– ORDBMS: phần mở rộng của SQL.– OODBMS: ODL/OQL.

• ORDBMS thêm các tính năng của OODBMS vào RDBMS.OODBMS phát triển ngôn ngữ truy vấn dựa trên ngôn ngữ truy vấn quan hệ.

Page 20: Object-Database

OODBMS vs ORDBMSDifferences

• OODBMS thêm ngôn ngữ lập trình vào DBMS, trong khi ORDBMS thêm các kiểu dữ liệu phong phú vào RDBMS.

• OODBMS có mục tiêu là tích hợp liền mạch với ngôn ngữ lập trình, trong khi đây không phải là mục tiêu quan trọng của ORDBMS.

Page 21: Object-Database

OODBMS vs ORDBMSDifferences

• OQL không được hỗ trợ hiệu quả trong hầu hết OODBMS, ngược lại chúng là trung tâm của ORDBMS.

• OODBMS đã được tối ưu hóa để hỗ trợ cho các ứng dụng HĐT và các ngôn ngữ OO.ORDBMSs được hỗ trợ bở hầu hết các HQTCSDL hiện nay.