Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите выбрать лучший вариант решения...
 
 автор: dimafreud   (20.02.2007 в 15:44)   письмо автору
 
 

Я пока только продумываю структуру БД и хотелось бы узнать мнение спецов...

Задача такая:

1. Есть некое изделие "А" имеющее ряд параметров ( к примеру: предприятие-изготовитель, марка, тип, и некий способ подключения)
2. Также есть изделие "Б" к которому могут быть подключены изделия "А" (отбор подходящего типа производится к примеру по типу и способу подключения)

Необходимо чтобы при задании некоторого изделия "Б" ему в соответствие ставилось одно или несколько изделий "А" отобранных по общим для них признакам.

Все было бы просто, если бы не тот факт, что к примеру оба типа изделий могут выпускаться одновременно несколькими предприятиями, а так же могут иметь не один а несколько способов подключения. В связи с этим я немогу придумать как лучше организовать хранение и обработку информации? Ведь к примеру один светильник может иметь модификации на 2 и 4 лампы, а другой только на 1, да и тип устанавливаемых ламп в одном и том же светильнике может быть разный, например можно поставить лампы на 40Вт, а можно и на 60Вт, хотелось бы предоставить пользователю возможность выбора (к примеру с помощью выпадающих меню).

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

   
 
 автор: cheops   (20.02.2007 в 16:18)   письмо автору
 
   для: dimafreud   (20.02.2007 в 15:44)
 

Я бы предложил 4 таблицы:
изделие A
изделие Б
связь изделий A и Б
производители

   
 
 автор: dimafreud   (20.02.2007 в 16:50)   письмо автору
 
   для: cheops   (20.02.2007 в 16:18)
 

На данный момент я додумался до такой схемы:
изделие А
изделие Б
производители
и еще ряд таблиц в которых храняться те или иные свойства первых трех и состоящие из двух полей id и непосредственно само свойство.

Я не уверен, в том что лучше, хранить данные в большом количестве таблиц или в полях ENUM или SET? К слову сказать, в этих маленьких таблицах данные будут практически неизменными ну например ряд мощностей ламп, который может пополниться когда-нибудь, каким-нибудь доселе неиспользованным видом, но такая возможность, все таки мной планируется.

А еще, если можно поподробней от том, что Вы имели ввиду под таблицей связь между А и Б?

   
 
 автор: cheops   (20.02.2007 в 17:26)   письмо автору
 
   для: dimafreud   (20.02.2007 в 16:50)
 

>А еще, если можно поподробней от том, что Вы имели ввиду под таблицей связь между А и Б?
Количество и вид ламп в светильниках различный, поэтому мы создаём дополнительную таблицу
id_svet, id_lamp которая содержит первичные ключи из таблиц A и Б
1 34
1 34
1 35
2 10
2 12
3 34
3 35
3 36

что означает, что светильнике с id_svet = 1 три лампы - две с id_lamp 34, и одна с id_lamp 35, в светильнике с id_svet = 2 две лампы 10 и 12, в светильнике 3 три лампы - 34, 35, 36. Это позволит моделировать любые наборы ламп. А каждый светильники описывать в достаточно универсальных таблицах, не зависящих от количества ламп, их параметров и характеристик и производителей.

   
 
 автор: dimafreud   (21.02.2007 в 08:56)   письмо автору
 
   для: cheops   (20.02.2007 в 17:26)
 

Спасибо я понял! Решение очевидное, странно что сам не догадался... видать старею... ;-)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования