Xem mẫu

  1. Bài giảng CƠ SỞ DỮ LIỆU NÂNG CAO Số tc: 2; LT: 20; Btập: 10 GV: Nguyễn Thị Mỹ Dung Khối lớp: Đại học L2 Chương 2: CSDL Hướng đối tượng 1
  2. NỘI DUNG MÔN HỌC 1 Chương 1. Tổng quan CSDL phân tán (4) 2 Chƣơng 2. Tổng quan CSDL hƣớng đối tƣợng 3 Chương 3. Cơ bản về Oracle (4) 4 Chương 4: Lập trình PL/SQL (4) 5 Chương 5: Procedure, Function (4) 6 Chương 6: Thiết kế đối tượng (6) 7 Chương 7: Truy vấn trong CSDL HĐT (4) Chương 2: CSDL Hướng đối tượng 2
  3. Ch2: Tổng quan CSDL HĐT I. Giới thiệu II. Mô hình dữ liệu III. CSDL hƣớng đối tƣợng (CSDLHĐT) IV. Các hệ quản trị CSDLHĐT V. Ƣu điểm của CSDL HĐT VI. Chuyển đổi từ mô hình đối tƣợng sang mô hình quan hệ VII. Phân tích, thiết kế CSDL HĐT với UML Chương 2: CSDL Hướng đối tượng 3
  4. I. Giới thiệu Các khái niệm của hướng đối tượng bao gồm: Định danh đối tượng (OID); Nạp chồng (Overriding); Viết đè (Overloading); Đa hình (Polymorphism); Liên kết động (Dynamic binding); Đối tượng phức (complex object).  Định danh đối tượng (OID: Object Identifier): Trong RDBMS: OID= khóa chính Trong OODBMS: khoá chính không dùng làm OID, vì: khoá chính chỉ duy nhất trong 1 quan hệ, không phải trên toàn hệ thống; khoá chính được chọn từ các thuộc tính  phụ thuộc vào trạng thái của đối tượng. Chương 4 2: CSDL Hướng đối tượng
  5. Định danh đối tượng (tt) Cần phân biệt 2 trường hợp: 2 đối tượng là một (identical): cùng OID 2 đối tượng bằng nhau (equal): khác OID, nhưng trị các thuộc tính bằng nhau:  Bằng cạn (shallow equality): khi loại bỏ hết các tham chiếu (khoá ngoài) đến các đối tượng khác  Bằng sâu (deep equality): khi tất cả các đối tượng được tham chiếu đến cũng bằng nhau Chương 5 2: CSDL Hướng đối tượng
  6. Giới thiệu (tt)  Nạp chồng (Overriding): Định nghĩa lại một đặc tính (thuộc tính/ phương thức) trong lớp con (subclass). Định nghĩa mới này mới thực sự được dùng trong lớp con đang xét, chứ không phải định nghĩa đã có trong lớp cha. Chương 6 2: CSDL Hướng đối tượng
  7. Giới thiệu (tt)  Viết đè (Overloading) Là khái niệm tổng quát hơn overriding Cho phép tên một phương thức được dùng lại trong một hoặc nhiều định nghĩa cho lớp. Có thể thay đổi trong định nghĩa phương thức: Các tham số: về số lượng tham số, kiểu tham số, kiểu trả về Làm đơn giản hoá trình ứng dụng: cho phép ngữ cảnh được xác định ý nghĩa nào thích đáng nhất tại một thời điểm. Chương 7 2: CSDL Hướng đối tượng
  8. Giới thiệu (tt)  Đa hình (Polymorphism) Có 3 dạng đa hình: Về tác tử (operation polymorphism)= overloading Về sự bao hàm (inclusion polymorphism): một phương thức trong lớp cha được thừa kê trong lớp con. Về tham số, hay còn gọi về khuôn dạng chung (parametric polymorphism/ genericity): dùng các kiểu như các tham số, để định ra các template. Chương 8 2: CSDL Hướng đối tượng
  9. Giới thiệu (tt)  Liên kết động (Dynamic binding) Gắn kết (binding)= quá trình chọn phương thức thích hợp, dựa trên kiểu của đối tượng Quá trình gắn kết động/ gắn kết trễ (dynamic binding /late binding): việc xác định kiểu đối tượng được trì hoãn đến lúc khai thác chương trình, chứ không phải ngay khi biên dịch. Chương 9 2: CSDL Hướng đối tượng
  10. Giới thiệu (tt)  Đối tượng phức (complex object) Là đối tượng gồm các đối tượng con, hoặc các thành tố khác. Đối tượng được chứa sẽ được kiểm soát theo 2 cách:  Được bao gói bên trong đối tượng phức, là một thành phần của đối tượng phức, chỉ được truy cập thông qua phương thức của đối tượng phức.  Họăc, tồn tại độ clập ngoài đối tượng phức, và chỉ có OID của nó được đặt trong đối tượng phức. Chương 10 2: CSDL Hướng đối tượng
  11. Giới thiệu (tt) Các đặc tính thuộc hướng đối tượng 1. Đối tượng phức 5. Tính thừa kế 2. Định danh dữ 6. Gắn kết động (dynamic bind) liệu 3. Tính bao gói 7. DML phải đầy đủ về tính toán 4. Kiểu và lớp 8. Tập các kiểu dữ liệu phải mở rộng được Chương 2: CSDL Hướng đối tượng 11
  12. Giới thiệu (tt) Các đặc tính thuộc hướng đối tượng 9. Có tính bền vững dữ liệu 12. Phải phục hồi được từ các sự cố phần cứng và phần mềm 10. Phải kiểm soát được 13. Phải cung cấp cách đơn CSDL rất lớn giản để truy vấn dữ liệu 11. Phải hỗ trợ các người dùng cạnh tranh nhau Chương 2: CSDL Hướng đối tượng 12
  13. Ví dụ mô hình đối tƣợng SVien Ten HPhan Lop hoc Ten Nganh SLuong 1..* 0..* LapTKB() InBangDiem() 1 Diem mo DiemTH DiemLT DiemPrj 0..* SuaDiem() MHoc Ten Khoa +MHoc truoc SoTinChi 0..* CapNhatSTC() 0..* Dieu kien +MHoc sau Chương 13 2: CSDL Hướng đối tượng
  14. Ví dụ mô hình đối tƣợng class khoa { //du lieu thanh vien private: char * makh; char * tenkh; //ham thanh vien public: khoa (); void nhap(); void xuat(); char * get_makh(); char * get_tenkh(); void set_makh(char * bmakh); void set_tenkh(char * btenkh); }; Chương 14 2: CSDL Hướng đối tượng
  15. II. Mô hình dữ liệu File Systems Network Hierarchical Relational Object-Oriented Semantic Data Complex Object System Model (ERD) Model Object-Oriented Databases Chương 2: CSDL Hướng đối tượng 15
  16. Mô hình dữ liệu (tt) Các mô hình dữ liệu:  Hệ thống tập tin (file system): 1960 - 1980  Phân cấp (hierarchical): 1970 - 1990  Mạng (network): 1970 - 1990  Quan hệ (relational): 1980 - nay  Hướng đối tượng (object-oriented): 1990 - nay  Đối tượng - quan hệ (object-relational): 1990 - nay  Kho dữ liệu (data warehouse): 1980 - nay  Web-enabled: 1990 - nay Chương 2: CSDL Hướng đối tượng 16
  17. Tại sao phải xây dựng mô hình đối tượng  Nhu nhu cầu giảm chi phí, bài toán ngày một phức tạp và các chức năng hướng tới một mục tiêu là vượt lên trong môi trường cạnh tranh gay gắt ngày nay.  Từ quan điểm của công nghệ, xuất hiện áp lực thúc đẩy việc áp dụng các công nghệ hướng đối tượng, nguyên tắc và phương pháp tiếp cận trong suốt chu trình phát triển phần mềm.  Mục tiêu là cung cấp một dòng mới của cơ sở dữ liệu, được thiết kế và tối ưu hóa để lưu trữ và thao tác trên các đối tượng
  18. III. Cơ sở dữ liệu đối tượng 1. Khái niệm Thông tin được biểu diễn thành các đối tượng giống như các đối tượng trong lập trình hướng đối tượng. Dữ liệu thuộc tính mô tả các đặc trưng của các thực thể (đối tượng) Các phương thức mô tả hành vi ứng xử của đối tượng Mối quan hệ giữa các lớp với nhau. Thuộc tính khoá có thể được sử dụng để xác định các bộ dữ liệu ở những bảng khác được gọi là khoá ngoại (foreign key).
  19. CSDL đối tƣợng (1. tt) Mỗi đối tượng (thực thể) có một định danh ID để xác định duy nhất trong CSDL. Các CSDLĐT được thiết kế để làm việc tốt đối với những ngôn ngữ lập trình như Java, C++, C#, Smalltalk, v.v. Mục đích của CSDLHĐT là để quản trị hiệu quả những kiểu dữ liệu phức hợp như âm thanh, hình ảnh, dữ liệu đa phương tiện, v.v., nhằm khắc phục những hạn chế của CSDL quan hệ. Chương 2: CSDL Hướng đối tượng 19
  20. CSDL đối tƣợng (tt) 2. Kiến trúc của CSDL đối tượng CSDL đối tượng được tối ưu hóa cho truy cập điều hướng và điều phối các đối tượng giữa các máy chủ cơ sở dữ liệu Server và Client Client-server architecture of an ODBMS Chương 2: CSDL Hướng đối tượng 20
nguon tai.lieu . vn