Truy vấn và tối ưu hoá truy vấn trong cơ sở dữ liệu hướng đối tượng
Trang 1BỘ 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 2Cô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 3CÁ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 4MỞ ĐẦ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 6về đố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 72.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 82.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 9Ngô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 102.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= c và k =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 11thướ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 123.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 133.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))