# Database Design

Database Design is the process of designing the general structure of the database.

* **Logical Design** deals with designing a database schema. We have a business decision (what attributes to record in the database?) and a Computer Science decision (how should the attributes be distributed acmong the various schemas?)
* **Physical Design** deals with the physical layout of the database, such as file organization and internal storage structures
* **Application-Level Design** deals with views, stored procedures and interfaces

Some common approaches for database design are:

* **Normalization Theory**\
  We formulate a set of schemas that can store information without redundancy and allow for easy retrieval. We then identify which designs are bad, test for them and convert them into good designs by following a set of rules. This will be discussed in detail later on.
* **Entity-Relationship Model**  \
  Every object is modeled as an entity and the relationship denotes the association among the different entities. Every entity has its own attributes. The following figure illustrates a simple ER Model:\
  ![](/files/-M5-0_GiPrTdI38C42pi)Here, instructor and department are entities with their attributes mentioned below them, and member is the relationship that associates an instructor with a department.


---

# 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/database-design.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.
