Проектирование баз данных
23-11-2021SQL
Создать идеальную базу очень сложно. Всё дело в том, что база данных не может быть оторвана от реальности — базы нужны для того, чтобы решать какие-то конкретные задачи. Например у вас есть список клиентов в таблице Экселя. Если их количество приближается к сотне, то есть смысл подумать о том, чтобы перевести эти данные в базу, чтобы можно было ими удобней управлять и быстро находить нужные контакты. То есть обычно ставится задача, а уже потом под неё проектируется база. Читать
Использование SQLite в PHP
19-11-2021Albireo 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. Читать
База SQLite и основы SQL - 9. Встроенные функции
16-11-2021SQL
В SQLite есть довольно много встроенных функций. С их помощью можно решать достаточно специфичные задачи. Я не буду описывать их все, поскольку любому программисту будет сразу понятно их назначение. Поэтому просто дам несколько ссылок на официальный сайт: скалярные функции, функции для даты и времени, математические функции и функции агрегирования. Последние как раз и представляют для нас наибольший интерес. Читать
База SQLite и основы SQL - 8. Что такое индексы
15-11-2021SQL
Сегодня поговорим про индексы в SQLite. Тема достаточно сложная даже для опытных разработчиков, поскольку встречается много тонкостей и нюансов. Читать
База SQLite и основы SQL - 7. Типы данных
14-11-2021SQL
Затронем вопрос о типах данных, которые можно хранить в базе. Тип поля мы указываем в момент создания таблицы и считается, что чем точнее будет тип подобран к данным, тем лучше. В других СУБД типы данных играют очень важную роль, поскольку используется строгая типизация. Например тип поля TINYINT будет хранить число в размере одного байта. Когда таблица создаётся, то в ней резервируется место под необходимый объём данных. Именно поэтому, если поле будет содержать числа в один байт, то очевидно, нет смысла указывать INTEGER, поскольку это зарезервирует в базе больше места для поля (4 байта). Читать
База SQLite и основы SQL. Часть 6 (объединение JOIN)
13-11-2021SQL
Объединение таблиц — одна из самых крутых фишек SQL. Чтобы использовать их максимально эффективно нужно заранее продумывать структуру базы. Пример с таблицами t1, r1 и q1 показывает основной принцип, но на практике чаще мы сталкиваемся с немного другой задачей, где таблица хранит лишь ссылку на запись в другой таблице. Читать
База SQLite и основы SQL - 5. Нормализация
12-11-2021SQL
Нормализацию базы делают для того, чтобы избежать логических ошибок. Изменение структуры таблиц достаточно затратная операция. Помимо того, что нужно будет позаботиться о сохранности данных, придётся ещё переписывать sql-запросы, а также программный код, их обслуживающий. Поэтому лучше потратить больше времени на обдумывание структуры и тестирование базы. Читать
База SQLite и основы SQL. Часть 4 (ключи)
11-11-2021SQL
Обычно в базе находятся несколько таблиц. Поэтому нужно понимать как их правильно организовать. Например в нашей таблице firstTable мы уже столкнулись с проблемой отсутствия уникального номера записи. И на самом деле в таблице есть ещё одна проблема — возможность создания дублей (когда было два Пети с одним номером). Читать