parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Подскажите с организацией структуры БД.

Dmitri 18.07.2004 16:24

Есть таблица лотерейных билетов(ticket). Каждый билет принадлежит какому-то тиражу(draw) и заказу (order)
Нужно, что бы заказанные билеты в каждом тираже нумеровались последовательно, поэтому у каждого тиража есть текущий номер билета (draw.current).
После оплаты заказа нужно все билеты в этом заказе пронумеровать в соответствии с тем, какому тиражу они принадлежат.

Сейчас я вижу только один алгоритм:

1. Берем список билетов в этом заказе
2. Берем список тиражей, билеты которого есть в этом заказе.

3. Для каждого тиража в заказе,
а. узнаем текущий номер билетов в этом тираже (draw.current),
б. Для каждого билета в этом тираже этого заказа проставляем номера, увеличивая текущий номер на 1,
в. увеличиваем текущий номер билетов в тираже на кол-во билетов этого тиража в текущем заказе.


Таким образом, получается много запросов:
[билетов в заказе] + [тиражей в заказе] * 2 + 2

Если в заказе будет 3 билета в 3х тиражах, получится 11 запросов в БД.

Уверен, есть какая-то хитрость в построении такой БД, что бы уменьшить кол-во запросов и ускорить работу.
Есть мысли?