Должен ли объект сопоставляться с собственной таблицей базы данных? - PullRequest
1 голос
/ 14 февраля 2012

Я делаю некоторую работу, используя Azure и Idea Blade DevForce, и мне интересно, каков наилучший подход с точки зрения отображения сущностей в таблицы базы данных ...

Если у сущности есть собственная таблица вбаза данных?Есть ли какой-либо выигрыш в производительности / ущерб от этого?

Скажем, у нас есть сущность "Заказ", сущность "Продукт", сущность "Клиент" и сущность "Адрес";Каковы плюсы / минусы смешивания их в одной таблице против разделения их всех?Очевидно, что БД не было бы в 3-й нормальной форме, если бы мы не отделялись, но имеет ли это значение при использовании MEF / DevForce?

В качестве второго (менее надуманного) примера, что, если бы у нас было "Учетная запись "сущность" и "пользователь" сущность;учетная запись может иметь много пользователей, но пользователи могут принадлежать только к одной учетной записи ... Таким образом, помещение их всех в одну таблицу не дублирует какие-либо пользовательские данные, но я (лично) все еще считаю, что такой подход совершенно неправильный.Есть ли причины, по которым это будет выгодно?

1 Ответ

2 голосов
/ 14 февраля 2012

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

Скажем, например, вы хотите создать 4 заказа для 2 клиентов, каждый из которых содержит 5 продуктов.Ваши данные о клиентах будут повторяться 10 раз на каждого клиента.

РЕДАКТИРОВАТЬ: Я должен отметить, что мой ответ на вопрос решительный "да".Мне было бы интересно услышать аргументы ЗА альтернативу ...

...