This document discusses concepts related to object-oriented databases. It begins by outlining the objectives of examining object-oriented database design concepts and understanding the transition from relational to object-oriented databases. It then provides background on how object-oriented databases arose from advancements in relational database management systems and how they integrate object-oriented programming concepts. The key aspects of object-oriented databases are described as objects serving as the basic building blocks organized into classes with methods and inheritance. The document also covers object-oriented programming concepts like encapsulation, polymorphism, and abstraction that characterize object-oriented management systems. Examples are provided of object database structures and queries.
Overview of Object-Oriented Concepts Characteristics by vikas jagtapVikas Jagtap
Object-oriented data base systems are proposed as alternative to relational systems and are aimed at application domains where complex objects play a central role.
The approach is heavily influenced by object-oriented programming languages and can be understood as an attempt to add DBMS functionality to a programming language environment
The document discusses object-oriented databases and their advantages over traditional relational databases, including their ability to model more complex objects and data types. It covers fundamental concepts of object-oriented data models like classes, objects, inheritance, encapsulation, and polymorphism. Examples are provided to illustrate object identity, object structure using type constructors, and how an object-oriented model can represent relational data.
Object oriented modeling,Object-Oriented Database (OODB), Object-Oriented Database (OODB) FEATURES TO BE CONSIDERED, DATA MODELS TO BE CONSIDERED:
object and object identifier, attributes and methods, class, Class hierarchy and inheritance
OODBMS Concepts - National University of Singapore.pdfssuserd5e338
This document discusses object-oriented database management systems (OODBMS). It covers basic OO concepts like objects, classes, attributes, methods, encapsulation, inheritance and polymorphism. It describes the two approaches to OODBMS - object-oriented databases and object-relational databases. It discusses some issues with the OO data model like inheritance conflicts. It also provides examples of queries in an object-relational query language and compares the OO data model to other data models.
This document provides an introduction to object-oriented system design. It defines key object-oriented concepts like objects, classes, encapsulation, inheritance, and polymorphism. It also outlines the processes of object-oriented analysis, design, and programming. Finally, it provides examples of how these concepts are implemented in C++, including how to define classes and create objects.
This document provides an introduction to object-oriented databases (OODBMS). It discusses key concepts like objects having an identity, structure and type constructor. An OODBMS allows for complex object structures, encapsulation of operations, inheritance and relationships between objects using object identifiers. It provides advantages over traditional databases for applications requiring complex data types and application-specific operations.
The document discusses key concepts in relational data models including entities, attributes, relationships, and constraints. It provides examples of each concept and explains how they are the basic building blocks used to structure data in a relational database. Specific types of entities, attributes, relationships and their properties are defined, such as one-to-one, one-to-many, and many-to-many relationships. Overall, the document serves as an introduction to fundamental concepts in relational data modeling.
Overview of Object-Oriented Concepts Characteristics by vikas jagtapVikas Jagtap
Object-oriented data base systems are proposed as alternative to relational systems and are aimed at application domains where complex objects play a central role.
The approach is heavily influenced by object-oriented programming languages and can be understood as an attempt to add DBMS functionality to a programming language environment
The document discusses object-oriented databases and their advantages over traditional relational databases, including their ability to model more complex objects and data types. It covers fundamental concepts of object-oriented data models like classes, objects, inheritance, encapsulation, and polymorphism. Examples are provided to illustrate object identity, object structure using type constructors, and how an object-oriented model can represent relational data.
Object oriented modeling,Object-Oriented Database (OODB), Object-Oriented Database (OODB) FEATURES TO BE CONSIDERED, DATA MODELS TO BE CONSIDERED:
object and object identifier, attributes and methods, class, Class hierarchy and inheritance
OODBMS Concepts - National University of Singapore.pdfssuserd5e338
This document discusses object-oriented database management systems (OODBMS). It covers basic OO concepts like objects, classes, attributes, methods, encapsulation, inheritance and polymorphism. It describes the two approaches to OODBMS - object-oriented databases and object-relational databases. It discusses some issues with the OO data model like inheritance conflicts. It also provides examples of queries in an object-relational query language and compares the OO data model to other data models.
This document provides an introduction to object-oriented system design. It defines key object-oriented concepts like objects, classes, encapsulation, inheritance, and polymorphism. It also outlines the processes of object-oriented analysis, design, and programming. Finally, it provides examples of how these concepts are implemented in C++, including how to define classes and create objects.
This document provides an introduction to object-oriented databases (OODBMS). It discusses key concepts like objects having an identity, structure and type constructor. An OODBMS allows for complex object structures, encapsulation of operations, inheritance and relationships between objects using object identifiers. It provides advantages over traditional databases for applications requiring complex data types and application-specific operations.
The document discusses key concepts in relational data models including entities, attributes, relationships, and constraints. It provides examples of each concept and explains how they are the basic building blocks used to structure data in a relational database. Specific types of entities, attributes, relationships and their properties are defined, such as one-to-one, one-to-many, and many-to-many relationships. Overall, the document serves as an introduction to fundamental concepts in relational data modeling.
Object-Oriented Database Model For Effective Mining Of Advanced Engineering M...cscpconf
Materials have become a very important aspect of our daily life and the search for better and
new kind of engineered materials has created some opportunities for the Information science
and technology fraternity to investigate in to the world of materials. Hence this combination of
materials science and Information science together is nowadays known as Materials
Informatics. An Object-Oriented Database Model has been proposed for organizing advanced engineering materials datasets.
This document discusses object-oriented concepts including identity, classification, inheritance, polymorphism, and abstraction. It defines these concepts and provides examples. Identity refers to each object having its own identity even if attribute values are identical. Classification groups objects of the same structure and behavior into classes. Inheritance allows classes to inherit attributes and behaviors from superclasses. Polymorphism allows the same operation to have different implementations for different classes. Abstraction focuses on essential aspects and ignores non-essential details. The document also discusses class, state, and interaction models for describing different views of a system.
Chapter 1 - Concepts for Object Databases.pptShemse Shukre
The document discusses object-oriented databases and concepts related to their design and implementation. It describes how OO databases aim to directly correspond to real-world objects by storing them as objects rather than breaking them into relational tables. This allows objects to maintain their identity and integrity. The document outlines key OO concepts like encapsulation, inheritance and polymorphism that are implemented in OO databases to provide a unified programming environment for complex data types.
Object-oriented programming (OOP) is a programming paradigm that designs applications around objects that contain both data and behaviors. Key concepts of OOP include data abstraction, encapsulation, inheritance, polymorphism, and messaging. Many modern programming languages support OOP through features like classes, which provide a blueprint for creating object instances that can maintain state through data fields and behavior through methods.
Object-oriented programming uses objects to represent real-world entities. An object has state, which describes its characteristics, and behaviors, which are its capabilities. A class defines a blueprint for objects and multiple objects can be created from the same class. Objects encapsulate both data and functions that operate on that data.
This document provides an overview of object-oriented programming (OOP) concepts including objects, classes, encapsulation, inheritance, polymorphism, and abstraction. It explains that OOP allows decomposition of programs into objects that contain both data and functions. Classes act as blueprints for objects and define their properties and behaviors.
This document provides an introduction to object-oriented analysis and design (OOAD). It defines key OOAD concepts like analysis, design, objects, classes, and relationships. It explains that analysis involves understanding problem domains while design defines software solutions as objects. OOAD uses an object-oriented approach in both analysis and design, with a logical solution based on objects. The document also outlines objectives of an OOAD introduction, basic OOAD principles like abstraction and encapsulation, and modeling techniques like the three model concept of class, state, and interaction models.
Adbms 14 oodbms concepts for managing objectsVaibhav Khanna
Complex objects are built from simpler ones by applying constructors to them. The simplest objects are objects such as integers, characters, byte strings of any length, booleans and floats (one might add other atomic types).
The document provides an overview of object-oriented databases and SQL3. It defines objects, object structures, and object-oriented concepts. It then discusses object-oriented database systems (OODBS), the Object Query Language (OQL) with an example query, and SQL3 which supports both relational and object-oriented features such as user-defined data types and methods.
The Object Oriented Database System ManifestoBeat Signer
This document outlines the key features that an object-oriented database system should have according to a 1989 paper. It defines mandatory "golden rules" including supporting complex objects, object identity, encapsulation, types/classes, inheritance, late binding, extensibility, persistence, storage management, concurrency, recovery and querying. Optional features and open topics for debate are also discussed.
Database systems that were based on the object data model were known originally as object-oriented databases (OODBs).These are mainly used for complex objects
This presentation discusses the following topics:
Object Oriented Databases
Object Oriented Data Model(OODM)
Characteristics of Object oriented database
Object, Attributes and Identity
Object oriented methodologies
Benefit of object orientation in programming language
Object oriented model vs Entity Relationship model
Advantages of OODB over RDBMS
- An object-relational database (ORD) or object-relational database management system (ORDBMS) supports objects, classes, and inheritance directly in the database schema and query language, while also retaining the relational model.
- An ORDBMS supports an extended form of SQL called SQL3 for handling abstract data types. It allows storage of complex data types like images and location data.
- Key advantages of ORDBMS include reuse and sharing of code through inheritance, increased productivity for developers and users, and more powerful query capabilities. Key challenges include complexity, immaturity of the technology, and increased costs.
Object Oriented Database Management systems evolved to address the complex objects in emerging applications that could not be effectively represented in the relational model. ODBMSs provide a direct representation of objects to the database, overcoming the impedance mismatch between application data structures and the relational model. ODBMSs take two approaches - persistent object oriented programming languages that add persistence to programming language objects, and object-relational databases that extend relational databases with object features. The Object Database Management Group developed standards including an object model, query language, and language bindings to allow portability between ODBMS systems.
Object-oriented databases (OODBMS) were developed to address limitations of the relational data model for representing complex real-world data. OODBs use objects with attributes and methods to model data, and support relationships like inheritance and containment between objects. They allow programming languages to represent data persistently in the database. However, OODBs have more limited query capabilities compared to relational databases.
Object-oriented programming (OOP) is a programming paradigm based on the concept of objects that contain data and code. The four pillars of OOP are data abstraction, encapsulation, inheritance, and polymorphism. Data abstraction hides internal details and provides essential information. Encapsulation bundles data with the methods that operate on that data, protecting data within a class. Inheritance allows new classes to inherit properties from existing classes. Polymorphism gives the same functions different meanings depending on usage.
This document outlines a course on advances in database management systems. The course covers object and object-relational databases over 9 hours. Topics include object database concepts, object extensions to SQL, the ODMG object model and ODL language, object database design, and the OQL query language. The course is taught by Dr. M.K. Jayanthi Kannan at JAIN Deemed To-Be University.
The document discusses object-oriented analysis and design (OOAD), providing an overview of OO concepts like objects, classes, relationships, and the OO development life cycle, and outlines 5 units that will be covered including introduction to OO, UML, OO analysis, OO design, and CASE tools.
The document discusses object-oriented modeling and the Unified Modeling Language (UML). It describes the evolution of UML from earlier object-oriented modeling methods to its current standardization. The key aspects of UML covered include its scope as a standard modeling language, the modeling elements it incorporates like use cases, classes, objects, and diagrams, and how it addresses complexity through concepts like abstraction, encapsulation, and inheritance.
A workshop hosted by the South African Journal of Science aimed at postgraduate students and early career researchers with little or no experience in writing and publishing journal articles.
More Related Content
Similar to MIT302 Lesson 2_Advanced Database Systems.pptx
Object-Oriented Database Model For Effective Mining Of Advanced Engineering M...cscpconf
Materials have become a very important aspect of our daily life and the search for better and
new kind of engineered materials has created some opportunities for the Information science
and technology fraternity to investigate in to the world of materials. Hence this combination of
materials science and Information science together is nowadays known as Materials
Informatics. An Object-Oriented Database Model has been proposed for organizing advanced engineering materials datasets.
This document discusses object-oriented concepts including identity, classification, inheritance, polymorphism, and abstraction. It defines these concepts and provides examples. Identity refers to each object having its own identity even if attribute values are identical. Classification groups objects of the same structure and behavior into classes. Inheritance allows classes to inherit attributes and behaviors from superclasses. Polymorphism allows the same operation to have different implementations for different classes. Abstraction focuses on essential aspects and ignores non-essential details. The document also discusses class, state, and interaction models for describing different views of a system.
Chapter 1 - Concepts for Object Databases.pptShemse Shukre
The document discusses object-oriented databases and concepts related to their design and implementation. It describes how OO databases aim to directly correspond to real-world objects by storing them as objects rather than breaking them into relational tables. This allows objects to maintain their identity and integrity. The document outlines key OO concepts like encapsulation, inheritance and polymorphism that are implemented in OO databases to provide a unified programming environment for complex data types.
Object-oriented programming (OOP) is a programming paradigm that designs applications around objects that contain both data and behaviors. Key concepts of OOP include data abstraction, encapsulation, inheritance, polymorphism, and messaging. Many modern programming languages support OOP through features like classes, which provide a blueprint for creating object instances that can maintain state through data fields and behavior through methods.
Object-oriented programming uses objects to represent real-world entities. An object has state, which describes its characteristics, and behaviors, which are its capabilities. A class defines a blueprint for objects and multiple objects can be created from the same class. Objects encapsulate both data and functions that operate on that data.
This document provides an overview of object-oriented programming (OOP) concepts including objects, classes, encapsulation, inheritance, polymorphism, and abstraction. It explains that OOP allows decomposition of programs into objects that contain both data and functions. Classes act as blueprints for objects and define their properties and behaviors.
This document provides an introduction to object-oriented analysis and design (OOAD). It defines key OOAD concepts like analysis, design, objects, classes, and relationships. It explains that analysis involves understanding problem domains while design defines software solutions as objects. OOAD uses an object-oriented approach in both analysis and design, with a logical solution based on objects. The document also outlines objectives of an OOAD introduction, basic OOAD principles like abstraction and encapsulation, and modeling techniques like the three model concept of class, state, and interaction models.
Adbms 14 oodbms concepts for managing objectsVaibhav Khanna
Complex objects are built from simpler ones by applying constructors to them. The simplest objects are objects such as integers, characters, byte strings of any length, booleans and floats (one might add other atomic types).
The document provides an overview of object-oriented databases and SQL3. It defines objects, object structures, and object-oriented concepts. It then discusses object-oriented database systems (OODBS), the Object Query Language (OQL) with an example query, and SQL3 which supports both relational and object-oriented features such as user-defined data types and methods.
The Object Oriented Database System ManifestoBeat Signer
This document outlines the key features that an object-oriented database system should have according to a 1989 paper. It defines mandatory "golden rules" including supporting complex objects, object identity, encapsulation, types/classes, inheritance, late binding, extensibility, persistence, storage management, concurrency, recovery and querying. Optional features and open topics for debate are also discussed.
Database systems that were based on the object data model were known originally as object-oriented databases (OODBs).These are mainly used for complex objects
This presentation discusses the following topics:
Object Oriented Databases
Object Oriented Data Model(OODM)
Characteristics of Object oriented database
Object, Attributes and Identity
Object oriented methodologies
Benefit of object orientation in programming language
Object oriented model vs Entity Relationship model
Advantages of OODB over RDBMS
- An object-relational database (ORD) or object-relational database management system (ORDBMS) supports objects, classes, and inheritance directly in the database schema and query language, while also retaining the relational model.
- An ORDBMS supports an extended form of SQL called SQL3 for handling abstract data types. It allows storage of complex data types like images and location data.
- Key advantages of ORDBMS include reuse and sharing of code through inheritance, increased productivity for developers and users, and more powerful query capabilities. Key challenges include complexity, immaturity of the technology, and increased costs.
Object Oriented Database Management systems evolved to address the complex objects in emerging applications that could not be effectively represented in the relational model. ODBMSs provide a direct representation of objects to the database, overcoming the impedance mismatch between application data structures and the relational model. ODBMSs take two approaches - persistent object oriented programming languages that add persistence to programming language objects, and object-relational databases that extend relational databases with object features. The Object Database Management Group developed standards including an object model, query language, and language bindings to allow portability between ODBMS systems.
Object-oriented databases (OODBMS) were developed to address limitations of the relational data model for representing complex real-world data. OODBs use objects with attributes and methods to model data, and support relationships like inheritance and containment between objects. They allow programming languages to represent data persistently in the database. However, OODBs have more limited query capabilities compared to relational databases.
Object-oriented programming (OOP) is a programming paradigm based on the concept of objects that contain data and code. The four pillars of OOP are data abstraction, encapsulation, inheritance, and polymorphism. Data abstraction hides internal details and provides essential information. Encapsulation bundles data with the methods that operate on that data, protecting data within a class. Inheritance allows new classes to inherit properties from existing classes. Polymorphism gives the same functions different meanings depending on usage.
This document outlines a course on advances in database management systems. The course covers object and object-relational databases over 9 hours. Topics include object database concepts, object extensions to SQL, the ODMG object model and ODL language, object database design, and the OQL query language. The course is taught by Dr. M.K. Jayanthi Kannan at JAIN Deemed To-Be University.
The document discusses object-oriented analysis and design (OOAD), providing an overview of OO concepts like objects, classes, relationships, and the OO development life cycle, and outlines 5 units that will be covered including introduction to OO, UML, OO analysis, OO design, and CASE tools.
The document discusses object-oriented modeling and the Unified Modeling Language (UML). It describes the evolution of UML from earlier object-oriented modeling methods to its current standardization. The key aspects of UML covered include its scope as a standard modeling language, the modeling elements it incorporates like use cases, classes, objects, and diagrams, and how it addresses complexity through concepts like abstraction, encapsulation, and inheritance.
Similar to MIT302 Lesson 2_Advanced Database Systems.pptx (20)
A workshop hosted by the South African Journal of Science aimed at postgraduate students and early career researchers with little or no experience in writing and publishing journal articles.
How to Fix the Import Error in the Odoo 17Celine George
An import error occurs when a program fails to import a module or library, disrupting its execution. In languages like Python, this issue arises when the specified module cannot be found or accessed, hindering the program's functionality. Resolving import errors is crucial for maintaining smooth software operation and uninterrupted development processes.
A review of the growth of the Israel Genealogy Research Association Database Collection for the last 12 months. Our collection is now passed the 3 million mark and still growing. See which archives have contributed the most. See the different types of records we have, and which years have had records added. You can also see what we have for the future.
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
This presentation includes basic of PCOS their pathology and treatment and also Ayurveda correlation of PCOS and Ayurvedic line of treatment mentioned in classics.
Thinking of getting a dog? Be aware that breeds like Pit Bulls, Rottweilers, and German Shepherds can be loyal and dangerous. Proper training and socialization are crucial to preventing aggressive behaviors. Ensure safety by understanding their needs and always supervising interactions. Stay safe, and enjoy your furry friends!
Strategies for Effective Upskilling is a presentation by Chinwendu Peace in a Your Skill Boost Masterclass organisation by the Excellence Foundation for South Sudan on 08th and 09th June 2024 from 1 PM to 3 PM on each day.
Executive Directors Chat Leveraging AI for Diversity, Equity, and InclusionTechSoup
Let’s explore the intersection of technology and equity in the final session of our DEI series. Discover how AI tools, like ChatGPT, can be used to support and enhance your nonprofit's DEI initiatives. Participants will gain insights into practical AI applications and get tips for leveraging technology to advance their DEI goals.
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Dr. Vinod Kumar Kanvaria
Exploiting Artificial Intelligence for Empowering Researchers and Faculty,
International FDP on Fundamentals of Research in Social Sciences
at Integral University, Lucknow, 06.06.2024
By Dr. Vinod Kumar Kanvaria
This presentation was provided by Steph Pollock of The American Psychological Association’s Journals Program, and Damita Snow, of The American Society of Civil Engineers (ASCE), for the initial session of NISO's 2024 Training Series "DEIA in the Scholarly Landscape." Session One: 'Setting Expectations: a DEIA Primer,' was held June 6, 2024.
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
MIT302 Lesson 2_Advanced Database Systems.pptx
1. Advanced Database Systems
Object Oriented Database
MIT 302
Reference: Object-Oriented Database {Concepts, Examples, Pros and Cons} (phoenixnap.com), et al
2. Objective
• To examine and learn the concepts of object-oriented
database design
• To understand the need to transition to object-oriented
database from the relational one
• To prepare for designing an object-oriented database
system using software tools, ei, LUCITCHART, UML 2.0 or
other latest version, Postgresql, or Mysql
3. Background
• Object Oriented Databases are a result of the advancement of
database systems from relational database management system
RDBMS
• Instead of dealing with entities, objects are dealt with
• It is the industry trend nowadays, though, majority of the world is
still on relational database
• OODB harmoniously dances with OO Programming languages, ie.
Java and c++, among others
• Postgresql is ideal sql
4. Object Database (Object-Oriented Database {Concepts, Examples, Pros and Cons} (phoenixnap.com)
• An object database is managed by an object-
oriented database management system (OODBMS). The database
combines object-oriented programming concepts with relational
database principles.
• Objects are the basic building block and an instance of a class, where
the type is either built-in or user-defined.
• Classes provide a schema or blueprint for objects, defining the
behavior.
• Methods determine the behavior of a class.
• Pointers help access elements of an object database and establish
relations between objects.
6. Object Oriented DB (Object-Oriented Database {Concepts, Examples, Pros and Cons} (phoenixnap.com)
7. OODB (Object-Oriented Database {Concepts, Examples, Pros and Cons} (phoenixnap.com)
• The main characteristic of objects in OODBMS is the
possibility of user-constructed types. An object
created in a project or application saves into a
database as is.
• Object-oriented databases directly deal with data as
complete objects. All the information comes in one
instantly available object package instead of multiple
tables.
8. Object classes
Similar objects (have the same attributes, respond to the same messages) are
grouped into a class.
The attributes and associated methods are defined once for the class.
Al objects in a class have the same:
variable types
message interface
methods
They may differ in the values assigned to variables
Classes are analogous to entity sets in the ER model.
Example: all branch objects would be described by a single Branch class.
10. 10
Class attributes describes the general characteristics of the class,
such as totals or averages( ex: total no of branches)
Class methods are used to change or query the state of class attributes
There are special class methods to create new instances of the class:
new --constructor
destructor
In the following example, employment-length is a derived attribute.
For strict encapsulation, methods to read and set other variables are
also needed
11. class employee {
/*Variables */
string name;
string address;
date start-date;
int salary;
/* Messages */
int annual-salary;
string get-name;
string get-address;
int set-address ( string new-address)
int employment-length;
};
12. Object-Oriented Programming Concepts
• Polymorphism
• Inheritance
• Encapsulation
• Abstraction
These four attributes describe the critical characteristics of object-oriented management systems
13. Polymorphism
• is an object-oriented programming concept that refers
to the ability of a variable, function or object to take on
multiple forms. A language that features polymorphism
allows developers to program in the general rather than
program in the specific. www.techopedia.com/definition/28106/polymorphism-
general-programming
14. Inheritance
• is the procedure in which one class inherits the attributes
and methods of another class. The class whose properties
and methods are inherited is known as the Parent class.
And the class that inherits the properties from the parent
class is the Child class. www.analyticsvidhya.com/blog/2020/10/inheritance-object-
oriented-programmi…
Source: Wikipedia.org
15. Inheritance allows one class (subclass) to be defined as a special
case of a more general class (superclass).
The process of forming a superclass is referred to as generalization.
The process of forming a subclass is referred to as specialization.
By default, a subclass inherits all the properties of its superclass(es)
and, additionally, defines its own unique properties.
A subclass can redefine inherited methods.
All instances of the subclass are also instances of the superclass.
Principle of substitutability: we can use an instance of the subclass
whenever a method or a construct expects an instance
of the superclass..
16. The relation between the subclass and superclass: A KIND OF (AKO)
The relation between an instance and its class: IS-A.
Examples:
Manager is AKO Staff.
Susan Deer IS-A Manager.
Inheritance:
1. Single inheritance: the subclass inherits from no more than one
superclass
2. Multiple inheritance: the subclass inherits from more than one
superclass ===> conflicts!
18. Repeated inheritance: a special case of multiple inheritance
superclasses inherit from a common superclass
The inheritance mechanism must ensure that the subclass does
not inherits properties twice.
Staff
Manager Sales_Staff
Sales_Manager
4. Selective inheritance:allows a subclass to inherit a limited
number of properties from the superclass.
19. Object Identity
Each object is assigned an Object Identifier (OID) when it is
created that is:
system generated
unique to that object
invariant
independent of the values of its attributes
inivisible to the user
Other concepts:
overriding (+ overloading)
polymorphism & dynamic binding
complex objects
persistence
20.
21. OODBMS
Hierarchical Data Model
Network Data Model
Relational Data Model
ER Data Model
Semantic Data Model
Object-Relational Data Model Object Oriented Data Model
1960 -
1970
First generation DBMS
1970 - 1980 Second generation DBMS
E. Codd, 1970
IMS
Chen, 1976
Third generation DBMS
Hammer, McLeod,
1981
1980-2000
22. Encapsulation
• is one of the core concepts in object-oriented
programming. It describes the bundling of data and
methods operating on this data into one unit. It is often
used to implement an information-hiding mechanism.
Source: Object-Oriented Database {Concepts,
Examples, Pros and Cons} (phoenixnap.com)
23. Abstraction (stackify.com/oop-concept-abstraction/)
• key concepts of object-oriented programming (OOP) languages
• Its main goal is to handle complexity by hiding unnecessary
details from the user
• That enables the user to implement more complex logic on top
of the provided abstraction without understanding or even
thinking about all the hidden complexity
24. Example of OQL query
The following is a sample query
“what are the names of the black product?”
Select distinct p.name
From products p
Where p.color = “black”
Valid in both SQL and OQL, but results are different.
25. Result of the query (SQL)
Product no Name Color
P1 Ford Mustang Black
P2 Toyota Celica Green
P3 Mercedes SLK Black
- The statement queries a relational database.
=> Returns a table with rows.
Name
Ford Mustang
Mercedes SLK
Result
Original table
26. Comparison
Queries look very similar in SQL and OQL,
sometimes they are the same
In fact, the results they give are very different
Query returns:
OQL SQL
Object
Collection of objects
Tuple
Table
27. SQL3 “Object-oriented SQL”
• Foundation for several OO database management systems –
ORACLE8, DB2, etc
• New features – “relational” & “Object oriented”
• Relational Features – new data types, new predicates,
enhanced semantics, additional security and an active
database
• Object Oriented Features – support for functions and
procedures
28. User defined Data Types
Creating a “row type”
Example:
create row type AddressType(
street char(50),
city char(20));
create row type StarType(
name char(30),
address AddressType);
29. Creating Data Types (contd.)
Creating “Table”
create table Address of type AddressType;
create table MovieStar of type StarType;
Instances of Row types are tuples in tables
30. Sample Query
Find the names and street addresses of those MovieStars
who stay in the city “Columbus”:
select MovieStar.name,
MovieStar.address.street
from MovieStar
where MovieStar.address.city = “Columbus”;
32. Requirement for this Trimester
1. This requirement shall be undertaken by INDIVIDUAL or by GROUP OF 2
2. Email me if you intend to do it alone or
3. Email me the name of your GROUP and MEMBERS. Please, indicate who is the
Project Manager
4. Immediately, choose a company, and send the profile of it
5. Your chosen company shall be the subject for your DATABASE DESIGN
6. You may choose whether your design shall be RELATIONAL DATABASE or OBJECT-
ORIENTED DATABASE
7. If it is Relational, you may use UML 2.0 thru LUCIDCHART and MYSQL
8. If it is Object-Oriented, you use UML 2.0 thru LUCIDCHART and Postgresql
9. By accomplishing item 1-6, you earned 10-point QUIZ