# Introduction to Data Models

A data model is a collection of tools for describing data and the associated relationships, semantics and constraints.

There are several kinds of data models:

* Relational Model
* ER (Entity-Relationship) Model
* Object-Based Data Models (Object-Oriented and Object-Relational)
* Semi-Structured Data Models
* Other Models (Network Model, Hierarchical Model etc.)

## Relational Model

This model assumes each table to be a relation.

The attributes/relation names are represented as columns of the table and the values for the relations are represented in the rows of the table.

![](/files/-M5-0_5-cL4Ut7PICgMn)

The Relational Model is discussed in detail in later chapters.

## ER (Entity-Relationship) Model

This model describes a set of entities and the relationships between them. It is mainly used for database design.

## Object-Based Data Model

It is an extension of the relational data model. It includes object orientation and constructs to support additional data types.

## Semi-Structured Data Model

It was created to represent data where data items of the same type may have different attributes. It can represent the information of some data sources that cannot be constrained by schema.

Semi-structured data model uses XML (Extensible Markup Language).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://vikram-bajaj.gitbook.io/cs-gy-6083-principles-of-database-systems/data-models/introduction-to-data-models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
