Дизайн базы данных - много таблиц с уникальными тегами или одна таблица со всеми из них?

0

Я работаю над базой данных (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

Есть много уникальных ценностей, о которых я упоминал, и я думаю, что это нехорошо хранить их снова и снова, но если я создаю много таблиц + свяжу их со ссылкой на таблицу продуктов (автомобиль), будет много присоединяется, когда я делаю запрос, чтобы получить все значения.

И это лишь немногие из них, для каждого продукта в базе данных мне нужно хранить больше значений.

Теги:
database

1 ответ

0

У вас есть 3 варианта:

  1. Вы можете хранить каждый автомобиль как отдельный стол, а затем иметь ряд, соответствующий коробке передач, и т.д. Это ужасно, никто этого не делает, не делайте этого.

  2. Вы можете сериализовать все данные коробки передач и т.д. Как строки json и поместить их в свои автомобильные ячейки. Это также ужасно, некоторые люди глупо делали это, но не так часто. Не делай этого.

  3. Вы могли бы сделать что-то обычное, хорошее и реализовать отдельные таблицы для каждого класса объектов с внешними ключами, связывающими их. Это путь.

  • 0
    Я думаю, что я бы пошел с вариантом 4.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню