Mysql таблицы с дублирующимися атрибутами - PullRequest
0 голосов
/ 05 мая 2011

Я разрабатываю простой дилерский сайт, который включает в себя несколько функций. Пользователи могут зарегистрироваться и создавать сообщения для автомобилей.

Сообщения могут быть для новых автомобилей / подержанных автомобилей:

`new_posts` database has the following fields
- id
- title
- price_from
- price_to
- date_submitted

`used_posts` database has the following
- id
- title
- price_from
- price_to
- year_from
- year_to
- date_submitted

Обратите внимание, как происходит дублирование атрибутов. Я часто сталкивался с такими проблемами и хотел знать, как лучше всего с этим справиться. У меня есть средние знания по нормализации базы данных, но я могу использовать любую помощь, которую могу получить.

Спасибо

Ответы [ 2 ]

1 голос
/ 05 мая 2011

Есть много вариантов, но две основные идеи:

  1. Объедините таблицы в одну и получите поля для подержанной машины необязательно .
  2. Извлеките поля, которые составляют vehicle, и это ваша базовая таблица.Затем вы можете создать другие таблицы - truck, van, SUV, new, used - содержащие поля.Затем вам понадобится мост таблиц, чтобы присоединить их к вашей базовой vehicle таблице.

Первый вариант прост в реализации, но сложен в масштабировании.Вторая сложнее, но масштабируется проще.

Лично я бы объединил две таблицы.Это может не впечатлять администраторов баз данных, но это практично с точки зрения приложения.

1 голос
/ 05 мая 2011

Как насчет этого?

posts
- id
- title
- price_from
- price_to
- year_from (nullable)
- year_to (nullable)
- date_submitted
- is_used (yes/no)
...