Любой человек, который занимается веб-разработкой рано или поздно сталкивается с таким понятием как база данных веб-сайта.

Давайте будем разбираться, что такое база данных и зачем это нужно.

Предположим, что мы решили создать какой-то свой веб-сайт. Мы создали одну страницу. Предположим, что это будет страница page.html. На этой странице находится какое-то содержимое. 

С течением времени сайт начинает разрастаться. На нем начинают появляться все новые и новые материалы и страниц, на которых будут храниться эти материалы становиться все больше и больше. 

Возникает вопрос, как хранить все данные, которые будут отображаться на этих веб-страницах. Какую структуру организации этих данных выбрать.

1 способ. Каждый материал (страница) - отдельный html-файл.

Как вариант, это будет работать. Но, при этом возникает ряд проблем.

Что если в этой структуре файлов, нам нужно будет добавить или изменить какой-то общий элемент? Например, нужно поменять изображение в шапке сайта. 

Нужно будет открывать каждый из этих файлов и в каждом из них менять путь до картинки.

Конечно, если файлов всего 3 - это сделать довольно просто. Но, если этих файлов сотни и тысячи, могут возникнуть трудности.

А что если у нас будет стоять задача получить какую-то статистику по этим страницам? Например, нам нужно узнать сколько всего у нас есть веб-страниц и вывести это в каком-то месте веб-сайта.

Если каждая страница у нас отдельный файл, сделать это может быть трудно.

Что если нам нужно будет организовать поиск по этим файлам?

С этим тоже могут быть трудности.

Наконец, как дать доступ на редактирование созданных html-страниц человеку, который в веб-разработке ничего не понимает. Для него это тоже будут некоторые трудности.

Из-за этих проблем, что трудно обслуживать такую структуру организации данных веб-сайта, есть другой подход как можно хранить информацию, которая будет отображаться на всех этих страницах. 

В этом подходе мы исходим из того, что у нас есть только один файл. Предположим, это файл page.php. 

Именно этот файл будет главным для всех страниц нашего сайта. А текст всех страниц, которые будут на этом сайте. Ссылки, даты и.т.д. мы выносим в отдельную сущность, которая называется база данных. 

Т.е. мы разделяем структуру веб-страницы. Разметка документа отдельно и содержимое страницы тоже отдельно.

По сути, база данных - это простые таблицы, которые содержат строки и столбцы. На пересечении этих строк и столбцов содержится какая-то информация. Каждый элемент, который будет на сайте, храниться в отдельном поле базы данных.

Каждая строка соответствует каждой странице.

При такой структуре мы можем настроить веб-сервер, чтобы при обращении по определенному url-адресу ему показывается каждый раз какая-то уникальная страница из базы данных.

Главное преимущество такой структуры в том, что нам теперь не нужно хранить на сервере огромное количество файлов.

Теперь у нас контент отдельно и разметка страницы тоже отдельно. 

Какие мы теперь получаем преимущества:

1) Мы можем просто вносить изменения в содержимое страниц сайта за счет того, что контент размещается отдельно от структуры и логики.

2) Скорость и простота обработки информации в базе данных. Статистика, поиск и.т.д.

3) Возможность создания панели управления для людей, которые не знакомы с веб-разработкой.

В итоге, база данных - это то место, где храниться содержимое какой-то определенной сущности. Например, мы выбрали сущности "страница" и храним информацию в базе данных, которая к этой сущности относится.

Надеюсь, что стало понятнее что такое база данных и для чего они нужны. 

Не во всех случаях оправдано их использование. Если вам приходится работать с большим объемом каких-то данных, тот первый вопрос, который вам нужно себе задать: не логичнее ли будет всю эту информацию хранить в базе данных.

На этом все, желаю вам удачно проектировать структуру своего веб-сайта и удачной работы.