1. Trang chủ
  2. » Công Nghệ Thông Tin

BÀI GIẢNG CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

51 1,1K 6

Đ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 51
Dung lượng 456,46 KB

Nội dung

1.Các mô hình dữ liệu: CSDL hướng đối tượng (CSDLHĐT) 2.Các hệ quản trị CSDLHĐT 3.Một số kết quả nghiên cứu về CSDLHĐT1.Các mô hình dữ liệu: CSDL hướng đối tượng (CSDLHĐT) 2.Các hệ quản trị CSDLHĐT 3.Một số kết quả nghiên cứu về CSDLHĐT

Trang 1

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

(Object-Oriented Data Base)

Trang 2

1 Mô hình dữ liệu

Cơ sở dữ liệu (Data Base) - CSDL

Một sưu tập (Collection) các bản ghi dữ liệu được tổ chức

để tiện lợi cho việc lưu trữ và tìm kiếm dữ liệu bởi các hệ thống thông tin

Các mô hình dữ liệu phổ biến :

1 Mô hình mạng (Network DB)

2 Mô hình phân cấp (Hierarchical DB)

3 Mô hình quan hệ ( Relational DB)

4 Mô hình đối tượng (Object DB or Object-Oriented DB)

5 Mô hình quan hệ - đối tượng (Object-Relational DB)

1.1 Các mô hình dữ liệu

Trang 3

Complex Object

Model

Object-Oriented Databases

Trang 4

1.2 Một số khái niệm cơ bản

Hệ quản trị CSDL (Database management system)

Phần mềm thực thi (quản trị) một CSDL.

Phần lớn các hệ quản trị CSDL truyền thống là quan hệ

 Dữ liệu được tổ chức lưu trữ thành các bảng ( tables )

 Mỗi bộ dữ liệu (record, tuple) mô tả cho một thực thể được xác định bởi thuộc tính khoá (primary key )

 Thuộc tính khoá có thể được sử dụng để xác định các bộ dữ liệu ở những bảng khác được gọi là khoá ngoại (foreign key )

Các hệ thống thông tin (Information system) sử dụng hệ quản trị CSDL để

 Ghi dữ liệu lên thiết bị nhớ (chủ yếu là đĩa)

 Tìm kiếm dữ liệu từ đĩa (CSDL)

Trang 5

1.2 Một số khái niệm cơ bản

Mô hình CSDLĐT

Thông tin được biểu diễn thành các đối tượng giống như các đối tượng trong lập trình hướng đối tượng.

 Dữ liệu thuộc tính mô tả các đặc trưng của các thực thể (đối tượng)

 Các phương thức mô tả hành vi ứng xử của đối tượng

 Mối quan hệ giữa các lớp với nhau.

 Thuộc tính khoá có thể được sử dụng để xác định các bộ dữ liệu ở những bảng khác được gọi là khoá ngoại (foreign key ).

 Mỗi đối tượng (thực thể) có một định danh ID để xác định duy nhất trong

1 Mô hình cơ sở dữ liệu

Trang 6

1.2 Một số khái niệm cơ bản

Các nguyên lý chính áp dụng cho CSDLĐT

Bao gói che giấu thông (Encapsulation and hiding)

cấu trúc lớp cho phép quản lý truy cập

khác) bằng cách gửi và nhận thông điệp (message) Các phương thức được cung cấp bởi các đối tượng sẽ xác định một tập thông điệp cần trao đổi với nhau.

1 Mô hình cơ sở dữ liệu

ĐT 1

ĐT 2

ĐT 3

Trang 7

1.2 Một số khái niệm cơ bản

Các nguyên lý chính áp dụng cho CSDLĐT

 Kế thừa (Inheritance) và sử dụng lại (Reuse)

 Những lớp mới có thể mở rộng, kế thừa những lớp khác có sẵn (super-class) Ngoài những thuộc tính, phương thức được kế thừa, ta có thể bổ sung thêm những thuộc tính, phương thức mới để mô tả đúng những lớp các đối tượng của bài toán ứng dụng

Quan hệ kế thừa là quan hệ kiểu “thành viên” (”is-a“), nghĩa là mội đối

tượng của lớp con cũng là đối tượng của lớp cha và ngược lại đối tượng của lớp cha đại diện cho mội đối tượng của lớp con.

Quan hệ kế thừa tuân theo qui luật 100%, nghĩa là các đối tượng của lớp con đều có tất cả các mối quan hệ giống như đối tượng của lớp cha đối với các lớp khác.

1 Mô hình cơ sở dữ liệu

Trang 8

1.2 Một số khái niệm cơ bản

Có 2 loại kế thừa cơ bản:

 Kế thừa đơn (Single Inheritance)

 Kế thừa bội (Multiple Inheritance)

1 Mô hình cơ sở dữ liệu

Trang 9

1.2 Một số khái niệm cơ bản

Có 2 loại kế thừa cơ bản:

 Kế thừa đơn (Single Inheritance)

 Kế thừa bội (Multiple Inheritance)

1 Mô hình cơ sở dữ liệu

Trang 10

1.2 Một số khái niệm cơ bản

Các nguyên lý chính áp dụng cho CSDLĐT

 Đa xạ (Polymorphism)

 Đa xạ hay tương ứng bội là khái niệm rất mạnh của toán học: một thông điệp (lời gọi hàm) có nhiều nội dung thực hiện khác nhau, mỗi đối tượng nhận được sẽ thực hiện theo ngữ cảnh riêng của mình.

 Khái niệm này liên quan chặt chẽ với khái niệm kế thừa đã nêu Các phương thức của các lớp dẫn xuất (lớp kế thừa) có thể định nghĩa lại (viết đè – Overriding ) những phương thức của lớp cha.

 Trong một lớp, có thể có những phương thức cùng tên ( name ) nhưng cho phép định nghĩa nhiều nội dung thực hiện khác nhau theo cơ chế nạp chồng ( Overloading ).

 Để thực hiện được những khái niệm trên thì ngôn ngữ lập trình phải hỗ trợ liên kết động, hay còn được gọi là liên kết muộn ( Dynamic Binding ).

1 Mô hình cơ sở dữ liệu

Trang 11

1.2 Một số khái niệm cơ bản

 Đa xạ (Polymorphism)

 Nạp chồng (Overloading)

 Viết đè (Overriding)

Trang 12

1.2 Một số khái niệm cơ bản

Các nguyên lý chính áp dụng cho CSDLĐT

 Quan hệ kết tập (Aggregation)

 Ngoài quan hệ kết hợp (Association) phổ biến giữa các thực thể trong các

mô hình dữ liệu, hướng đối tượng hỗ trợ để thể hiện được cả quan hệ kết tập

mô tả về mối quan hệ bộ phận – tổng thể

 Các đối tượng hợp thành có thể được xây dựng như là bộ chứa (Container)bao gồm một số các đối tượng khác

 Có hai loại quan hệ kết tập:

1 Kết tập thông thường (Normal Aggregation)

2 Kết tập chia sẻ (Shared Aggregation)

1 Mô hình cơ sở dữ liệu

Trang 13

1.2 Một số khái niệm cơ bản

1 Mô hình cơ sở dữ liệu

Trang 14

Abstract Data Type (ADT)= Representation + Operarions

Object Orientation = Abstract DataTyping + Inheritance + Object Identity Object-Oriented Programming (OOP) = Classes + Inheritance

Object-Oriented Databases (OODB) = Object Orientation + Database

Capabilities

1 Mô hình cơ sở dữ liệu

Trang 15

Các hệ quản trị CSDLĐT tạo ra CSDL các đối tượng giống như các đối tượng giống như trong các ngôn ngữ lập trình.

Hệ quản trị CSDLĐT mở rộng ngôn ngữ lập trình hướng đối tượng:

Đảm bảo tính nhất quán dữ liệu (Persistent data)

Điều khiển sự truy cập tương tranh (Concurrency Control)

Cho phép truy cập kết hợp (Associative Queries)

Khôi phục dữ liệu (Data Recovery), v.v.

Việc lựa chọn hệ quản trị dữ liệu CSDLĐT phụ thuộc chủ yếu vào

ba yếu tố chính

Nhu cầu nghiệp vụ

Đòi hỏi hiệu năng cao

Dữ liệu phức tạp

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

Trang 17

Informix): là phiên bản thương mại đầu tiên của

object-relational Postgres.

Trang 18

Informix : Illustra (Informix-Universal Server)

Oracle : Oracle8

Hewlett-Packard

Unisys : OSMOS

Sybase : Adaptive Server (introduced Sept ‘97)

Just released a Java-based ORDBMS :

Các hãng phần mềm chính phát triển ODBMS

Trang 19

 Electronic Data Systems (EDS)

 Fujitsu Software Corporation

Trang 20

 Hệ QTCSDL HĐT quản lý dữ liệu, mã chương trình và các cấu trúc kết hợp nhằm thiết lập một CSDLHĐT.

 Nhiều hệ QTCSDL HĐT được xây dựng có cú pháp, và những khả năng rất khác nhau Một số hệ QTCSDL HĐT phổ biến trên thị trường như:

Trang 21

Những ưu điểm của các CSDL ĐT:

Hỗ trợ những kiểu dữ liệu được định nghĩa bởi NSD CSDL ĐT có khả năng lưu

trữ các kiểu phức hợp, kiểu được định nghĩa bởi NSD, các lớp và thao tác trên chúng một cách dễ dàng.

Cung cấp một mẫu hình phát triển CSDL cho cả phân tích, thiết kế và cài đặt ứng dụng Bạn không phải chuyển từ mẫu hình này sang mẫu hình khác như trong quá trình phát triển phần mềm.

Cải tiến đáng kể về chất lượng dữ liệu Ta có thể đưa ra nhiều ràng buộc vào cấu trúc dữ liệu Mô hình còn cho phép thể hiện cả những ràng buộc không cấu trúc để chương trình phải thoả mãn khi nó thực hiện trong CSDL Một CSDLHĐT có thể dẫn về một CSDLQH được chuẩn hoá.

Tốc độ phát triển phần mềm nhanh hơn Cấu trúc CSDL nhất quán và rõ ràng

giúp cho lập trình ứng dụng trở nên đơn giản và nhanh hơn Những người phát triển ứng dụng có kinh nghiệm thường sử dụng những câu lệnh rất mạnh của các hệ QT CSDL thay cho những đoạn chương trình của NSD.

Tích hợp dễ dàng Việc tích hợp nhiều hệ thống độc lập có thể giảm bớt sự

sao chép dữ liệu của con người và mở rộng những câu truy vấn có thể trả lời được Mô hình hướng đối tượng cung cấp cách biểu diễn thống nhất làm thuận tiện hơn cho việc tìm hiểu và tích hợp thông tin.

Trang 22

Yếu điểm của các hệ QTCSDL HĐT

Thiếu cơ sở lý thuyết và chuẩn hoá Các hệ CSDL QH được thiết kế và xây dựng dựa trên mô hình đại số quan hệ rất chuẩn mực, trong khi các hệ QT CSDL HĐT được cài đặt nhưng thiếu cơ sở lý thuyết hình thức Hậu quả là các sản phẩm QTCSDL HĐT rất khác nhau và gây ra nhiều trở ngại cho quá trình phát triển ứng dụng khi không muốn phụ thuộc vào các hãng sản xuất phần mềm hệ thống.

Có thể sửa đổi làm sai lệch CSDL Một số hệ QTCSDL HĐT thực hiện trong không gian của tiến trình ứng dụng, kết quả là CSDL có thể là chủ điểm dẫn đến vi phạm tính an ninh hoặc dữ liệu bị sửa đổi bởi những con trỏ, tham chiếu lạ.

Khó mở rộng logic Các sản phẩm hiện nay đều không có sự độc lập dữ liệu cần thiết và chưa có các quan sát (view) CSDL tương tự như các hệ QTCSDL QH.

Chưa hỗ trợ các siêu (meta) ứng dụng Một số hệ QTCSDL HĐT dựa vào C++ không thực hiện được liên kết động, liên kết lúc thực hiện, mà chỉ cung cấp liên kết tĩnh, liên kết lúc dịch chương trình ứng dụng Hạn chế này là do hạn chế của ngôn ngữ C++ sử dụng những khai báo về kiểu để sinh mã chương trình tối ưu trong quá trình biên dịch và sau đó huỷ bỏ các khai báo đó Ngược lại, hầu hết các CSDL QH và những hệ QTCSDL HĐT dựa vào Smallalk hỗ trợ cho cả liên kết tĩnh và liên kết động.

Trang 23

Các hệ QTCSDL HĐT là thích hợp với những ứng dụng mới, như:

Những ứng dụng thiết kế công nghệ Các hệ QTCSDL HĐT rất phù hợp cho những chương trình thiết kế ứng dụng, như thiết kế với sự trợ giúp máy tính (CAD: Computer-Aided Design), chế tạo với sự trợ giúp của máy tính (CAM: Computer-Aided Manufacturing), chế tạo tích hợp với máy tính (CIM: Computer-Integrated Manufacturing), và kỹ nghệ phần mềm với sự trợ giúp của máy tính (CASE: Computer-Aided Software Engineering ).

Các ứng dụng đa phương tiện (Multimedia) như hệ Jasmine Các hệ QTCSDL HĐT rất thích hợp cho những ứng dụng đa phương tiện với những đồ hoạ, audio, video phức hợp.

Các cơ sở tri thức Các luật của các hệ chuyên gia rất khó lưu trữ trong các hệ CSDL QH Mỗi khi có một luật mới cần bổ sung thì phải kiểm tra toàn bộ cơ sở luật xem tính phi mâu thuẫn và dư thừa của hệ thống có bị vi phạm hay không.

Hệ QTCSDL HĐT có thể hỗ trợ để thực hiện công việc trên ở mức thấp.

Những ứng dụng đòi hỏi xử lý phân tán và tương tranh Hệ QTCSDL cho phép thực hiện những truy nhập cần thiết vào các dịch vụ mức thấp.

Các phần mềm nhúng Hệ QTCSDL HĐT thích hợp để tạo ra những phần mềm nhúng vào các thiết bị điện, các thiết bị điều khiển, v.v.

Trang 24

Các chuẩn phát triển OODBMS

dựng các chuẩn cho OODBMS từ 1991

trên SQL-92, và ANSI để định nghĩa mô hình khung

Trang 25

Standard: ODMG-93

ODMG-93: trả lời theo SQL

ODMG-93: mở rộng của CORBA Persistent Object

Service

ODMG-93 có ba thành phần chính :

 Object Definition Language (ODL)

 Object Query Language (OQL)

 C++ and Smalltalk language bindings

Trang 26

Standard: ODMG 2.0 (July 1997)

The Object Database Management Group (ODMG) công bốchuẩn ODMG 2.0, áp dụng cho các hãng công nghiệp CSDLĐT

The ODMG 2.0 standard:

 ODMG liên kết mới cho Java, được chuẩn hóa và đơn giản hóatrong việc lưu trữ các đối tượng Java trong các CSDL

 Xây dựng mô hình siêu ngữ nghĩa (metamodel) cung cấp những

mô tả sơ đồ CSDL độc lập với các ngôn ngữ để tạo ra các công cụ

và các ứng

 Nâng cấp các mối liên kết giữa C++ và Smalltalk

Trang 27

Có thể kết luận: Thị trường OODBMS sẽ tăng rất mạnh trong thời gian tới.

Trong tương lai:

 Relational DBs sẽ dần được thay bởi object-relational DBs.

 Object-relational DBs nhanh chóng thích ứng để xử lý các đối tượng dữ liệu phức tạp.

 Object-oriented DBs sẽ được bổ sung thêm những đặc tính truy vấn đối tượng tương tự như đối với relational DBs.

Trang 28

3 Một số kết quả nghiên cứu về CSDLĐT

1. Phân tích, thiết kế CSDL với UML ;

2. Nghiên cứu các tính chất của

Trang 29

3.1 Phân tích, thiết kế CSDL với UML

Quá trình thiết kế CSDL có thể thực hiện theo ba bước:

1. Thiết kế mô hình (sơ đồ) khái niệm,

2. Thiết kế sơ đồ CSDL chuẩn,

3. Cài đặt CSDL ứng dụng: chọn ngôn ngữ và hệ quản trị CSDL

hướng đối tượng thích hợp

Cài đặt ứng dụng

OODBMS

Trang 30

3.1 Phân tích, thiết kế CSDL với UML

(i) Thiết kế mô hình khái niệm – biểu đồ lớp (Class Diagram)

Biểu đồ lớp mô tả cấu trúc tĩnh, mô tả mô hình khái niệm bao gồm các

lớp đối tượng và các mối quan hệ của chúng trong hệ thống hướng đối tượng.

 Phân tích các yêu cầu của bài toán ứng dụng để xác định các lớp đối

tượng, mối quan hệ của chúng để xây dựng biểu đồ lớp.

Kế thừa Lớp Quan hệ

Đối tượng

Cá thể Bao gói

Hàm

Thông điệp

Đa xạ

Trang 31

Ví dụ: Biểu đồ lớp của hệ thống bán hàng

1 *

1 1

MatHang

Mô-tả 1

1

ThanhToan KhachHang NguoiBan

PhienBanHang

NguoiQL Được-trả

Được-quản-lý-bởi

1 1

1 Có 1 *

Ghi-nhận-bán-hàn

Trang 32

3.2 Thiết kế sơ đồ CSDL chuẩn

 Một đặc tính quan trọng của CSDL HĐT là các đối tượng được lưu lại

sau khi chương trình kết thúc.

Những đối tượng được tự động lưu vào CSDL được gọi là đối tượng

bền vững, những đối tượng không được lưu lại gọi là đối tượng tạm thời.

Trang 33

3.2 Thiết kế sơ đồ CSDLĐT chuẩn Chuyển đổi các kiểu đối tượng

 Mỗi lớp bền vững trong UML phải được chuyển đổi sang lớp

trong ODL (Object Definition Language) thể hiện được cả hành

vi trừu tượng lẫn các trạng thái trừu tượng.

Việc đọc dữ liệu trong CSDL HĐT được thực hiện như sau:

 Các đối tượng trong CSDL HĐT được lưu trữ và có mối quan hệ với

nhau thông qua định danh ID.

Một đối tượng có thể tham chiếu tới nhiều ID đối tượng, nghĩa là mối

quan hệ giữa các đối tượng có dạng tổng quát là n:m.

 Mối quan hệ tham chiếu giữa các đối tượng được hệ QT CSDL HĐT

thiết lập.

Trang 34

3.2 Thiết kế sơ đồ CSDL chuẩn

 Chuyển đổi các lớp đối tượng bền vững sang lớp của ODL

class CuaHang { attribute String(30) tenGoi;

attribute struct Adress {

char(3) soPho, char(20) tenPho, char(15) tinhThanh

};

Trang 35

3.2 Thiết kế sơ đồ CSDL chuẩn

Chuyển đổi các quan hệ kết hợp: Quan hệ kết hợp nhị nguyên được chuyển

sang mối quan hệ liên kết relationship trong ODL.

ghiNhan

banHang

HBH hangTruong : String

makePayment ()

total ()

Trang 36

3.2 Thiết kế sơ đồ CSDL chuẩn

class HBH

{

attribute String(25) hangTruong;

attribute String(15) tenTruong;

relationship PhienBanHang ghiNhan

Trang 37

3.2 Thiết kế sơ đồ CSDL chuẩn

class PhienBanHang {

attribute Date ngayBan;

attribute Time gioBan;

relationship Set<PhienBanHang> banHang inverse ghiNhan::HBH;

void PhienBanHang();

void ~PhienBanHang();

Boolean becomeComplete(){…}

void makeLineItem() makePayment(){…}

Number total(){…}

};

Trang 38

3.2 Thiết kế sơ đồ CSDL chuẩn

Chuyển đổi các quan hệ kế thừa: Quan hệ kết hợp nhị nguyên được chuyển

sang mối quan hệ liên kết relationship trong ODL.

class ThanhToanTM extends ThanhToan (extent ThanhToanTM Key number) {

… };

class ThanhToanThe extends ThanhToan {

… };

ThanhToanTM ThanhToanThe

ThanhToan

Trang 39

3.2 Thiết kế sơ đồ CSDL chuẩn

Chuyển đổi các quan hệ kết tập: Quan hệ kết tập giữa bộ phận và tổng

thể (part-whole aggregation) Quan hệ này thể hiện như là lớp cấu trúc

gồm hầu như là hai lớp khác nhau.

class PhienBanHang { attribute Date ngayBan;

attribute Time gioBan;

attribute List<DongBanHang> gomCo;

DongBanHang soLuong : Int

subtotal ()

Trang 40

3.3 Một số tính chất của CSDLHĐT

hướng đối tượng

theo đường dẫn và các dạng chuẩn đối tượng

mã nguồn mở (Open Sourrce)

Trang 41

(i) Tính nhất quán kiểu dữ liệu của hệ thống hướng đối tượng

 Mô hình dữ liệu hướng đối tượng hỗ trợ kế thừa bội, cho phép một lớp được kế thừa

từ một hay nhiều lớp (kiểu) Chính cơ chế này sẽ dẫn đến nhiều những vấn đề nhập nhằng về kiển dữ liệu và các phương thức sử dụng.

Person + salary: int + readInfo()

Employee + job: String + readInfo()

Developer + project: String + readInfo()

PartTimeWorker

Trang 42

(i) Tính nhất quán kiểu dữ liệu của hệ thống hướng đối tượng

để đảm bảo tính nhất quán dữ liệu và phi mâu thuẫn?

đối tượng” (TC TH & ĐKH, T 16, S.3, 2000 ), chúng tôi đã nghiên cứu các tính chất của quá trình kế thừa kiểu (lớp) trong lược đồ dữ liệu đối tượng và

đã chỉ ra rằng

 Quan hệ kế thừa sẽ tạo ra một thứ tự bộ phận

 Phép hội kiểu của τ1 ↓ τ2 nếu nó xác định thì kết quả là kiểu con chung lớn nhất của τ1 và τ2

 Một lược đồ đối tượng có thể xảy ra sự xung đột về kiểu khi có ít nhất một cặp kiểu cha của một kiểu con (được kế thừa bội) và không tương thích với nhau, nghĩa là phép hội của các kiểu cha không xác định.

 Lược đồ đối tượng có thể biểu diễn dưới dạng s-đồ thị (đồ thị đặc trưng cho quan hệ kế thừa kiểu của lược đồ) đối tượng Trên cơ sở nghiên cứu các tính chất đường đi trong s-đồ thị chúng khẳng định phụ thuộc dữ liệu trong CSDL ĐT là loại phụ đối tượng theo đường dẫn.

 S-đồ thị có xung đột kiểu (có mâu thuẫn dữ liệu) khi và chỉ khi có ít nhất 2 đường đi tựa tương đẳng cùng bắt đầu từ một đỉnh và dẫn đến 2 đỉnh đích

là 2 kiểu không tương thích với nhau (phép hội kiểu không xác định)

Ngày đăng: 09/04/2015, 21:03

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w