cơ sở dữ liệu hướng đối tượng: phần 2
Số trang: 92
Loại file: pdf
Dung lượng: 3.58 MB
Lượt xem: 18
Lượt tải: 0
Xem trước 10 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
nối tiếp nội dung phần 1 cuốn "cơ sở dữ liệu hướng đối tượng", phần 2 cung cấp cho người học các kiến thức: ngôn ngữ truy vấn đối tượng oql, tối ưu hóa truy vấn đối tượng, một số mô hình cơ sở dữ liệu hướng đối tượng mở rộng. mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
cơ sở dữ liệu hướng đối tượng: phần 2c HƯƠNG4NGÔN NGỮTRUY VẤN ĐỐI TƯỢNG OQLN gôn n g ữ tru y vấn đ ố i tư ợ n g OQL (O bje ct Q ueryLanguage) là n gôn n g ữ tru y vấn có tính th â n th iệ n tro n gbiếu diễn tru y vấn, khả năng độc tâ các đ ố i tư ợ n g p h ứ ctro n g CSDL h ư ớ n g đ ố i tư ợ n g - là cơ sở đ ề xe m x é t lự achọn n gôn n g ữ tru y vấn thích h ợ p sử d ụng tro n g cácp h ư ơ n g p h á p tố i ưu h oá tru y vân đ ổ i tư ợng. Bên cọnh đó,các p h é p to á n đ ợ i s ố đ ổ i tư ợ n g là công cụ đ ư ợ c s ử dụngđ ể v iế t lọ i các tru y vấn d ư ớ i dọng các biếu th ứ c đ ợ i s ốđ ố i tư ợ n g , các b iể u th ứ c này sẽ là đ à u vào của các th u ộ tto á n tố i ưu h óa tru y vấn đ ố i tư ợ n g dự a trê n tộ p lu ậ t.4OQL là ngôn ngữ truy vấn CSDL hướng đối tượng đã đề xuấttrong ODMG-93. Phiên bản cuối cùng của OQL trong ODMG-93(Release 1.2) là siêu tập của SQL92, được mô tả như là m ột phần củaODMG chuẩn. OQL là ngôn ngữ truy vấn không đưa ra môi trườnglập trình đầy đù, chẳng hạn như, OQL không thể biểu diễn cho tất cảcác tính toán phức tạp. Do đó, nó không phải là hệ tính toán đầy đủ.Vì vậy, để tăng khả năng tính toán cho OQL cần phải liên kết với cácngôn ngữ lập trình khác:(i) OQL được dùng để mô tả truy vấn và các thao tác của đối tượng;(ii) N gôn ngữ định nghĩa đối tượng (ODL): Sử dụng m ã OQL đểđịnh nghĩa giao diện với các kiểu đối tượng;(iii) Các ngôn ngữ lập trình khác như: C++, Sm alltalk và Javađược dùng để cài đặt các phương thức và các chương trình ứng dụng.Đồng thời có thể nhúng các câu lệnh OQL trong các thao tác trênCSDL đối tượng.Trong (iii) O QL được dùng như ngôn ngữ truy vấn nhúng, nócũng có thể được sử dụng như m ột ngôn ngữ truy vấn độc lập, nghĩalà, người dùng có thể biểu diễn các thao tác CSDL đối tượng hoàntoàn bằng OQL m à không cần m ột chương trình nhúng nào được viếtbằng ngôn ngữ lập trình khác.O QL được thiết kế theo hướng phát triển kế thừa, đó là thiết kếmột ngôn ngữ m ới đầy đù dựa trên SQL, ngôn ngữ chuẩn của CSDLquan hệ. Thiết kế cùa OQL ờ dạng hàm, kết quà của truy vấn có kiểu,điều này cho phép kết quả của truy vấn này là đầu vào cùa m ột truyvấn khác, vì vậy các truy vấn phức tạp có thể được xây dựng bằngTrangI 111Chương 4. Ngôn ngữ truy vãn đôĩ tượng OQLOQL. Bằng cách tích hợp các tính năng của SQL, O QL xây dựng trênnền tảng của CSDL quan hệ. M ục đích cùa mô hình O D M G là duy trìm ột m ức độ tương thích giữa kỹ thuật CSDL hướng đối tượng và kỹthuật CSDL đối tuợng - quan hệ bằng cách tích hợp các tính năng cùaphiên bản tương lai của SQL trong phiên bản tương lai của OQL.4.1. KIỂU V À LƯ Ợ C ĐÒ SUY DÂN KIÊUTRO NG NGÔN N G Ử T R U Y VẤN OQLH ệ thống các kiểu dữ liệu nguyên thuỳ và các kiểu dữ liệu suydẫn gắn với phân cấp kiểu được giới thiệu trong hình 4.1. Trên câyp h â n c ấ p , t a n h ậ n t h ấ y r ằ n kiểu álổng q u á t l à c á c n ú t n ằ m ở n ú tg c cnhánh trên cây, các kiểu này sẽ không được sử dụng trong các lược đồCSDL (khai báo hình thức). Kiểu được gọi là kiểu đặc trưng, nếu nóđược suy dẫn từ các kiểu cơ sở. Tất cả các nút lá trong hình 4.1 là cáckiều đặc trưng. Ở vị trí của các tập thực thể, mô hình m ạng đưa ra kiểum ẫu tin logic. M ột kiểu m ẫu tin logic là tên gán cho m ột tập các mẫutin, được gọi là các m ẫu tin logic. N ó được cấu tạo bời các trườngchứa các giá trị cơ bản như: số nguyên, chuỗi ký tự,... Tập các têntrường và kiểu của chúng cấu tạo nên khuôn dạng m ẫu tin lc gic.H ình 4.1. Sự phân cấp các kiểu trong OQLHOÀNG BẢO HÙNGCác kiểu tổng quát của hệ thống các kiểu kết quả được thể hiệnnhư sau:K iểu: T ::= int I float I bool I char I string I voidT x ... x T - » Tbag(T) I set(T) I list(T) I array(T) I structự: T, t T)cany I nonfunctionalatom ic I orderable I inư floatconstructor^: T, t.T )collection(T) I set/ bag(T) I list/ array(T)4.2. TRUY VẤN SELEC T ... FROM ... W HERECú pháp của khối lệnh trọng tâm select trong OQL là:select [distinct]fromw here[group by][having[order by]( ascỊdesc, ...)]T rong đó, từ khóa distinct nếu sử dụng thì kết quả cùa truy vấncó kiểu tập đối tượng. M ệnh đềgroup by phân nhóm trên lớp sưu tập,các đối tượng được nhóm theo giá trị của các thuộc tính phân nhóm.Mỗi cấu trúc của nhóm chứa m ột nhóm các thuộc tính và nhóm cácđối tượng có cùng giá trị. M ệnh đề having đặt điều kiện đề lựa chọn(lọc). M ệnh đề order by sắp thứ tự các đối tượng trong lớp sưu tậpkết quả.Định nghĩa kiểu: d ::= define X as qI define x(x,x) as qT r a n g I 113 ...
Nội dung trích xuất từ tài liệu:
cơ sở dữ liệu hướng đối tượng: phần 2c HƯƠNG4NGÔN NGỮTRUY VẤN ĐỐI TƯỢNG OQLN gôn n g ữ tru y vấn đ ố i tư ợ n g OQL (O bje ct Q ueryLanguage) là n gôn n g ữ tru y vấn có tính th â n th iệ n tro n gbiếu diễn tru y vấn, khả năng độc tâ các đ ố i tư ợ n g p h ứ ctro n g CSDL h ư ớ n g đ ố i tư ợ n g - là cơ sở đ ề xe m x é t lự achọn n gôn n g ữ tru y vấn thích h ợ p sử d ụng tro n g cácp h ư ơ n g p h á p tố i ưu h oá tru y vân đ ổ i tư ợng. Bên cọnh đó,các p h é p to á n đ ợ i s ố đ ổ i tư ợ n g là công cụ đ ư ợ c s ử dụngđ ể v iế t lọ i các tru y vấn d ư ớ i dọng các biếu th ứ c đ ợ i s ốđ ố i tư ợ n g , các b iể u th ứ c này sẽ là đ à u vào của các th u ộ tto á n tố i ưu h óa tru y vấn đ ố i tư ợ n g dự a trê n tộ p lu ậ t.4OQL là ngôn ngữ truy vấn CSDL hướng đối tượng đã đề xuấttrong ODMG-93. Phiên bản cuối cùng của OQL trong ODMG-93(Release 1.2) là siêu tập của SQL92, được mô tả như là m ột phần củaODMG chuẩn. OQL là ngôn ngữ truy vấn không đưa ra môi trườnglập trình đầy đù, chẳng hạn như, OQL không thể biểu diễn cho tất cảcác tính toán phức tạp. Do đó, nó không phải là hệ tính toán đầy đủ.Vì vậy, để tăng khả năng tính toán cho OQL cần phải liên kết với cácngôn ngữ lập trình khác:(i) OQL được dùng để mô tả truy vấn và các thao tác của đối tượng;(ii) N gôn ngữ định nghĩa đối tượng (ODL): Sử dụng m ã OQL đểđịnh nghĩa giao diện với các kiểu đối tượng;(iii) Các ngôn ngữ lập trình khác như: C++, Sm alltalk và Javađược dùng để cài đặt các phương thức và các chương trình ứng dụng.Đồng thời có thể nhúng các câu lệnh OQL trong các thao tác trênCSDL đối tượng.Trong (iii) O QL được dùng như ngôn ngữ truy vấn nhúng, nócũng có thể được sử dụng như m ột ngôn ngữ truy vấn độc lập, nghĩalà, người dùng có thể biểu diễn các thao tác CSDL đối tượng hoàntoàn bằng OQL m à không cần m ột chương trình nhúng nào được viếtbằng ngôn ngữ lập trình khác.O QL được thiết kế theo hướng phát triển kế thừa, đó là thiết kếmột ngôn ngữ m ới đầy đù dựa trên SQL, ngôn ngữ chuẩn của CSDLquan hệ. Thiết kế cùa OQL ờ dạng hàm, kết quà của truy vấn có kiểu,điều này cho phép kết quả của truy vấn này là đầu vào cùa m ột truyvấn khác, vì vậy các truy vấn phức tạp có thể được xây dựng bằngTrangI 111Chương 4. Ngôn ngữ truy vãn đôĩ tượng OQLOQL. Bằng cách tích hợp các tính năng của SQL, O QL xây dựng trênnền tảng của CSDL quan hệ. M ục đích cùa mô hình O D M G là duy trìm ột m ức độ tương thích giữa kỹ thuật CSDL hướng đối tượng và kỹthuật CSDL đối tuợng - quan hệ bằng cách tích hợp các tính năng cùaphiên bản tương lai của SQL trong phiên bản tương lai của OQL.4.1. KIỂU V À LƯ Ợ C ĐÒ SUY DÂN KIÊUTRO NG NGÔN N G Ử T R U Y VẤN OQLH ệ thống các kiểu dữ liệu nguyên thuỳ và các kiểu dữ liệu suydẫn gắn với phân cấp kiểu được giới thiệu trong hình 4.1. Trên câyp h â n c ấ p , t a n h ậ n t h ấ y r ằ n kiểu álổng q u á t l à c á c n ú t n ằ m ở n ú tg c cnhánh trên cây, các kiểu này sẽ không được sử dụng trong các lược đồCSDL (khai báo hình thức). Kiểu được gọi là kiểu đặc trưng, nếu nóđược suy dẫn từ các kiểu cơ sở. Tất cả các nút lá trong hình 4.1 là cáckiều đặc trưng. Ở vị trí của các tập thực thể, mô hình m ạng đưa ra kiểum ẫu tin logic. M ột kiểu m ẫu tin logic là tên gán cho m ột tập các mẫutin, được gọi là các m ẫu tin logic. N ó được cấu tạo bời các trườngchứa các giá trị cơ bản như: số nguyên, chuỗi ký tự,... Tập các têntrường và kiểu của chúng cấu tạo nên khuôn dạng m ẫu tin lc gic.H ình 4.1. Sự phân cấp các kiểu trong OQLHOÀNG BẢO HÙNGCác kiểu tổng quát của hệ thống các kiểu kết quả được thể hiệnnhư sau:K iểu: T ::= int I float I bool I char I string I voidT x ... x T - » Tbag(T) I set(T) I list(T) I array(T) I structự: T, t T)cany I nonfunctionalatom ic I orderable I inư floatconstructor^: T, t.T )collection(T) I set/ bag(T) I list/ array(T)4.2. TRUY VẤN SELEC T ... FROM ... W HERECú pháp của khối lệnh trọng tâm select trong OQL là:select [distinct]fromw here[group by][having[order by]( ascỊdesc, ...)]T rong đó, từ khóa distinct nếu sử dụng thì kết quả cùa truy vấncó kiểu tập đối tượng. M ệnh đềgroup by phân nhóm trên lớp sưu tập,các đối tượng được nhóm theo giá trị của các thuộc tính phân nhóm.Mỗi cấu trúc của nhóm chứa m ột nhóm các thuộc tính và nhóm cácđối tượng có cùng giá trị. M ệnh đề having đặt điều kiện đề lựa chọn(lọc). M ệnh đề order by sắp thứ tự các đối tượng trong lớp sưu tậpkết quả.Định nghĩa kiểu: d ::= define X as qI define x(x,x) as qT r a n g I 113 ...
Tìm kiếm theo từ khóa liên quan:
Cơ sở dữ liệu hướng đối tượng Cơ sở dữ liệu Ngôn ngữ truy vấn đối tượng OQL Ngôn ngữ truy vấn đối tượng Tối ưu hóa truy vấn đối tượng Mô hình cơ sở dữ liệuGợi ý tài liệu liên quan:
-
62 trang 402 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 378 6 0 -
13 trang 295 0 0
-
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 294 0 0 -
Phân tích thiết kế hệ thống - Biểu đồ trạng thái
20 trang 290 0 0 -
Tài liệu học tập Tin học văn phòng: Phần 2 - Vũ Thu Uyên
85 trang 257 1 0 -
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 247 0 0 -
8 trang 186 0 0
-
Giáo trình về dữ liệu và các mô hình cơ sở dữ liệu
62 trang 186 0 0 -
Giáo trình Cơ sở dữ liệu: Phần 2 - Đại học Kinh tế TP. HCM
115 trang 176 0 0