нужна помощь с дизайном БД - Rails way - PullRequest
1 голос
/ 08 февраля 2010

Я новичок в рельсах и мне нужна помощь с дизайном БД.

Это в основном category, product, quantity, цена ... тип таблиц.

У меня есть 4 категории: CatA CatB CatC CatD

В каждой категории выше будет несколько товаров:

CatA - ProductA1, ProductA2, ProductA3
CatB - ProductB1, ProductB2, ProductB3
CatC - ProductC1, ProductC2, ProductC3
CatD - ProductD1, ProductD2, ProductD3

Каждый продукт имеет type, rating, quantity, price, volume

Было бы хорошо иметь одну большую таблицу Продуктов со столбцами: Категория, Название продукта, Тип, Рейтинг и т. Д. И т. Д.

или есть другие таблицы для Category, Product, Type, какое отношение они будут иметь belongs_to or has_many?

Я смотрю на это с точки зрения администратора. Если пользователь хочет добавить новый продукт, он сначала выбирает категорию из выпадающего списка, вводит название продукта, выбирает тип продукта и т. Д., Имея все в одной таблице, будет легко, но это эффективно?

1 Ответ

2 голосов
/ 08 февраля 2010

Вам понадобятся таблицы products и categories.

Product будет belong_to :category и Category будет has_many :products.

Вам понадобится столбец category_id в таблице products, чтобы установить связь.

Я бы не рекомендовал таблицу types - просто укажите тип в виде столбца в таблице products. Не используйте слово «type», используйте «kind», поскольку Rails использует «type» для наследования отдельных таблиц, так что вы можете столкнуться с какой-то странностью, если вы не используете его для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...