Understanding the Fundamental Differences Between Database Views and Tables
Published: 2023-04-21 20:28:25

---
title: Understanding the Fundamental Differences Between Database Views and Tables
published: true
date: 2023-04-18 20:13:43 UTC
tags: 
canonical_url: https://harshmange.hashnode.dev/understanding-the-fundamental-differences-between-database-views-and-tables
---

A table and a database view are both database objects used to store and organize data in a database management system (DBMS), but they have some fundamental differences in terms of their purpose, structure, and functionality.

A table is a basic database object that stores data in a tabular format with rows and columns. Tables are used to store and manage data, and can be queried and manipulated using SQL commands. For example, consider the following table that stores information about customers:

```
CREATE TABLE Customers (
  ID INT PRIMARY KEY,
  First_Name VARCHAR(50),
  Last_Name VARCHAR(50),
  Email VARCHAR(100)
);

INSERT INTO Customers (ID, First_Name, Last_Name, Email)
VALUES
  (1, 'John', 'Smith', 'john@example.com'),
  (2, 'Jane', 'Doe', 'jane@example.com'),
  (3, 'Bob', 'Johnson', 'bob@example.com');

```

The above SQL commands create a Customers table with four columns - ID, First\_Name, Last\_Name, and Email. The table is populated with three rows of data using the INSERT command. The data can be queried using SQL SELECT command like this:

```
SELECT * FROM Customers;

```

The output of this query would be:

```
+----+------------+-----------+-----------------+
| ID | First_Name | Last_Name | Email |
+----+------------+-----------+-----------------+
| 1 | John | Smith | john@example.com|
| 2 | Jane | Doe | jane@example.com|
| 3 | Bob | Johnson | bob@example.com |
+----+------------+-----------+-----------------+

```

On the other hand, a database view is a virtual table that does not store data itself but retrieves data from one or more underlying tables. A view can be thought of as a saved query that provides a customized view of the data in the underlying tables. For example, consider the following view that displays only the first and last names of customers:

```
CREATE VIEW CustomerNames AS
SELECT First_Name, Last_Name FROM Customers;

```

The above SQL command creates a view called CustomerNames that retrieves data from the Customers table and presents only the First\_Name and Last\_Name columns. The data in the view can be queried using SQL SELECT command like this:

```
SELECT * FROM CustomerNames;

```

The output of this query would be:

```
+------------+-----------+
| First_Name | Last_Name |
+------------+-----------+
| John | Smith |
| Jane | Doe |
| Bob | Johnson |
+------------+-----------+

```

Note that the data in the view is not physically stored in the database but is instead retrieved from the underlying Customers table each time the view is queried. Views can also be used to simplify complex queries, restrict access to certain data, or provide a different perspective on the data.

In summary, the key differences between a database table and a view are:

1. A table stores data physically, while a view does not store data but retrieves it from one or more underlying tables.

2. A view is a saved query that provides a customized view of the data, while a table represents a collection of related data organized in rows and columns.

3. A view can be used to simplify complex queries, restrict access to certain data, or provide a different perspective on the data, while a table is primarily used to store and manage data.