1. Trang chủ
  2. » Luận Văn - Báo Cáo

Truy vấn và tối ưu hoá truy vấn trong cơ sở dữ liệu hướng đối tượng

27 1,3K 4

Đ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 27
Dung lượng 788,16 KB

Nội dung

Truy vấn và tối ưu hoá truy vấn trong cơ sở dữ liệu hướng đối tượng

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM

VIỆN CÔNG NGHỆ THÔNG TIN

HOÀNG BẢO HÙNG

TRUY VẤN

VÀ TỐI ƯU HOÁ TRUY VẤN TRONG

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

Chuyên ngành: Bảo đảm toán học cho máy tính và

hệ thống tính toán

Mã số: 62 46 35 01

TÓM TẮT LUẬN ÁN TIẾN SĨ TOÁN HỌC

HÀ NỘI – 2007

Trang 2

Công trình được hoàn thành tại:

Viện Công nghệ thông tin Viện Khoa học và Công nghệ Việt Nam

Người hướng dẫn khoa học: PGS.TS Đoàn Văn Ban

PGS.TS Lê Mạnh Thạnh

Phản biện 1: GS.TS Đặng Huy Ruận – Trường ĐH Khoa học Tự nhiên,

Đại học Quốc gia Hà Nội

Phản biện 2: PGS.TS Nguyễn Quốc Toản – Trường Đại học Công nghệ,

Đại học Quốc gia Hà Nội

Phản biện 3: PGS.TS Đặng Văn Chuyết – Trường Đại học Bách khoa

Hà Nội

Luận án sẽ được bảo vệ trước Hội đồng chấm luận án cấp Nhà nước họp tại: Hội trường Viện Công nghệ thông tin, Viện Khoa học và Công nghệ Việt Nam

Vào hồi 15 giờ 00 ngày 12 tháng 10 năm 2007

Có thể tìm hiểu luận án tại: Thư viện Quốc gia

Trang 3

CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ LIÊN QUAN ĐẾN LUẬN ÁN

1 Lê Mạnh Thạnh, Hoàng Bảo Hùng (2001), “Ngôn ngữ truy vấn hướng đối tượng và tối ưu hoá truy vấn trên CSDL hướng đối tượng bằng

phương pháp biến đổi đại số”, Kỷ yếu Hội nghị khoa học kỷ niệm 25

năm thành lập Viện Công nghệ thông tin, Hà nội, tr 175–185

2 Lê Mạnh Thạnh, Hoàng Bảo Hùng (2002), “Một phương pháp chuyển đổi dữ liệu từ cơ sở dữ liệu quan hệ sang cơ sở dữ liệu hướng đối

tượng”, Tạp chí khoa học, (11), Đại học Huế, tr 35–44

3 Đoàn Văn Ban, Lê Mạnh Thạnh và Hoàng Bảo Hùng (2004), “Sựtương đương trong biểu diễn giữa ngôn ngữ truy vấn OQL và đại số đối

tượng”, Tạp chí Tin học và Điều khiển học, 20(3), tr 257–269

4 Lê Mạnh Thạnh, Đoàn Văn Ban và Hoàng Bảo Hùng (2004), “Sử dụng

kỹ thuật lưu trữ quan hệ lồng trong thiết kế cơ sở dữ liệu vật lý cho hệ

thống cơ sở dữ liệu hướng đối tượng”, Kỷ yếu Hội thảo khoa học Quốc

gia, lần thứ nhất, Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR), Nhà xuất bản Khoa học và Kỹ thuật, Hà nội, tr 305–314

5 Lê Mạnh Thạnh, Đoàn Văn Ban, Hoàng Bảo Hùng (2005), “Phương pháp ước lượng các truy vấn lồng trong cơ sở dữ liệu hướng đối tượng

bằng siêu đồ thị kết nối”, Chuyên san Tạp chí Bưu chính Viễn thông và

Công nghệ thông tin, “Các công trình nghiên cứu - Triển khai Viễn thông và Công nghệ thông tin”, ISSN 0866-7039, 14, tr 43–49

6 Lê Mạnh Thạnh, Hoàng Bảo Hùng (2006), “Mô hình ước lượng chi phí

xử lý truy vấn đối tượng trong cơ sở dữ liệu hướng đối tượng”, Kỷ yếu

Hội thảo Quốc gia, lần thứ VIII, “Một số vấn đề chọn lọc về CNTT và truyền thông”, chủ đề “Mã nguồn mở”, 25/8-27/8/2005, Hải Phòng,

Nhà xuất bản Khoa học và Kỹ thuật, Hà nội, tr 568-579

Trang 4

MỞ ĐẦU

1 Tính cấp thiết của đề tài

Lịch sử phát triển các mô hình cơ sở dữ liệu (CSDL) của các hệ thống thông tin đã trải qua bốn thế hệ và thế hệ thứ năm của mô hình CSDL đã và đang được phát triển mạnh trong những năm gần đây Sự đa dạng của các ứng dụng thực tế và các ngôn ngữ lập trình đòi hỏi một mô hình dữ liệu với các đặc trưng phong phú và khả năng tính toán mạnh để có thể đặc tả các đối tượng phức trong thế giới thực, điều này mở đường cho sự phát triển của

mô hình CSDL thế hệ thứ năm, là mô hình CSDL hướng đối tượng

So với các mô hình CSDL truyền thống, việc phát triển các ngôn ngữ CSDL trên các hệ thống hướng đối tượng được xem là một hướng nghiên cứu quan trọng Ngôn ngữ CSDL bao gồm ngôn ngữ định nghĩa đối tượng, ngôn ngữ thao tác dữ liệu, truy vấn đối tượng và ngôn ngữ điều khiển dữ liệu Trong đó, ngôn ngữ truy vấn đối tượng được mở rộng theo hướng kế thừa các ngôn ngữ truy vấn thế hệ trước và bổ sung nhiều tính năng hướng đối tượng trong từng phiên bản Do đó, các phương pháp tối ưu hoá truy vấn đã được đề xuất trong các mô hình dữ liệu thế hệ trước có thể sẽ không

áp dụng được trên mô hình dữ liệu hướng đối tượng Phương pháp tối ưu hoá truy vấn đối tượng có những điểm khác biệt so với các phương pháp truyền thống, điều này có thể nhận thấy qua các khái niệm, những tính chất đặc trưng của mô hình dữ liệu hướng đối tượng như định danh đối tượng, lớp, phân cấp lớp, sự kế thừa và nguyên lý đóng gói Vì vậy, các kết quả nghiên cứu trong luận án sẽ tập trung làm rõ về mặt ý nghĩa các vấn đề nảy sinh trong quá trình tối ưu hoá truy vấn đối tượng, từ đó đề xuất các phương pháp tối ưu trên một số lớp truy vấn trong CSDL hướng đối tượng

2 Nội dung nghiên cứu của luận án

Luận án tiếp tục nghiên cứu về mô hình dữ liệu hướng đối tượng và các vấn đề về tối ưu hoá truy vấn trong CSDL hướng đối tượng Đối với

mô hình dữ liệu hướng đối tượng, luận án nghiên cứu các đặc trưng hướng đối tượng trong các mô hình ODMG, ngôn ngữ truy vấn đối tượng OQL, đại số đối tượng và mô hình chi phí xử lý truy vấn đối tượng

Trang 5

Đối với tối ưu hoá truy vấn đối tượng, nghiên cứu biên dịch truy vấn đối tượng trong OQL sang truy vấn quan hệ, phương pháp tối ưu hoá truy vấn đối tượng bằng các phép biến đổi tương đương biểu thức đại số đối tượng và cuối cùng là phương pháp tối ưu cho lớp các truy vấn lồng bằng

ký pháp siêu đồ thị kết nối đối tượng

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

Sử dụng mô hình lưu trữ quan hệ nhúng và phương pháp biểu diễn truy vấn bằng đồ thị tân từ để nghiên cứu chuyển đổi lược đồ hướng đối tượng sang lược đồ quan hệ và biên dịch truy vấn đối tượng OQL sang truy vấn quan hệ SQL

Trong trường hợp truy vấn đối tượng không lồng, sử dụng tập luật biến đổi các phép toán đại số đối tượng để nghiên cứu cải tiến phương pháp tối ưu hoá truy vấn đối tượng dựa vào tập luật

Đối với lớp truy vấn đối tượng lồng, sử dụng ký pháp siêu đồ thị kết nối đối tượng để biểu diễn và nghiên cứu các thuật toán rút gọn siêu đồ thị

4 Những kết luận mới của luận án

- Nghiên cứu mở rộng mô hình chi phí xử lý truy vấn tổng quát trong CSDL hướng đối tượng

- Đề xuất phương pháp chuyển đổi lược đồ hướng đối tượng sang lược

đồ quan hệ nhúng, cải tiến và hoàn chỉnh các thuật toán biên dịch truy vấn đối tượng trong OQL về truy vấn quan hệ SQL

- Mở rộng thuật toán tối ưu hoá truy vấn đối tượng dựa vào tập luật và các quy tắc tối ưu hoá truy vấn hướng đối tượng tổng quát

- Đề xuất khái niệm siêu đồ thị kết nối đối tượng, sử dụng để biểu diễn truy vấn đối tượng lồng trong OQL Từ đó, đưa ra các thuật toán ước lượng các siêu cạnh và thu gọn siêu đồ thị kết nối

- Xây dựng không gian tìm kiếm của truy vấn đối tượng dựa trên siêu đồ thị kết nối đối tượng và xác định giá trị của tổng số các phương án thực thi truy vấn trong không gian tìm kiếm

5 Bố cục của luận án

Luận án gồm phần mở đầu, ba chương nội dung và phần kết luận

Chương 1 giới thiệu các khái niệm cơ bản trong mô hình dữ liệu hướng đối tượng Sau đó, mở rộng ngữ nghĩa của mô hình dữ liệu với các khái niệm

Trang 6

về đối tượng phức hợp và phiên bản lược đồ Cuối cùng là giao diện cơ sở của mô hình dữ liệu hướng đối tượng

Chương 2 trình bày ngôn ngữ truy vấn đối tượng OQL Nghiên cứu và

mở rộng mô hình chi phí xử lý truy vấn tổng quát trên các lớp sưu tập Chương 3 trình bày các kết quả đạt được trong quá trình nghiên cứu

về phương pháp tối ưu hoá truy vấn đối tượng

NỘI DUNG LUẬN ÁN CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN TRONG

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

Chương 1 trình bày những kiến thức nền tảng của mô hình dữ liệu hướng đối tượng như định danh đối tượng, kiểu/lớp, lược đồ, phân cấp lớp

và mối quan hệ kế thừa, phương thức và nguyên lý đóng gói, …v.v Sau đó, xem xét sự mở rộng ngữ nghĩa của mô hình dữ liệu hướng đối tượng qua các khái niệm về đối tượng phức hợp và phiên bản lược đồ Phần cuối chương giới thiệu giao diện cơ sở gồm ngôn ngữ con định nghĩa dữ liệu, thao tác dữ liệu và điều khiển dữ liệu

CHƯƠNG 2: NGÔN NGỮ TRUY VẤN ĐỐI TƯỢNG

VÀ ĐẠI SỐ ĐỐI TƯỢNG

Mục đích chính của chương 2 là tìm hiểu ngôn ngữ truy vấn đối tượng OQL, ngôn ngữ được sử dụng để thiết lập các truy vấn trong chương 3 và

là công cụ để nghiên cứu một số vấn đề về tối ưu hoá truy vấn trong CSDL hướng đối tượng Phân tích và mở rộng mô hình chi phí xử lý truy vấn tổng quát

2.1 Ngôn ngữ truy vấn đối tượng OQL

Ngôn ngữ truy vấn đối tượng OQL (Object Query Language) là ngôn

ngữ truy vấn CSDL hướng đối tượng đã đề xuất trong ODMG-93

Trang 7

2.1.1 Kiểu và lược đồ suy dẫn kiểu trong ngôn ngữ truy vấn OQL

Hệ thống các kiểu dữ liệu nguyên thuỷ và các kiểu dữ liệu suy dẫn gắn với phân cấp kiểu được giới thiệu trong hình 2.3 Trên cây phân cấp, các

kiểu tổng quát là các nút nằm ở nút nhánh trên cây, các kiểu này sẽ không

được sử dụng trong các lược đồ CSDL Tất cả các nút lá trong hình 2.3 là

các kiểu đặc trưng, chúng được suy dẫn từ các kiểu cơ sở

Hình 2.3 Sự phân cấp các kiểu trong OQL 2.1.2 Truy vấn select … from … where

Cú pháp của khối lệnh trọng tâm select trong OQL là:

select [distinct] <Danh sách kết quả>

from <Danh sách lớp/sưu tập lớp>

where <Biểu thức điều kiện>

[group by <Các thuộc tính phân nhóm>]

[having <Điều kiện lọc>]

[order by (<Khoá sắp xếp> asc|desc, …)]

2.1.3 Đại số đối tượng

2.1.3.1 Phép toán đối tượng: chiếu lấy định danh (πo), chiếu lấy giá trị (πV)

và chiếu lấy đối tượng (πD )

2.1.3.2 Phép toán bộ: thiết lập bộ: tuple(a 1 : v 1 , … , a n : v n), chiếu bộ (π (Attrs)), Trích xuất giá trị thuộc tính (πAttr) và ghép bộ (tuple_cat)

2.1.3.3 Phép toán tập hợp: thiết lập tập hợp (set( ) hoặc {}), hợp của hai tập hợp (set_union), hiệu của hai tập hợp (set_diff), chọn trên tập hợp (σs

λs.f), làm phẳng tập (set_flat) và áp dụng hàm trên tập (set_apply λs.e)

Trang 8

2.1.3.4 Phép toán trên kiểu “túi”: thiết lập, hợp, hiệu, chọn, làm phẳng,

áp dụng hàm trên bag: bag, bag_union, bag_diff, σb

λs.f, bag_flat, bag_apply

và bagtoset (chuyển đổi ‘túi”về tập)

2.1.3.5 Phép toán trên danh sách: thiết lập danh sách, lấy phần tử đầu

tiên, lấy phần tử cuối cùng, ghép danh sách, chọn, làm phẳng, áp dụng hàm

trên danh sách: list, first, last, list_cat, σl

λs.f, list_flat, list_apply λs.e

2.1.3.6 Phép toán trên mảng: thiết lập mảng, ghép mảng, áp dụng, trích

xuất phần tử và chiếu mảng: array, array_cat, array_apply λs.e, πi và πi,j, j > i

2.2 Một số nhận xét về ngôn ngữ truy vấn đối tượng OQL

Bảng 2.1 đưa ra một số các đặc trưng của ngôn ngữ truy vấn đối tượng

OQL, là cơ sở lựa chọn ngôn ngữ truy vấn cho các phương pháp tối ưu hoá

truy vấn đối tượng trong chương 3

Bảng 2.1 Ngôn ngữ truy vấn đối tượng OQL

Ngôn ngữ truy vấn

Hỗ trợ các kiểu người dùng định nghĩa Có

Kiểu: Tập hợp, đa tập, bộ, mảng, thuộc tính tham chiếu Có

Kiểu sưu tập: bag, list, đa sưu tập Có

Hỗ trợ khái niệm phiên bản Có

Hỗ trợ các giao dịch thời hiệu dài Có

Hỗ trợ tính năng lặp dữ liệu (bản sao) Có

Các thuộc tính của đối tượng được định nghĩa trong các

ngôn ngữ lập trình

C, C++, JAVA, Smalltalk, Active X Phương thức Phương thức thuộc tính suy

dẫn và phương thức tân từ Các phương thức được lưu trữ cùng đối tượng trong

CSDL

Các phương thức được lưu trữ ở Client

Các phương thức của đối tượng được định nghĩa bằng

ngôn ngữ lập trình

C, C++, JAVA, Smalltalk, Active X

MÔ HÌNH CHUẨN

Hỗ trợ ngôn ngữ định nghĩa đối tượng Có

Hỗ trợ ngôn ngữ truy vấn đối tượng Có

Trang 9

Ngôn ngữ truy vấn

Hỗ trợ SQL chuẩn trong chế độ tương tác Có

Hỗ trợ SQL chuẩn trong mô hình nhúng Có

Hỗ trợ ngôn ngữ CSDL dựa trên SQL Có

TRUY VẤN

Hỗ trợ các truy vấn với GUI Có

Hỗ trợ các truy vấn với ngôn ngữ thế hệ thứ tư

Hỗ trợ các truy vấn với ngôn ngữ hướng đối tượng

Cho phép cập nhật lược đồ CSDL Có

Lượng từ trên kiểu sưu tập Không

ĐẠI SỐ ĐỐI TƯỢNG

Tập phép toán đại số đối tượng phép toán đối tượng, bộ, tập hợp, “túi”, danh sách và mảng

Các toán tử kiểu sưu tập listtoset, element, flatten

Tập luật biến đổi đại số đối tượng Có

2.3 Mô hình ước lượng chi phí xử lý truy vấn

Phần này phân tích mô hình chi phí xử lý truy vấn tổng quát trên các

lớp Mô hình được sử dụng để ước lượng chi phí xử lý của truy vấn đối

tượng trong tiến trình tối ưu hoá truy vấn

2.3.1 Mô hình chi phí các khối dựng sẵn

Tổng chi phí của tiến trình xử lý truy vấn được tính với công thức:

Total_cost = IO_cost + CPU_cost

trong đó, IO_cost là chi phí vào/ra của đĩa và CPU_cost là chi phí tính toán

trong tiến trình xử lý truy vấn Luận án tập trung nghiên cứu trên chi phí

IO_cost và bỏ qua chi phí CPU_cost

2.3.2 Các yếu tố chi phí cơ sở

2.3.2.1 Ước lượng số các trang cho một lớp sưu tập

Tổng số trang lưu trữ cho một lớp c với kích thước đối tượng SC và

lực lượng c được tính với công thức: ⎥

với PS là kích thước trang bộ nhớ dùng cho hệ thống CSDL hướng đối tượng

Trang 10

2.3.2.2 Ước lượng số trang truy xuất để chọn các bản ghi một cách ngẫu nhiên

Định lý 2.1 (Định lý Yao) Cho n bản ghi cùng kiểu được nhóm vào m

trang (1 < m ≤ n), mỗi trang chứa n/m bản ghi Nếu k bản ghi (k ≤ n – n/m)

được chọn một cách ngẫu nhiên từ n bản ghi, thì số các trang truy xuất là:

k m

n

Yao

1 1

) , ,

m

Áp dụng hàm Yao vào CSDL hướng đối tượng, ta có giá trị của các tham

số n, m, k là: n= ,c m= ck =SEL× c (SEL là số các đối tượng được chọn

thoả điều kiện trên lớp hiện thời c), lúc đó công thức (2.2) trở thành:

c SEL c c

Yao

1 1

) ,

,

c

d = 1 − 1 (2.3)

Ngoài ra, nếu c là một sưu tập gộp nhóm, công thức (2.2) không thể

sử dụng để ước lượng các trang truy xuất, vì sưu tập gộp nhóm c có nhiều

hơn một phân mảnh, các đối tượng được gộp nhóm với nhau từ các sưu tập

khác nhau, trong đó vẫn tồn tại một số đối tượng được lưu trữ riêng lẻ

Trong trường hợp này, công thức ước lượng số trang truy xuất được sử

dụng trong định lý 2.2

Định lý 2.2 (Định lý Yao’) Cho sưu tập c có p phân mảnh, mỗi phân

mảnh có c i đối tượng Nếu k đối tượng (

=

< p

i i

c k

c Yao

1

, , )

, (

với k i là số các đối tượng được chọn trong phân mảnh c i

Nếu số các đối tượng được chọn lấy giống nhau giữa các phân mảnh

c

c

i = × Ngược lại, nếu số các đối tượng chọn không giống nhau

giữa các phân mảnh khác nhau thì phải xác định chính xác giá trị của mỗi ki

trên mỗi phân mảnh dựa vào mật độ của các đối tượng trong mỗi phân

mảnh Công thức (2.2) là một trường hợp đặc biệt của (2.4) khi sưu tập c chỉ

có một phân mảnh

Mặt khác, công thức (2.2) chỉ áp dụng được khi m ≤ n, tức là khi kích

thước đối tượng là nhỏ hơn hoặc bằng kích thước của trang Đối với kích

Trang 11

thước đối tượng lớn hơn kích thước trang, số các trang được ước lượng

1 1

Vì vậy, hàm Y được định nghĩa như sau:

c

k c

k c c Yao k

c

Y

1 1

1

, , )

,

Như vậy, từ tính chất (2.5) của hàm Y và công thức (2.4), định lý 2.2

được mở rộng như sau:

Định lý 2.3: [6]* Cho sưu tập c có p phân mảnh, mỗi phân mảnh có c i đối

tượng Nếu k đối tượng (

=

< p

i i

c k

1

) được chọn từ c một cách ngẫu nhiên thì số

các trang được truy xuất là: Yao'(c,k) =Y(c,k), k i là số các đối tượng được

chọn trong phân mảnh c i

2.3.3 Chi phí xử lý truy vấn trên các lớp

Việc phân tích tổng chi phí IO_Cost được thực hiện theo ba thành

phần là chi phí nạp của lớp sưu tập (IO_Load), chi phí ước lượng tân từ

(IO_Eval) và chi phí kết xuất kết quả (IO_Build) được xem xét trong hai

trường hợp: giả thiết bộ nhớ xử lý đủ lớn và bộ nhớ nhỏ

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

3.1 Đặt vấn đề

Các phương án thực thi truy vấn đều có kết quả cuối cùng là tương

đương nhưng khác nhau trong chi phí thực hiện Vấn đề phải quan tâm là

làm sao cực tiểu tần suất sử dụng của CPU, bộ nhớ, chi phí vào/ra và các

nguồn tài nguyên về lĩnh vực truyền thông Một số phương pháp tối ưu hoá

truy vấn đối tượng được đưa ra trong luận án cũng tiếp cận theo hướng làm

cực tiểu chi phí xử lý vào/ra khi một truy vấn được thực thi Các phương

pháp được trình bày trên cơ sở của mô hình dữ liệu ODMG93 và ngôn ngữ

truy vấn đối tượng OQL, nhưng không mất tính tổng quát đối với các mô

hình dữ liệu hướng đối tượng có hỗ trợ các đặc trưng này

* Chỉ số của các trích dẫn từ danh mục “Các công trình đã công bố liên quan đến luận án”

Với kích thước đối tượng ≤ kích thước trang Với kích thước đối tượng > kích thước trang

Trang 12

3.2 Chuyển đổi lược đồ hướng đối tượng sang lược đồ quan hệ nhúng [2], [4] 3.2.1 Tiến trình tổng quát

Quy trình thực hiện tối ưu hoá truy vấn đối tượng OQL bằng phương pháp chuyển đổi lược đồ và biên dịch truy vấn như sau:

Bước 1: Chuyển đổi lược đồ hướng đối tượng sang lược đồ quan hệ nhúng Bước 2: Biên dịch các câu truy vấn đối tượng OQL trên CSDL hướng

đối tượng sang truy vấn quan hệ SQL Bước 3: Tối ưu hoá truy vấn quan hệ SQL (ở bước 2) bằng các

Định nghĩa 3.1 Quan hệ nhúng được biểu diễn hình thức như sau:

<TênQuanHệ>(a1, …, an, R1, …, Rm)

trong đó, a i (i = 1,…,n) là các thuộc tính có giá trị nguyên thuỷ, R j (j = 1,…,m)

là các quan hệ có dạng: R j = <TênQuanHệ>(b 1 , …, b k , R jl)

Định nghĩa 3.2 Cho trước một quan hệ R Thuộc tính định danh bộ (TID)

là địa chỉ tham chiếu của R-bộ, được ký hiệu là &R Định danh đối tượng duy nhất (OID) là giá trị được dùng để xác định duy nhất đối tượng, do hệ thống tạo lập, được ký hiệu là #R

Thuộc tính &R là một thuộc tính của quan hệ nhúng R hoặc là thuộc

tính (lưu trữ) trong một quan hệ khác (với vai trò là trường liên kết để mô

tả việc lưu trữ các bộ chứa một tham chiếu đến một R-bộ)

Ví dụ 3.3 Cho các lớp SinhVien và NhanSu như trong ví dụ 3.2

Lúc đó, quan hệ SinhVien được khởi tạo như sau:

Hình 3.1 Biểu diễn quan hệ SinhVien dưới dạng cây

Trang 13

3.2.2.1 Đặc tả các tham chiếu đối tượng và chỉ mục kết nối

Giả sử hai quan hệ R và S quan hệ với nhau qua tân từ P, các lược đồ

quan hệ nhúng được mô tả như sau:

Lớp không chứa quan hệ kế thừa: Các quan hệ R và S được lưu trữ

S(S#, các thuộc tính )

và R(#R, #S, các thuộc tính )

hoặc R(#R, &S, các thuộc tính )

hoặc R(#R, #S, &S, các thuộc tính )

Trong trường hợp tân từ P là một hàm có kiểu đối tượng, thực hiện việc tổ chức lưu trữ ít nhất là định danh đối tượng duy nhất của đối tượng tham chiếu

Tham chiếu nhúng kiểu tập: Tương tự, nếu một R-bộ có quan hệ nhiều

hơn một S-bộ, ta có thể lưu trữ một tập các tham chiếu (OID và/hoặc TID) đối với mỗi R-bộ trong một quan hệ con nhúng SRef

S(S#, các thuộc tính )

và R(#R, SRef(#S), các thuộc tính )

hoặc R(#R, SRef(&S), các thuộc tính )

hoặc R(#R, SRef(#S, &S), các thuộc tính )

Chỉ mục kết nối: Các con trỏ liên kết các đối tượng liên quan cũng được

lưu trữ thành các quan hệ riêng biệt đối với các đối tượng – bộ, hai quan hệ

JI1 và JI2 là các quan hệ lưu trữ các chỉ mục kết nối giữa quan hệ R và S:

R(#R, một vài thuộc tính )

S(#S, một vài thuộc tính )

JI1(&R, SRef(&S))

và JI2(&S, SRef(&R))

Ngày đăng: 03/04/2014, 12:24

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