Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 52 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
52
Dung lượng
205,78 KB
Nội dung
Cơ sở liệu nâng cao Cơ sở liệu hướng đối tượng Phạm Nguyên Khang, Nguyễn Thanh Bình Đỗ Thanh Nghị dtnghi@cit.ctu.edu.vn Cần Thơ 11-10-2016 CuuDuongThanCong.com https://fb.com/tailieudientucntt CSDL hướng đối tượng Mục tiêu Trình bày HQTCSDL hướng đối tượng Giới thiệu thành phần HQTCSDL hướng đối tượng Tìm hiểu sâu chuẩn HQTCSDL hướng đối tượng CuuDuongThanCong.com https://fb.com/tailieudientucntt Tài liệu tham khảo [Connolly, 1998] Connolly T., Begg C., Strachan A (1998) Database Systems A Practical Approach to Design, Implementation and Management Addison Wesley Chapitres 22 [Cattell, 1997] Cattell R et al (1998) Object Database Standard: ODMG 2.0 Morgan Kaufmann CuuDuongThanCong.com https://fb.com/tailieudientucntt Tiếp cận HQTCSDL hướng đối tượng sử dụng cách tiếp cận đối tượng phát triển hệ thống « quên » hệ CSDL quan hệ thao tác, lưu trữ quản lý đối tượng định nghĩa yêu cầu cho hệ thống từ phân tích đến cài đặt, lưu trữ suy nghĩ hướng đối tượng quản lý đối tượng từ giao diện người dùng đến ngơn ngữ lập trình Các thành phần HQTCSDL hướng đối tượng đề xuất chuẩn Chuẩn HQTCSDL hướng đối tượng CuuDuongThanCong.com https://fb.com/tailieudientucntt Định nghĩa HQTCSDL hướng đối tượng Hệ thống bao gồm: chức HQTCSDL tích hợp khái niệm đối tượng nhằm mơ hình hóa đối tượng phức tạp thiết kế nhất: liệu chương trình Khái niệm lớp thừa kế từ góc nhìn hệ thống lưu trữ hiệu tất kiểu liệu tìm kiếm quản lý giao dịch CuuDuongThanCong.com https://fb.com/tailieudientucntt Các thành phần HQTCSDL HĐT CuuDuongThanCong.com https://fb.com/tailieudientucntt Tính bắt buộc đối tượng phức định danh đối tượng đóng gói kiểu lớp định nghĩa chồng ràng buộc muộn quản lý cạnh tranh đầy đủ khả mở rộng thao tác liệu lưu trữ lâu dài tin cậy thừa kế quản lý nhớ CuuDuongThanCong.com https://fb.com/tailieudientucntt Đối tượng phức Định nghĩa Một đối tượng phức đối tượng có hai nhiều thuộc tính tham chiếu đến đối tượng khác đến tập giá trị Một đối tượng chứa nhiều đối tượng Ví dụ Một hộ bao gồm nhiều phòng o451 : tuple ( No : 10, Address : "71 Pins", Nb-Room : 4; Rooms : set (o5, o6, o7, o8) Price : 35 000 ) CuuDuongThanCong.com https://fb.com/tailieudientucntt Định danh đối tượng định nghĩa ví dụ Định danh đối tượng "Appartment số 10" là: o451 khái niệm liên quan Tất đối tượng phải có định danh (OID) cho phép tham chiếu đến Định danh bất biến suốt chu trình sống đối tượng tính đồng đối tượng hai đối tượng chúng có định danh HQTCSDL HĐT phải hỗ trợ OID tính đồng đối tượng CuuDuongThanCong.com https://fb.com/tailieudientucntt Đóng gói định nghĩa ví dụ khơng thao tác trực tiếp giá trị đối tượng, thao tác thông qua phương thức cho phép Đây ngun lý tính đóng gói khơng thao tác trực tiếp thuộc tính đối tượng Sử dụng hàm để lấy (hoặc đặt lại) giá trị thuộc tích HQTCSDL HĐT phải hỗ trợ tính đóng gói 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ngơn ngữ truy vấn đối tượng (OQL) OQL cho phép thao tác mở rộng lớp đường dẫn truy xuất liệu thuộc tính, phương thức hay liên kết 38 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ngôn ngữ truy vấn đối tượng Ngôn ngữ thao tác liệu xem lại cú pháp SQL viết câu truy vấn kiểu xác định kiểu duyệt, duyệt qua phân cấp composition cho phép tạo kết Tương thích với ngơn ngữ lập trình tích hợp ngơn ngữ truy vấn đối tượng OQL ngôn ngữ lập trình Smalltalk, C++, JAVA 39 CuuDuongThanCong.com https://fb.com/tailieudientucntt Biểu thức truy vấn Truy vấn SELECT DISTINCT FROM WHERE GROUP BY ORDER BY HAVING 40 CuuDuongThanCong.com https://fb.com/tailieudientucntt Biểu thức truy vấn Danh sách tập liệu (list of collections) định nghĩa biến câu truy vấn FROM Props AS L định nghĩa biểu thức (clause IN) truy vấn hoàn thiện cho phép truy vấn quan hệ tạm thời Cho phép thao tác mở rộng lớp biểu thức mà kết cho tập hợp 41 CuuDuongThanCong.com https://fb.com/tailieudientucntt Biểu thức truy vấn Biểu thức biểu thức lớp, thuộc tính, hàm… biểu thức xây dựng hỗ trợ xây dựng struct, list, bag, set, array biểu thức nhuwxntg tập hợp hay đối tượng biểu thức nguyên tử nối chuỗi, trích chuỗi con… Tính chất số lượng lớn biểu thức hoàn thiện ngôn ngữ 42 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ngôn ngữ truy vấn đối tượng Ví dụ : Tìm kiếm NAS, LastName Street chủ sở hữu Montréal SELECT L.NAS, L.LastName, L.Address.Str FROM Props L WHERE L.Address.City = "Montréal" 43 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ngôn ngữ truy vấn đối tượng Ví dụ 2: Tìm số địa hộ chung cư chủ sở hữu Pierre Tremblay SELECT A.No, A.Address FROM Props AS L, L.Posses AS A WHERE L.LastName="Tremblay" AND L.FirstName="Pierre" phép kết nối diễn đạt mệnh đề from nhờ vào định nghĩa tập hợp 44 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ngôn ngữ truy vấn đối tượng Tìm kiếm đồng thời đối tượng Những HQTCSDL hướng đối tượng cho phép truy cập đồng thời đối tượng duyệt qua phân cấp sử dụng định danh đối tượng (OID) 45 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ngơn ngữ truy vấn đối tượng Ví dụ truy xuất thông qua định danh đối tượng tìm giá hộ chung cư có định danh đối tượng o1 • o1->price truy xuất duyệt phần tử tập hợp đối tượng lớp appartment Hiển thị giá hộ chung cư { for (p in Appartment) printf (p->price) } 46 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ngôn ngữ truy vấn đối tượng Duyệt qua phân cấp biểu thức nối kết không tường minh tính diện tích phòng tắm hộ chung cư địa 31 Pins SELECT p.surface FROM a IN Appartments, p IN a.Rooms !! jointure implicit !! WHERE a.address = "31 Pins" AND p.type = "Shower Room" 47 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ngôn ngữ truy vấn đối tượng Duyệt qua phân cấp biểu thức nối kết tường minh Tìm chủ sở hữu mà họ thành phố với SELECT p1.lastname, p2.lastname, p1.city FROM p1 IN Props, p2 IN Props WHERE p1.nas p2.nas !! jointure explicit !! AND p1.city = p2.city !! jointure explicit !! 48 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ Tìm phòng diện tích nhỏ 5m2 SELECT WHERE Rooms* surface < Tìm phòng diện tích nhỏ 5m2, khơng phải phòng tắm SELECT WHERE Rooms* difference ShowerRoom surface < 49 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ngôn ngữ truy vấn đối tượng Sử dụng phương thức sử dụng phương thức đối tượng truy vấn tiếp cận hàm, tiếp cận theo phương châm hàm hoàn tồn sử dụng thuộc tính định nghĩa hàm số phương thức định nghĩa từ lời phương thức khác Ví dụ tính diện tích hộ chung cư giá 30 000$ O2 select surface(a) from a in appartment where a.price = 30 000 CuuDuongThanCong.com 50 https://fb.com/tailieudientucntt Tiến hóa chuẩn ODMG Nhiều phiên chuẩn version 1: đời 1994, bắt đầu làm việc 1991 version 2: đời 1995 version 3: đời 1997 51 CuuDuongThanCong.com https://fb.com/tailieudientucntt 52 CuuDuongThanCong.com https://fb.com/tailieudientucntt ...CSDL hướng đối tượng Mục tiêu Trình bày HQTCSDL hướng đối tượng Giới thiệu thành phần HQTCSDL hướng đối tượng Tìm hiểu sâu chuẩn HQTCSDL hướng đối tượng CuuDuongThanCong.com... trình Các thành phần HQTCSDL hướng đối tượng đề xuất chuẩn Chuẩn HQTCSDL hướng đối tượng CuuDuongThanCong.com https://fb.com/tailieudientucntt Định nghĩa HQTCSDL hướng đối tượng Hệ thống... https://fb.com/tailieudientucntt Đối tượng phức Định nghĩa Một đối tượng phức đối tượng có hai nhiều thuộc tính tham chiếu đến đối tượng khác đến tập giá trị Một đối tượng chứa nhiều đối tượng Ví dụ