SQL
Создаем статистику для сайта своими руками
17-02-2022Albireo Framework / CMS, SQL
Сегодня я расскажу как создать статистику для своего сайта на Albireo Framework. Для хранения статистики будет использоваться база SQLite. Я покажу базовый пример, который вы сможете расширить под свою задачу. Лично мне нужна была статистика по страницам с группировкой по дате (посуточно). Читать
Как организовать древовидные рубрики на сайте (Materialized Path)
26-11-2021Albireo Framework / CMS, SQL
Теперь рассмотрим другой вариант организации «деревьев» — алгоритм Materialized Path. В отличие от других методов, здесь рубрика хранит сразу весь путь в иерархии. Но основная фишка в том, что выстроить данные в таблице можно единственным примитивным sql-запросом с ORDER BY. Читать
Как организовать древовидные рубрики на сайте (Adjacency List)
25-11-2021Albireo Framework / CMS, SQL
Рубрики — являются неотъемлемой частью любого сайта, но вместе с тем их реализация не такая простая, как может показаться. Сложность в том, что рубрики представляют собой древовидную структуру данных, а значит перед разработчиком стоят как минимум две задачи. Первая — придумать способ задания иерархии в базе данных и вторая — дать возможность владельцу сайта управлять этой иерархией. Читать
Проектирование баз данных
23-11-2021SQL
Создать идеальную базу очень сложно. Всё дело в том, что база данных не может быть оторвана от реальности — базы нужны для того, чтобы решать какие-то конкретные задачи. Например у вас есть список клиентов в таблице Экселя. Если их количество приближается к сотне, то есть смысл подумать о том, чтобы перевести эти данные в базу, чтобы можно было ими удобней управлять и быстро находить нужные контакты. То есть обычно ставится задача, а уже потом под неё проектируется база. Читать
Использование SQLite в PHP
19-11-2021Albireo Framework / CMS, PHP, SQL
Для работы с базой данных (любой), в PHP сейчас принято использовать PDO (PHP Data Objects). Раньше было так: в зависимости от используемой базы, нужно было использовать и её специфичные функции. Поскольку PHP поддерживает больше десятка баз, то появился и «зоопарк» функций: отдельно для MySQL, отдельно для SQLite, отдельно для dBase и т.д. Читать
База SQLite и основы SQL. Часть 11 (транзакции)
18-11-2021SQL
Существует ряд операций, которые имеют критическую важность. Например перевод денег с одного счёта на другой. Если это делать через SQL, то первым запросом нужно добавить деньги на новый счёт, а вторым запросом удалить деньги с первого. Но, что если между этими двумя операциями произойдет какой-то сбой? Очевидно, что это приведёт к проблеме целостности данных и некорректному отображению состояния счётов. Таким образом операция будет успешной только в том случае, если оба запроса прошли без ошибок. Читать
База SQLite и основы SQL. Часть 10 (условия IF)
17-11-2021SQL
В SQL есть несколько полезных инструкций, которые здорово облегчают жизнь программистам. Одни из них IF EXISTS и IF NOT EXISTS. Их можно применять как условие существования или отсутствия в разных командах, например в CREATE TABLE. Читать