Есть ли преимущество в создании очень общей модели данных для проекта Rails 3? - PullRequest
0 голосов
/ 15 октября 2010

Продукт может сказать много вещей об этом, я назову их Свойствами.Это может иметь краткое описание.Но это описание может быть на нескольких языках.Кроме того, он может иметь несколько цен, некоторые из которых являются специфическими для клиентов.Учитывая следующие данные:

Product:
  identifier: 123-ABC

   Price:
     value: $1.25
     currency: USD
     customer: Wal-Mart

   Price:
     value: $1.96
     currency: USD

   Description:
     short: "A Widget"
     language: EN

   Description:
     marketing: "Made from Space Age Polymers."
     language: EN

Имеет ли смысл использовать STI здесь и создать общий набор моделей:

Product has_many Properties
Property has_many Attributes

Price < Property
Description < Property
Package < Property

Является ли этот способ слишком широким для обобщения вмодель данных?Стоит ли просто придерживаться обычных моделей и связанных с ними таблиц?

1 Ответ

3 голосов
/ 15 октября 2010

Нет.

Серьезно

Нет.

, по крайней мере, не в базе данных SQL.

Если вы хотите использовать Cassandra или базу данных NoSQLименно так все и хранится.

Прочитайте мой ответ здесь и Прочтите это

Подумайте о таблице SQL с именем, фамилией, и Дата рождения

Найти все LNAME = Страница старше 30.

в одной таблице это

ВЫБРАТЬ FNAME, LNAME, (SYSDATE - BDATE) / 365 возраст ОТлюди, ГДЕ LNAME = 'Page' и BDate

Теперь попробуйте это в EAV

Опубликовать свой ответ.

...