Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Firebird, Interbase > Calculated filed или View


Автор: StayAtHome 4.2.2005, 02:35
Классический случай Master-Detail:
Имеются две таблицы Orders -- с заказами и Sales -- со списком товаров в заказах. В Sales есть вешний ключ:
Код
CONSTRAINT FK_SALES_ORDERID FOREIGN KEY (ORDERID) REFERENCES ORDERS (ID)

Нужно, к примеру узнать общую сумму заказа. Как это лучше сделать:
  • Создать в Oredrs вычисляемое поле типа
    Код
    AMOUNTPAID  COMPUTED BY ((select Sum(Sales.Price) from Sales where Sales.Orderid=Orders.Id))
  • Создать View, который будет выбирать Orders.* и суммировать соответствующие sales.price
  • Не создавать в базе ничего, а напрямую писать SQL- выборку в программе-клиенте.
Какая из форм реализации (по сути они одинаковы) наиболее оптимальна для базы на Firebird 1.5.2 с небольшим количеством пользователей (до 10)?

ЗЫ. Ногами по чайнику сильно не бить. smile

Автор: Alex 4.2.2005, 13:03
Я бы View написал.

Автор: StayAtHome 5.2.2005, 15:05
Ждал, может кто еще напишет...
2 Alex А можно чуть более подробно? Почему? smile

Автор: Alex 5.2.2005, 15:25
Цитата(StayAtHome @ 5.2.2005, 15:05)
2 Alex А можно чуть более подробно? Почему?

Честно? Привык smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)