Проектирование базы данных в MySQL для Rails - PullRequest
1 голос
/ 23 февраля 2012

Я довольно новичок в настройке баз данных. Я начал создавать приложение и после поиска в Google и stackoverflow не нашел ответа, который бы в достаточной мере отвечал моим потребностям.

В настоящее время у меня есть таблица User со следующей структурой:

CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`first_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`last_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`email` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`password_digest` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`remember_token` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `index_users_on_email` (`email`),
KEY `index_users_on_remember_token` (`remember_token`)
) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Мне нужно создать таблицу Products, которая ссылается на таблицу User. Затем мне нужно создать таблицу категорий, таблицу подкатегорий, таблицу типов и таблицу годов, чтобы я мог включать статические данные, которые конечный пользователь не изменит, но сможет отсортировать данные о товарах по различным категориям, подкатегориям. категории и т. д. (например, тип электронной коммерции). Так, например, категории могут состоять из (горы, вода, дорога и т. Д.), А подкатегории могут состоять из (сноуборд, лыжи, лодка, серфинг и т. Д.). Я не уверен, правильно ли я это структурирую и ищу небольшую помощь.

Я думал в пользовательской модели сделать следующее: (Пользователи has_many: продукты, зависимые:: уничтожить) а затем в таблице «Продукты» укажите: (own_to: user). Итак, как мне закончить отображение? Должен ли я добавить модель категорий: (assign_to: products), а в поле Products: (has_one: category)?

Спасибо за помощь.

...