Object-Database
-
Upload
barclay-meadows -
Category
Documents
-
view
37 -
download
9
description
Transcript of Object-Database
Object-Database
Extend
New data
Identity
Inheritance
Design
Challenge
ODL, OQL
Compare
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.• 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.
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.
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.
Class
CLASS
attributes
relationships
methods
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ệ.
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.
Ví dụ
MOVIEmovieNamestart: dateend: datemovieName: string
THEATERtheaterNametheaterName: stringaddress: stringticketPrice: integernumshowing(): float
showAt
nowShowing
Example
Example
Example
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.
Example
Example
Example
Object-Database
Extend
New data
Identity
Inheritance
Design
Challenge
ODL, OQL
Compare
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.
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ệ.
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.
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.