0% found this document useful (0 votes)
14 views

Week 10 - Object Databases

Uploaded by

lucbrouillard381
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Week 10 - Object Databases

Uploaded by

lucbrouillard381
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Abdulrahman A. Mohamed Mobile: +254 713 500 814 Email: [email protected].

ke

TECHNICAL UNIVERSITY OF MOMBASA


CCI 4301: ADVANCED DATABASE MANAGEMENT SYSTEMS
WEEK 10: OBJECT DATABASES

OUTLINE

• 1. Shortcomings of the Relational Data Model

• 2. Historical Developments in Object Databases

• 3. Conceptual Object Data Model

• 4. ODMG Standard

• 5. Objects in SQL

1. Shortcomings of the Relational Data Model:

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

shortcomings. Let's examine these:

Shortcomings and Explanation: a. Complexity of Queries: Relational databases can become

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

different departments can be challenging.

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

efficient and can require workarounds.

c. Limited Support for Hierarchical Data: Representing hierarchical data structures, such as

organizational charts or file systems, can be inefficient in a relational database. Recursive

queries or additional tables are often needed.

d. Performance Bottlenecks: In some cases, relational databases can experience

performance bottlenecks when dealing with high-velocity data (e.g., real-time data

streams) or very large datasets.

Practical Applications:

• Consider a social media platform that needs to store and query data related to user

interactions. The complexity of modeling friendships, comments, likes, and posts in

a relational database could lead to performance issues.

• E-commerce websites that store product catalogs with varying attributes may find it

challenging to represent these attributes efficiently in a relational database.

2. Historical Developments in Object Databases:

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

relationships by incorporating object-oriented programming concepts.

Historical Developments and Explanation: a. Emergence of Object-Oriented Databases

(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

natural, object-oriented way, leveraging concepts like inheritance and encapsulation.

b. Integration of Object-Relational Databases (ORDBs): Some relational databases started


Abdulrahman A. Mohamed Mobile: +254 713 500 814 Email: [email protected]

incorporating features from the object-oriented world, leading to the development of

ORDBs. These databases allowed users to define user-defined types, methods, and

inheritance hierarchies within a relational database.

c. Use in Specialized Applications: Object databases found success in specialized

applications like CAD (Computer-Aided Design), GIS (Geographic Information Systems),

and multimedia content management, where complex data relationships were prevalent.

Practical Applications:

• A CAD software application may use an object database to store complex 3D

models, where objects in the model are represented as objects in the database with

properties and methods.

• Geographic information systems (GIS) use object databases to manage spatial data

efficiently, where geographical objects like maps, regions, and coordinates are

represented as objects.

3. Conceptual Object Data Model:

Definition: The Conceptual Object Data Model is a high-level representation of data that

defines the structure, relationships, and constraints of data in an object-oriented database.

It provides a conceptual view of how data should be organized.

Explanation:

• The model defines object classes, their attributes (data members), methods

(functions or procedures associated with objects), and relationships between

objects. It focuses on the logical organization of data without specifying

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

the underlying storage details.

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

attributes like "title," "name," and "borrowedBooks." Relationships between objects

could represent borrowing history or authorship.

• In a healthcare system, the model could define classes such as "Patient," "Doctor,"

and "MedicalRecord," with attributes like "patientName," "doctorName," and

"diagnosis." Relationships might show patient-doctor associations.

4. ODMG Standard:

Definition: ODMG (Object Data Management Group) Standard is a set of specifications

and standards for object-oriented database management systems (OODBMS). It aims to

ensure interoperability and consistency among different OODBMS implementations.

Explanation:

• The ODMG standard defines a common set of interfaces, data types, and query

languages for object databases. It provides a standardized way for developers to

interact with object-oriented databases, regardless of the specific database system

being used.

• ODMG specifications cover areas such as object query language (OQL), object

definition language (ODL), and object manipulation language (OML). These

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:

• If a software development team is building an application that needs to work with

multiple object-oriented database systems, adhering to the ODMG standard ensures

that the code written for one OODBMS can be easily adapted to work with others

that support the same standard.

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

standards, such as SQL:1999 and later, introduced object-relational features. This

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

relationships within a relational database.

Practical Applications:

• In a content management system (CMS), objects in SQL can be used to represent

content items with attributes like "title," "author," and "publicationDate." Methods

associated with these objects could handle content rendering or versioning.

• For a manufacturing database, objects in SQL can represent production orders with
Abdulrahman A. Mohamed Mobile: +254 713 500 814 Email: [email protected]

attributes like "orderNumber," "productType," and "quantity." Methods might be

used to calculate production costs or track order progress.

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.

You might also like