Хорошая ли это идея - разделять общие и пользовательские характеристики одной строки в двух таблицах MySQL?
Сейчас я делаю приложение для университета, в которое можно поместить свою одежду, и оно подберет вам наряд на день. Мы находимся в самом начале проекта, поэтому многое еще не готово, но у нас возникла проблема при разговоре с нашим профессором.
Мы говорили о базах данных и боролись с двумя возможными схемами по одной причине: одежда может быть не уникальной. Если она не уникальна, и у двух пользователей есть одинаковый топ, пара брюк и т. д., то
Он показал мне некоторые вещи, которые показывают, что я могу ошибаться, но он сказал мне написать здесь на всякий случай.
Он сказал, что было бы предпочтительнее сделать базу данных следующим образом:
- Users
- user_id
- (учетные данные пользователя и др.)
- Сессии
- possession_id
- possessor_id (FOREIGN)
- обладание_одеждой_id (FOREIGN)
- (личные параметры, например, сколько раз носил или является ли она любимой, например)
- Одежда
- clothes_id
- clothes_name
- clothes_type
- clothes_size
- (обезличенные параметры, такие как цвет и другие)
Я предложил создать схему базы данных, которая делала бы одежду полностью уникальной, независимо от того, одинаковая она или нет, что в основном выглядело бы так:
- Users
- user_id
- (учетные данные пользователя и др.)
- Одежда
- clothes_id
- possessor_id (FOREIGN)
- clothes_name
- clothes_type
- clothes_color
- одежда_размер
- (другие безличные параметры)
- (персональные параметры, например, сколько раз носили или является ли вещь любимой)
Если у вас есть другие вопросы о БД или проекте, дайте мне знать.