ScholarQuill logoScholarQuillUniversity Notes
  • Notes
  • Past Papers
  • Blogs
  • Todo
Login
ScholarQuill logoScholarQuillUniversity Notes
Login
NotesPast PapersBlogsTodo
More
SubjectsDiscussionCGPA CalculatorGPA CalculatorStudent PortalCourse Outline
About
About usPrivacy PolicyReportContact
Notes
Past Papers
Blogs
Todo
Analytics
    Current Subject
    🧩
    Advance Database Management Systems
    COMP3146
    Progress0 / 18 topics
    Topics
    1. Introduction to advance data models such as object relational, object oriented2. File organizations concepts3. Transactional processing4. Concurrency control techniques5. Recovery techniques6. Query processing and optimization7. Database Programming (PL/SQL)8. Database Programming (T-SQL)9. Database Programming (similar technology)10. Integrity and security11. Database Administration (Role management)12. Database Administration (managing database access)13. Database Administration (views)14. Physical database design and tuning15. Distributed database systems16. Emerging research trends in database systems17. MONGO DB18. NO SQL (or similar technologies)
    COMP3146›Introduction to advance data models such as object relational, object oriented
    Advance Database Management SystemsTopic 1 of 18

    Introduction to advance data models such as object relational, object oriented

    4 minread
    662words
    Beginnerlevel

    🌐 Introduction to Advanced Data Models

    In traditional Relational Database Management Systems (RDBMS), data is stored in tables (relations), and the model is based on first normal form (1NF) — i.e., atomic data values. While relational models are powerful, they have limitations in handling complex data types like multimedia, engineering designs, geographic data, etc.

    To overcome these limitations, advanced data models were developed, such as:

    • Object-Oriented Data Model (OODM)
    • Object-Relational Data Model (ORDM)

    These models combine the strengths of object-oriented programming and relational databases to support more complex applications.


    📦 1. Object-Oriented Data Model (OODM)

    ✅ Definition:

    An Object-Oriented Data Model integrates object-oriented programming concepts with database technology. It treats data as objects (similar to object-oriented programming languages like Java or C++), supporting features like inheritance, encapsulation, and polymorphism.

    🔍 Key Concepts:

    1. Objects: An object is an instance of a class containing data (attributes) and behavior (methods).
    2. Classes: A class defines a blueprint for objects — it contains attributes and methods.
    3. Encapsulation: Combines data and the code that manipulates it into a single unit.
    4. Inheritance: Allows classes to inherit attributes and behaviors from other classes.
    5. Polymorphism: Allows objects to be treated as instances of their parent class rather than their actual class.

    📊 Structure of an OODBMS:

    • Stores objects directly, including complex data types.
    • Objects can be persistent (they exist beyond the execution of the program).
    • Relationships between objects can be represented directly (no need for foreign keys).

    🛠️ Features:

    • Suitable for applications with complex data, e.g., CAD/CAM, AI, multimedia.
    • Improved semantic representation of data.
    • Can store methods/functions inside the database.

    🔗 Examples of OODBMS:

    • ObjectDB
    • db4o
    • Versant
    • GemStone

    🔄 2. Object-Relational Data Model (ORDM)

    ✅ Definition:

    An Object-Relational Data Model is a hybrid model that extends the relational model by integrating object-oriented features. It combines the simplicity and standardization of relational databases with the power and flexibility of object-oriented concepts.

    🔍 Key Features:

    1. User-Defined Types (UDTs): Allows users to define complex data types.
    2. Inheritance: Supports subtypes and supertypes in tables.
    3. Table Inheritance: Tables can inherit properties from other tables.
    4. Nested Tables & Arrays: Enables storing complex and multivalued attributes.
    5. Object Identity: Each object has a unique identifier (OID).
    6. Encapsulation: Data and methods can be combined.

    🏗️ Structure:

    • Based on relational tables but enhanced to support object types.
    • Rows (tuples) can contain complex objects, not just atomic values.
    • Methods (functions) can be associated with data types.

    ⚙️ Implemented By:

    Most modern RDBMSs support object-relational features, such as:

    • Oracle (from version 8i and above)
    • PostgreSQL
    • IBM DB2
    • Informix

    🆚 Comparison with Relational Model:

    Feature Relational Model Object-Relational Model
    Data types Atomic (primitive) Complex (user-defined, nested)
    Inheritance No Yes
    Encapsulation No Yes
    Object Identity No (uses primary key) Yes (OID)

    ⚖️ Object-Oriented vs. Object-Relational Models

    Feature Object-Oriented Model Object-Relational Model
    Based on OOP languages Relational model + OO features
    Data Storage Objects Tables with complex types
    Query Language OQL (Object Query Language) SQL with extensions
    Application Fit Complex apps (CAD, multimedia) Moderate complexity (business apps)
    Standards ODMG (deprecated) SQL:1999 and above

    ✅ Summary

    Point Object-Oriented Object-Relational
    Ideal for Highly complex applications Medium complexity apps
    Data model Pure object model Hybrid model
    Querying OQL (less standardized) Extended SQL
    Popularity Less common Widely supported by RDBMS

    📘 Example: Object-Relational Extension in SQL (Oracle/PostgreSQL)

    -- Create a user-defined object type
    CREATE TYPE Address AS OBJECT (
        street VARCHAR2(50),
        city VARCHAR2(30),
        zip INT
    );
    
    -- Create a table using the object
    CREATE TABLE Customers (
        id INT PRIMARY KEY,
        name VARCHAR2(50),
        address Address
    );
    

    This allows the use of complex types inside relational tables.


    📝 Conclusion

    In Advanced DBMS, understanding these advanced data models is essential because they allow databases to handle more complex and real-world applications effectively. While object-oriented models are more suited to applications requiring tight integration with OOP, object-relational models provide a practical balance between traditional relational systems and modern application needs.

    Next topic 2
    File organizations concepts

    Past Papers

    Open this section to load past papers

    Click on Show Past Papers to see past papers.
    On This Page
      Reading Stats
      Est. reading time4 min
      Word count662
      Code examples0
      DifficultyBeginner