Entity Framework / SQL Server много внешних ключей - PullRequest
2 голосов
/ 14 октября 2011

Я пытаюсь определиться с дизайном таблицы при работе с Entity Framework и SQL Server.

У меня есть один объект (адрес), который связан со многими другими объектами (около 15).

Я могу создать 15 столбцов FK, которые могут быть пустыми, в базе данных или создать один несвязанный столбец (EntityPrimaryKey) и столбец EntityType, чтобы отслеживать, для чего предназначено значение столбца EntityPrimaryKey.

Какие проблемы могут возникнуть у меня с этимидва разных дизайна?Мнения о том, что лучше?

1 Ответ

3 голосов
/ 14 октября 2011

Всегда используйте реальные внешние ключи, которые можно использовать для обеспечения ссылочной целостности.

Этот «один ключ и столбец для определения типа ключа» поначалу может показаться хорошей идеей - но в конечном итоге, поскольку вы не можете установить ссылочную целостность, это действительно совершенно бессмысленно.

Со временем у вас получатся дочерние строки "зомби" во всех таблицах, на которые больше нет ссылок. И качество и целостность данных являются для меня наиболее важным аспектом хорошего дизайна базы данных - всегда проверяйте целостность ваших данных - все остальное отодвигает это требование!

...