Ответы пользователя по тегу База знаний
  • Какое ваше отношение к таблицам с внешним ключам с NULL значением?

    @Mylistryx
    А я за NULL! При ForeignKeys - корректное поведение, при unique - корректное поведение, при JOIN корректное поведение.
    FK позволяют организовать целостность данных на уровне БД (CASCADE/RESTRICT/ SET NULL -это уже от бизнес логики) и там нет ON DELETE SET 123 или ON DELETE SET 0, что говорит само за себя, как и NULL значения при LEFT JOIN.
    unique (column):
    null
    null
    1
    2
    ...
    - и это нормальное и правильное поведение, т.е. значения уникальны, если они указаны. С 0 или суррогатным значением так не выйдет и будет расти еще один костыль.
    По поводу экономии места - в нынешних реалиях, экономия на спичках.
    Про обработку NULL / NOT NULL -если используется ORM либо обертка какая, то там это обычно реализовано прозрачно. К примеру Yii2: ArModel::findOne(['col' => null]) само развернет в нужный SQL код. В других фреймворках думаю тоже.
    P.S. Имею ввиду MySQL, в других БД возможно по другому.
    Ответ написан
    Комментировать