2015-12-18 3 views
0

Некоторое время назад кто-то сказал мне, что nullable ForeignKeys - это «злой» дизайн базы данных?Почему недействительны ForeignKeys «зло»?

Другими словами, это «анти-шаблон», чего вам следует избегать.

Почему?

+0

Они не являются злом. –

+1

@BrankoDimitrijevic, пожалуйста, уточните, почему они не «злые»? – guettli

+0

Потому что они моделируют общий и полезный случай (ссылка _optional_). Я не знаю лучшего способа моделирования этого случая. Ты? –

ответ

0

Вам нужно «if» обработать структуру данных, которая имеет NULL-значение ForeignKey.

Вы можете узнать больше о том, почему «если» зло здесь: Why is the 'if' statement considered evil?

+1

В SQL нет 'if', и вам, разумеется, не нужно выбирать строки с нулевыми внешними ключами. –

+1

@a_horse_with_no_name, конечно, вы правы: в SQL нет «if». Но на любом языке программирования вам нужно решить: «Имеет ли эта переменная данные или это NULL». – guettli

+0

И как это связано с внешними ключами? Другие столбцы также могут быть нулевыми. –

Смежные вопросы