1. Trang chủ
  2. » Thể loại khác

CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG Chương 3 MÔ HÌNH ĐỐI TƯỢNG QUAN HỆ VÀ SQL3 Giáo viên hướng dẫn: TS. Nguyễn Tuệ

15 14 0

Đ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

Tiêu đề Cơ Sở Dữ Liệu Hướng Đối Tượng Chương 3 Mô Hình Đối Tượng Quan Hệ Và SQL3
Người hướng dẫn TS. Nguyễn Tuệ
Trường học Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
Chuyên ngành Hệ thống Thông tin
Thể loại Giáo trình
Năm xuất bản 2009
Thành phố Hà Nộ̣i
Định dạng
Số trang 15
Dung lượng 81,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MỞ ĐẦUMô hình thực thể - quan hệ ER cũng như các mở rộng của mô hình này như EER đã được sử dụng phổ biến trong các hệ quản trị cơ sở dữ liệu.. Với mô hình này, chúng ta đã có được một c

Trang 1

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

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

Chương 3

MÔ HÌNH ĐỐI TƯỢNG QUAN HỆ

VÀ SQL3

Giáo viên hướng dẫn: TS Nguyễn Tuệ Học viên:

Lớp cao học K14−HTTT

Trang 2

HÀ NỘI, THÁNG 3 NĂM 2009

Trang 3

MỤC LỤC

MỤC LỤC 1

MỞ ĐẦU 2

Chương 3 MÔ HÌNH ĐỐI TƯỢNG QUAN HỆ VÀ SQL3 3

1 Chuẩn bị cơ sở dữ liệu 3

KẾT LUẬN 4

TÀI LIỆU THAM KHẢO 5

Trang 5

MỞ ĐẦU

Mô hình thực thể - quan hệ (ER) cũng như các mở rộng của mô

hình này (như EER) đã được sử dụng phổ biến trong các hệ quản trị

cơ sở dữ liệu Với mô hình này, chúng ta đã có được một cơ sở lý

thuyết tốt, một ngôn ngữ tốt cung cấp các kiểu dữ liệu phù hợp, các

phép toán thực thi cơ sở dữ liệu và đảm bảo được tính toàn vẹn của dữ

liệu Ngôn ngữ SQL cho phép các bảng kết hợp với nhau trên các mối

quan hệ, đồng thời hệ quản trị cơ sở dữ liệu đảm bải lưu trữ được khối

lượng lớn dữ liệu với các mối quan hệ đơn giản, rút trích nhanh

Tuy nhiên, mô hình này lại không chấp nhận các thuộc tính đa

trị, phức hợp; hơn nữa không có tính bao gói, tức là không tích hợp

các phép toán vào định nghĩa quan hệ, dẫn đến việc người dùng có thể

biết được các thuộc tính “bí mật”

Ngôn ngữ lập trình hướng đối tượng trở nên phổ biến vào những

năm 80 và 90 là một cách mạng của công nghệ phần mềm để dễ dàng

thiết kế phần mềm và sử dụng lại các thành phần của phần mềm Mô

hình hướng đối tượng tích hợp chặt chẽ code và dữ liệu, các loại dữ

liệu uyển chuyển, mối quan hệ giữa các dữ liệu được tổ chức theo

mức tầng và các tham chiếu giữa các đối tượng khác nhau Ngôn ngữ

hướng đối tượng diễn đạt mối quan hệ phức tạp giữa dữ liệu cũng như

các thao tác dữ liệu nhưng lại ít hỗ trợ cho việc lưu trữ và rút trích dữ

liệu

Do vậy, có thể khắc phục nhược điểm của hai mô hình trên bằng

cách tích hợp mô hình đối tượng vào mô hình quan hệ Có hai hướng

tiếp cận chính khi tích hợp ứng dụng hướng đối tượng với mô hình

quan hệ, đó là thiết kế lược đồ quan hệ để nắm giữ các đối tượng và

thiết kế các lớp hướng đối tượng để giao tiếp với cơ sở dữ liệu quan

hệ

Cùng với việc tích hợp này thì ngôn ngữ SQL cũng đã được phát

triển và được tổ chức ANSI và ISO chuẩn hoá, ngôn ngữ này được

biết đến với tên gọi SQL3, ngôn ngữ này được thêm vào các chức

năng để hỗ trợ tạo, truy vấn và quản lý dữ liệu hướng đối tượng

Trang 6

Bài viết này nhằm mục đích trình bày về mô hình đối tượng –

quan hệ và ngôn ngữ SQL3

Trang 7

Chương 3 MÔ HÌNH ĐỐI TƯỢNG QUAN

HỆ

VÀ SQL3

1 Mô hình đối tượng – quan hệ

1.1 Tổng quan về sự phát triển của công nghệ cơ sở dữ liệu

Hiện nay, có nhiều nhóm hệ quản trị CSDL đang được sử dụng,

trong đó, hai loại hệ quản trị chiếm ưu thế lớn nhất là hệ quản trị

CSDL quan hệ - RDBMS và hệ quản trị CSDL hướng đối tượng –

ODBMS tương ứng với mô hình dữ liệu quan hệ và mô hình dữ liệu

hướng đối tượng Hai kiểu chính của các sản phẩm hệ quản trị CSDL

là phân cấp (hierarchical) và mạng (network) – hay còn gọi là các hệ

quản trị CSDL kế thừa Các kiểu nảy dựa trên mô hình dữ liệu phân

cấp và dữ liệu mạng và được ra đời vào khoảng giữa thập kỉ 1960 Hệ

quản trị tiêu biểu cho mô hình phân cấp là IMS của IBM, còn đối với

mô hình mạng thì có nhiều hệ quản trị khác nhau, chẳng hạn IDS II

(Honeywell), IDMS (Computer Associates), IMAGE (Hewlett

Packard), VAX-DBMS (Digital) và TOTAL/SUPRA (Cincom)…

Cùng với sự phát triển của công nghệ CSDL thì các hệ quản trị

kế thừa đó sẽ dần dần được thay thế bằng các hệ quản trị mới hơn

Trong giai đoạn chuyển giao này, ta phải đối mặt với vấn đề hoạt động

được (interoperability) – tức là khả năng hoạt động được của lượng

lớn CSDL thuộc về nhiều hệ quản trị CSDL khác nhau cũng như các

hệ thống quản lý file thừa kế Để giải quyết vấn đề này nhiều hệ thống

và công cụ được tạo ra, chẳng hạn như ODMG và CORBA, các hệ

thống này cho phép các ứng dụng hoạt động được với những CSDL từ

những mô hình và hệ thống khác nhau

1.2 Mô hình dữ liệu quan hệ

Mô hình này được Ted Codd đưa ra đầu tiên vào năm 1970 và

gây được chú ý ngay bởi tính đơn giản và các cơ sở toán học của nó

Mô hình quan hệ sử dụng khái niệm quan hệ toán học như là khối cơ

sở lý thuyết Mô hình này biểu diễn CSDL như một tập các quan hệ,

mỗi quan hệ có thể được biểu diễn như một bảng giá trị, mỗi dòng

biểu thị một tập hợp các giá trị dữ liệu liên quan với nhau Tên bảng

và các tên cột dung để giúp giải thích ý nghĩa của các giá trị trong mỗi

hàng, mọi giá trị trong một cột đều cùng một kiểu dữ liệu

Hệ quản trị CSDL quan hệ cung cấp nhiều đặc tính quan trọng

để quản lý khối lượng lớn dữ liệu, như:

- Lưu trữ dữ liệu lâu dài,

- Truy cập nhanh dữ liệu (query),

- Đảm bảo toàn vẹn tham chiếu, đảm bảo các ràng buộc,

Trang 8

- Đảm bảo chia sẻ dữ liệu,

- Quản lý được lỗi xảy ra trong các thủ tục của CSDL

Theo thuật ngữ mô hình quan hệ hình thức, mỗi hàng được gọi là

một cột, mỗi cột được gọi là một thuộc tính, và bảng được gọi là một

quan hệ Kiểu dữ liệu mô tả các kiểu của dữ liệu xuất hiện trong mỗi

cột gọi là một miền

Mỗi dòng trong bảng tương ứng với một item hoặc một record,

các item được xác định duy nhất bởi các giá trị của chúng Một cách

để định danh một item riêng là thiết kế một cột của bảng mà các giá trị

của item được đảm bảo duy nhất, cột chứa giá trị duy nhất được coi là

khoá chính

Các quan hệ với các record khác được thiết lập bằng cách định

nghĩa các cột nắm giữ khoá chính của các record có liên quan được

gọi là khoá ngoại

Mô hình này có một ngôn ngữ truy vấn tốt: ngôn ngữ truy vấn có

cấu trúc SQL – Structured Query Language) Đây là một ngôn ngữ

chuẩn được dùng để tạo lập và truy vấn các CSDL quan hệ SQL là

một ngôn ngữ phi thủ tục, chuẩn mực và điển hình, nó chỉ ra các thông

tin gì cần thiết mà không cần phải chỉ ra làm thế nào để có được các

thông ti này SQL xử lý các tập hợp mẩu tin (bảng ) hơn là mỗi lần

một mẩu tin đơn lẻ

Tuy nhiên, mô hình này cũng có những hạn chế

- CSDL quan hệ không đủ bộ nhớ để lưu trữ các dữ liệu như ảnh,

audio/video

- Mô hình quan hệ không chấp nhận các thuộc tính đa trị, thuộc

tính phức hợp, do đó không biểu diễn được các đối tượng phức hợp

- Các hệ quản trị CSDL quan hệ không thích hợp làm việc với

các ngôn ngữ ngoài SQL Mặc dù hệ quản trị có thể được viết bằng

C++, Java nhưng CSDL quan hệ không làm việc hiệu quả với những

ngôn ngữ đó

- Trong CSDL quan hệ, các bảng cần phải kết nối với nhau (theo

giá trị thông qua các khoá) nên thực hiện chậm

- Mô hình quan hệ không có tính bao gói cho nên không tích hợp

các phép toán vào định nghĩa quan hệ (làm cho người dùng có thể biết

được các thuộc tính private)

1.3 Mô hình dữ liệu hướng đối tượng

Mô hình CSDL hướng đối tượng đã được phát triển từ những

năm 1980 để giải quyết những hạn chế của mô hình quan hệ và những

thách thức của Web và Internet Điểm quan trọng nhất của lập trình

hướng đối tượng thể hiện trong CSDL hướng đối tượng là tính tích

hợp các ứng dụng Lập trình hướng đối tượng có 4 đặc tính quan

trọng: tính thừa kế, tính bao gói, định danh đối tượng và tính đa hình

Trang 9

Tinh thừa kế cho phép nhà phát triển nâng cấp các giải pháp sẵn có

bằng cách thêm các đối tượng mới dựa trên các đối tượng trước đó

Tính bao gói dữ liệu (đơn giản là tính bao gói) cho phép ẩn các

thuộc tính bên trong của đối tượng Các đối được bao gói là các đối

tượng chỉ có thể truy cập bằng các phương thức của chính nó Có ba

kiểu bao gói đối tượng: thứ nhất là bao gói đầy đủ, tức là mọi thao tác

trên đối tượng đó chỉ được thực thi qua thông điệp gửi tới phương

thức của đối tượng Thứ hai là bao gói ghi, tức là chỉ có thể thực hiện

được các thao tác đọc trên các thuộc tính bên trong của đối tượng Thứ

ba là bao gói từng phần, tức là chỉ có thể thực hiện thao tác đọc/ghi

trên từng phần của các thuộc tính bên trong

Định danh đối tượng khiến cho mỗi đối tượng trong CSDL độc

lập với các đối tượng khác Tính đa hình và liên kết động cho phép ta

có thể định nghĩa các thao tác cho một đối tượng này rồi áp dụng cho

các đối tượng khác Từ đó, người dùng/lập trình viên có thể kết hợp

các đối tượng mà không cần thiết phải viết mã cho từng đối tượng

Trong hệ quản trị CSDL hướng đối tượng (OODBMS) thì ngôn

ngữ định nghĩa và thao tác dữ liệu (DDML) đóng một vai trò quan

trọng Ngôn ngữ này cho phép tạo, cập nhật, xoá và truy vấn dữ liệu

bền Hệ quản trị CSDL hướng đối tượng cần có sự tính toán khác với

ngôn ngữ quan hệ bởi trong OODBMS thì ta cần tránh việc ghép cặp

không tương thích DDML cho phép người dùng định nghĩa CSDL,

gồm tạo lập thêm, thay đổi các bảng và thiết lập ràng buộc DDML

cũng dùng để để bảo trì và truy vấn CSDL, bao gồm cập nhật, thêm,

sửa và truy vấn dữ liệu

Ưu điểm của hệ quản trị CSDL hướng đối tượng:

- Dữ liệu hướng đối tượng tự nhiên hơn đối với người dùng

- Thao tác định nghĩa kiểu không phụ thuộc vào ứng dụng CSDL

đặc biệt tại một thời điểm

- Các kiểu dữ liệu của dữ liệu hướng đối tượng có thê mở rộng

để hỗ trợ các kiểu dữ liệu phức tạp như ảnh, audio/video số, đồng thời

có thể sử dụng các thao tác đa phương tiện

- Điểm khác biệt của OODBMS là ở tính có thể dùng lại, ổn định

và tin cậy

- Quan hệ trong OODBMS được biểu diễn một cách rõ ràng,

thường hỗ trợ cả thao tác truy cập thông tin bằng cách dịch chuyển

(navigational) hay kết hợp (associative) Thao tác này giúp tăng hiệu

suất làm việc của hệ thống so với mô hình dữ liệu

- Cho phép người dùng định nghĩa các phương thức truy nhập dữ

liệu riêng, đây là ưu điểm quan trọng, bởi vì người dùng có thể quyết

định xem phương thức đó được biểu diễn và được thực hiện như thế

nào

Trang 10

- Một ưu điểm đáng kể nữa là CSDL được mở rộng sang một

lĩnh vực không hề biết bằng RDMS Y học, đa phương tiện và vật lý

cao năng lượng (high-energy) và một số ngành công nghiệp mới đều

dựa vào CSDL hướng đối tượng

Tuy vậy, mô hình hướng đối tượng cũng gặp phải những hạn chế

nhất định Một trong những hạn chế đó là thiếu một mô hình dữ liệu

chung Điều đó có nghĩa là không có một mô hình dữ liệu chuẩn tại

thời điểm hiện tại, dẫn đến những khó khăn khi triển khai xây dựng

các hệ quản trị CSDL hướng đối tượng

1.4 Mô hình đối tượng – quan hệ

Mô hình đối tượng quan hệ (object-relational) là kết quả của việc

tích hợp mô hình hướng đối tượng vào mô hình quan hệ, hay nói cách

khác đó là “việc mở rộng mô hình quan hệ với những chức năng cần

thiết nhằm hỗ trợ một lớp lớn các chương trình, là cầu nối giữa mô

hình quan hệ và mô hình hướng đối tượng”

Hệ quản trị CSDL đối tượng – quan hệ (ORDBMS) có thể quản

lý các kiểu dữ liệu mới như audio, video, ảnh mà CSDL quan hệ

không có khả năng để quản lý Hơn nữa, đây là kết quả của việc sử

dụng của ngôn ngữ lập trình hướng đối tượng và những điểm không

tương xứng giữa những phần mềm đó với những phần mềm quản trị

CSDL quan hệ

Mô hình đối tượng – quan hệ giữ lại các đặc trưng cơ bản của

mô hình quan hệ và đưa vào các khái niệm:

- Kiểu dữ liệu của người dùng: cho phép định nghĩa các kiểu dữ

liệu mới kết hợp phép toán (như list, stack, queue, tree) - các kiểu dữ

liệu trừu tượng (gồm hai phần: mô tả và phép toán)

- Hỗ trợ các thuộc tính đa trị, phức hợp (nên CSDL không phải

là ở dạng 1NF)

- Đưa vào khái niệm định danh đối tượng (OID): tham chiếu theo

con trỏ

- Đưa vào khái niệm thừa kế kiểu

- Đưa vào khái niệm thừa kế bảng

Ưu điểm của ORDBMS: thứ nhất, cho phép tiếp tục sử dụng các

hệ thống sẵn có mà không phải thay đổi nhiều Thứ hai, cho phép

người sử dụng và lập trình viên sử đồng thời sử dụng các hệ thống

hướng đối tượng

Tuy nhiên, khi triển khai một hệ quản trị CSDL đối tượng – quan

hệ gặp một số trở ngại Thứ nhất là về phương thức lưu trữ và truy

cập Thứ hai là quá trình truy vấn và thứ ba là việc tối ưu hoá các câu

truy vấn đó

Nhiều nhà cung cấp phần mềm quản trị CSDL đã mở rộng các hệ

thống của họ để có khả năng lưu trữ các kiểu dữ liệu mới như ảnh, văn

Trang 11

bản và có khả năng thực hiện được những câu truy vấn phức tạp.

Trong đó phải kể đến các phần mềm của Baan, Oracle, SAP, và

Siebel Chương trình của các hãng này cho phép thực hiện các thao tác

phức tạp như trên

Quan trọng hơn, các hệ quản trị CSDL này có những chức năng

hỗ trợ cho Internte và Web Dữ liệu được lưu trữ và có thể truy cập

thông qua trình duyệt Web (các câu truy vấn được người dùng tạo

thông qua các form trên trang Web, kết quả trả về được định dạng

bằng ngôn ngữ mark-up nào đó, như HTML)

Bài viết này giới thiệu hai hệ quản trị CSDL đối tượng – quan hệ

là Informix Universal Server và Oracle 8 Đồng thời cũng giới thiệu

về ngôn ngữ SQL3 (phiên bản tiếp theo của SQL2) với những chức

năng hỗ trợ CSDL hướng đối tượng và các kiểu dữ liệu mở rộng

2 Hệ quản trị Informix Universal Server

Informix Universal Server là hệ quản trị cơ sở dữ liệu đối tượng

– quan hệ (ORDBMS) được tổ hợp từ công nghệ CSDL quan hệ và

CSDL hướng đối tượng (tương ứng với hai hệ quản trị Informix và

Illustra) Hệ thống này được phát triển từ hệ quản trị POSTGERES, đó

là dự án nghiên cứu của ĐH California ở Berkeley và đã được thương

mại hoá với tên gọi hệ quản trị CSDL Montage rồi được đổi tên thành

Miro trước khi tiếp tục được đổi tên thành Illustra Illustra sau đó

được Informix mua lại và tích hợp vào hệ quản trị CSDL quan hệ đã

có tạo thành hệ quản trị mới – hệ quản trị CSDL đối tượng – quan hệ

Informix Universal Server

Nhưng tại sao hệ quản trị CSDL đối tượng – quan hệ

(ORDBMS) lại vượt lên những hệ quản trị khác? Ta xem xét mô hình

sau: Chia các hệ quản trị CSDL thành các lớp theo 2 chiều, (1) chiều

X là độ phức tap dữ liệu, (2) chiều Y là độ phức tạp truy vấn Trong

không gian {0,1} ta có các trường hợp sau:

TH1: (X=0, Y=0): Dữ liệu đơn giản, truy vấn đơn giản

TH2: (X=0, Y=1): Dữ liệu đơn giản, truy vấn phức tạp

TH3: (X=1, Y=0): Dữ liệu phức tạp, truy vấn đơn giản

TH4: (X=1, Y=1): Dữ liệu phức tạp, truy vấn phức tạp

Các hệ quản trị CSDL quan hệ thuộc về TH2, mặc dù có những

truy vấn và cập nhật phức tạp (như tiến trình giao tác – transaction),

nhưng chỉ có các dữ liệu đơn giản như các dòng trong bảng Nhiều hệ

quản trị CSDL hướng đối tượng thuộc về TH3, các hệ quản trị này có

khả năng lưu trữ các dữ liệu phức tạp nhưng chỉ có các truy vấn đơn

giản (chủ yếu dựa trên việc dịch chuyển) Để đồng thời hỗ trợ cả dữ

liệu phức tạp và truy vấn phức tạp thì các hệ quản trị CSDL quan hệ

cần hỗ trợ thêm các đối tượng dữ liệu phức tạp, còn các hệ quản trị

CSDL hướng đối tượng cần hỗ trợ thêm các truy vấn phức tạp, như

ngôn ngữ truy vấn mức cao OQL (đã trình bày trong chương trước)

Trang 12

Hệ quản trị CSDL Informix Universal Server thuộc TH4 bởi hệ quản

trị này mở rộng mô hình quan hệ với các chức năng của mô hình

hướng đối tượng

Một số hệ quản trị CSDL đối tượng – quan hệ khác cũng được

phát triển từ hệ quản trị CSDL quan hệ như Oracle 8 của Oracle

Corporation, Universal DB (UDB) của IBM, Odapter của Hewlett

Packard (HP) (bản mở rộng của hệ quản trị Oracle), và Open ODB

của HP (mở rộng từ hệ quản trị Allbase/SQL của HP) Các hệ quản trị

này vừa đảm nhận nhiệm vụ của hệ quản trị CSDL quan hệ, đồng thời

lại có những chức năng bổ sung hỗ trợ CSDL hướng đối tượng Một

hệ quản trị khác là UniSQL của UniSQL Inc hệ quản trị này được

thiết kế nhằm quản trị CSDL hướng đối tượng

Informix Universal Server đã mở rộng mô hình dữ liệu quan hệ

từ hệ quản trị Illustra thể hiện trong các mục sau:

- Hỗ trợ các kiểu dữ liệu có thể mở rộng và thêm vào một số kiểu

dữ liệu

- Hỗ trợ các định nghĩa của người dùng (hàm, thủ tục)

- Hỗ trợ hoàn toàn tính kế thừa

- Hỗ trợ chỉ mục mở rộng

- Data Blades Application Programming Interface (API)

2.1 Các kiểu dữ liệu có thể mở rộng

Informix Universal Server gồm các thành phần quản trị CSDL

cơ bản và các module Data Blade Informix Universal Server hỗ trợ

các kiểu dữ liệu đặc biệt, trong đó có các đối tượng hình học hai

chiều (như điểm, đường thẳng, đường tròn và elip), ảnh, thời gian, văn

bản và trang web Hệ quản trị này cũng cho phép người dùng tự tạo

các kiểu dữ liệu riêng Ngoài các kiểu dữ liệu có sẵn, Informix

Universal Server còn đưa ra bốn khái niệm sau đây để giúp người

dùng định nghĩa các kiểu dữ liệu:

1 Opaque type

2 Distinct type

3 Row type

4 Collection type

Mỗi khi tạo

3 Đối tượng – quan hệ trong Oracle 8

4 SQL3

5 Vấn đề cài đặt trong các hệ cơ sở dữ liệu

6 Mô hình dữ liệu quan hệ lồng nhau

Ngày đăng: 12/11/2022, 23:36

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w