|
|
|
| Доброго времени суток.
Такой вопрос, имеется скажем много производителей, например 9999, и список их услуг, какждый по например 3000.
Как избежать нагрузки - создавать для каждой фирмы свою таблицу под услуги, или же записывать в единую таблицу?
Когда в одну таблицу:
company => company_id, company_name - список компаний
service => service_id, company_id, service_name - услуги
Когда для каждого производителя своя таблица:
company => company_id, company_name - список компаний
service_ID => service_id, service_name - услуги (где ID = company_id т.е таблиц будет 9999 штук)
Заранее спасибо за совет :) | |
|
|
|
|
|
|
|
для: Vitaleks
(16.03.2010 в 21:03)
| | В одну таблицу. Просто индекс на столбец company_id в таблице service. | |
|
|
|
|
|
|
|
для: Vitaleks
(16.03.2010 в 21:03)
| | Две таблицы ,связанные по внешнему ключу
--
-- Структура таблицы `compani`
--
CREATE TABLE `compani` (
`id` int(10) unsigned NOT NULL auto_increment,
`c_name` varchar(255) NOT NULL default 'NOT NULL',
PRIMARY KEY (`id`),
UNIQUE KEY `c_name` (`c_name`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
--
-- Дамп данных таблицы `compani`
--
INSERT INTO `compani` VALUES (1, 'IBM');
INSERT INTO `compani` VALUES (2, 'Микоян');
|
--
-- Структура таблицы `service`
--
CREATE TABLE `service` (
`id` int(10) unsigned NOT NULL auto_increment,
`compani_id` int(10) unsigned NOT NULL,
`s_name` varchar(255) NOT NULL default 'NOT NULL',
PRIMARY KEY (`id`),
UNIQUE KEY `s_name` (`s_name`),
KEY `compani_id` (`compani_id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
--
-- Дамп данных таблицы `service`
--
INSERT INTO `service` VALUES (1, 1, 'Продажа компьютеров');
INSERT INTO `service` VALUES (2, 1, 'Комплектующие');
INSERT INTO `service` VALUES (3, 2, 'Колбасы без мяса');
|
Если есть ( одинаковые услуги,относящиеся к разным компаниям) то надо добавить таблицу связи
--
-- Структура таблицы `linc`
--
CREATE TABLE `linc` (
`id_compani` int(10) unsigned NOT NULL,
`id_service` int(10) unsigned NOT NULL,
KEY `id_compani` (`id_compani`),
KEY `id_service` (`id_service`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
а поле `compani_id` int(10) unsigned NOT NULL, из таблицы `service` убрать | |
|
|
|