+7(863)285-04-66

info@promtechautomat.ru

г. Ростов-на-Дону. Социалистическая 74

Разработка базы данных для онлайн-калькулятора

database-view

Рисунок 1 - Вид структуры базы данных

На основании полученного технического задания разрабатывается база данных. Выбрана наиболее защищенная СУБД (система управления базами данных) MySQL. Потому что имеет ряд преимуществ:

  1. MySQL запускается на любой OS (не требует платной лицензии Windows).
  2. Полнофункциональная MySQL бесплатна
  3. Легковесная, не требует мощного железа. Как следствие - быстрее на аналогичном железе.
  4. Хостинг MySQL есть практически везде

Согласно техническому заданию вначале опишем логическое проектирование базы данных. Для корректной и быстрой работы и подключения базы данных используются несколько таблиц базы данных. Разделяются которые по параметрам из ТЗ - каждый параметр имеет свою таблицу в базе данных. Это делается для максимального удобства и быстрого поиска нужной записи или ошибки.

Таблицы базы данных:

  1. Счётчики (schetchik)
  2. Автоматы (automal) - для разделения типа защитного устройства, введен столбец в таблицу (view_automal).
  3. Производители (procreator)
  4. Номинальный ток (nominal) - справочник
  5. Способ установки (view_shield) - справочник
  6. Номинальное напряжение (leak_tok) - справочник

Каждая таблица имеет ключи первичный (идентификатор записи таблицы - формируется автоматически) и внешний ключ (для связей с другими таблицами).

Метод связи таблиц будет осуществлен “один к одному” ( одна запись к одной записи). Связь "один к одному" встречается редко. Например, у нас есть таблица с информацией о всех сотрудниках и таблица с информацией о всех торговых агентах, которые являются сотрудниками нашего предприятия. Записи в таких таблицах могут быть связаны отношением "один к одному".

Структура таблиц базы данных

Таблица 1 - nominal

Наименование поля Тип данных Описание
id_nominal int(10) Первичный ключ
view_nominal int(20) Значение номинального тока

Таблица 2 - leak-tok

Наименование поля Тип данных Описание
id_leak int(10) Первичный ключ
view_leak int(20) Значение номинального напряжения

Таблица 3 - procreator

Наименование поля Тип данных Описание
id_procreator bigInt(10) Первичный ключ
name_procreator varchar(100) Наименования производителя

Таблица 4 - schetchik

Наименование поля Тип данных Описание
schetchik_id int(10) Первичный ключ
schetchik_name varchar(255) Название счетчика
schetchik_procreator varchar(30) Производитель счетчика
artikul_etm varchar(50) Артикул магазина ЭТМ
articul_procreator varchar(50) Артикул производителя
id_nominal int(10) Внешний ключ
id_leak int(10) Внешний ключ
cost_schetchik_procreator float(10,2) Цена от производителя
cost_schetchik_etm float(10,2) Цена от магазина ЭТМ

Таблица 5 - automal

Наименование поля Тип данных Описание
id_automat int(10) Первичный ключ
name_automat varchar(255) Название счетчика
view_automat varchar(50) Производитель счетчика
artikul_etm varchar(50) Артикул магазина ЭТМ
articul_procreator varchar(50) Артикул производителя
id_procreator bigint(10) Внешний ключ
id_nominal int(10) Внешний ключ
id_leak int(10) Внешний ключ
cost_automat_procreator float(10,2) Цена от производителя
cost_automat_etm float(10,2) Цена от магазина ЭТМ

Подключение к базе данных будет идти отдельным файлом для безопасного подключения.

На форму калькулятора выводятся данные для выбора пользователя. Это запрос к базе данных. Пример данного запроса: $schetchiks = $connect->query('SELECT * FROM schetchik'); Запрос берёт все записи из таблицы schetchik и записываются в виде массива. Вывод осуществляется уже на внешней части front-end.