Ответы пользователя по тегу Базы данных
  • Почему нельзя/можно писать бизнес-логику в sql?

    php666
    @php666
    PHP-макака
    Аргумент о том, что будем менять БД не подходит, БД менять ближайшие 10 лет не собираемся
    этот аргумент кочует лет 20, причем не только в отношении БД, а вообще всего.

    В PHP, например, абстракция PDO - почти такой же надуманный предлог, мол, а если база поменяется?

    Вот когда поменяется база, наймут новых разработчиков и они будут заново пилить и переписывать. Потому, что ПО ФАКТУ со сменой базы меняется всё - начиная с формата получения данных в клиентском коде и заканчивая теми участками, где используются какие-то фитчи конкретной СУБД, как, например, в MySql ONLY_FULL_GROUP_BY без которого SQL на другой базе попросту не сработает или функции, специфичные для бывшей/текущей БД.

    И что там будет через 10 лет не известно, проект либо раньше загнётся, либо его перепишут с нуля. В ином случае, если проект будет большой, никто его не будет переписывать через внедрение другой СУБД, никогда такого маразма не видел, это всё равно, что менять фундамент у здания - легче новое построить с учётом новых требований.

    Между тем, адепты не писать логику в БД почему-то тихо "игнорируют" такие вещи, как внешние ключи и такие вещи как ON DELETE CASCADE с удовольствием используют, а не пишут цикл перебора с методом delete для каждой из связанных сущностей.
    Ответ написан
    3 комментария
  • С чего начать изучение SQL?

    php666
    @php666
    PHP-макака
    существуют разные среды, грубо говоря и диалекты языка
    разница настолько несущественная для тебя, что тебе не надо даже заморачиваться на эту тему. для решения 80% задач разработчики пишут весьма типичный стандартизированный SQL. даже не заморачивайся на эту тему.
    Ответ написан
    Комментировать
  • Зачем использовать NULL в базах данных?

    php666
    @php666
    PHP-макака
    Простой пример: таблица пользователей и форма для их редактирования. Если мы не заполняем поле и отправляем форму, то на сервер приходит пустая строка, которая и сохраняется в БД.
    это у вас она сохраняется. Что мешает этого не делать? Достаточно после валидации бизнес-логики пройтись по массиву данных, перед вставкой в базу, и обNULLить все переменные с пустыми строками. Пустые строки в базе не нужны, никогда. Нет ни одной причины их там хранить.

    пустая строка - это тоже осмысленное значение
    теоретически - это "осмысленное значение", практически - это мусор, это результат развития языков высокого уровня, типа php, которые позволяют вам записывать в базу пустую строку (поощряют это делать в виду своих конструктивных особенностей).
    Ответ написан
    Комментировать