Object oriented data modeling is a specialized task.
Object modeling languages are based on a standardized set of symbols and ways of arranging them to model part of an object oriented software design or system design.
An important difference between Object Oriented data and relational data is that the attributes of an object cascade.
For example, If in the original design, a customer has a few attributes like name, address, payment history etc all new customers will have those attributes by definition. If it later becomes necessary to include additional attributes, like say ‘product type preference’ it is only necessary to add that attribute to the root object. All customers, including the old ones will then have the attribute ‘product type preference’
Conceptually it is easier to design an Object Oriented database, but it is more difficult to impliment
And a design vernacular has been developed for the purpose
Some organizations use these extensively in combination with a software development methodology to progress from initial specification to an implementation plan and to communicate that plan to an entire team of developers and stakeholders.
Because a modeling language is visual and at a higher-level of abstraction than code, using models encourages the generation of a shared vision that may prevent problems of differing interpretation later in development. Often software modeling tools are used to construct these models, which may then be capable of automatic translation to code.