1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tìm hiểu hệ quản trị sơ sở dữ liệu hướng đối tượng objectivity và xây dựng ứng dụng

115 37 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

Định dạng
Số trang 115
Dung lượng 2,18 MB

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

Nội dung

Trong việc thực hiện phân tích, thiết kế hệ thống theo cách tiếp cận hướng đối tượng thì trước hết phải nắm các khái niệm cơ sở như đối tượng, lớp, và các quan hệ giữa các lớp, cũng như

Trang 1

-  -

NGUYỄN TẤN THUẬN

TÌM HIỂU HỆ QUẢN TRỊ SƠ SỞ DỮ LIỆU

HƯỚNG ĐỐI TƯỢNG OBJECTIVITY

VÀ XÂY DỰNG ỨNG DỤNG

LUẬN VĂN THẠC SỸ KỸ THUẬT

Đà Nẵng, 2006

Trang 2

NGUYỄN TẤN THUẬN

TÌM HIỂU HỆ QUẢN TRỊ SƠ SỞ DỮ LIỆU

HƯỚNG ĐỐI TƯỢNG OBJECTIVITY

VÀ XÂY DỰNG ỨNG DỤNG

Chuyên ngành : Khoa học Máy tính

Mã số : 60.48.01

LUẬN VĂN THẠC SỸ KỸ THUẬT

Người hướng dẫn khoa học:

PGS.TSKH : TRẦN QUỐC CHIẾN

Đà Nẵng, 2006

Trang 3

-LỜI CAM ĐOAN

Tôi xin cam đoan :

Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy PGS TSKH Trần Quốc Chiến

Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và trung thực tên tác giả, tên công trình, thời gian, địa điểm công bố

Mọi sao chép không hợp lệ, quy phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm

Tác giả

Nguyễn Tấn Thuận

Trang 4

DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ

OODBMS Orent object database manerger

system

Hê quản trị cơ sở dữ liệu hướng đối tượng

SQL++ Struster Query Language Orient

SQL Struster Query Language Ngôn ngữ vấn tin có cấu trúc

ODMG Object Database Management Quản trị cơ sở dữ liệu đối tượng

UML Unified Modeling Language Ngôn ngữ mô hình hoá

CIM Computer Integrated anufacturing

API Application programming interface Giao diện lập trình ứng dụng

ADT Associative Design Technology

Trang 5

DANH MỤC CÁC HÌNH VẼ

Hình 1.1 Sự phát triển của cơ sở dữ liệu 7

Hình 1.2 Mô hình của cơ sở dữ liệu hướng đối tượng 7

Hình 1.3 Quan sát các phần của mô hình dữ liệu của sản phẩm 9

Hình 1.4 Một ví dụ các thuộc tính của đối tượng và phép toán 11

Hình 2.1 Mô tả giao diện của Objectivity/DB 40

Hình 2.2 Tương tác với SQL++ 64

Hình 2.3 Ứng dụng ODBC-compliant truy cấp đến Objectivity/DB 65

Hình 2.4 Ánh xạ logic của quan hệ cơ sở dữ liệu đối tượng 66

Hình 3.1 Biểu đồ trường hợp sử dụng bởi tác nhân sinh viên 78

Hình 3.2 Biểu đồ trường hợp sử dụng bởi tác nhân Giảng viên 79

Hình 3.3 Biểu đồ trường hợp sử dụng bởi tác nhân người quản lý đào tạo 80

Hình 3.4 Mô hình kết hợp 81

Hình 3.5 Mô hình quan niệm trong hệ thống QLĐTTC 81

Hình 3.6 Biểu đồ trình tự cho chức năng login hệ thống 82

Hình 3.7 Biểu đồ trình tự cho hoạt động đăng ký hệ thống 83

Hình 3.8 Biểu đồ trình tự cho hệ thống đăng ký môn học theo tín chỉ 84

Hình 3.9 Biểu đồ trình tụ của hệ thống đăng ký lớp học của sinh viên 85

Hình 3.10 Biểu đồ trình tự cho hệ thống cập nhật điểm sinh viên 87

Hình 3.11 Biểu đồ trình tự cho hệ thống tra cứu điểm qua mạng của sinh viên 88

Hình 3.12 Biểu đồ trình tự cho hệ thống cập nhật môn thi 89

Hình 3.13 Các lớp và phương thức 90

Hình 3.14 Biểu đồ thiết kế lớp với kết hợp 91

Hình 3.15 Biểu đồ triển khai của LAN quản lý đào tạo theo tín chỉ 92

Hình 3.16 Biểu đồ triển khai hệ thống quản lý đào tạo tín chỉ trên cơ sở Web 93

Hình 3.17 Cập nhật học phần 93

Hình 3.18 Cập nhật chương trình đào tạo cho ngành 94

Hình 3.19 Cập nhật kế hoạch đào tạo cho ngành 95

Hình 3.20 Hồ sơ sinh viên 96

Trang 6

Hình 3.21 Phân lớp học theo môn 97

Hình 3.22 Cập nhật điểm sinh viên theo lớp học 98

Hình 3.23 Đăng ký lớp học theo môn 99

Hình 3.24 Tra cứu điểm theo môn học 100

Hình 3.25 Bảng Điểm môn học 100

Trang 7

MỤC LỤC

LỜI CAM ĐOAN i

MỤC LỤC ii

DANH MỤC CÁC HÌNH VẼ iii

DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ iv

MỞ ĐẦU 1

CHƯƠNG 1 6

TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 6

HƯỚNG ĐỐI TƯỢNG (OODBMS) 6

1.1 Giới thiệu 6

1.2 Tổng quan về Công nghệ OODBMS 7

1.2.1 Sự cần thiết của hệ quản trị cơ sở dữ liệu hướng đối tượng 7

1.2.2 Sự phát triển của Cơ sở dữ liệu hướng đối tượng 8

1.2.3 Đặc trưng hệ quản trị cơ sở dữ liệu hướng đối tượng 9

1.2.4 Ứng dụng của OODMBS 11

1.2.5 Ứng dụng thực tiễn của OODMBS 13

1.3 Tiêu chuẩn để đánh giá 13

CHƯƠNG 2 41

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG OBJECTIVITY 41 2.1 Giới thiệu về Objectivity 41

2.2 Sự đánh giá về Objectivity/DB 42

2.3 Chủ đề nâng cao 52

2.3.1 Giao tác và mô hình hợp nhất 52

2.3.2 Các quan hệ và tham chiếu toàn vẹn 55

2.3.3 Các đối tượng phức hợp 57

2.3.4 Địa chỉ trong suốt 58

2.3.5 Phiên bảng đối tượng 59

2.3.6 Hỗ trợ nhóm làm việc 61

2.3.7 Sự thay đổi của lược đồ 62

2.4 Ngôn ngữ vấn tin hướng đối tượng SQL++ 65

2.4.1 Objectivity/SQL++ là gì ? 65

2.4.2 Các vấn đề về Objectivity/SQL++ 65

CHƯƠNG 3 76

XÂY DỰNG ỨNG DỤNG PHÂN TÍCH VÀ THIẾT KẾ HỆ THÔNG

THÔNG TIN QUẢN LÝ ĐÀO TẠO THEO TÍN CHỈ QUA MẠNG 76

3.1 Giới thiệu 76

Trang 8

3.1.1 Đặc trưng của hệ thống đào tạo theo tín chỉ 76

3.1.2 Mục tiêu, ý nghĩa của HTTC 77

3.2 Xây dựng hệ thống 78

3.2.1 Phân tích yêu cầu 78

3.2.2 Trường hợp sử dụng và biểu đồ trường hợp sử dụng 79

3.2.3 Mô hình quan niệm 83

3.2.4 Thiết kế hệ thống 85

3.2.4.1 Biểu đồ trình tự 85

3.2.4.2 Biểu đồ lớp thiết kế 92

3.2.4.3 Biểu đồ triển khai 93

3.3 Giao diện hệ thống và mô tả chức năng 94

3.3.1 Quản lý đào tạo 94

3.3.1.1 Giao diện cập nhật học phần 94

3.3.1.2 Giao diện cập nhật chương trình đào tạo 95

3.3.1.3 Giao diện cập nhật kế hoạch cho ngành 96

3.3.1.4 Hồ sơ sinh viên 97

3.3.1.5 Giao diện phân lớp học theo môn học 98

3.3.1.6 Giao diện cập nhật điểm sinh viên theo lớp học 99

3.3.2 Sinh viên 100

3.3.2.1 Giao diện đăng ký lớp học theo môn 100

3.3.2.2 Giao diện tra cứu điểm theo môn học 101

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 102

TÀI LIỆU THAM KHẢO 104

Trang 9

MỞ ĐẦU

1 Lý do chọn đề tài

Cùng với sự phát triển ngày một đa dạng và phức tạp của các hệ thống quản

lý trong thực tế Nhiệm vụ mới của công nghệ thông tin là phải luôn đổi mới, tìm ra các mô hình, phương pháp, công cụ thích hợp để đáp ứng những đòi hỏi của thực tế

đó Các hệ thống phần mềm xây dựng theo cách tiếp cận theo hệ quản trị cơ sở hướng đối tượng thay cho hướng truyền thống trước đây tỏ ra cách phù hợp với cách quan sát và quan niệm của chúng ta về thế giới xung quanh và tạo ra những công cụ mới, hữu hiệu để tạo ra hệ thống dễ thay đổi theo nhu cầu của người sử dụng và đáp ứng các tiêu chuẩn phần mềm chất lượng cao theo yêu cầu của nền công nghệ thông tin hiện đại

Đối với những hệ thống quản lý thông tin lớn và số lượng người truy cập vào

hệ thống ngày càng nhiều không còn phù hợp với các hệ quản trị cở sở dữ liệu quan

hệ truyền thống mà thay vào đó là hệ quản trị cở sở dữ liệu hướng đối tượng nhằm đảm bảo khả năng lưu trữ cũng như số lượng kết nối

Sau một thời gian nghiên cứu tài liệu liên quan đến hệ quản trị cơ sở dữ liệu hướng đối tượng, được sự đồng ý, động viên của cán bộ hướng dẫn, tôi đã chọn đề

tài “Tìm hiểu hệ quản trị cơ sở dữ liệu hướng đối tượng Objectivity và xây dựng

ứng dụng” làm đề tài nghiên cứu cho luận văn cao học của mình

2 Mục tiêu và nhiệm vụ

Trong việc thực hiện phân tích, thiết kế hệ thống theo cách tiếp cận hướng đối tượng thì trước hết phải nắm các khái niệm cơ sở như đối tượng, lớp, và các quan hệ giữa các lớp, cũng như việc định nghĩa một đối tượng, thuộc tính quan hệ,.vv

Trong cơ sở dữ liệu hướng đối tượng (CSDLHĐT) nghiên cứu các cách tổ chức lưu trữ, các thao tác dữ liệu.vv… trong Objectivity Trên cơ sở đó xây dựng ứng dụng CSDL HĐT với Objectivity

Luận văn tập trung vào việc khai thác và ứng dụng của hệ quản trị cơ sở dữ liệu hướng đối tượng Objectivity vào thực tiễn, từ đó xây dựng mô hình và triển khai thực nghiệm, phân tích và đánh giá kết quả trong thực tiễn

Trang 10

3 Đối tượng và phạm vi nghiên cứu

Với hệ quản trị cơ sở dữ liệu hướng đối tượng có nhiều vấn đề có liên quan cần tìm hiểu như ứng dụng UML vào Objectivity và các ngôn ngữ lập trình hướng đối tượng, ngôn ngữ vấn tin hướng đối tượng SQL++ Trong luận văn chỉ tập trung tìm hiểu về hệ quản trị cơ sở dữ liệu hướng đối tượng nói chung và lấy cơ sở dữ liệu hướng đối tượng Objectivity và ngôn ngữ vấn tin hướng đối tượng SQL++ làm

đề tài nghiên cứu cho luận văn này

4 Giả thuyết nghiên cứu

- Lý thuyết hệ quản trị cơ sở dữ liệu hướng Objectivity

- Lý thuyết về ngôn ngữ vấn tin hướng đối tượng Objectivity đó là SQL++

Để ứng dụng được chạy tốt, với các giả thuyết như sau

- Hệ quản trị cơ sở dữ liệu hướng đối tượng Objectivity được cài đặt trên Server của mạng LAN có kết nối với Inetrnet

- Sinh viên sử dụng được hệ thống quản lý đào tạo theo tín chỉ để ghi danh lớp học

- Bộ phận quản lý đào tạo và giáo viên có thể thực hiện tạo lớp học, nhập điểm, xây dựng đề cương môn học cho một lớp học nào đó trên hệ thống quản lý đào tạo theo tín chỉ qua mạng

5 Phương pháp nghiên cứu

Trong luận văn sử dụng phương pháp nghiên cứu các tư liệu đã xuất bản, sưu tập tư liệu trên mạng và tổng hợp tư liệu kết hợp với triển khai thực nghiệm Trên

cơ sở nghiên cứu lý thuyết cơ bản về hệ quản trị cơ sở dữ liệu hướng đối tượng, tìm hiểu cụ thể Objectivity và ngôn ngữ vấn tin đối tượng SQL++, cho phép tiến hành thực nghiệm xây dựng một ứng dụng nhỏ để có thể vận dụng được phần lý thuyết

Trang 11

Về mặt thực tiễn:

Đề tài khai thác khả năng lưu trữ, truy xuất dữ liệu của hệ quản trị cơ sở dữ liệu hướng đối tượng Objectivity Từ đó ta có thể ứng dụng để xây dựng hệ thống quản lý thông tin đào tạo tín chỉ qua mạng tại trường ĐHDL Duy Tân

Phần nội dung :

Chương 1 : Tổng quan về hệ quản trị cơ sở dữ liệu hướng đối tượng

(OODBS)

Chương 2 : Hệ quản trị cơ sở dữ liệu hướng đối tượng Objectivity

Chương 3 : Xây dựng ứng dụng (Xây dựng hệ thống quản lý đào tạo theo tín chỉ qua mạng)

Kết luận và hướng phát triển: trình bày đánh giá các kết quả đạt được, những vấn đề còn hạn chế từ đó đề xuất hướng nghiên cứu tiếp theo của đề tài

Trang 12

sở dữ liệu hướng đối tượng cho việc triển khai ứng dụng của bạn Đề tài có thể được xem như là một sự giới thiệu về công nghệ cơ sở dữ liệu hướng đối tượng Ngoài ra các thông tin chuyên sâu hơn có thể tìm thấy trong các sách tham khảo và các bái báo chuyên đề liên quan Để đánh giá một hệ thống cơ sở dữ liệu hướng đối tượng

Tính năng cơ sở dữ liệu hướng đối tượng bao gồm các tính năng cơ bản của

hệ cơ sở dữ liệu như khả năng điều khiển đồng thời và khả năng phục hồi cùng các đặc tính khác của một hệ cơ sở dữ liệu hướng đối tượng như tính thừa kế và xác định phiên bản

Sự tiện lợi là cần thiết cho quá trình phát triển và bảo trì ứng dụng Vấn đề này bao gồm các công cụ dùng cho việc phát triển và mức độ dễ dàng để phát triển

và bảo trì một ứng dụng sử dụng cơ sở dữ liệu

Những vấn đề khác cần xem xét là vấn đề quản trị hệ cơ sở dữ liệu, tính thuần thục của sản phẩm, và sự hỗ trợ của nhà sản xuất Một sự đánh giá quan trọng nhưng dễ nhất là hệ nền Chúng ta cần xem xét hệ thống cơ sở dữ liệu hướng đối tượng có hay không tương thích với hệ thống phần cứng và hệ điều hành

Trang 13

Một tiêu chuẩn tốt phải xem xét các yếu tố như số tương tác với người sử dụng, tốc độ truy cập và cập nhật dữ liệu, kích thước của hệ cơ sở dữ liệu, cấu hình phần cứng và mạng, cùng với các mô hình truy cập chung của một ứng dụng cơ sở

dữ liệu

Đề tài này là kết quả của quá trình nghiên cứu đánh giá tình trạng hiện thời của sản phẩm OODBMS Người đọc có thể dùng đề tài như là điểm khởi đầu cho tiến trình đánh giá dẫn đến việc lựa chọn một hệ thống cơ sở dữ liệu hướng đối tượng cho ứng dụng riêng của mình hoặc cho công việc phát triển hệ thống

Phần tiếp theo của đề tài được chia thành các phần:

 Tổng quan về công nghệ OODBMS, thảo luận các tiến đề của việc xuất hiện OODBMS và các lĩnh vực ứng dụng vốn được mong đợi sẽ mang lại rất nhiều lợi nhuận

 Tiêu chuẩn đánh giá, là thảo luận chi tiết của các chi tiết đánh giá dành cho OODBMS Phần này tập trung cho vấn đề liên quan đến tính năng và tính tiện lợi Phần nầy cung cấp cho người đọc các kiến thức chuyên sâu về công nghệ OODBMS

1.2 Tổng quan về Công nghệ OODBMS

1.2.1 Sự cần thiết của hệ quản trị cơ sở dữ liệu hướng đối tượng

Chúng ta cần nhấn mạnh rằng mô hình xử lý kết hợp là động lực cho sự phát triển của hệ thống cơ sở dữ liệu hướng đối tượng Ví dụ, lĩnh vực Computer Integrated Manufacturing (CIM) chủ yếu ứng dụng cơ sở dữ liệu hướng đối tượng như một nền cho việc xử lý kết hợp Các hệ thống tự động của các văn phòng cao cấp dùng cho cơ sở dữ liệu hướng đối tượng.Chúng ta cần nhấn mạnh rằng mô hình

xử lý kết hợp là động lực OODBMS cho việc xử lý các dữ liệu hypermedia Trong các hệ thống chăm sóc bệnh nhân tại bệnh viện dùng cơ sở dữ liệu hướng đối tượng

để công việc dễ dàng hơn Tất cả các ứng dụng đều có đặc tính là quản lý phức tạp, các thông tin có tính quan hệ cao, đây là các điểm mạnh của cơ sở dữ liệu hướng đối tượng

Rõ ràng, các hệ thống cơ sở dữ liệu quan hệ đã thất bại khi xử lý các hệ thống thông tin phức tạp Vấn đề của hệ thống cơ sở dữ liệu quan hệ là nó yêu cầu

Trang 14

các nhà phát triển ứng dụng phải đảm bảo tổ chức thông tin trong các bảng, trong

đó các mối quan hệ giữa các thực thể là dữ trên giá trị Mary Loomis, người đưa ra

mô hình OODBMS Versant so sánh cơ sở dữ liệu quan hệ và cơ sở dữ liệu hướng đối tượng như sau “Công việc thiết kế cơ sở dữ liệu quan hệ thật ra là một quá trình

cố gắng hình dung làm thế nào biểu diễn các đối tượng trong thế giới thực bằng các bảng để có thể đem lại các kết quả thực thi tốt và đảm bảo tính toàn vẹn dữ liệu Việc thiết kế cơ sở dữ liệu hướng đối tượng thì khác Với hầu hết các phần của toàn

bộ tiến trình thiết kế ứng dụng, thì công việc thiết cơ sở dữ liệu hướng đối tượng là phần cơ sở Những lớp đối tượng dùng bởi ngôn ngữ lập trình là được dùng bởi OODBMS Bởi vì những mô hình này là giống nhau nên không cần phải chuyển đổi các chương trình theo mô hình hướng đối tượng sang các chuẩn riêng dành cho việc quản lý dữ liệu.”

1.2.2 Sự phát triển của Cơ sở dữ liệu hướng đối tượng

Công việc nghiên cứu và và ứng dụng cơ sở dữ liệu hướng đối tượng là bắt đầu vào cuối những năm 1970 [28] ,và trở thành một lĩnh vực nghiên cứu quan trọng trong những năm đầu 1980 với sự ra đời của sản phẩm thương mại đầu tiên vào những năm cuối 1980 Ngày nay, rất nhiều công ty kinh doanh cơ sở dữ liệu hướng đối tượng như là một sản phẩm thế hệ thứ 2

OODBMS tự chúng đã được thiết lập trong các lĩnh vực thích hợp như thương mại điện tử, quản lý dữ liệu của các sản phẩm kỹ thuật, và cơ sở dữ liệu có mục đích đặc biệt trong lĩnh vự như an ninh và y khoa

Con đường phát triển của hệ cơ sở dữ liệu hướng đối tượng là tương tự như cơ sở dữ liệu quan hệ Hình 1.1 mô tả sự phát triển của cơ sở dữ liệu hướng đối tượng

Một nguyên tắc chung cho việc đánh giá sự hoàn thiện của cơ sở dữ liệu là mức độ đáp ứng các lệnh mức cao người sử dụng gởi đến OODBMS của các hàm như tối ưu hoá truy cập, tính toàn vẹn dữ liêu, khả năng di chuyển các mô hình và

cơ sở dữ liệu, lưu trữ, sao lưu và phục hồi Ngày nay, hầu hết các sản phẩm hệ cơ sở

dữ liệu hướng đối tượng đều yêu cầu nhà phát triển ứng dụng phải viết mã để xử lý các hàm này

Trang 15

1.2.3 Đặc trưng hệ quản trị cơ sở dữ liệu hướng đối tượng

Công nghệ của cơ sở dữ liệu hướng đối tượng là sự kết hợp của lập trình hướng đối tượng và công nghệ cơ sở dữ liệu Hình 1.2 mô tả làm thế nào những khái niệm của lập trình và cơ sở dữ liệu có thể kết hợp với nhau để cung cấp cho chúng ta cái gọi là cơ sở dữ liệu hướng đối tượng

Tính dễ dùng và tính năng cơ sở dữ liệu tăng dần

Cơ sở dữ liệu với

mô hình xác định ngữ nghĩa dữ liệu mức cao

Hình 1.1 : Sự phát triển của có sở dữ liệu hướng đối tượng

Hình 1.2 Mô hình của cơ sở dữ liệu hướng đối tượng

Công nghệ của cơ sở dữ liệu hướng đối tượng là sự kết hợp

của lập trình hướng đối tượng và công nghệ cơ sở dữ liệu

Xác định phiên bản

Giao dịch

Tồn tại

Song song

Truy vấn Phục hồi Lưu trữ

Trang 16

Các điểm mạnh khác của mô hình hướng đối tượng là khá nổi tiếng Ví dụ, khả năng thừa kế cho phép chúng ta phát triển các giải pháp cho các vấn đề phức tạp hơn nhờ việc định định nghĩa đối tượng mới dựa trên các khái niệm của đối tượng đã được định nghĩa Tính đa hình và ánh xạ động cho phép chúng ta định nghĩa các phép toán cho một đối tượng và sau đó chia sẻ các đặc tả cho các phép toán của một đối tượng khác Các đối tượng này còn có thể mở rộng hơn nữa các phép toán này để cung cấp các đặc tính riêng của đối tượng Ánh xạ động được thực thi lúc chạy, là lúc mà các phép toán thật sự được thực thi, phụ thuộc vào lớp của đối tượng yêu cầu mà thực thi phép toán Đa hình là ánh xạ động là các đặc tính mạnh mẽ của hướng đối tượng, cho phép chúng ta tạo ra các đối tượng cung cấp cho các giải pháp mà không phải viết mã cho mỗi đối tượng Tất cả các khả năng này kết hợp với nhau để cung cấp nhiều tính năng thuận lợi đáng kể cho việc phát triển ứng dụng cơ sở dữ liệu

Một điểm khác nhau chủ yếu giữa cơ sở dữ liệu hướng đối tượng và cơ sở dữ liệu quan hệ là cơ sở dữ liệu hướng đối tượng biểu diễn các mối quan hệ rõ ràng, hỗ trợ truy cập điều hướng và kết hợp đến thông tin Khi độ phức tạp của các mối quan

hệ gữa các thông tin bên trong cơ sở dữ liệu, thì càng thấy rõ tính thuận lợi của việc biểu diễn các mối quan hệ rõ ràng Một thuận lợi của việc biểu diễn các mối quan

hệ rõ ràng nữa là cải thiện sự thực thi truy cập dữ liệu trên các mối quan hệ kết hợp với dữ liệu Một đặc tính của đối tượng là chúng được định nghĩa độc lập với trạng thái của đối tượng Ví dụ, chúng ta có một đối tượng là ôtô, và chúng ta sửa đổi nó,

và thay đổi các đặc tính của nó như bộ máy, bộ chuyển động, các trang trí sao cho chúng ta thấy hoàn toàn khác nhưng nó vẫn được xem là đối tượng ôtô truyền thống Trong cơ sở dữ liệu hướng đối tượng chúng ta luôn luôn đặc câu hỏi là xem

có phải đối tượng này giống đối tượng chúng ta đã có trước đó hay không, giả sử rằng mỗi đối tượng có một định danh Định danh của đối tượng cho phép đối tượng được kết hợp với nhau để chia sẻ trên các mạng tính toán phân tán

Tất cả các thuận lợi của các ứng dụng cơ sở dữ liệu hướng đối tượng trong các vấn đề quản lý thông tin được đặc tả bởi khả năng quản lý :

 Một số lớn các kiểu dữ liệu khác nhau

Trang 17

 Một lượng lớn các mối quan hệ giữa các đối tượng

 Định nghĩa đối tượng

 Định nghĩa trạng thái của đối tượng

 Định nghĩa các mối quan hệ của đối tượng

 Định nghĩa các mối quan hệ giữa các đối tượng

 Phân loại đối tượng

Hình 1.3 mô tả một mô hình dữ liệu của 1 đối tượng, và sự phân tích nó thành các phần Những phần này có thể được phân tích thành các phần nhỏ hơn Những sự kết hợp là các mối quan hệ (trong ví dụ là quan hệ 2 chiều) của các đối tượng Trong cơ sở dữ liệu hướng đối tượng thì các mối quan hệ giữa các đối tượng

Product

Product part of Product parts Part of

Part isa isa Parts

Custom Part Stock Part Inherits from

Association

Hình 1.3: Quan sát các phần của mô hình dữ liệu của sản phẩm

Trang 18

được duy trì nhờ vào một số định danh duy nhất, điều này có nghĩa là đối tượng có thể thay đổi thuộc tính của nó nhưng không ảnh hưởng đến các mối quan hệ Một điểm khác nhau cơ bản giữa cơ sở dữ liệu hướng đối tượng và ngôn ngữ lập trình hướng đối tượng như C++, là cơ sở dữ liệu thường cung cấp các yếu tố cơ bản ở mức cao cho việc định nghĩa các mối quan hệ và đối tượng Thông thường việc cài đặt các mối quan hệ được quản lý bởi OODMBS để đảm bảo tính toàn vẹn Ngoài

ra, OODMBS còn cho phép định nghĩa các yếu tố quan hệ và các ràng buộc trên các đối tượng.Một tập phong phú các ngữ nghĩa sẽ thích hợp cho việc quản lý phức tạp

và thông tin quan hệ với nhau ở mức cao

Một mô hình dữ liệu hướng đối tượng cũng định nghĩa các thuộc tính và phép toán cho mỗi đối tượng như được chỉ ra trong hình 1.4

Trong ví dụ của chúng ta thì phần Custom Part và Stock Part thừa kế từ Part

Đối tượng Custom Part định nghĩa thêm các thuộc tính và cài chồng phép toán Total_cost Một trong những thuận lợi đáng kể của tính thừa kế là khả năng cho phép tạo ra các đối tượng bằng cách tổng hợp các đặc tính và phép toán chung của đối tượng tượng và sau đó, dùng thừa kế để chia sẻ các thuộc tính chung.Khi thêm các đối tượng, mối quan hệ, và các phép toán thì thừa kế cho phép giảm tính phức tạp trong việc định nghĩa và quản lý các thông tin

Hình 1.4 Một ví dụ các thuộc tính của đối tượng và phép toán

Part Part Nr: Float Part Name: Sring Part Cost: Float Weight: Float

Total_cost

Total_weigt

h

Custom Part Design cost: Float Tooling cost: Float Sock Part Total_cost

isa isa

Trang 19

1.2.5 Ứng dụng thực tiễn của OODMBS

Một người cần xem xét giới hạn của các vấn đề khi xem cơ sở dữ liệu hướng đối tượng như là một giải pháp quản lý thông tin Những vấn đề này bao gồm : mô hình đối tượng, các công cụ mô hình dữ liệu, các công cụ dùng cho việc phát triển

và thiết kế hệ thống, công cụ gỡ rối và kiểm tra, công cụ khởi động và giảm sát, và các công cụ bảo dưỡng cơ sở dữ liệu Một ứng dụng cơ sở dữ liệu, cũng như các phần mềm khác, cũng yêu cầu có một vòng đời và tập các công cụ hỗ trợ cho vòng đời đó Phần dưới đây mô tả các khả năng cần thiết cho lĩnh vực này

Đầu tiên chung ta phải xấy dựng mô hình đối tượng của các vấn đề thông tin được giải quyết bởi cơ sở dữ liệu Với cơ sở dữ liệu hướng đối tượng hiện nay, thì

có nhiều tính năng phong phú trong mô hình khác nhau của các sản phẩm Ví dụ, các mối quan hệ trong một số cơ sở dữ liệu là được hỗ trợ bởi việc sử dụng các tính năng ở mức cao cho phép người dùng định nghĩa các thuộc tính tự duy trì của các mối quan hệ Trong các cơ sở dữ liệu khác thì người sử dụng phải đặt chương trình cho các ngữ nghĩa một cách rõ ràng Khi một người thu hồi lại một quan hệ thì các đối tượng liên quan cũng bị xoá Một ví dụ khác rõ rằng hơn về ngữ nghĩa của cơ sở

dữ liệu bao gồm yếu tố ràng buộc trên các mối quan hệ, các rằng buộc trên giá trị thuộc tính, tính duy nhất của các thuộc tính giá trị, giá trị mặc định và khởi tạo, phiên bản đối tượng, các đối tượng kết hợp Tất cả các vấn đề của mô hình dữ liệu tác động đến mức độ dễ dàng khi một người định nghĩa mô hình dữ liệu của họ bằng các công cụ của các nhà cung cấp.Một thuận lợi khác là tập phong phú các tính năng của các mô hình dữ liệu sẽ làm giảm bớt công việc khi thiết kế ứng dụng

cơ sở dữ liệu

1.3 Tiêu chuẩn để đánh giá

Phần này thảo luận một cách chi tiết về các tiêu chuẩn đánh giá có thể được xem xét khi đánh giá OODBMS Những tiêu chuẩn này dược chia làm 3 loại :

 Tính năng

 Vấn đề phát triển ứng dụng

 Các tiêu chuẩn khác

Trang 20

Tính năng, định nghĩa các tiêu chuẩn đánh giá dựa trên các chức năng mà OODBMS có thể cung cấp Trong phần này bao gồm các phần nhỏ như Mô hình cơ

sở dữ liệu hướng đối tượng cơ bản, Các chủ đề về cơ sở dữ liệu hướng đối tượng nâng cao, Kiến trúc cơ sở dữ liệu, Chức năng của hệ cơ sở dữ liệu, Giao diện lập trình ứng dụng, và truy vấn hệ cơ sở dữ liệu OODBMS Các chủ đề thảo luận trong

Mô hình cơ sở dữ liệu hướng đối tượng cơ bản là các chức năng được mong đợi trong hầu hết các sản phẩm cơ sở dữ liệu, chẳng hạn như khả năng định nghĩa các đối tượng phức tạp dùng lớp, thuộc tính và hành vi Thật ra, các chủ đề này là các đặc tính hướng đối tượng tìm thấy trong hầu hết các công nghệ hướng đối tượng (như ngôn ngữ, phương pháp thiết kế) Các chủ đề nâng cao của cơ sở dữ liệu hướng đối tượng mô tả các chức năng phần nào đó mang tính duy nhất của cơ sở dữ liệu hướng đối tượng Chúng ta mong đợi rằng các sản phẩm cơ sở dữ liệu hướng đối tượng sẽ khác một cách đáng kể các lĩnh vực khác Phần tính năng cơ sở dữ liệu

mô tả các đặc tính phân biệt giữa cơ sở dữ liệu với trình quản lý lưu trữ (tức là các khả năng điều khiển song song và phục hồi)

Các vấn đề phát triển ứng dụng, xem xét các vấn đề liên quan đến việc phát triển các ứng dụng trên nền OODBMS

Các chuẩn khác định nghĩa các tiêu chuẩn đánh giá không liên quan đến tính năng cũng như việc phát triển Các vấn đề này liên quan đến nhà sản xuất với sản phẩm, hố trợ của nhà sản xuất, và người dùng đang sử dụng sản phẩm OODBMS

 Tính năng

Trong quá trình định nghĩa các tiêu chuẩn đánh giá cho các tính năng, chúng tôi cung cấp một cái nhìn tổng quan về các khả năng của OODBMS thường được tìm thấy trong các sản phẩm thương mại Danh sách các tính năng này thu được từ nhiều sách, báo cáo, và bài báo đã được đưa ra trong các buổi diễn thuyết trong vài năm qua

Phần này không những định nghĩa các tiêu chuẩn đánh giá các khả năng mà còn cung cấp một cách tổng quan ở mức cao của các khái niệm về DBMS và OODBMS

Trang 21

Các tiêu chuẩn đánh giá trong phần này được chia ra các loại sau:

 Mô hình hướng đối tượng cơ bản

 Chủ điểm nâng cao của cơ sở dữ liệu hướng đối tượng

 Kiến trúc của cơ sở dữ liệu

 Tính năng của cơ sở dữ liệu

 Giao diện lập trình ứng dụng

 Truy vấn OODBMS

A Mô hình cơ sở dữ liệu hướng đối tượng cơ bản

Tiêu chuẩn đánh giá trong phần này phân biệt cơ sở dữ liệu với cơ sở dữ liệu hướng đối tượng Các tiêu chuẩn đã chọn là được lấy từ các tài liệu [4], [15], và [27] Các chủ điểm trong phần này bao hàm các tính năng hướng đối tượng cơ bản thường được tìm thấy trong các công nghệ hướng đối tượng (như ngôn ngữ lập trình, phương pháp thiết kế)

 Định danh đối tượng

Cơ sở dữ liệu hướng đối tượng (và ngôn ngữ lập trình) cung cấp các khái niệm về định danh của đối tượng (OID) như là một định danh duy nhất riêng của đối tượng OIDs là do hệ thống phát sinh Một ứng dụng cơ sở dữ liệu không truy cập trực tiếp đến OID OID của đối tượng không thay đổi trong suốt quá trình thực thi của đối tượng OID không dựa trên giá trị lưu trữ trong đối tượng Điều này là khác với cơ sở dữ liệu quan hệ cái mà dùng khái niệm khoá chính để chỉ định các dòng riêng biệt Khoá chính là dựa trên giá trị lưu trữ trong chính dòng đó Khái niệm OID giúp cho dễ dàng hơn trong việc điều khiển lưu trữ đối tượng (không dựa trên giá trị) và xây dựng các liên kết giữa các đối tượng (OID không bao giờ thay

Trang 22

đổi) Đối tượng phức tạp thường tham chiếu đến đối tượng khác nhờ việc lưu trữ trực tiếp hoặc gián tiếp OID của đối tượng đó

Kích thước của OID có thể sẽ ảnh hưởng đáng kể đến kích thước của toàn bộ

cơ sở dữ liệu vì một số lượng lớn các tham chiếu thường được tìm thấy trong các ứng dụng hướng đối tượng

Khi một đối tượng bị xoá thì OID của nó có thể được dùng lại hoặc không Việc dùng lại OID này sẽ hạn chế sự thay đổi các OID, nhưng đưa đến một khả năng tiềm tàng về việc truy cập đối tượng không hợp lệ do việc tham chiếu treo Một tham chiếu treo xảy ra khi một đối tượng bị xoá nhưng một số đối tượng khác vẫn giữ lại OID của đối tượng bị xoá, thông thường các đối tượng này có quan hệ với nhau Đối tượng thứ 2 sau đó có thể dùng lại OID của đối tượng trước đó với kết quả không lường trước được OID này có thể được đánh dấu như là một OID không hợp lệ, hoặc có thể bị đăng ký lại Thông thường một OODBMS sẽ cung cấp một cơ chế giúp tránh các tham chiếu treo giữa các đối tượng (xem phần , Quan hệ

và Toàn vẹn dữ liệu)

 Lớp

Mô hình hướng đối tượng là dựa trên các lớp Một lớp định nghĩa các giá trị lưu trữ bởi đối tượng và các tính năng của đối tượng của lớp đó Một thuận lợi chính của mô hình dữ liệu hướng đối tượng là tính toàn vẹn kín của dữ liệu và hành

vi nhờ vào cơ cấu của lớp

Mỗi đối tượng chỉ thuộc về một lớp nhất định Một đối tượng thường được tham chiếu như là một thể hiện của một lớp Một đặc tả của lớp cung cấp một cái nhìn từ bên ngoài của thể hiện của đối tượng Một lớp có một quy mô (thường được gọi là sự mở rộng) Cài đặt của các phần mở rộng là có thể trong suốt với ứng dụng nhưng nó cung cấp các tính năng tối thiểu cho việc truy cập đến mỗi thể hiện của một lớp

Trong OODBMS thì một hàm dựng của lớp được dùng để định nghĩa sơ đồ

dữ liệu Một số OODBMS dùng khái niệm kiểu thay cho lớp Một sơ đồ OODBMS định nghĩa xem đối tượng nào được lưu trữ bên trong cơ sở dữ liệu

Trang 23

 Thuộc tính

Thuộc tính biểu diễn các thành phần dữ liệu tạo nên một lớp Trong ngôn ngữ lập trình C++ thì thuộc tính được gọi là các dữ liệu thành viên Các thuộc tính thể hiện là thành phần dữ liệu cái mà được lưu trữ trong thể hiện của lớp Thuộc tính lớp (thuộc tính tĩnh trong C++) là các thuộc tính chỉ được lưu trữ một lần chung cho tất cả các thể hiện của lớp Thuộc tính có thể hoặc không hiển thị với việc sử dụng bên ngoài lớp (Xem phần , Đóng gói, và độc lập dữ liệu)

Kiểu của thuộc tính là tập các kiểu hỗ trợ bởi ngôn ngữ lập trình làm giao diện của OODBMS Thông thường nó bao gồm danh sách các kiểu như kí tự, boolean, kiểu số như số nguyên và số thực, các mảng có chiều dài cố định chẳng hạn như chuỗi OODBMS có thể cho phép có các kiểu như mảng có chiều dài thay đổi, cấu trúc (bảng ghi) và lớp như là một kiểu thuôc tính

Con trỏ thường không là lựa chon tốt cho kiểu của đối tượng vì giá trị con trỏ không ổn định trong suốt quá trình thực thi ứng dụng

Một OODBMs sẽ cung cấp các kiểu thuộc tính hỗ trợ cho việc tham chiếu giữa các đối tượng (xem phần, Quan hệ và toàn vẹn dữ liệu) Ứng dụng hướng đối tượng có thể là đặc tả bởi mạng của các liên kết giữa các đối tượng Các liên kết giữa các đối tượng có thể được hỗ trợ bởi thuộc tính tham chiếu đến các đối tượng khác Các kiểu khác có thể được hỗ trợ bởi OODBMS là văn bản, đồ hoạ, và âm thanh Thường các kiểu dữ liệu này được xem như các đối tượng nhị phân lớn (BLOBS)

Thuộc tính gốc là các thuộc tính không được lưu trữ mà thay vì thế nó sẽ được tính toán tuỳ theo lệnh Các thuộc tính gốc yêu cầu thuộc tính truy cập có thể phân biệt với các hành vi yêu cầu (xem phần Độc lập dữ liệu)

 Hành vi

Hành vi đại diện cho các chức năng của các thành phần của lớp Một hành vi

mô tả làm thế nào thực thi các phép toán trên các thuộc tính của nó và làm thế nào

nó tương tác với các đối tươngj khác Hành vi được gọi là hàm thành viên trong ngôn ngữ lập trình C++ Hành vi ẩn sự cài đặt chi tiết đối với người sử dụng lớp (xem phần, đóng gói)

Trang 24

 Đóng gói

Lớp được gọi là đóng gói của thuộc tính và hành vi của các thể hiện của lớp Đóng gói hành vi nhằm ngăn chặn các khách của lớp (tức là các ứng dụng và đối tượng khác) nhìn thấy cài đặt bên trong của các hành vi của lớp Sự ngăn chặn này cung cấp một mức độ độc lập dữ liệu đến nỗi mà khách cần thay đổi khi cài đặt bên trong của hành vi thay đổi (khách sẽ thay đổi khi giao diện hành vi của lớp thay đổi)

Thuôc tính của lớp có thể đóng gói hoặc không đóng gói Các thuộc tính không đóng gói của lớp thí sẽ được truy cập trực tiếp bởi khách (khai báo vói từ khoá public trong C++) Việc thay đổi định danh của các thuôc tính không được đóng gói yêu cầu tất cả các lớp dùng nó phải thay đổi thêo cho phù hợp Các thuộc tính các lớp khác không thể truy cập trực tiếp được gọi là các thuộc tính đóng gói (khai báo vói từ khoá private hoặc protected trong C++) Các thuộc tính đóng gói thường có các hành vi cho phép thao tác trên các thuộc tính đó Việc thay đổi các thuộc tính đóng gói không yêu cầu các lớp dùng nó phải thay đổi

 Thừa kế

Thừa kế cho phép một lớp kết hợp các thuôc tính và hành vi của một hoặc nhiều lớp Một lớp con thừa kế từ một hay nhiều lớp cha Lớp con là sự chuyên môn hoá của lớp cha trong đó nó có thể thêm thuộc tính hoặc hành vi, hoặc cài chồng các hành vi của lớp cha Lớp cha là sự tổng quát hoá của lớp con Thừa kế là có thể lặp Một lớp thừa kế các thuôc tình và hành vi từ lớp cha nó và từ lớp cha của lớp cha

nó, … Trong mô hình thừa kế đơn thì một lớp chỉ có thể thừa kế trực tiếp từ một lớp khác Trong mô hình đa thừa kế thì một lớp có thể thừa kế từ một hay nhiều lớp cha khác Hệ thống hỗ trợ đa thừa kế phải định nghĩa việc xử lý các vấn đề xung đột Xung đột trong thừa kế là khi các thuộc tính và hành vi có cùng tên vói lớp cha

nó hoặc trong 2 lớp cha Thừa kế là một khái niệm mạnh mẽ của mô hình hướng đối tượng, với việc hỗ trợ dùng lại và mở rộg các lớp đang tồn tại Mối quan hệ thừa kế giữa các lớp của 1 nhóm được gọi là cây phân lớp Cây phân lớp giúp cho ngưòi dùng dễ dàng hiểu được hệ thống phần mềm bằng cách tìm hiểu một lớp (lớp cha)

và áp đặt trên các lớp khác (lớp con)

Trang 25

 Cài chồng hành vi và ánh xạ trễ

Ứng dụng hướng đối tượng thường cấu trúc để làm việc trên các các lớp tổng quát (ví dụ xe cộ) và tại thời điểm thực thi thì hành vi được gọi là tương thích với đối tượng xác định đang thực thi (vi dụ Boeing 747) Cac ứng dụng được thiết kế sao cho dễ quản lý và mở rộng từ đó việc thêm các lớp vào không yêu cầu thay đổi

mã ứng dụng.Việc cài chồng các hành vi là khả năng cho phép mỗi lớp định nghĩa các hành vi riêng của chính nó Ánh xạ trễ là khả năng chon hành vi để gọi lúc thực thi là dựa trên lớp của đối tượng đang thực thi (thay vì tại lúc biên dịch)

mô hình này thì một đối tượng bền được đặc tả khi nó được tạo Một mô hình bền thứ 3 là bất kỳ một đối tượng nào có thể đi tới được từ một đối tượng bền thì cũng bền Chẳng hạn một hệ thống yêu cầu một số phương pháp dành cho việc khai báo

rõ rằng một đối tượng dã cho là bền (vào lúc ban đầu của mạng liên kết của các đối tượng bền) Liên quan đến khái niệm bền là sự tồn tại của đối tượng OODBMS có thể cung cấp một số công cụ cho việc xoá đối tượng một cách rõ ràng Một hệ thống phải đảm bảo rằng tham ciếu đền đối tượng bị xoá cũng bị loại bỏ (xem phần , Quan

hệ và Tham chiếu toàn vẹn)

Một cách khác là duy trì đối tượng miễn là còn tồn tại ít nhất một tham chiếu đến đối tượng Một khi tất cả các tham chiếu đến đối tượng bị loại thì đối tượng có thể được xoá an toàn

 Miền tên

Một ứng dụng hướng đối tượng được đặc tả bởi mạng liên kết của các đối tượng Một ứng dụng bắt đầu bằng việc truy cập một số đối tượng đã biết rồi sau đó truy cập các đối tượng khác nhờ vào các mối quan hệ giữa chúng Khi đối tượng được tạo chúng được liên kết với các đối tượng khác Giả sử trường hợp, hệ thống

Trang 26

cơ sở dữ liệu phải cung cấp một cơ cấu cho việc định danh một hay nhiều đối tượng

tại thời điểm ứng dụng khởi động mà không dùng các mối liên hệ với đối tượng

hiện thời Điều này có thể thực hiện được nhờ việc cho mỗi đối tượng một tên, và

cung cấp cơ cấu truy tìm dựa trên tên Một ứng dụng lúc khởi động nạp một hoặc 2

đối tượng mức cao rồi sau đó duyệt các đối tượng khác có thể tới được

Tên đối tượng nằm trong một pham vi tên Với một pham vi đã cho thì tên

phải duy nhất (tức là cùng một tên không thể tham chiếu bởi 2 đối tượng) Mô hình

tên đơn giản nhất là cho toàn bộ hệ thống cơ sở dữ liệu một miền tên duy nhất Một

mô hình khác là cho phép ứng dụng định nghĩa phạm vi tên Sử dụng nhiều phạm vi

tên có thể sẽ hạn chế vấn đề xung đột tên

B Các chủ đề Cơ sở dữ liệu hướng đối tượng nâng cao

Việc chỉ định các tính năng của OODBMS trong phần này có mang tính

riêng của hệ thống cơ sở dữ liệu hướng đối tượng Chúng ta mong rằng những chủ

đề này sẽ biểu diễn hầu hết các chủ điểm đánh giá đáng quan tâm và sẽ cung cấp

tính đa dang trong việc đánh giá OODBMS

 Quan hệ và Tham chiếu toàn vẹn

Quan hệ là thành phần chủ yếu của mô hình hướng đối tượng Quan hệ cho phép các đối tượng tham chiếu đến nhau và tạo nên một mạng liên kết của các

đối tượng

Quan hệ có thể được đặc tả bởi một số các tham số độc lập nhau, đưa đến

một số lớn các đặc tính khác nhau của quan hệ :

o Quan hệ có thể là một chiều hoặc 2 chiều Quan hệ một chiều chỉ tồn tại

một chiều duy nhất cho phép di chuyển từ một đối tượng khác mà

không thể di chuyển theo chiều ngược lại Một quan hệ 2 chiều cho

phép di chuyển theo cả 2 chiều Khi một quan hệ được thiết lập là 2

chiều thì quan hệ tự động sẽ 2 chiều (tức là ứng dụng sẽ tạo một cách rõ

ràng quan hệ theo một chiều và sẽ ngầm định tập các quan hệ theo

chiều ngược lại)

Trang 27

o Các quan hệ là nhiều loại, thông thường là một-một, một-nhiều, hoặc nhiều-nhiều Quan hệ một-một , và một-nhiều có thể là một chiều hoặc

2 chiều Quan hệ nhiều-nhiều cho phép các đối tượng quan hệ với nhau theo cả 2 chiều (quan hệ giữa bô mẹ và con cái có thể gọi là quan hệ nhiều-nhiều, quan hệ 2 chiều Một người có thể có nhiều con và một con có thể có nhiều hơn một cha mẹ)

o Quan hệ có thể theo ngữ nghĩa thứ tự Quan hệ theo thứ tự là một danh sách (đối tượng được sắp xếp theo các phép toán tạo nên quan hệ chứ không phải theo dữ liệu lưu trữ trong các đối tượng, theo chỉ mục) Quan hệ không theo thứ tự gọi là tập hợp hoặc túi Tập hợp hoặc túi không cho phép các phần tử trùng nhau

o Quan hệ có thể hỗ trợ khái niệm của việc kết hợp các đối tượng Xem phần Quan hệ và Tham chiếu toàn vẹn, Các đối tượng ghép

Sự tồn tại của các mối quan hệ làm nảy sinh vấn đề cần thiết phải đảm bảo tính tham chiếu toàn vẹn Tham chiếu toàn vẹn là đảm bảo rằng đối tượng không tham chiếu đến đối tượng đã bị xoá Tham chiếu toàn vẹn có thể tự động cung cấp cho các quan hệ 2 chiều Với một quan hệ 2 chiều, khi một đối tượng bị xoá, tất cả các đối tương liên quan sẽ được tìm thấy và tất cả các quan hệ đến đối tượng bị xoá

sẽ bị loại bỏ Tham chiếu 1 chiều không đảm bảo tính tham chiếu toàn vẹn (không thực thi duyệt toàn bộ cơ sở dữ liệu) Trong tham chiếu 1 chiều, khi đối tượng đích

bị xoá thì không có một cơ chế nào cho phép xác định tất cả các đối tượng tham chiếu đến đối tượng bị xoá (và xoá các quan hệ đến đối tượng bị xoá) Tầng ứng dụng giải quyết vấn đề này (duy trì một danh sách các liên kết phụ thuộc tồn tại), nhưng dẫn đến làm giảm hiệu quả thực thi của hệ thống và nhân đôi khi làm việc với các quan hệ 2 chiều Một cách khác, nếu ứng dụng không dùng lại các định danh đối tượng, thì đối tưọng bị xoá có thể được lập bia, tức là đánh dấu rằng đối tượng đã bị xoá Khi một tham chiếu đến một đối tượng đã bị xoá thì nó sẽ bị bẫy một lỗi, hoặc có thể bị bỏ qua, cùng với việc cập nhật các quan hệ tham chiếu đến đối tượng (không còn tham chiếu đến đối tượng bị xoá nữa) Một số sản phẩm OODBMS cung cấp một chức năng tương tự bằng cách duy trì số lượng các tham

Trang 28

chiếu đến đối tượng cho đến khi không còn tham chiếu nào đến đối tượng nữa thì mới xoá đối tượng

 Các đối tượng ghép

Các đối tương ghép là nhóm các đối tượng có liên quan với nhau và có thể xem như một đối tượng đơn Đối tượng ghép thường được dùng để mô hình hoá các quan hệ cái mà có ngữ nghĩa như là các phần (phòng là phần của ngôi nhà) Các đối tượng ghép được kết hợp nhờ cơ cấu quan hệ cung cấp bởi OODBMS Phép toán áp đặt lên đối tượng gốc của một nhóm có thể ảnh hưởng đến tất cả các đối tượng trong nhóm Các phép toán có thể áp dụng lên đối tượng ghép bao gồm:

 Phiên bản của đối tượng

Phiên bản của đối tượng là một khái niệm về một đối tượng có thể được biểu diễn bởi nhiều phiên bản (tức là nhiều thể hiện của đối tượng) tại một thời điểm

o Phiên bản đường là phiên bản trước khi đối tượng thay đổi Trong các kiểu ứng dụng (CASE,CAD) thì các phiên bản trước của đối tượng là quan trọng để duy trì các tiến trình trước đó của công việc thiết kế và

Trang 29

cho phép quay lại thời điểm thiết kế trước đó sau khi kiểm tra và có thể huỷ bỏ hướng đưa ra Với phiên bản đường này thì chỉ có một phiên bản mới được tạo từ một phiên bản hiện tại của đối tượng

o Phiên bản nhánh hỗ trợ cho tiến trình song song khi nhiều người cùng cập nhật trên cùng một đối tượng một cách đồng thời Mỗi người làm việc trên một đối tượng nhất quán, không thay đổi Mỗi ngưòi có thể thay đổi phiên bản của mình (khi xử lý hướng thiết kế trong ứng dụng CAD) Vào thời điểm sau này, với trình hỗ trợ người dùng/ứng dụng, thì các phiên bản nhánh có thể được kết hợp lại để tạo nên đối tượng duy nhất Phiên bản nhánh là quan trọng trong các ứng dụng với các giao dịch trong thời gian dài khi đó người dùng không cần ngăn chặn việc truy cập đến đối tượng trong thời gian dài Với phiên bản nhánh, thì nhiều phiên bản mới có thể được tạo cho một đối tượng

 Hỗ trợ nhóm làm việc

Trong việc quản lý, ngoài phiên bản thì ứng dụng cũng phải hỗ trợ các ứng dụng nhóm Khả năng này là chỉ định các cơ sở dữ liệu được chia sẻ và riêng tư với các khái niệm về việc kiểm tra dữ liệu trong và ngoài của không gian dữ liệu Một

số cơ sở dữ liệu có thể cho phép một phần của cơ sở dữ liệu làm việc off-line, có thể trên các máy tính xách tay, ngưòi dùng nặc danh , và sau đó quay trở lại trạng thái on-line Các giao dịch dài hạn là một cơ cấu khác của các ứng dụng nhóm (xem phần Giao dịch)

 Giản đồ tiến triển

Giản đồ tiến triển là một tiến trình trong đó các đổi tượng thực thi các thay đổi trong các định nghĩa lớp của các đối tượng này (tức là giản đồ thay đổi yêu cầu tất cả các thể hiện của lớp đã thay đổi phải chỉnh sửa để phản ánh sự thay đổi của cấu trúc lớp Đây là tập hợp các phép toán của thay đổi giản đồ, theo các công nghệ dùng trong báo cáo [5] là:

o Thay đổi định nghĩa lớp :

o Thay đổi thuộc tính của một lớp (áp dụng cho cả thể hiện và thuộc tính của lớp)

Trang 30

 Thêm một thuộc tính vào lớp

 Loại bỏ một thuộc tính khỏi lớp

 Thay đổi tên một thuộc tính

 Thay đối kiểu thuộc tính

 Thay đổi giá trị mặc định của một thuộc tính

 Thay đổi tính chất quan hệ của thuộc tính quan hệ

o Thay đổi hành vi của một lớp

 Thêm một hành vi vào lớp

 Loại bỏ một hành vi khỏi lớp

 Thay đổi tên một hành vi

 Thay đối cài đặt bên trong của hành vi

o Thay đổi thừa kế của một lớp

 Thêm một lớp cha cho lớp

 Loại bỏ một lớp cha của lớp

 Thay đổi thứ tự lớp cha của một lớp (chúng ta mong đợi rằng thứ

tự của lớp cha sẽ dùng để xử lý việc xung đột các thuộc tính và hành vi)

o Thay đổi sự tồn tại của một lớp

 Thêm một lớp mới

 Loại một lớp tồn tại

 Thay đổi tên của lớp

C Tích hợp với Cơ sở dữ liệu và ứng dụng hiện tại

Một số lượng lớn các bài báo trong các hội nghị đã mô tả sự cần thiết phải tích hợp các công nghệ của cơ sở dữ liệu hướng đối tượng với quan hệ [31], [32], [41], [42] Các ứng dụng cơ sở dữ liệu hướng đối tượng được phát triển hoàn toàn mới cần truy cập đến cơ sở dữ liệu quan hệ Dữ liệu lưu trữ trong cơ sở dữ liệu hướng đối tượng phải có thể được truy cập bởi các ứng dụng SQL Một số ứng dụng yêu cầu truy cập đến cả 2 mô hình cơ sở dữ liệu

Nhiệm vụ đầu tiên là định nghĩa sự ánh xạ các giản đồ quan hệ thành mô hình đối tượng Một phương pháp đơn giản là biểu diễn các mỗi quan hệ bởi một

Trang 31

lớp và các trường khoá ngoại (trong mô hình quan hệ) thành các mối quan hệ (trong

mô hình hướng đối tượng).Với việc ánh xạ các bảng thành các lớp, một phương tiện dùng gọi các phép toán của SQL từ chương trình hướng đối tượng phải được định nghĩa Điều này có thể được thực hiện bằng cách định nghĩa các phương pháp ánh

xạ lớp cho việc tạo cập nhật và xoá các thể hiện Những phương pháp này có nhiệm

vụ tương tác với cơ sở dữ liệu quan hệ Ngoài ra còn cần các phương thức cho việc chuyển đổi các bản ghi trả về bởi các phép toán SQL thành tập các đối tượng có thể truy cập bởi chương trình hướng đối tượng Hiện nay các sản phẩm giao tiếp cơ sở

dữ liệu nói chung và các giao tiếp tự động hỗ trợ cho các chương trình hướng đối tượng truy cập cơ sở dữ liệu quan hệ đang được phát triển

Các nhà sản xuất OODBMS đang tiến tới sự hỗ trợ việc truy cập SQL đến cơ

sở dữ liệu của họ Sự cần thiết này phát sinh từ chỗ có một số lượng lớn các người dùng đã có kinh gnhiệm trong viẹc sử dụng SQL, và mong muốn các ứng dụng hiện tại tiếp tục được hỗ trợ khi OODBMS trở thành một phần của bức tranh công nghệ thông tin Phương pháp cơ bản để đạt được điều này là tích hợp các giao diện SQL trong đặc tả ngôn ngữ lập trình OODBMS (API) và cung cấp khả năng xử lý truy vấn SQL (xem phần 3.1.6 Truy vấn OODBMS)

 Hệ thống quản lý đối tượng thụ động và tích cực

OODBMS có thể được xem như hệ thống quản lý đối tượng thụ động và tích cực Một OODBMS thụ động nghĩa là cơ sở dữ liệu không lưu trữ sự cài đặt của các phương thức được định nghĩa cho một lớp Ứng dụng xây dựng trên một OODBMS thụ động là phải cung cấp mã cho mỗi phương thức trong có thể sẽ được thực thi định nghĩa trong hệ thống Kết quả của quá trình thực thi ứng dụng nằm trong các đối tượng cái mà được truy cập trong suốt quá trình thực thi, được đưa từ tiến trình chủ của cơ sở dữ liệu sang tiến trình của ứng dụng khách Một khi đối tượng nằm trong không gian địa chỉ của ứng dụng, thì một thông điệp được gởi đến đối tượng yêu cầu nó thực thi phương thức của nó Chú ý rằng tiến trình di chuyển đối tượng

từ tiến trình của cơ sở dữ liệu chủ đến không gian địa chỉ của ứng dụng là trong suốt với người lập trình ứng dụng

Trang 32

Một OODBMS tích cực nghĩa là cơ sở dữ liệu lưu trữ sự cài đặt của các phương thức trong cơ sở dữ liệu Điều này cho phép đối tượng thực thi các hành vi của nó (hồi đáp các thông điệp) trong tiến trình của cơ sở dữ liệu chủ Thuận lợi của

mô hình cơ sở dữ liệu tích cực là:

o Đối tượng có thể được truy cập và thao tác bởi các chương trình không hướng đối tượng Những chương trình này có thể truy cập đối tượng nhờ các giao diện của ngôn ngữ lập trình chuẩn Mỗi lần truy cập có thể dẫn đến một loạt các thông điệp được gởi giữa các đối tượng khác nhau cái mà được truy cập để cung cấp các dịch vụ hữu ích cho các yêu cầu của ứng dụng

D Kiến trúc CSDL

Phần này cung cấp một cái nhìn tổng quan về vấn đề kiến trúc liên quan đến OODBMS Người đọc quan tâm chi tiết nhiều hơn có thể xem [15] để thảo luận các vấn đề cài đặt và công nghệ

Phương pháp phân tán theo mô hình khách-chủ

Việc phát triển của các công nghệ về mạng cục bộ và tạm làm việc đã náy sinh vấn đề thiết kế các ứng dụng làm trình điều khiển cần thiết cho OODBMS (ví dụ., CASE, CAD, Electronic Offices) OODBMS thường thực thi trong môi trường phân tán đa tiến trình Các tiến trình chủ cung cấp các dịch vụ cơ sở dữ liệu hỗ trợ như quản lý các hệ lưu trữ thứ 2 và điều khiển giao dịch Tiến trình khách thực hiện các công việc đặc biệt của ứng dụng như truy cập và cập nhật các đối tượng riêng biệt Những tiến trình này có thể thực thi trên cùng một trạm làm việc hay trên các trạm làm việc khác nhau Thông thường thì một máy chủ đơn sẽ tương tác với nhiều máy khách nhằm cung cấp dịch vụ yêu cầu đồng thời dữ liệu được quản lý bởi máy chủ này Một máy khách có thể tương tác với nhiều máy chủ để truy cập dữ liệu phân tán trên toàn mạng [20] đánh giá và đưa ra 3 tiêu chuẩn khác nhau cho kiến trúc khách-chủ và đã được dùng cho OODBMS:

- Phương pháp máy chủ đối tượng- trong đó đơn vị truyền từ máy chủ xuông máy khách là một đối tượng Cả 2 máy đều lưu lại đối tượng và có thể thực thi các phương thức trên đối tượng Việc điều khiển ở mức đối tượng là dễ thực thi

Trang 33

Điểm bất lợi lớn nhất của phương pháp này là gia tăng các tương tác với máy chủ

một khi truy cập mỗi đối tượng và tính phức tạp của phần mềm máy chủ trong việc

cung cấp khả năng hoàn thành tính năng của hệ thống ODBMS (tức là, có thể thực

thi các phương thức) Việc duy trì công việc lưu trữ đối tượng của 2 máy về lâu dài

có thể dẫn đến tăng sự thực thi của hệ thống

- Phương pháp máy chủ trang – đơn vị chuyển từ máy chủ về máy khách

là trang (của đối tượng) Việc chuyển tải các trang giúp tăng sự thực thi của hệ

thống bằng cách giảm các truy cập đến máy chủ Kiến trúc và cài đặt của máy chủ

đơn giản hơn nhiều vì nó chỉ cần thực thi các dịch vụ nền Một yếu điểm của

phương pháp này là các phương thức chỉ được đánh giá trên các máy khách, vì vậy

tất cả các đối tượng truy cập bởi ứng dụng phải được truyền tải đến máy khách

Quản lý mức đối tượng sẽ khó cài đặt

- Phương pháp máy chủ tập tin - tiến trình khách OODBMS tương tác với

dịch vụ tập tin của mạng ( ví dụ như Sun's NFS) để đọc và viết các trang cơ sở dữ

liệu Một tiến trình chủ OODBMS dành riêng cho việc điều khiển đồng thời và

phục hồi Phương pháp náy đơn giản hơn vì nó không quản lý hệ thống lưu trữ thứ

2 Một điểm yếu của phương pháp náy là việc thực hiện tương tác giữa 2 mạng, một

là dịch vụ tập tin và một là máy chủ OODBMS Phương pháp máy chủ trang dường

như là tốt nhất khi chía sẻ các vùng đệm lớn và giải thuật liên cung tốt Phưong

pháp máy chủ đối tượng thực thi chậm khi nếu ứng dụng nạp lượng lớn dữ liệu,

nhưng sẽ tốt hơn nếu phương pháp máy chủ trang cho các ứng dụng thực thi nhiều

các cập nhật và chạy trên trạm làm việc với việc chia sẻ vùng đệm nhỏ

 Cơ cấu truy cập dữ liệu

Một đánh giá về sản phẩm cơ sở dữ liệu hướng đối tượng phải xem xét các

xử lý cần thiết để chuyển dữ liệu từ bộ lưu trữ thứ 2 sang ứng dụng khách Thông

thường yêu cầu này giao tiếp với tiến trình của máy chủ và xuyên qua mạng Đối

tuợng nạp vào bộ nhớ của ứng dụng khách có thể còn yêu cầu nhiều xử lý khách để

giải quyết các tham chiếu đên đối tượng không sãn sàng trong bộ phận cache của

máy khách Nỗ lực thực thi và các tiến trình tham gia trong việc giải phóng các

khoá và cập nhật dữ liệu được trả về máy chủ cũng cần xem xét

Trang 34

 Liên cung đối tượng

OODBMS sẽ truyền tải nhiều hơn một đối tượng về trình khách với giả định rằng ứng dụng máy khách sẽ truy cập vào đối tượng đã cho với một ngầm định rằng các đối có xác suất kết hợp với đối tượng này là cao thì có thể được truy cập Việc trưyền tải nhóm đối tượng có thể sẽ giảm rất nhiều tương tác với máy chủ trong quá trình truy cập đối tượng Liên cung đối tượng là khả năng của một ứng dụng cung cấp thông tin cho OODBMS sao cho các đối tượng thường được truy cập cùng nhau

có thể sẽ được lưu trữ gần nhau và vì vậy thuận lợi cho việc truyền tải khối lượng lớn dữ liệu

E Chức năng của hệ cơ sở dữ liệu

Một thuận lợi quan trọng nhất của ứng dụng thu được từ cơ sở dữ liệu là dữ liệu được lưu trữ trong suốt quá trình thực thi của ứng dụng Một thuận lợi khác được cung cấp bởi cơ sở dữ liệu là khả năng chia sẻ dữ liệu giữa các ứng dụng, cung cấp các truy cập đồng thời đến dữ liệu của nhiều ứng dụng, và cung cấp cho

ứng dụng có thể truy cập đến không gian dữ liệu lớn hơn không gian địa chỉ của nó

 Truy cập dữ liệu không giới hạn

Một hệ cơ sở dữ liệu cung cấp cho ứng dụng khả năng truy cập đến lượng dữ liệu ảo lớn không giới hạn Nói cụ thể, nghĩa là ứng dụng có thể truy cập đến lượng

dữ liệu nhiều hơn không gian địa chỉ của ứng dụng Một số hệ cơ sở dữ liệu có thể

hỗ trợ khái niệm dữ liệu tạm thời tức là các dữ liệu sẽ được duy trì trong suốt quá trình thực thi của ứng dụng nhưng không đựoc lưu vào trong cơ sở dữ liệu Điều náy là hữu ích khi cung cấp khả năng truy cập đến một lượng lớn dữ liệu tạm thời cái mà không đủ ánh xạ váo không gian địa chỉ của ứng dụng

Tính toàn vẹn dữ liệu

Một hệ cơ sở dữ liệu yêu cầu phải duy trì cả toàn vẹn cấu trúc và toàn vẹn logic Toàn vẹn về cấu trúc đảm bảo rằng nội dung dữ liệu sẽ phù hợp theo đúng mô hình của nó Toàn vẹn logic đảm bảo các ràng buộc chỉ định các thuộc tính mang tính logic luôn luôn đúng Tài liệu [13] mô tả các quan tâm mới về tính toàn vẹn của OODBMS Một mối quan tâm lớn của kiến trúc OODBMS là việc ánh xạ trực tiếp đối tượng vào không gian địa chỉ ứng dụng (không giống như cơ sở dữ liệuqh thông

Trang 35

thường cung cấp khả năng truy cập trực tiếp dữ liệu trong một tiến trình riêng của máy chủ) Việc ánh xạ dữ liệu vào bộ nhớ sẽ cải thiện đáng kể sự thực thi so với viêc truy cập trực tiếp dữ liệu của máy chủ, đặc biệt là các lĩnh vực ứng dụng sử dụng OODBMS xem [15] Tuy nhiên, một khi đã ánh xạ dữ liệu vào không gian địa chỉ bộ nhớ thì sẽ không có gì đảm bảo rằng không có sự tình cờ hay cố ý làm xáo trộn cơ sở dữ liệu Những giới hạn trên tính năng cơ sở dữ liệu đảm bảo tính toàn vẹn của dữ liệu Có cấu toàn vẹn về cấu trúc báo gồm sự tin tưởng vào việc không tồn tại các tham chiếu đến đối tượng bị xoá (xem phần Quan hệ & Toàn vẹn tham chiếu) và tất cả các thể hiện là phù hợp với các định danh lớp của nó Toàn vẹn logic được hỗ trợ bởi việc đóng gói tất cả các thuộc tính thành viên và chỉ cho phép truy cập đến nội dung thông tin nhờ vào các phương thức định nghĩa bởi lớp

Hỗ trợ đồng thời

Cơ sở dữ liệu cung cấp cơ cấu điều khiển đồng thời đảm bảo việc truy cập song song đến dữ liệu không nảy sinh vấn đề mâu thuẫn dữ liệu trong cơ sở dữ liệu hoặc trong ứng dụng do bởi việc giả định sai vì xem xét các dữ liệu đã được cập nhật một cách cục bộ Những vấn đễ liên quan đến việc mất cập nhật hoặc mất liên kết giữa các phụ thuộc là các dẫn chứng rõ nét nhất trong lý thuyết cơ sở dữ liệu

Cơ sở dữ liệu quan hệ giải quyết điều này bằng cách cung cấp cơ cấu giao dịch đảm bảo nguyên tử và tuần tự Nguyên tử đảm bảo rằng trong việc cập nhật đến cơ sở dữ liệu, hoặc là tất cả các cập nhật vật lý được thực thi hoặc không có bất cứ cập nhật nào xảy ra Điều này đảm bảo cơ sở dữ liệu luôn có trạng thái logic đồng nhất trong lúc cơ sở dữ liệu thực hiện một giao dịch và chuyển sang trạng thái khác Tuần tự đảm bảo việc thực hiện các giao dịch đồng thời sẽ phát sinh cùng kết quả nếu chúng được thực thi theo thứ tự Cơ sở dữ liệuqh cung cấp một cơ cấu điều khiển đồng thời mang tính bi quan Cơ cấu bi quan này cho phép nhiều tiến trình truy cập dữ liệu nhưng không cho chúng cập nhật dữ liệu Việc cập nhật dữ liệu được thực hiện một cách cô lập khi không có tiến trình nào khác đọc hoặc cập nhật dữ liệu Mô hình truy cập này hiệu qua cho các ứng dụng có các giao dịch ngắn, đến nỗi mà chúng không trì hoãn trong thời gian dài khi có xung đột về truy cập Đối với các ứng dụng của OODBMS (ví dụ , ứng dụng thiết kế cho nhiều người), thì giả định

Trang 36

của một giao dịch ngắn không còn hợp lệ Một cơ cấu điều khiển đồng thời mang tính lạc quan [25] dựa trên giả định rằng các xung đột về truy cập sẽ xảy ra không thường xuyên Với ngữ cảnh này thì tất cả các truy cập cho phép được tiến hành và với việc cam kết thời gian giao dịch, vấn đề xung đột sẽ được giải quyết OODBMS

đã hợp nhất những khái niệm của cơ cấu điều khiển đồng thời lạc quan trong việc xây dựng ứng dụng có thời gian giao dịch dài Tuy nhiên việc xử lý các xung đột vào khoảng thời gian cam kết không đơn giản là bỏ qua giao dịch bởi vì nhà thiết kế

sẽ mất cả ngày hoặc tuần để làm việc khác phục hậu quả OODBMS phải cung cấp

cơ cấu cho việc cập nhật đồng thời đến cùng một dữ liệu và hỗ trợ cho việc ghép các kết quả này vào khoảng thời gian thích hợp (không điều khiển ứng dụng) Hầu hết các hệ thống dùng hệ thống phiên bản để xử lý trường hợp này (xem phần Phiên bản đối tượng) Một chính sách khác là cho phép đọc vầ chỉ một cập nhật diễn ra song song Người đọc có thể cho rằng dữ liệu đang đọc là giữa quá trình cập nhật

Vì vậy người đọc có thể đang xem dữ liệu cũ không đáng kể Việc cài đặt phương pháp này cũng rất phù hợp với kiến trúc khách - chủ của OODBMS Mỗi ứng dụng máy khách sẽ lấy một bản sao dữ liệu cục bộ của nó Nếu dữ liệu được cập nhật thì máy chủ sẽ không lưu trữ vĩnh viễn cho đến khi tất cả các giao dịch đọc dữ liệu đang xảy ra kết thúc Vì vậy tất cả các giao dịch đọc dữ liệu sẽ được thực thi trên tập dữ liệu đồng nhất, mặc dù một tiến trình khác đang cập nhật dữ liệu Khi tất cả các giao dịch đọc dữ liệu hoàn thành thì giao dịch ghi dữ liệu cho phép được thực thi để hoàn thành thao tác việc chỉnh sửa bản sao dữ liệu để được lưu trữ lại Với một số OODBMS có thể, với cam kết khi giao dịch, thông báo cho máy khách biết rằng chúng vừa đọc dữ liệu trong khi một tiến trình khác cập nhật dữ liệu

Phục hồi

Phục hồi là khả năng của hệ cơ sở dữ liệu trở lại một trạng thái thích hợp sau khi hệ thống phần mềm hoặc phần cứng bị hỏng Tương tự như điều khiển đồng thời, các khái niệm của giao dịch được dùng để cài đặt khả năng phục hồi của hệ thống và để định nghĩa giới hạn của hành động phục hồi Các hình thái của bản ghi chép, bản sao, điểm kiểm tra, ảnh, hoặc các bản tái tạo dùng xác định những gì cần thiết để phục hồi và làm thế nào để phục hồi

Trang 37

 Các phiên giao dịch

Giao dịch là cơ cấu để cài đặt các chức năng truy cập đồng thời và phục hồi

hệ thống Chính sách giao dịch khác nhau đã được mô tả trong phần 1.3.1.5 (Truy cập đồng thời), với các chủ đề về chính sách điều khiển truy cập chủ quan, bi quan,

và chíng sách nhiều người đọc dữ liệu đồng thời nhưng chỉ được một người cập nhật dữ liệu tại một thời điểm.Với một giao dịch thì dữ liệu nằm phân tán tại bất kỳ nơi đâu trên mạng đều có thể được truy cập Một đặc tính vốn được tìm thấy trong rất nhiều sản phẩm OODBMS là mặc dù giao dịch đã được xác nhận vẫn cho phép trình khách lưu lại trong cache một số tham chiếu mà dự đoán là sẽ được tham chiếu lại lần sau Một số hệ thống OODBMS cũng hợp nhất các khái niệm về giao dịch dài và giao dịch lồng nhau Một giao dịch dài sẽ xảy ra trong một giờ hoặc một ngày mà không bị hệ thống bỏ dỡ đột ngột (ví dụ do các xung đột giao dịch) Đối với các ứng dụng sử dụng hệ thống OODBMS thì tránh không được bỏ dỡ các giao dịch vì bất cứ lý do gì vì công việc của vài giờ hay vài ngày thì không thể bị huỷ một cách đơn giản được Các giao dịch dài ngày có thể được chia thành các giao dịch lồng nhau nhằm mục đích dễ dàng cho công việc phục hồi [15] Các giao dịch lồng nhau cho phép một giao dịch đơn được chia thành các giao dịch nhỏ hơn Các giao dịch con có thể được xác nhận hoặc bỏ dỡ một cách độc lập với các giao dịch con khác trong phạm vi giao dịch ban đầu Mỗi xác nhận của một giao dịch con là phụ thuộc vào việc xác nhận giao dịch cha của nó và giao dịch gốc ban đầu Các giao dịch lồng nhau cải thiện cơ cấu giao dịch cơ bản bằng cách cung cấp cơ chế làm mịn các thuộc tính lỗi của phần mềm Sử dụng các giao dịch lồng nhau thì một phần tính toàn bị hỏng hóc thì được phục hổi trở lại không ảnh hưởng đến các phần khác của cùng một giao dịch gốc Các giao dịch lồng nhau được thiết kế để cung cấp cơ chế điều khiển song song trong các hệ thống tính toán phân tán Ngược lại, khi xem xét đánh giá các hệ thống OODBMS chúng ta cần xem xét cẩn thận ứng dụng đích xem có cần thực hiện các giao dịch lồng nhau và việc thực thi và không gian lưu trữ vốn sẽ bị tác động khi tính năng này

Trang 38

Phát hiện tắc nghẽn

Hệ thống cơ sở dữ liệu sử dụng các thuật toán phát hiện tắt nghẽn để phát hiện khi nào ứng dụng bị tắt nghẽn do các xung đột về yêu cầu đến hệ thống Các hệ thống cơ sở dữ liệuqh thì chọn một giao dịch bất kỳ và bỏ qua nó để thử cố gắng hoàn thành các giao dịch còn lại Giao dịch bị bỏ qua thường sẽ được khởi động lại một cách tự động bởi hệ thống Mô hình này làm việc tốt đối với lớp các ứng dụng

sử dụng cơ sở dữ liệuqh Như đã mô tả trong phần trước, các ứng dụng sử dụng OODBMS thì hệ thống không thể bỏ qua các giao dịch một cách dễ dàng vì như thế

sẽ dẫn đến việc mất kết quả của cả ngày hoặc cả tuần làm việc OODBMS cung cấp một cơ cấu điều khiển song song và giao dịch khác để giảm khả năng bị tắc nghẽn Không quan tâm đến việc điều khiển truy cập song song, hệ thống vẫn phải phát hiện và giải quyết các tắc nghẽn

Khoá

Khoá một thực thể của cơ sở dữ liệu là một phương pháp thông thường để cài đặt cơ cấu giao dịch OODBMS có thể cung cấp cơ chế khoá một đối tượng hoặc một trang Khoá một đối tượng có thể dẫn đến tốn kém nhiều cho việc quản lý khoá Khoá một tảng có thể dẫn đến giảm tính song song, đặc biệt đối với các khoá ghi dữ liệu, bởi vì không phải tất cả các đối tượng trong trang được sử dụng trong giao dịch chứa khoá Tính năng liên cung trong hệ thống OODBMS nhằm mục đích giảm việc mất đi tính song song do việc khoá trang Hệ thống OODBMS sẽ hoàn toàn nắm giữ hoặc giải phóng khoá khi dữ liệu được truy cập bởi một ứng dụng Một ứng dụng có thể sẽ hỗ trợ thêm cơ chế chỉ định chế độ khoá (ví dụ tất cả các khóa sẽ hoàn toàn đặt ở chế độ đọc trong khi đó ứng dụng sẽ phải chỉ định chế độ ghi khi cần thiết) OODBMS có thể cung cấp một giao diên rõ ràng cho việc khoá

dữ liệu

 Sao lưu và phục hồi

Sao lưu là tiến tình sao chép trạng thái của hệ thống cơ sở dữ liệu sang một thiết bị lưu trữ trung gian nhằm dùng cho trường hợp hư hỏng hệ thống trong lần tiếp theo hoặc đơn giản là để ghi lại các tiến trình giao dịch đã qua Một cách lý tưởng thì chúng ta có thể thực hiện sao chép trong khi dữ liệu đang được dùng

Trang 39

Công việc sao chép chỉ thực hiện trên một phần nào đó của hệ cơ sở dữ liệu Gia tăng khả năng sao lưu làm giảm lượng thông tin cần thiết phải lưu lại bằng cách chỉ lưu trữ các thay đổi kể từ lần sao lưu trước đó Rõ ràng dữ liệu có thể được phục hồi từ bản sao

 Nạp và kết xuất

Một cơ sở dữ liệu phải có thể xuất ra dữ liệu ở định dạng theo mã ASCII mà con người có thể đọc được Một phần đặc biệt của hệ thống cơ sở dữ liệu có thể được kết xuất Hệ thống csld cũng có thể được tạo lại bằng cách nạp từ các tập tin kết xuất

Các ràng buộc

Rằng buộc là các điều kiện đặc biệt của ứng dụng và phải đựoc duy trì một cách đúng đắn trong cơ sở dữ liệu Tính toàn vẹn về logic của cơ sở dữ liệu có thể được hỗ trợ bằng cách cung cấp cho nhà phát triển ứng dụng khả năng định nghĩa các rằng buộc và cho những rằng buộc được thực thi một cách tự động vào lúc thích hợp Mặc dầu rằng buộc có thể được mã hoá trực tiếp trong các phương thức nhưng

để tránh các vấn đề về việc lặp lại rằng buộc và đảm bảo rằng các ràng buộc được thực thi thì chúng được định nghĩa bằng cơ cấu riêng Một số hệ thống OODBMS định nghĩa một mô hình cho việc định nghĩa và gọi thực thi các ràng buộc nhưng yêu cầu ứng dụng phải thực hiện gọi thực thi các rằng buộc một cách rõ ràng Việc thực thi các rằng buộc lúc gọi các phương thức có thể kiểm tra các tham số đầu vào

và các phép toàn được yêu cầu Việc thực thi các ràng buộc lúc hoàn thành các phương thức có thể giúp kiểm tra tính đồng nhất về logic của kết quả và trang thái của hệ thống cơ sở dữ liệu

Mô hình thông báo

Một hệ thống OODBMS có thể cung cấp một mô hình thông báo mang tính chủ động hoặc bị động Một mô hình thông báo cho phép ứng dụng được thông báo khi một đối tượng bị thay đổi hoặc khi xảy ra một số sự kiện náo đó trong hệ thống

cơ sở dữ liệu

- Một hệ thống thông báo bị động yêu cầu ứng dụng thực hiện truy vấn để xác định các thay đổi trong hệ thống cơ sở dữ liệu

Trang 40

- Một hệ thống thông báo chủ động tối thiểu phải cung cấp cơ chế xác định

có hay không trang thái đối tượng thay đổi hoặc xảy ra một sự kiện trong hệ thống

Chỉ mục

Hệ thống cơ sở dữ liệu tạo ra các chỉ mục để cung cấp sự tối ưu trong quá trình truy lục dựa trên một số khía cạnh nào đó của dữ liệu Nói một cách cụ thể thì, chi phí cho việc tìm kiếm sẽ được cải thiện rất nhiều khi sử dụng chỉ mục Một hệ thống truy vấn tối ưu phải xác định một cách tự động xem có tồn tại chỉ mục hay không, nếu có nó dung chỉ mục này để cải thiện hiệu quả thực thi tìm kiếm.[36] và [24] đã thảo luận về chỉ mục của hệ thống cơ sở dữ liệu hướng đối tượng Một chỉ mục của hệ thống cơ sở dữ liệu hướng đối tượng được cài đặt để cung cấp khả năng tìm kiếm tất cả các đối tượng của một lớp đã cho và các lớp con của nó dựa trên một số dữ liệu thành viên của nó Chỉ mục này có thể được cách ly với cơ sở dữ liệu hoặc có thể nằm trải rộng trên toàn bộ cơ sở dữ liệu Sự cài đặt các chỉ mục khác nhau dẫn đến không gian và thời gian thực thi khác nhau Hai công nghệ phổ biến dùng cài đặt chỉ mục là bảng băm và cây nhị phân Chỉ mục làm gia tăng chi phí của việc tạo, xoá, và chỉnh sửa đối tượng vì vậy chúng ta cần dùng chỉ mục một cách sáng suốt

 Báo mật

Hệ thống bảo mật cơ sở dữ liệu bảo vệ dữ liệu trước các mục đích nguy hiểm Yêu cầu về bảo mật tương tự như yêu cầu về toàn vẹn dữ liệu cài mà nhằm bảo vệ dữ liệu trước các cách sử dụng nguy hại mang tính tình cờ Bảo mật cơ sở dữ liệu thường cung cấp mô hình bảo mật nhiều mức, trong đó người sử dụng và dữ liệu được phân loại vào cùng một mức bảo mật Các điều khiển bảo mật bắt buộc đảm bảo rằng người sử dụng chỉ truy cập ở mức của họ và thấp hơn Các điều khiển bảo mật tuỳ chọn (discretionary) khác cung cấp khả năng điều khiển truy cập dựa trên chứng nhận rõ ràng người dùng truy cập vào dữ liệu.Ứng dụng của hệ thống OODBMS thường không yêu cầu các điều khiển bảo mật nghiêm khắc mặc dầu vậy thi các ứng dụng được thiết kế cho nhóm làm việc thì cần các điều khiển truy cập tuỳ chọn [50] và [51] thảo luận về các vấn đề bảo mật liên quan đến

Ngày đăng: 14/07/2020, 14:52

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đoàn Văn Ban (2003), Phân tích và thiếy kế hướng đối tượng bằng UML, Giáo trình khoa Khoa CNTT Sách, tạp chí
Tiêu đề: Phân tích và thiếy kế hướng đối tượng bằng UML
Tác giả: Đoàn Văn Ban
Năm: 2003
[2] Trần Quốc Chiến, (2005), Cơ sở dữ liệu nâng cao, Giáo trình khoa Khoa CNTT Sách, tạp chí
Tiêu đề: Cơ sở dữ liệu nâng cao
Tác giả: Trần Quốc Chiến
Năm: 2005
[3] Đặng Văn Đức, (2002), Phân tích và thiết kế hướng đối tượng bằng UML (thực hành với Rational Rose), NXB Khoa học và kỹ thuật, Hà Nội.Tiếng Anh Sách, tạp chí
Tiêu đề: Phân tích và thiết kế hướng đối tượng bằng UML (thực hành với Rational Rose)
Tác giả: Đặng Văn Đức
Nhà XB: NXB Khoa học và kỹ thuật
Năm: 2002
[4] Atkinson, Malcolm, et al., (1992), "The Object-Oriented Database System Manifesto.", Building An Object - Oriented Database System, California:Morgan Kaufmann Sách, tạp chí
Tiêu đề: The Object-Oriented Database System Manifesto
Tác giả: Atkinson, Malcolm, et al
Năm: 1992
[5] Banerjee, Jay, et al., (1987), “Semantics and Implementation of Schema Evolution in Object-Oriented Databases.”, Proceedings of the ACM SIGMOD Conference Sách, tạp chí
Tiêu đề: Semantics and Implementation of Schema Evolution in Object-Oriented Databases.”
Tác giả: Banerjee, Jay, et al
Năm: 1987
[6] Bancilhorn, Francois, et al., (1992), Building An Object-Oriented Database System, California: Morgan Kaufmann Sách, tạp chí
Tiêu đề: Building An Object-Oriented Database System
Tác giả: Bancilhorn, Francois, et al
Năm: 1992
[7] Barry, Douglas K, (January-February 1993), “ODBMS Feature Checklist.”, Object Magazine Sách, tạp chí
Tiêu đề: ODBMS Feature Checklist.”
[8] Borning, A, (October 1981), “The Programming Language Aspects of ThingLab, A Constraint-Oriented. Simulation Laboratory.”, ACM Transactions on Programming Languages and ystems, Vol 3, pg. 353 Sách, tạp chí
Tiêu đề: The Programming Language Aspects of ThingLab, A Constraint-Oriented. Simulation Laboratory.”, "ACM Transactions on Programming Languages and ystems
[9] Brodie M.L., et al., (1984), On Conceptual Modelling, New York: Springer- Verlag Sách, tạp chí
Tiêu đề: On Conceptual Modelling
Tác giả: Brodie M.L., et al
Năm: 1984
[10] Brown, Alan W, (1991), Object-Oriented Databases - Applications in Software Engineering, London: McGraw-Hill Sách, tạp chí
Tiêu đề: Object-Oriented Databases - Applications in Software Engineering
Tác giả: Brown, Alan W
Năm: 1991
[11] Buchman, A.P, et al., (September 1986), “A Generalized Constraint and Exception Handler for an Object-Oriented CAD-DBMS.”, Proceedings of the 1986 International Workshop on Object-Oriented Database Systems, pg.38 Sách, tạp chí
Tiêu đề: A Generalized Constraint and Exception Handler for an Object-Oriented CAD-DBMS.”, "Proceedings of the 1986 International Workshop on Object-Oriented Database Systems
[12] Buneman, O.P. and E.K. Clemons, (September 1979), “Efficiently Monitoring Relational Databases.”, Transactions on Database Systems, Vol. 4, pg. 368 Sách, tạp chí
Tiêu đề: Efficiently Monitoring Relational Databases.”, "Transactions on Database Systems
[13] Butterworth, Paul, (1992), “ODBMSS As Database Managers.”, Journal of Object-Oriented Programming Focus On ODBMS, pg. 3-12 Sách, tạp chí
Tiêu đề: ODBMSS As Database Managers".”, Journal of Object-Oriented Programming Focus On ODBMS
Tác giả: Butterworth, Paul
Năm: 1992
[14] Carey, Michael J., et al., (1993), The 007 Benchmark, Computer Sciences Department, University of Wisconsin-Madison Sách, tạp chí
Tiêu đề: The 007 Benchmark
Tác giả: Carey, Michael J., et al
Năm: 1993
[15] Cattell, R.G.G, (1991), Object Data Management: Object-Oriented and Extended Relational Database Systems, Massachusetts: Addison-Wesley Sách, tạp chí
Tiêu đề: Object Data Management: Object-Oriented and Extended Relational Database Systems
Tác giả: Cattell, R.G.G
Năm: 1991
[16] Cellary, Wojciech and Genevieve Jomier, (1992), “Consistency of Versions in Object-Oriented Databases.”, Building An Object-Oriented Database System, California: Morgan Kaufmann Sách, tạp chí
Tiêu đề: Consistency of Versions in Object-Oriented Databases.”, "Building An Object-Oriented Database System
Tác giả: Cellary, Wojciech and Genevieve Jomier
Năm: 1992
[17] Coad, Peter and Edward Yourdon, (1990), Object-Oriented Analysis. New Jersey: Prentice-Hall Sách, tạp chí
Tiêu đề: Object-Oriented Analysis
Tác giả: Coad, Peter and Edward Yourdon
Năm: 1990
[18] Colley, Grant, (November-December, 1992), “Versioning.”, Object Magazine, pg. 32 Sách, tạp chí
Tiêu đề: Versioning.”, "Object Magazine
[19] Date, C. J, (1986), An Introduction to Database Systems, Massachusetts: Addison-Wesley Vol. I, 4th ed Sách, tạp chí
Tiêu đề: An Introduction to Database Systems
Tác giả: Date, C. J
Năm: 1986
[20] DeWitt, David J., et al, (1992), “Three Alternative Workstation-Server Architectures.”, Building An Object- Oriented Database System, Morgan Kaufmann, San Mateo, CA Sách, tạp chí
Tiêu đề: Three Alternative Workstation-Server Architectures.”, "Building An Object- Oriented Database System
Tác giả: DeWitt, David J., et al
Năm: 1992

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