Computer Science  ·  Level 6
Database Management
Chapter 4: Design of object-oriented databases
📚 4 Topics
⚑ What you will be able to do

By the end of this chapter, you will be able to:

  • apply object-oriented database concepts effectively when designing databases.
  • develop object-oriented databases correctly using the right principles.
  • create database designs accurately based on specific requirements.
  • create triggers in object-oriented databases following the correct procedures.
  • create views in object-oriented databases following the correct procedures.

Mastering these skills will help you build powerful, flexible databases that meet real-world needs in today’s technology-driven workplaces.

Database systems are fundamental to modern computer science, especially in Kenya's growing technology sector where managing complex data efficiently is crucial. As software development increasingly embraces object-oriented programming, the design of object-oriented databases (OODBs) becomes essential for professionals aiming to handle data that naturally fits into object models. This chapter explores the principles behind object-oriented databases and compares them with traditional database models, equipping students with advanced skills to design databases that support complex applications such as enterprise resource planning systems, simulation software, and multimedia databases commonly used in Kenyan universities and tech firms.

4.1 Object Oriented Database

Kenyan computer scientists and software developers require a deep understanding of object-oriented databases to build scalable, flexible systems that integrate seamlessly with object-oriented programming languages like Java and C#. This topic introduces the concept of object-oriented databases, explaining their core characteristics and how they differ from relational and hierarchical databases widely used in sectors such as banking and government agencies.

4.1.1 Definition

Object-oriented databases represent a paradigm in database management that aligns closely with object-oriented programming principles. Unlike traditional databases that store data in tables, object-oriented databases store data as objects, similar to how objects are defined in programming languages. Each object encapsulates both data (attributes) and behavior (methods), allowing for more natural modeling of real-world entities.

Characteristics of Object-Oriented Databases

  • Encapsulation of data and methods: Objects in the database combine attributes and functions, enabling direct representation of real-world entities such as customers or products with both their properties and actions.
  • Support for complex data types: OODBs can store complex data such as multimedia files, nested objects, and user-defined types, making them suitable for applications like digital libraries or hospital management systems.
  • Inheritance: Objects can inherit properties and behaviors from other objects, promoting code reuse and simplifying database design, as seen in software managing employee roles in county government databases.
  • Object identity: Each object has a unique identifier independent of its attribute values, which helps maintain data integrity even when attributes change.
  • Persistence: Objects remain stored in the database beyond the execution of a program, bridging the gap between volatile program memory and permanent data storage.

Relevance to Kenyan Computer Science Professionals

In Kenya, where software projects often involve complex data interactions such as in e-government platforms or mobile banking apps developed by institutions like Equity Bank, object-oriented databases facilitate the creation of systems that mirror application logic. This reduces impedance mismatch between the database and application layers, improving efficiency and maintainability.

4.1.2 Comparison with Other Types of Databases

Understanding how object-oriented databases compare with other database models is crucial for selecting the right system based on application requirements. This section examines the distinctions between object-oriented databases and relational, hierarchical, and network databases, highlighting the strengths and limitations of each approach.

Structural Differences

  • Relational databases organize data into tables with rows and columns, using keys to establish relationships. They excel in handling structured data and are widely supported by SQL.
  • Hierarchical databases arrange data in a tree-like structure, suitable for applications with one-to-many relationships, such as file systems or organizational charts.
  • Network databases use graph structures with records connected through sets, allowing many-to-many relationships but with more complex navigation.
  • Object-oriented databases store data as objects, integrating data and behavior, which aligns well with object-oriented programming languages.

Data Modeling Capabilities

  • Relational databases use schemas based on tables and normalize data to reduce redundancy, which can lead to complex joins and slower performance with deeply nested data.
  • Object-oriented databases natively support complex objects, inheritance, and polymorphism, enabling more intuitive modeling of real-world entities without extensive joins.
  • Hierarchical and network models lack support for complex data types and behaviors, limiting their applicability in modern software development.

Query Languages and Access

  • Relational databases use SQL, a powerful and standardized query language, making them accessible and widely adopted.
  • Object-oriented databases often use Object Query Language (OQL) or language-specific APIs, which can be more expressive for object manipulation but less standardized.
  • Hierarchical and network databases rely on navigational query methods that are less flexible and harder to optimize.

Performance and Scalability

  • Relational databases perform efficiently for large-scale transaction processing but may struggle with complex object structures.
  • Object-oriented databases handle complex data and relationships more efficiently by avoiding costly joins but may have overhead in managing object identities and inheritance.
  • Hierarchical and network databases are optimized for specific use cases but lack the generality needed for diverse applications.

Use Cases in Kenya

Relational databases dominate in Kenyan financial institutions like KCB due to their robustness and maturity. However, object-oriented databases are gaining traction in sectors requiring complex data handling, such as multimedia management in universities or integrated hospital information systems at Kenyatta National Hospital, where the data objects represent patients, treatments, and medical records with embedded behaviors.

Practice Questions

  1. Define an object-oriented database and explain how its structure differs from a relational database. (10 marks)
  2. Identify and explain five key characteristics of object-oriented databases. (15 marks)
  3. Compare object-oriented databases with hierarchical databases in terms of data modeling and usage scenarios. (10 marks)
  4. Discuss why object-oriented databases might be preferred in developing complex software systems in Kenyan public institutions. (10 marks)
The rest of this chapter
🔒

Create a free account to open more of this chapter.

Free: practical guides, quick cards, workplace scenarios and more.

Create a free account
🔒4.2 Object oriented database concepts

In the field of computer science, especially among database professionals in Kenya, understanding object-oriented database concepts is crucial for effective design and implementation. Object-oriented databases (OODB) integrate object-oriented programming princ…

🔒4.3 Implementation of Object Oriented Database Concepts from a Set of Requirements

Implementing object-oriented database (OODB) concepts from a set of requirements is a critical skill for computer science professionals working in Kenya’s software development environment. In many projects, such as developing hospital management systems or fin…

🔒4.4 Creation of Views and Triggers

Views and triggers are powerful features in database systems that enhance data security, integrity, and automation. For computer science professionals in Kenya, mastering these tools is essential for managing complex data environments such as county government…

Chapter Summary

This chapter explored the design of object-oriented databases, beginning with a clear definition of what constitutes an object-oriented database and how it differs from other database types such as relational and hierarchical databases. The core concepts of object-oriented databases were examined, including the roles of classes as blueprints for objects, the individual objects themselves, the attributes that define object properties, and the mechanism of inheritance that allows classes to derive characteristics from parent classes. The chapter then detailed the process of implementing these object-oriented database concepts based on a given set of requirements, emphasizing the translation of theoretical models into practical database structures. Additionally, the creation of views was discussed as a way to present tailored subsets of data, while triggers were introduced as automated procedures that respond to specific database events. This comprehensive coverage provided a foundation for understanding how object-oriented principles enhance database design and functionality in complex data environments.

Self-Assessment

🔒 PDFDownload this self-assessment, with answers

A. Written Assessment

  1. What is an object-oriented database? Provide a brief definition. (2 marks)
  2. List three key differences between object-oriented databases and relational databases. (3 marks)
🔒20 more in this section.

Chapter Examination Questions

🔒 PDFDownload these examination questions, with worked answers

SECTION A (40 Marks) - Answer ALL Questions

  1. Define an object-oriented database and explain how it differs from a relational database using an example from a Kenyan financial institution. (4 marks)
  2. Compare and contrast object-oriented databases and hierarchical databases in terms of data organization and retrieval. (4 marks)
🔒18 more in this section.

Chapter Practical Activities

Practical 1: Explain and Define Object-Oriented Database

Computer Science · Level 6
Database Management
PRACTICAL ASSESSMENT
TIME: 3 HOURS
⬇ PDFCandidate Instructions (Candidate Tool)

Type: Individual

INSTRUCTIONS TO CANDIDATE:
1.  You are required to perform the following task:
i.  Write a detailed explanation and definition of object-oriented databases in not less than 300 words.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Functional computer installed with word processing softwarePlain A4 writing paper
Pen
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Functional computer installed with word processing software1 Pc per Candidate
2Plain A4 writing paper2 Sheets per Candidate
3Pen1 Pc per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
TASK 1: Explanation and Definition of Object-Oriented Database
Observed computer laboratory rules during task execution
(Award 2 marks or zero)
2
Researched and identified key concepts of object-oriented database
(Award 1 mark for each correct concept identified, max 5)
5
Wrote a clear and correct definition of object-oriented database
(Award 5 marks for a precise and accurate definition)
5
Explained the main features of object-oriented databases such as encapsulation, inheritance, and polymorphism
(Award 2 marks for each feature correctly explained)
6
Provided examples of object-oriented database systems
(Award 1 mark per correct example, max 3)
3
Used correct technical terminology and coherent structure in the write-up
(Award up to 4 marks for clarity, terminology, and presentation)
4
Sub-Total25
PRODUCT CHECKLIST
Written explanation and definition meets minimum 300 words, is legible or properly typed, and contains accurate information
(Award 5 marks if all conditions met, else zero)
5
Sub-Total5
GRAND TOTAL30
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)

Practical 2: Comparative Analysis Report on Object-Oriented and Other Database Types

Computer Science · Level 6
Database Management
PRACTICAL ASSESSMENT
TIME: 4 HOURS
⬇ PDFCandidate Instructions (Candidate Tool)

Type: Individual

INSTRUCTIONS TO CANDIDATE:
1.  You are required to perform the following task:
i.  Prepare a typed comparative analysis report of at least 1000 words, highlighting key differences between object-oriented databases and relational, hierarchical, and network database types, including aspects of data modeling, query capabilities, and use cases.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Functional computer with internet accessPlain A4 paper
Pen
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Functional computer with internet access1 Pc per Candidate
2Plain A4 paper3 Sheets per Candidate
3Pen1 Pc per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
TASK 1: Preparation and Research
Observed computer laboratory rules throughout the assessment
(Award 2 marks or zero)
2
Effectively used internet and other resources to research object-oriented and other database types
(Award 4 marks for thorough and relevant research, else zero)
4
Identified and listed at least three other database types for comparison
(Award 3 marks for correct identification, else zero)
3
Sub-Total9
TASK 2: Report Writing
Structured the report with clear sections including introduction, comparison criteria, and conclusion
(Award 3 marks for logical structure, else zero)
3
Included detailed comparison on data modeling approaches of object-oriented vs other databases
(Award 4 marks for accuracy and depth, else zero)
4
Discussed query languages and capabilities differences
(Award 3 marks for coverage, else zero)
3
Provided practical use case examples for each database type compared
(Award 3 marks for relevant examples, else zero)
3
Presented findings in clear, grammatically correct language using appropriate technical terms
(Award 3 marks for clarity and technical accuracy, else zero)
3
Sub-Total16
TASK 3: Submission and Presentation
Formatted the report professionally and printed or saved as PDF
(Award 2 marks for professional presentation, else zero)
2
Submitted the report on time as per instructions
(Award 2 marks for timely submission, else zero)
2
Sub-Total4
PRODUCT CHECKLIST
Report clearly compares object-oriented database with at least three other types covering data modeling, querying, and use cases
(Award up to 10 marks for completeness and accuracy of content)
10
Report is well-structured, professionally formatted, and free from spelling or grammatical errors
(Award up to 5 marks for presentation quality)
5
Sub-Total15
GRAND TOTAL44
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)
🔒

Free: practical guides, quick cards, workplace scenarios and more.

Create a free account
🔒Design Class Structures for a University Object-Oriented DatabasePractical 3
🔒Create object instances from predefined classesPractical 4
🔒Implement inheritance hierarchies in an object-oriented database designPractical 5
🔒Design and Implementation of an Object-Oriented Database for a Library Management SystemPractical 6
🔒Create database views and triggers for object-oriented dataPractical 7
🔒Develop triggers to enforce business rules in an object-oriented databasePractical 8
🔒Design and map object-oriented classes into a relational database schemaPractical 9
🔒Demonstrate Object-Oriented Database Query OperationsPractical 10
Flashcards 20 cards Study deck ▾
Question
1

↻ Tap card to reveal answer
🔒

18 more in this section.

Create a free account
Test Yourself 18 questions Start quiz ▾
0%
0 / 2
🔒

16 more in this section.

Create a free account
Am I competent?

At the start of this chapter we promised you would be able to:

  • apply object-oriented database concepts effectively when designing databases.
  • develop object-oriented databases correctly using the right principles.
  • create database designs accurately based on specific requirements.
  • create triggers in object-oriented databases following the correct procedures.
  • create views in object-oriented databases following the correct procedures.

Tick each one you can genuinely do.

So, are you there yet?

You're competent when you can confidently do 50% or more of what this chapter promised.

Sign in to record how you're doing.