Модель в реализации MVC является или должна быть бизнес-моделью.
Бизнес-модель описывает поведение и атрибуты сущностей бизнеса, которые имеют отношение к приложению.Когда вы закодируете это, сущности станут классами, а поведение и атрибуты станут методами и свойствами этих классов соответственно.
Приложению необходимо где-то хранить свою информацию.Если бы память была безгранична, у нас никогда бы не было перебоев в питании, и наши ОС никогда бы не потребовали перезагрузок, бизнес-модели было бы достаточно.Однако в реальном мире нам необходимо хранить свойства классов где-нибудь, где они могут пережить завершение работы приложения и / или компьютера.
И поэтому бизнес-модель нуждается и использует хранилище данных какого-либо типа.То, как организовано это хранилище данных, является моделью данных.Поскольку в большинстве случаев реляционная база данных является выбранным хранилищем данных, модель данных обычно является структурой реляционной базы данных.
Хотя модель данных может быть на логическом уровне и затем напоминает бизнес-модель ООП, болееВ этом контексте мы обычно говорим о технической реализации логической модели.(Одно ключевое отличие: логические модели допускают отношения MN между таблицами, нормализованная техническая модель будет иметь таблицу связей, которая имеет отношение N-1 с двумя исходными таблицами).
OO-природа бизнес-модели нене сопоставлять непосредственно с нормализованным дизайном таблицы и столбца.Библиотеки ORM (Object - Relational - Mapping) часто используются для сопоставления атрибутов классов с таблицами и столбцами в реляционной базе данных.
Поскольку бизнес-модель использует хранилище данных и, следовательно, модель данных и вместеони составляют Модель в реализации MVC, различие между ними часто стирается.Я думаю, что стоит помнить об их отдельных ролях.Это помогает решить, куда должна идти логика.
Например, вопреки ответу Рсенны, я бы согласился с тем, что изменение зарплаты для одного сотрудника все еще является функцией бизнес-модели, даже если она меняется на буквальную.ценность, потому что бизнес-модель может определять все виды сдержек и противовесов, проверки и других бизнес-правил для изменения заработной платы сотрудника.Например, бизнес может иметь правила, согласно которым никакая зарплата не может измениться более чем на x процентов, никогда не может превышать зарплату генерального директора, соответствовать правилам Union и т. Д.Вид правил принадлежит бизнес-модели, а не модели данных.DBa предпочитает их в модели данных, возможно потому, что бизнес-модель обычно реализуется на каком-то языке программирования, а модель данных в базе данных, а dba предпочитает, чтобы их базы данных были хорошими, действительными и согласованными.
Я бы хотелскажем, что правила все еще являются частью бизнес-модели, а не модели данных, но вы, конечно, всегда можете реализовать их в триггерах и хранимых процедурах (также).Где реализованы правила бизнес-модели, зависит от ..., реализации, детали.