Я работаю над базой данных (MySQL) - автосалоном. Поскольку у продукта (автомобиля) есть много особенностей и уникальных значений (коробка передач, модель, производитель...), интересно, как создать для него хорошо спроектированную базу данных.
Должен ли я использовать:
Table cars
columns -> id, name, manufacturer, model, gearbox...
Или же:
Table cars
columns -> id, name, manufacturer_id, gearbox_id...
Table manufacturers
columns -> id, name
Table gearbox
columns -> id, name
Есть много уникальных ценностей, о которых я упоминал, и я думаю, что это нехорошо хранить их снова и снова, но если я создаю много таблиц + свяжу их со ссылкой на таблицу продуктов (автомобиль), будет много присоединяется, когда я делаю запрос, чтобы получить все значения.
И это лишь немногие из них, для каждого продукта в базе данных мне нужно хранить больше значений.
У вас есть 3 варианта:
Вы можете хранить каждый автомобиль как отдельный стол, а затем иметь ряд, соответствующий коробке передач, и т.д. Это ужасно, никто этого не делает, не делайте этого.
Вы можете сериализовать все данные коробки передач и т.д. Как строки json и поместить их в свои автомобильные ячейки. Это также ужасно, некоторые люди глупо делали это, но не так часто. Не делай этого.
Вы могли бы сделать что-то обычное, хорошее и реализовать отдельные таблицы для каждого класса объектов с внешними ключами, связывающими их. Это путь.