Вопрос хранения информации с появлением баз данных преобразился, с появлением облачных идей видоизменился, но в конечном итоге разработчик имеет в своем распоряжении полнофункциональную базу и хранит информацию так, как ему кажется правильным, или так, как того требует проект.
MySQL имеет заслуженную репутацию. Это простая, эффективная и надежная система управления информацией, использующая традиционный язык SQL. В умелых руках MySQL - это реляционные идеи хранения и обработки информации в максимально широком спектре услуг, которые исторически сложились. Они отражают практическую целесообразность и представляют собой функциональность современной базы данных.
Рейтинг и место MySQL
Базы данных - востребованный набор инструментов для представления, хранения и обработки информации. Однако, вариантов реализации таких инструментов, то есть моделей и логики реляционных отношений между данными, всегда было много.
MySQL - не единственный вариант для эффективного представления данных и их использования, но в последние несколько лет MySQL - это наиболее часто используемое инструментальное средство.
Если говорить о применении систем управления сайтами, которые в последнее время очень востребованы программистами, то большинство из них основано на использовании именно MySQL. Часто выбрать другую базу просто невозможно.
Если речь идет о ручной разработке веб-ресурса, то проще и надежнее варианта MySQL найти сложно, хотя в таком (ручном) контексте всегда можно выбрать любую базу данных.
В большинстве случаев объективная закономерность выводит разработчика именно на PHP/MySQL. Эта пара стала де-факто лучшей в программировании сайтов и иных ресурсов для локальных и распределенных сетей обработки информации.
Подключение базы данных
Нет ничего проще, чем присоединиться к базе данных.
Здесь на локальном хосте «localhost» находится база «sci_exchange_base» к которой происходит подключение пользователя «sci_iN_WMiX» с паролем «POi17DO». После успешного подключения база данных становится доступной для работы или создается «по новой» функцией scCreateTables().
Такая логика, «если ничего нет или есть проблема: создать все вновь в исходном виде» делает любой код любого ресурса безопасным. Нет ничего проще, чем создать вновь, а не разбирать завалы проблем, создаваемых многочисленными посетителями ресурса, ошибками линий связи и технических средств:
- подключение к MySQL это - просто;
- работа с таблицами и данными проста;
- нет ничего проще, чем обеспечить протоколирование любого действия любого посетителя;
- создать распределенный поток процессов обработки информации, который адекватно и безопасно будет обеспечивать сохранность всех актуальных данных.
Использование базы данных
Практически любая операция с данными в PHP/MySQL - это запрос. Результат запроса - данные или изменение содержимого базы данных. Сама по себе MySQL - это инструментальное средство, которое использует свой функционал для исполнения своей функциональности.
Иначе говоря, управление базой, пользователи и другие административные возможности лежат и доступны в пределах ее таблиц и запросов MySQL query.
В подавляющем большинстве случаев разработчики придерживаются сложившегося опыта использования баз данных вообще. В частности, за основу берется стандартная конструкция запроса MySQL query, потом на PHP в коде анализируется результат.
В этом примере (1) - формирование строки запроса, (2) - исполнение запроса. Это обычное применение базы данных, описанное в MySQL manual, сложившееся на практике.
Здесь на вход функции передаются три параметра:
- список полей таблицы;
- имя таблицы;
- условия выборки.
В результате MySQL query делается выборка данных, которые записываются в строку данных и возвращаются в качестве результата работы функции.
Независимое использование MySQL
Функция iLineSel() - метод объекта доступа к базе. Здесь не принципиально использование объектов для доступа к информации, но принципиально разделение функционала на тот, который зависим от самой базы данных, и тот, который зависим от кода ресурса.
В подавляющем большинстве случаев MySQL - это четыре основных процедуры:
- вставка;
- удаление;
- изменение;
- выборка.
Представив эти четыре действия четырьмя функциями, можно «абстрагироваться» от формирования запросов query в виде MySQL строки.
Функции iLineSel(), iLineIns(), iLineDel(), iLineUpd() используются в коде и требуют указания имен таблиц, имен полей, условий и значений. Это удобно для кода ресурса. Внутри функций используются строки query и конструкции для доступа к базе данных.
Совместимость и эффективность
При таком подходе разработчик получает возможность использовать в своей работе набор конкретных функций базы данных в собственном представлении. Это упрощает его работу с другими разработчиками, делает его код более читабельным и исключает проблемы в случаях, когда меняется синтаксис или логика использования PHP или MySQL, а последнее часто очень важно.
Несовместимость версий - для современных инструментальных средств - норма вещей, причем характерно, то что в отличие от прошлых времен, когда требование совместимости было естественным, теперь стал важен аспект функциональности и эффективности, а совместимость ушла на задний план.
Функциональная динамика
Опыт использования баз столь велик, что многие концептуальные вещи стали слишком привычными. Но пример того, как объективно и естественно ушла на задний план концепция совместимости, позволяет заметить: далеко не все таблицы базы данных «прямоугольные» и совершенно не все отношения в базе данных - «реляционные».
По большому счету, появление в базах данных полей переменной длины само по себе сообщает, что далеко не всё укладывается в привычные рамки. Не каждая таблица имеет заголовки, не все строки обязаны иметь все поля, предусмотренные структурой таблицы. Да и таблица может иметь данные, обуславливающие её структуру, но не наоборот.
Последнее все чаще представляется нормальным и естественным. Широко применяемое объектно-ориентированное программирование в контексте баз данных, особенно в связке PHP/MySQL, позволяет создавать системы объектов, которые сами себя записывают в базу данных. Но поскольку эти объекты не обязательно всегда такие, какие были в момент создания, то и таблицы базы данных могут динамично меняться, когда хранят динамичные объекты.
В самом простом случае современная таблица - это строка или система строк, длина здесь не имеет значения, ее вполне можно эмулировать на уровне таблиц базы данных. А вот использование объектов позволяет эмулировать нужные свойства данных и абстрагироваться от жесткой структуры, реляционных идей, таблиц и привычного строгого синтаксиса работы с данными.