Week 10 - Object Databases
Week 10 - Object Databases
ke
OUTLINE
• 4. ODMG Standard
• 5. Objects in SQL
Definition: The Relational Data Model is a widely used model for structuring and
organizing data in databases. While it has many advantages, it also has some limitations or
complex when handling many-to-many relationships. For example, if you have a database
of students and courses, querying for students who have taken multiple courses from
b. Lack of Support for Complex Data Types: Relational databases are primarily designed
Abdulrahman A. Mohamed Mobile: +254 713 500 814 Email: [email protected]
for structured data. Handling semi-structured or unstructured data (e.g., JSON, XML) is less
c. Limited Support for Hierarchical Data: Representing hierarchical data structures, such as
performance bottlenecks when dealing with high-velocity data (e.g., real-time data
Practical Applications:
• Consider a social media platform that needs to store and query data related to user
• E-commerce websites that store product catalogs with varying attributes may find it
Definition: Object databases are a type of database management system (DBMS) that
extend the capabilities of the relational model to handle complex data structures and
(OODBs): In the late 1980s and early 1990s, OODBs emerged as a response to the
limitations of the relational model. They allowed developers to work with data in a more
ORDBs. These databases allowed users to define user-defined types, methods, and
and multimedia content management, where complex data relationships were prevalent.
Practical Applications:
models, where objects in the model are represented as objects in the database with
• Geographic information systems (GIS) use object databases to manage spatial data
efficiently, where geographical objects like maps, regions, and coordinates are
represented as objects.
Definition: The Conceptual Object Data Model is a high-level representation of data that
Explanation:
• The model defines object classes, their attributes (data members), methods
implementation details.
• In this model, you create a blueprint for the types of objects that will exist in the
Abdulrahman A. Mohamed Mobile: +254 713 500 814 Email: [email protected]
database, their properties, and how they relate to each other. It abstracts away from
Practical Applications:
• In a library management system, the Conceptual Object Data Model might define
classes such as "Book," "Author," and "LibraryMember." Each class would have
• In a healthcare system, the model could define classes such as "Patient," "Doctor,"
4. ODMG Standard:
Explanation:
• The ODMG standard defines a common set of interfaces, data types, and query
being used.
• ODMG specifications cover areas such as object query language (OQL), object
standards help developers create portable applications that can work with any
ODMG-compliant database.
Abdulrahman A. Mohamed Mobile: +254 713 500 814 Email: [email protected]
Practical Applications:
that the code written for one OODBMS can be easily adapted to work with others
5. Objects in SQL:
Definition: Objects in SQL refer to user-defined data types and structures that can be used
to model complex data within a relational database. SQL standards have evolved to
include support for objects, blurring the lines between relational and object-oriented
databases.
Explanation:
• SQL databases traditionally handle structured data in tables. However, modern SQL
allows developers to define custom data types and methods associated with those
types.
• Objects in SQL can have attributes and methods just like objects in object-oriented
programming. They enable more natural modeling of complex data structures and
Practical Applications:
content items with attributes like "title," "author," and "publicationDate." Methods
• For a manufacturing database, objects in SQL can represent production orders with
Abdulrahman A. Mohamed Mobile: +254 713 500 814 Email: [email protected]
Overall, objects in SQL bring more flexibility and expressiveness to relational databases,
making them better suited to handle complex data structures and relationships in various
applications.