В данной статье рассмотрим вариант добавления проекта SimpleMVC-example в docker-контейнер.
В сборке применены следующие технологии: PHP-FPM, Nginx, MySQL.
Папка docker расположена в корневой директории проекта и имеет следующую структуру:
Ограничения - это правила, накладываемые на ввод, обработку и удаление данных, помогающие более эффективно работать с информацией, сохранять её целостность и связность, устанавливать дополнительные условия.
До этого мы с вами рассматривали синтаксис различных SQL-запросов, работающих с данными в базе. К примеру, запрос SELECT извлекает наборы строк, соответствующих установленным условиям. Эти наборы могут иметь ноль, одну и более строк. И они называются результирующими.
Результирующий набор
Результирующий набор - это все строки, выбранные в результате SQL-запроса.
Данные в реляционных БД хранятся в многих таблицах, связанных между собой внешними ключами. Это структурирует и упрощает обработку информации, ускоряет запросы. Но, так как SQL-запрос может обращаться только к одной таблице одновременно, в случае возникновении ошибки, процесс прервётся, и данные, хранящиеся в связанных таблицах, не будут приведены в соответствие с теми, что уже сохранились.
До этого мы рассматривали с вами одиночные запросы, реализующие достаточно простую логику, соответствующую одной операции. Но на практике из запросов могут складываться целые сценарии, в рамках которых важно сохранить целостность данных, избежать ошибок в связях:
Представления - это виртуальные таблицы, строящиеся "на лету". Представления не содержат в себе данные, как обычные таблицы, а хранят запросы, которые эти данные извлекают.
Синтаксис создания представлений во всех основных СУБД одинаков, но есть особенности: