double arrow

Сформировать списки на расселение по указанным гостиницам в целом и указанной категории.

SELECT tourist.fio, tours.hotel_room_n, tours.start_day, end_date, hotels.name

FROM tourist INNERJOINtours

ON tourist._id = tours.tourist_id INNERJOINhotels

ON tours.hotel_id = hotels._id

 

Рисунок 1.18 План запроса

1) Сканированиекластерногоиндексавсейтаблицыtours, выходныестолбцыtourist_id, hotel_room_n, start_day, end_date.

2) Просмотр определенного диапазона строк кластеризованного индекса таблицы tourist.

3) Происходит вложенный цикл по таблицамtours и tourist.

4) Просмотр определенного диапазона строк кластеризованного индекса таблицы hotels.

5) Происходит вложенный цикл по таблице hotels.

6) Добавление к результатам запроса.

 

Ограничения

· В проектируемой базе данных существуют следующие виды ограничений:

· Первичный ключ (PRIMARY KEY) – применяется для уникальной идентификации записей таблицы.

· Внешний ключ (FOREIGNKEY) – применяется для принудительного установления связи между данными в двух таблицах.

Создание триггеров

Реализуем триггер, который при добавлении новой записи о заказе туристом экскурсии добавляет в категорию расходов представительства стоимость экскурсии с учетом надбавки экскурсионного агентства, а так же подсчитывает доход представительства с учетом 20% надбавки.

 

CREATETRIGGER [dbo].[insertingExcurs]

ON [dbo].[excurs_summary]

AFTERINSERTAS

BEGIN

DECLARE @y MONEY, @x INT.

SETNOCOUNTON;

SETNOCOUNTON;

SELECT @y=(excurs.cost*excurs_agency.multiply_cost), @x=inserted._id

FROM inserted INNER JOIN excurs

ON inserted.excurs_id = excurs._idINNER JOIN excurs_agency

ON inserted.agency_id = excurs_agency._idINNER JOIN tourist

ON tourist._id = inserted.tourist_idINNER JOIN tours

ON tours.tourist_id = tourist._id

WHERE inserted.DATEBETWEEN tours.start_day AND tours.end_date

INSERT INTO income_summary VALUES(3, @y*1.2,GETDATE(), @x)

INSERT INTO outcome_summary VALUES(3, @y,GETDATE(), @x)

END

 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: