Cơ sở dữ liệu hướng đối tượng: khái niệm, khái niệm cơ bản, quản lý, ví dụ

Mục lục:

Cơ sở dữ liệu hướng đối tượng: khái niệm, khái niệm cơ bản, quản lý, ví dụ
Cơ sở dữ liệu hướng đối tượng: khái niệm, khái niệm cơ bản, quản lý, ví dụ
Anonim

Trong cơ sở dữ liệu hướng đối tượng (OODB), người dùng có thể thiết lập các hoạt động trên một cơ sở dữ liệu cụ thể, được tạo thành từ các đối tượng có thể thuộc nhiều loại và hoạt động nào được thiết lập. Chúng có thể xử lý hiệu quả thông tin nhị phân như các đối tượng đa phương tiện. Một lợi ích khác của OODB là nó có thể được lập trình với những khác biệt nhỏ về thủ tục mà không ảnh hưởng đến toàn bộ hệ thống.

Điều kiện tiên quyết để tạo ra tiêu chuẩn

Lịch sử của cơ sở dữ liệu OODB hướng đối tượng bắt đầu vào cuối thế kỷ trước. Chúng được tạo ra để đáp ứng nhu cầu của các ứng dụng mới. Giả định rằng cơ sở dữ liệu hướng đối tượng sẽ cách mạng hóa hệ thống phần mềm trong những năm 1990. Bây giờ rõ ràng rằng đây không phải là trường hợp. Tuy nhiên, sự hồi sinh của khái niệm này thông qua các cộng đồng phần mềm miễn phí và việc xác định các ứng dụng phù hợp cho nó thúc đẩy việc xem xét các đặc điểmOODB, là một giải pháp thay thế cho cơ sở dữ liệu quan hệ phổ biến.

Điều kiện tiên quyết để tạo ra tiêu chuẩn
Điều kiện tiên quyết để tạo ra tiêu chuẩn

Hướng đối tượng cung cấp sự linh hoạt để xử lý một số hoặc tất cả các yêu cầu và không giới hạn ở các kiểu dữ liệu và ngôn ngữ truy vấn của cơ sở dữ liệu truyền thống. Một tính năng chính của OODB là khả năng mà chúng cung cấp cho nhà phát triển, cho phép anh ta chỉ định cả cấu trúc của các đối tượng phức tạp và các hoạt động của ứng dụng. Một lý do khác để tạo OODB là việc sử dụng ngày càng nhiều ngôn ngữ để phát triển phần mềm.

Cơ sở dữ liệu đã trở thành nền tảng của nhiều hệ thống thông tin, nhưng cơ sở dữ liệu truyền thống rất khó sử dụng khi các ứng dụng truy cập chúng được viết bằng C ++, Smalltalk hoặc Java. Ví dụ: cơ sở dữ liệu hướng đối tượng 1C được thiết kế theo cách mà chúng có thể được tích hợp trực tiếp với các ứng dụng sử dụng ngôn ngữ hướng đối tượng bằng cách áp dụng các khái niệm của chúng: Visual Studio. Net, C ++, C, Microsoft SQL Server và những người khác.

Ưu điểm chính của OODB là loại bỏ hoàn toàn nhu cầu về RMs1 (trở kháng) với các cải tiến hiệu suất tiếp theo.

Ưu điểm chính của OODB
Ưu điểm chính của OODB

Flaws:

  1. Cơ chế tham vấn rất sơ khai, không có nền tảng tự tiêu chuẩn được chấp nhận.
  2. Không thể lưu trữ các thủ tục vì các đối tượng chỉ có thể được truy cập trong máy khách.
  3. Chưa trưởng thành trên thị trường.
  4. Không phân nhóm vật lý.

Mô hình đối tượng

Mô hình đối tượng
Mô hình đối tượng

Cơ sở dữ liệu hướng đối tượng là cơ sở dữ liệu có thể lập trình lưu trữ dữ liệu phức tạp và các mối quan hệ của nó trực tiếp mà không cần gán hàng và cột, làm cho chúng phù hợp hơn cho các ứng dụng hoạt động với số lượng lớn. Các đối tượng có mối quan hệ nhiều-nhiều và có thể truy cập được thông qua việc sử dụng các con trỏ được liên kết với chúng để thiết lập mối quan hệ. Giống như bất kỳ lập trình nào, OODB cung cấp một môi trường phát triển ứng dụng và một kho lưu trữ liên tục sẵn sàng để khai thác. Nó lưu trữ và xử lý thông tin có thể được số hóa dưới dạng các đối tượng, cung cấp khả năng truy cập nhanh và cung cấp khả năng xử lý tuyệt vời.

Các khái niệm cơ bản được sử dụng trong cơ sở dữ liệu hướng đối tượng:

  • nhận dạng đối tượng;
  • kiểu hàm tạo;
  • khả năng tương thích ngôn ngữ;
  • loại phân cấp và kế thừa;
  • xử lý các đối tượng phức tạp;
  • đa hình và nạp chồng toán tử;
  • tạo phiên bản.
Phiên bản
Phiên bản

Để xem xét đầy đủ tất cả các khía cạnh đặc trưng của cơ sở dữ liệu hướng đối tượng, điều quan trọng cần lưu ý là tất cả các mô hình đối tượng quan trọng:

  1. Encapsulation là thuộc tính cho phép bạn ẩn thông tin cho các đối tượng khác, do đó ngăn chặn truy cập sai hoặc xung đột.
  2. Thừa kế là một thuộc tính mà các đối tượng kế thừa hành vi trong một hệ thống phân cấp lớp.
  3. Tính đa hình là một thuộc tính của một phép toán mà nó có thể được áp dụng chocác loại đối tượng khác nhau.
  4. Giao diện hoặc chữ ký của một thao tác bao gồm tên và kiểu dữ liệu của các đối số hoặc tham số của nó.
  5. Việc thực hiện hoặc phương pháp của một hoạt động được chỉ định riêng và có thể được thay đổi mà không ảnh hưởng đến giao diện. Các ứng dụng của người dùng có thể hoạt động với dữ liệu bằng cách gọi các hoạt động cụ thể thông qua tên và đối số của chúng, bất kể chúng được triển khai như thế nào.

Các lớp và chức năng

Các lớp và chức năng
Các lớp và chức năng

Khi xem xét khái niệm các lớp trong OODB, cần phân biệt giữa các thuật ngữ "lớp" và "kiểu". Một kiểu được sử dụng để mô tả một tập hợp các đối tượng có hành vi tương tự. Theo nghĩa này, nó phụ thuộc vào những thao tác nào có thể được gọi trên đối tượng. Một lớp là một tập hợp các đối tượng có cùng cấu trúc bên trong, vì vậy nó xác định một cách triển khai, trong khi một kiểu mô tả cách sử dụng nó.

Thuật ngữ khởi tạo đề cập đến thực tế là việc khởi tạo một lớp có thể được sử dụng để tạo ra một tập hợp các đối tượng có cùng cấu trúc và hành vi như được thiết lập bởi lớp.

Một tính năng rất quan trọng đối với sự phát triển của các đối tượng là nó có thể thay đổi lớp của nó, bao gồm các thuộc tính và hoạt động, trong khi vẫn duy trì danh tính. Điều này sẽ yêu cầu một cơ chế để xử lý tính toàn vẹn ngữ nghĩa thu được.

Việc kế thừa cơ sở dữ liệu hướng đối tượng của tổ chức cho phép một lớp được định nghĩa là lớp con của lớp cha đã tồn tại. Nó sẽ kế thừa tất cả các thuộc tính và phương thức từ cái sau và có thể tùy chọn xác địnhsở hữu. Khái niệm này là một cơ chế quan trọng để hỗ trợ tái sử dụng. Các phần giống nhau của cấu trúc của hai lớp khác nhau chỉ có thể được xác định một lần trong một lớp cha chung, do đó sẽ ít mã được viết hơn. Có một số hệ thống cho phép một lớp là lớp con của nhiều hơn một lớp cha. Tính năng này được gọi là đa kế thừa thay vì kế thừa đơn.

Ví dụ về cơ sở dữ liệu hướng đối tượng

Thường hữu ích khi sử dụng cùng một tên cho các phương thức khác nhau nhưng giống nhau của lớp cha phương tiện từ các lớp hình ảnh và video. Nhiều người xem khác nhau có thể xem nhiều tệp. Họ thường cần xem tất cả ảnh và video bằng phương pháp "xem" và chương trình thích hợp phải được khởi chạy. Khi chức năng được gọi và một liên kết đến video được chuyển qua, trình phát đa phương tiện sẽ được khởi chạy. Để thực hiện tính năng này, trước hết, cần phải xác định hoạt động "trình bày" trong lớp cha phương tiện chung từ các lớp hình ảnh và video. Mỗi lớp con xác định lại thao tác tra cứu cho các nhu cầu cụ thể của chúng. Điều này dẫn đến các phương thức khác nhau có cùng tên hoạt động. Trong trường hợp này, việc sử dụng chức năng này có một lợi thế quan trọng.

cấu trúc OODB

Cấu trúc OODB
Cấu trúc OODB

Mô hình hướng đối tượng dựa trên việc đóng gói dữ liệu và mã liên quan đến từng đối tượng trong một mô-đun duy nhất. Về mặt khái niệm, tất cả các tương tác giữa nó và phần còn lại của hệ thống được thực hiện bằng cách sử dụng các thông điệp. Do đó giao diệngiữa chúng được xác định bởi tập hợp được phép.

Nói chung, mỗi đối tượng được liên kết với một tập hợp:

  1. Các biến chứa dữ liệu đối tượng và tương ứng với các thuộc tính của mô hình ER.
  2. Tin nhắn anh ấy trả lời. Mỗi loại có thể có hoặc không có thông số, một hoặc nhiều.
  3. Phương thức, mỗi phương thức là một mã thực thi các thông điệp và trả về một giá trị để phản hồi lại nó.

Nhắn tin trong môi trường OO không ngụ ý sử dụng SMS vật lý trong mạng máy tính. Ngược lại, nó đề cập đến việc trao đổi các yêu cầu giữa các đối tượng, bất kể chi tiết chính xác của việc thực hiện chúng. Đôi khi một biểu thức gọi một phương thức để kích hoạt thông báo đã được gửi đến một đối tượng và sử dụng việc thực thi phương thức tương ứng.

Nhận dạng đối tượng

Nhận dạng đối tượng
Nhận dạng đối tượng

Hệ thống cơ sở dữ liệu hướng đối tượng cung cấp một định danh duy nhất cho từng đối tượng độc lập được lưu trữ trong cơ sở dữ liệu. Nó thường được triển khai bằng cách sử dụng mã định danh đối tượng duy nhất do hệ thống tạo ra hoặc OID. Giá trị OID không hiển thị đối với người dùng bên ngoài, nhưng hệ thống sử dụng nó trong nội bộ để quản lý liên kết giữa các đối tượng.

Thuộc tính chính của OID là bất biến. Giá trị OID cho một đối tượng cụ thể không bao giờ được thay đổi. Điều này bảo toàn danh tính của thế giới thực được đại diện. Nó cũng được ưu tiên là mỗi OID chỉ được sử dụng một lần, ngay cả khi nó bị xóa khỏi cơ sở dữ liệu, OID của nó sẽ không được gán cho người khác. Nó cũng thường được coi là không phù hợp khi dựa trên cơ sở vật lýđịa chỉ của đối tượng đang được lưu trữ, vì việc tổ chức lại chúng trong cơ sở dữ liệu có thể thay đổi OID. Tuy nhiên, một số hệ thống sử dụng địa chỉ vật lý làm OID để tăng hiệu quả truy xuất đối tượng. Khung hướng đối tượng tự động áp đặt các ràng buộc quan hệ, thường áp dụng hơn: miền, khóa, toàn vẹn đối tượng và toàn vẹn tham chiếu.

Ba cấu tạo chính

Ba cấu trúc chính
Ba cấu trúc chính

Trong OODB, các giá trị hoặc trạng thái của các đối tượng phức tạp có thể được tạo từ các đối tượng khác bằng cách sử dụng các hàm tạo thuộc một số kiểu nhất định. Một cách để đại diện cho chúng là nghĩ về mỗi bộ ba (i, c, v), trong đó i là mã định danh duy nhất của đối tượng (OID), c là hàm tạo, nghĩa là, một con trỏ đến giá trị của đối tượng. được tạo, và v là giá trị hoặc trạng thái của đối tượng. Có thể có nhiều hàm tạo tùy thuộc vào mô hình dữ liệu và hệ thống OO.

Ba phương thức tạo cơ sở dữ liệu hướng đối tượng cơ bản:

  • nguyên tử;
  • tuples;
  • bộ.

Các cách sử dụng phổ biến hơn khác là danh sách và biểu đồ. Ngoài ra còn có miền D, chứa tất cả các giá trị nguyên tử cơ bản có sẵn trực tiếp trên hệ thống. Chúng thường bao gồm số nguyên, số thực, chuỗi ký tự, ngày tháng và bất kỳ loại dữ liệu nào khác mà hệ thống xử lý trực tiếp. Cả cấu trúc của đối tượng và hoạt động đều được đưa vào định nghĩa lớp.

Khả năng tương thích với các ngôn ngữ lập trình

Các khái niệm cốt lõi của cơ sở dữ liệu hướng đối tượng được sử dụng trongnhư các công cụ thiết kế và được hệ thống hóa để hoạt động với cơ sở dữ liệu.

Có một số ngôn ngữ có thể được tích hợp các khái niệm này:

  1. Mở rộng ngôn ngữ xử lý dữ liệu như SQL bằng cách thêm các kiểu phức tạp và OOP. Hệ thống cung cấp phần mở rộng hướng đối tượng cho các hệ thống quan hệ, được gọi là hệ thống quan hệ hướng đối tượng.
  2. Sử dụng ngôn ngữ lập trình hướng đối tượng hiện có và mở rộng nó để hoạt động với cơ sở dữ liệu. Chúng được gọi là ngôn ngữ lập trình bền bỉ và cho phép các nhà phát triển làm việc trực tiếp với dữ liệu mà không cần phải thông qua ngôn ngữ xử lý dữ liệu như SQL. Chúng được gọi là liên tục vì dữ liệu vẫn tiếp tục tồn tại sau khi kết thúc chương trình đã tạo ra nó.

Khi quyết định sử dụng tùy chọn nào, hãy nhớ rằng các ngôn ngữ liên tục có xu hướng mạnh mẽ và tương đối dễ mắc lỗi lập trình làm hỏng cơ sở dữ liệu. Sự phức tạp của các ngôn ngữ làm cho việc tối ưu hóa tự động ở mức cao, chẳng hạn như giảm I / O đĩa, trở nên khó khăn. Trong nhiều ứng dụng, khả năng thực hiện các truy vấn khai báo là quan trọng, nhưng các ngôn ngữ liên tục hiện không cho phép các truy vấn như vậy mà không gặp sự cố.

Thứ bậc của các kiểu thừa kế

Các lược đồ cơ sở dữ liệu hướng đối tượng thường yêu cầu một số lượng lớn các lớp. Tuy nhiên, một số lớp tương tự với nhau. Để cho phép biểu diễn trực tiếp những điểm tương đồng giữa chúng, bạn cần đặtchúng thành một hệ thống phân cấp các chuyên ngành. Khái niệm này tương tự như các mô hình ER. Các chuyên biệt hóa của lớp được gọi là lớp con, xác định các thuộc tính và phương thức bổ sung cho một lớp hiện có. Các đối tượng được tạo bằng lớp con kế thừa mọi thứ từ lớp cha. Một số đặc điểm kế thừa này có thể đã được vay mượn từ những đặc điểm cao hơn trong hệ thống phân cấp.

Đối tượng được coi là phức tạp vì chúng đòi hỏi một lượng lớn không gian lưu trữ và không phải là một phần của kiểu dữ liệu tiêu chuẩn mà Quản lý cơ sở dữ liệu hướng đối tượng (OODBS) thường cung cấp. Vì kích thước của các đối tượng là đáng kể, SOOBMS có thể nhận một phần của đối tượng và cung cấp nó cho một ứng dụng trước khi có được toàn bộ đối tượng. Nó cũng có thể sử dụng các phương thức đệm và bộ đệm để lấy trước các phần của đối tượng, trước khi ứng dụng có thể truy cập chúng.

OODB cho phép người dùng tạo các kiểu mới bao gồm cả cấu trúc và hoạt động, trong trường hợp này là hệ thống kiểu có thể mở rộng. Bạn có thể tạo thư viện kiểu mới bằng cách xác định cấu trúc và hoạt động của chúng. Nhiều người trong số họ có thể lưu trữ và nhận một đối tượng có cấu trúc lớn ở dạng chuỗi và ký tự hoặc bit, được chuyển "nguyên trạng" đến chương trình ứng dụng để giải thích.

Phương thức có thể truy cập trực tiếp các thuộc tính của đối tượng đích theo tên, bao gồm bất kỳ thuộc tính nào được kế thừa từ các lớp cha, nhưng phải truy cập các thuộc tính của các đối tượng khác bằng các tín hiệu phụ. Khái niệm này cho phép bạn kết hợp cùng một tên toán tử hoặc ký hiệu vớihai hoặc nhiều cách triển khai khác nhau của nó, tùy thuộc vào loại đối tượng mà nó áp dụng.

Xây dựng ứng dụng

Tạo ứng dụng
Tạo ứng dụng

Nhiều ứng dụng cơ sở dữ liệu sử dụng hệ thống OO yêu cầu nhiều phiên bản của cùng một đối tượng. Thông thường, các hoạt động bảo trì được áp dụng cho hệ thống phần mềm khi các yêu cầu của chúng thay đổi và liên quan đến việc thay đổi một số mô-đun triển khai và phát triển. Nếu hệ thống đã chạy và nếu cần thay đổi một hoặc nhiều mô-đun, nhà phát triển phải tạo phiên bản mới của từng mô-đun bằng cách thực hiện các thay đổi.

Lưu ý rằng có thể có nhiều hơn hai phiên bản của một đối tượng, trong trường hợp cần có hai phiên bản ngoài mô-đun ban đầu. Các phiên bản riêng của cùng một mô-đun phần mềm có thể được cập nhật cùng một lúc. Đây được gọi là thiết kế cơ sở dữ liệu hướng đối tượng song song. Tuy nhiên, luôn có điểm mà chúng cần được hợp nhất để OODB kết hợp kết hợp các thay đổi đã được thực hiện để chúng tương thích.

Điều kiện hướng đối tượng

Tất cả các hệ thống máy tính phải có các thuộc tính của kiến trúc để được xem xét. Ví dụ, một hệ thống phải có các bảng được coi là quan hệ. OODB cũng không ngoại lệ và chứa một số thuộc tính cơ bản của kiến trúc đối tượng. Tuy nhiên, trong thế giới thực, nhiều thuộc tính này được thảo luận và một số, chẳng hạn như đa kế thừa, được coi là cải tiến cho mô hình cơ sở dữ liệu hướng đối tượng hơn lànhư một phần của đường cơ sở. Ví dụ: trong ngôn ngữ hướng đối tượng Smalltalk, đa kế thừa không được hỗ trợ, mặc dù nó được coi là một phần của kiến trúc đối tượng.

Các phương thức cho một lớp xác định một tập hợp các thao tác có thể được thực hiện trên một đối tượng. Ví dụ: khi nó được áp dụng cho một đối tượng, nó sẽ trả về một giá trị hoặc thực hiện một số thao tác để cập nhật các giá trị. Đôi khi các phương thức không trả về nó. Nếu phương pháp này được thiết kế để cập nhật số lượng hành khách cho một phương tiện, thì sẽ không có giá trị nào được trả về, nhưng phần tử dữ liệu trong mục tiêu sẽ thay đổi nó.

Đối tượng là một khái niệm cơ bản trong OODB. Về cơ bản, các đối tượng là một đại diện trừu tượng của thế giới thực những thứ được lưu trữ trong đó. Một đối tượng là một thể hiện của một lớp theo nghĩa là nó bị loại trừ khỏi định nghĩa của nó.

Bạn có thể coi một đối tượng như một gói riêng có ba phần:

  1. Sở hữu thông tin cá nhân, giá trị dữ liệu.
  2. Các thủ tục riêng tư sẽ thao tác các giá trị thông qua định nghĩa lớp.
  3. Giao diện mở để đối tượng này có thể giao tiếp với người khác.

Ví dụ về OODB

Sử dụng OODB giúp đơn giản hóa việc hình thành khái niệm vì việc trình bày thông tin cần được lưu trữ sẽ tự nhiên hơn. Để mô hình hóa cấu trúc hoặc logic của cơ sở dữ liệu, việc sử dụng sơ đồ lớp cho phép bạn giới thiệu các lớp với các mối quan hệ cấu trúc và sự kế thừa của chúng. Để mô hình hóa một phần của động lực học, sự tương tác vàhành vi giữa các đối tượng, một biểu đồ trình tự sẽ được sử dụng để biểu diễn sự tương tác giữa các đối tượng nằm trong mối quan hệ tạm thời, mô tả các trạng thái có thể có để chúng có thể được tìm thấy với trạng thái đã thay đổi sau khi sự kiện xảy ra.

Ví dụ về OODB
Ví dụ về OODB

Ví dụ về cơ sở dữ liệu hướng đối tượng được hiển thị bên dưới.

Ví dụ về cơ sở dữ liệu hướng đối tượng
Ví dụ về cơ sở dữ liệu hướng đối tượng

Họ có tên và tồn tại, có thể là tạm thời hoặc vĩnh viễn. Khóa OODB là khả năng họ cung cấp cho nhà phát triển để chỉ định số lượng cấu trúc và hoạt động sẽ được áp dụng cho họ. Có tính linh hoạt và hỗ trợ xử lý các kiểu dữ liệu phức tạp. Bạn có thể tạo các lớp và lớp con, ví dụ: cơ sở máy khách có thể có một lớp con liên kết của máy khách này và nó sẽ kế thừa tất cả các thuộc tính và đặc điểm của lớp gốc, cách tiếp cận này cho phép bạn xử lý dữ liệu phức tạp một cách nhanh chóng và linh hoạt.

Đề xuất: