A Data Model is a collection of tools for describing:
● Data
● Data relationships
● Data semantics
● Data constraints
Types of Data Models:
- Relational model - assumes each table is a relation in the mathematical sense.
- Entity-Relationship data model (mainly for database design) - assumes set of entities and the relationship between them.
- Object-based data models (Object-Oriented and Object-Relational)
- Semistructured data model (e.g., XML)
- Other older models:
- Network model
- Hierarchical model
Object Relational Data Model:
Extend the relational data model by including object orientation and constructs to deal with added data types.
Allow attributes of tuples to have complex types, including non-atomic values such as nested relations.
Preserve relational foundations, in particular the declarative access to data, while extending modeling power.
Provide upward compatibility with existing relational languages.
Semistructured Data Model:
- It was created to allow the specification of data over data items of same type may have a different set of attributes.
Use XML (Extensible Markup Language) defined by the World Wide Web Consortium (W3C)
Originally intended as a document markup language, not a DB language
The ability to specify new tags, and to create nested tag structures made XML a great way to exchange data, not just documents.
XML has become basis for all new generation data interchange formats
A wide variety of tools is available for parsing, browsing and querying XML documents/data