Оптимальная структура

Print RSS
250

Author
Оранжевые штаны
0
Есть такая проблема. Есть таблицы (из скрипта серфинга):
------------------
CREATE TABLE country (
id tinyint(3) unsigned NOT NULL auto_increment,
country varchar(40) NOT NULL,
PRIMARY KEY (id)
) DEFAULT CHARSET = utf8;
------------------
CREATE TABLE operator (
id smallint(4) unsigned NOT NULL auto_increment,
id_country tinyint(3) unsigned NOT NULL,
operator varchar(40) NOT NULL,
PRIMARY KEY (id),
KEY id_country (id_country)
) DEFAULT CHARSET = utf8;
------------------
CREATE TABLE diapason (
id_operator smallint(4) unsigned NOT NULL,
start int(11) unsigned NOT NULL,
finish int(11) unsigned NOT NULL,
UNIQUE KEY start (start),
UNIQUE KEY finish (finish)
) DEFAULT CHARSET = utf8;
------------------
CREATE TABLE urls (
id mediumint(8) unsigned NOT NULL auto_increment,
url varchar(400) NOT NULL,
status tinyint(1) unsigned NOT NULL DEFAULT 1,
PRIMARY KEY (id)
) DEFAULT CHARSET = utf8;
------------------
Мне надо реализовать фильтр по операторам, что бы рекламодатели могли выбрать только определенных операторов. А потом показывать юзеру только те ссылки, где разрешен его оператор. Операторов ~100. Ничего на ум пока не приходит...
Changed: Studentsov (02.12.2009 / 23:20)
C

Пришелец
0
в таблицу urls добавь поле operator_id, по нем у делай выборку)
Author
Оранжевые штаны
0
Вот допустим у меня operator_id равен 12. А рекламодатель решил разрешить id'ы 1, 2, 3, 12, 54. Вот что делать? Как и куда записывать разрешенные id? И определять, есть ли там какой-нибудь id?
C

Пришелец
0
делать таблицу price_links_operators, со структурой
id - id записи в бд
operator_id - id оператора
url_id - id урла в таблице urls
poster_id - id того, кто добавил линк, ну само собой, что таблицу можешь под себя редактировать)
Дальше делаешь выборку
SELECT * FROM `urls` WHERE `id` = 1 OR `id` = 2 OR `id` = 3 OR `id` = 12 OR `id` = 54
ЗЫ ща занят маленько, в приват кину те полный запрос с выборкой из таблицы price_links, ^ выше на скорую руку запрос накатал
Author
Оранжевые штаны
0
Была у меня мысль создать таблицу, в которую записывать данные, поля id_url, id_operator. Но в этой таблице для каждой ссылки будет до 90 записей, слишком жирно это наверное...
C

Пришелец
0
Не жирно, оптимально как раз таки.
Author
Оранжевые штаны
0
Ну посмотрим, может кто-нибудь что-нибудь умней предложит smile
Changed: Studentsov (02.12.2009 / 23:50)
Stickers / Tags / Rules / Top topics / Top Posts / Search