В этом проекте мы вновь затронем тему баз данных, но подойдем к этому вопросу с несколько другой стороны. Мы не будем пользоваться готовыми, разработанными кем-то базами, а спроектируем свою собственную базу данных с самого нуля.
Проектирование любой базы данных осуществляется в три этапа:
описание предметной области и создание модели данных;
логическое проектирование;
физическое проектирование.
Первые два этапа являются самыми важными. От того как вы изначально продумаете и спланируете вашу будущую базу данных будет зависеть успешность ее физической реализации.
На первом этапе проектирования осуществляется постановка задачи, – какую базу данных мы должны спроектировать, и какие функции она должна выполнять, чтобы удовлетворить нашу в ней потребность.
Например, нам необходимо спроектировать базу данных пожарной части. Название базы еще ни о чем нам не говорит. Что значит пожарная часть? Чтобы что-то проектировать, необходимо четко себе представлять, какие задачи мы будем решать с помощью создаваемой нами базы. Например, с помощью базы данных пожарной части мы можем осуществлять инвентарный учет части, учитывать рабочий персонал, информацию о вызовах пожарных расчетов на места возгорания и т.д., и т.п.
Получается, что на первом этапе проектирования мы продумываем, какие задачи будет решать наша база данных, какую информацию она будет хранить и обрабатывать, здесь же мы начинаем группировать эту информацию по таблицам (сущностям базы данных).
Сущность ‑ это множество экземпляров реальных и абстрактных объектов, которые обладают общими свойствами. Любой объект предметной области может быть представлен только одной сущностью, которая должна иметь уникальное имя и храниться в базе данных. Для базы данных в роли сущностей выступают таблицы.
Например, всю информацию об оборудовании и инвентаре части будем хранить в таблице под названием Оборудование, информацию о рабочем персонале – в таблице Сотрудники, информацию о пожарных расчетах – в таблице Пожарный расчет, а информацию о вызовах пожарных расчетов – в таблице Журнал вызова.
Далее, для каждой будущей таблицы базы данных продумывается список атрибутов.