Course Content
Detailed Content of Database Management System
0/1
About Lesson

Object-Oriented Model:

The object-oriented model in database management systems (OO-DBMS) is a data model that extends the capabilities of the relational model by incorporating object-oriented programming concepts. It is designed to handle complex data types and relationships more effectively than traditional relational databases.

Components of Object-Oriented Model:

  1. Objects:

    • In the object-oriented model, data is represented as objects, which are instances of classes. Objects encapsulate both data and the procedures that operate on that data.
    • In the context of a student example, an object could represent a specific student with attributes like name, student ID, and address
  2. Classes:

    • Classes define the structure and behavior of objects. They act as templates or blueprints for creating objects. Each class can have attributes (data fields) and methods (functions or procedures).
    • In the student example, a “Student” class might be defined with attributes such as name, student ID, and address, as well as methods for interacting with and manipulating student data.
  3. Inheritance:

    • Inheritance allows the creation of new classes by inheriting attributes and methods from existing classes. This promotes code reuse and supports the modeling of hierarchical relationships between classes.
    • For example, you could have a “GraduateStudent” class that inherits from the “Student” class, inheriting common attributes like name and student ID, but may have additional attributes like thesis topic. 
  4. Method:

    • A method is a function or operation that is associated with an object and can be performed on it. Methods define the behavior of the objects instantiated from a class.
    • In the student example, methods could include operations like calculating the GPA or updating the student’s address. These methods encapsulate the behavior related to a student.
    • Example of Student Methods:

      Calculate GPA: This method takes into account the student’s grades and returns the GPA.
      Update Address: This method allows for the modification of the student’s address.

  5. Attribute:
    • In the object-oriented model in a database management system (DBMS), an attribute is a characteristic or property of an object. Attributes define the data that can be stored for each object and represent the features that describe the object.
    • In the context of a student example, attributes would be the specific pieces of information associated with a student.
    • Here are some examples of attributes for a “Student” class:

      •  

        Name:

        Represents the name of the student.

      • Student ID:

        Represents a unique identifier for each student.

      • Address:

        Represents the physical address of the student.

      • Date of Birth:

        Represents the birthdate of the student.

      • GPA (Grade Point Average):

        Represents the academic performance of the student.

      • Enrollment Date:

        Represents the date when the student was enrolled.

Advantages of Object-Oriented Model:

  1. Encapsulation: Encapsulation allows for the bundling of data and methods into a single unit (class), providing a clear structure and organization.

  2. Modeling Real-World Entities: Objects in the database map directly to real-world entities, making it intuitive and easy to understand.

  3. Reusability: Objects and classes can be reused in different parts of the system or in different projects.

  4. Inheritance: Inheritance allows the creation of new classes based on existing ones, promoting code reuse and hierarchy.

  5. Flexibility and Extensibility: The object-oriented model is flexible and easily extensible, allowing for the addition of new attributes and methods.

Disadvantages of Object-Oriented Model:

  1. Complexity: The object-oriented model can introduce complexity, especially for small-scale projects or simple data structures.

  2. Performance Overhead: Object-oriented databases may introduce a performance overhead compared to simpler data models.
  3. Lack of Standardization: There is a lack of standardized query languages for object-oriented databases.

  4. Compatibility: Compatibility with existing relational databases and systems can be a challenge.

  5. Learning Curve: Developers who are not familiar with object-oriented concepts may face a learning curve.