2011-02-10 2 views
0

При создании базы данных MySQL, считают, что у меня есть таблица продуктов (tblCar) под названием:Таблица базы данных Макет

  • купе
  • Седан
  • Мини-ван
  • Грузовик

И список принадлежностей (1980-е годы):

  • Moon крыша
  • Хромированные диски
  • тонирования

и список опций:

  • цвет краски
  • внутренняя отделка
  • цвет интерьера
  • Blu- Ray-плеер в тире

Теперь давайте установки некоторые основные правила:

  • Coupe может выбрать из любой аксессуар или вариант
  • Sedan может выбрать любой аксессуар, но не предоставляет опцию Blu-Ray
  • Мини-вэн оттенок окна в качестве аксессуара и может выбирать из всех вариантов.
  • Грузовик имеет только хромированные колеса, аксессуары для окрашивания и только варианты окраски

Мне нужен tblCar setup, это многое понятно. Но как мне управлять таблицей tblАксессуары и tblOptions без дублирования самих позиций. Давайте представим, что я хочу только описательной информации для аксессуаров и опций, а не цены, как те, несомненно, будет отличаться для автомобиля они были установлены в.

Будет ли это случай для tblAccessoriesHelper, который содержит список значений carID и принадлежности ID где два должны встретиться или это есть лучший способ?

ответ

0

Вы бы таблицы спая, что объединение двух вместе

tblCar 
tblAccessories 
tblOptions 
tblCarAccessories 
tblCarOptions 

Существует еще одно соглашение об именовании, который использует префикс «JCT», если вы именования таблиц с использованием «TBL». Я бы назвал таблицы

Car 
Accessory 
Options 
CarAccessory 
CarOptions 

(имя таблицы, используя форму единственного числа, но «варианты» является особенным, потому что «вариант» может быть зарезервирован/специальное слово в некоторых СУБД)

Смежные вопросы