В настоящее время я разрабатываю веб-приложение, используя формат базы данных MYSQL InnoDB, и мне нужна некоторая помощь с моим описанием базы данных настроек.
В основном мне нужна таблица предпочтений, чтобы определить предпочтения марки автомобиля пользователя.
BMW 0 или 1 TOYOTA 0 или 1 HONDA 0 или 1 MERCEDES 0 или 1 HOLDEN 0 или 1 FORD 0 или 1 (0 означает неприязнь и 1 означает подобное)
Я использовал для хранения всех ответовв одной таблице, но трудно поддерживать, когда я добавляю новую марку автомобиля.Поэтому мне нужно сделать его динамичным, чтобы мне не пришлось изменять столбец базы данных, когда я добавляю больше марок автомобилей.
Поэтому каждый пользователь в моей системе имеет свой собственный профиль предпочтений автомобиля.
Так что мой новый дизайн состоит в том, чтобы иметь пользовательскую таблицу, таблицу предпочтений и таблицу UserPreference
UserPreference table
providerId
preferenceId
response
Мой вопрос: как я могу заполнить строки профиля предпочтений пользователя в базе данных (по умолчанию все равны 0) один раз врегистрация нового пользователя?
Или я должен создать свою таблицу UserPreference, как показано ниже, чтобы мне не приходилось заполнять строки профиля пользовательских предпочтений?И только создавать строку в таблице предпочтений пользователя, когда пользователю нравится марка автомобиля.
Какой подход лучше?
UserPreference table
providerId
preferenceId
Большое спасибо заранее!