powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сертификация и обучение [игнор отключен] [закрыт для гостей] / Вопрос N11 из 70-229 (то ли лыжи не едут, то ли ....)
10 сообщений из 10, страница 1 из 1
Вопрос N11 из 70-229 (то ли лыжи не едут, то ли ....)
    #32970193
sof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sof
Гость
All,

Извините, может я спрашиваю про "велосипед", но вроде поискал и не нашел здесь ответа.

Вот вопрос из testkinga v3 70-229:
11. You are a database developer for a hospital. There are four supply rooms on each floor of the hospital, and the hospital has 26 floors. You are designing an inventory control database for disposable equipment.
Certain disposable items must be kept stored at all times. As each item is used, a barcode is scanned to reduce the inventory count in the database.
The supply manager should be paged as soon as a supply room has less than the minimum quantity of an item.
What should you do?

A. Create a stored procedure that will be called to update the inventory table. If the resulting quantity is less than the restocking quantity, use the xp_logevent system stored procedure to page the supply manager.

B. Create an <b>INSTEAD OF UPDATE</b> trigger on the inventory table. If the quantity in the inserted table is less than the restocking quantity, use SQLAgentMail to send an e-mail message to the supply manager's pager.

C. Create a <b>FOR UPDATE</b> trigger on the inventory table. If the quantity in the inserted table is less than the restocking quantity, use the <b>xp_sendmail</b> system stored procedure to page the supply manager.

D. Schedule the SQL server job to run at four-hour intervals. Configure the job to use the <b>@notify_level_page = 2</b> argument. Configure the job so that it tests each item's quantity against the restocking quantity. Configure the job so that it returns a false value if the item requires restocking. This will trigger the paging of the supply manager.

Ans: C

Мой вопрос: А это как это? Меня не интересует отсылка мыла. Меня интересует следующее, если каждый предмет считывается сканером, то следовательно и списание(обновление в таблице inventory) происходит по 1 единице. Т.е. тригер будет срабатывать каждый раз, а не так как они хотят, что только тогда когда количество предметов остается меньше нужного.

Поправьте меня пожалуйста,
с уважением
SOf.
...
Рейтинг: 0 / 0
Вопрос N11 из 70-229 (то ли лыжи не едут, то ли ....)
    #32970260
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В триггере можно контролировать определенные поля, сменились они, или нет
...
Рейтинг: 0 / 0
Вопрос N11 из 70-229 (то ли лыжи не едут, то ли ....)
    #32970302
sof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sof
Гость
ShurgenzВ триггере можно контролировать определенные поля, сменились они, или нет

C. Create a FOR UPDATE trigger on the inventory table. If the quantity in the inserted table is less than the restocking quantity, use the xp_sendmail system stored procedure to page the supply manager.

Создать FOR UPDATE триггер на таблице inventory. Если количество элементов в тригерной таблице inserted меньше, чем "минимальное необходимое", использовать процедуру xp_sendmail ну и т.д.

Но получается, что тригер будет срабатывать каждый раз при считывании штрих кода. А в задаче требуется извещать менеджера, только когда количество вещей станет меньше "минимально уровня".
Вот мне и не понятно в чем проблема.

SOf.
...
Рейтинг: 0 / 0
Вопрос N11 из 70-229 (то ли лыжи не едут, то ли ....)
    #32970473
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а он и будет срабатывать... только вот, будет ли запускать твою ХП или нет, можно проверять в самом триггере. Контролируя 1. Определенное поле (поля) 2. Контролируя, на сколько они изменились. В соответствие с этой логикой, запускать или не запускать ХП.
...
Рейтинг: 0 / 0
Вопрос N11 из 70-229 (то ли лыжи не едут, то ли ....)
    #32970812
sof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sof
Гость
Shurgenzа он и будет срабатывать... только вот, будет ли запускать твою ХП или нет, можно проверять в самом триггере. Контролируя 1. Определенное поле (поля) 2. Контролируя, на сколько они изменились. В соответствие с этой логикой, запускать или не запускать ХП.

Если исходить из того что написано в предлагаемом решении, то получается что типа этого:
Код: plaintext
1.
2.
3.
4.
5.
6.
/*Если количество элементов в тригерной таблице inserted меньше,
чем "минимальное необходимое", использовать процедуру xp_sendmail ну и т.д.*/
declare @count int
set @count =  0 
select @count = count(*) from inserted
if @count <  4  
     print 'Запускаем xp_sendmail'

Но это не ведь не то, что нужно исходя из условий задачи

SOf.
...
Рейтинг: 0 / 0
Вопрос N11 из 70-229 (то ли лыжи не едут, то ли ....)
    #32971159
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меня интересует следующее, если каждый предмет считывается сканером, то следовательно и списание(обновление в таблице inventory) происходит по 1 единице.
Не надо додумывать условия. Вопрос в не в том как работает сканер и сколько из-за этого записей будет в виртуальной таблице inserted(вы же не знаете как работает ПО от сканера до команды INSERT). Тем более что "inserted table" можно перевести и как "таблица, в которую происходит добавление".

Вопрос проверяет понимаете ли вы когда возникает то или иное событие. - "The supply manager should be paged as soon as a supply room has less than the minimum quantity of an item."
...
Рейтинг: 0 / 0
Вопрос N11 из 70-229 (то ли лыжи не едут, то ли ....)
    #32972105
sof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sof
Гость
Glory Меня интересует следующее, если каждый предмет считывается сканером, то следовательно и списание(обновление в таблице inventory) происходит по 1 единице.
Не надо додумывать условия. Вопрос в не в том как работает сканер и сколько из-за этого записей будет в виртуальной таблице inserted(вы же не знаете как работает ПО от сканера до команды INSERT). Тем более что "inserted table" можно перевести и как "таблица, в которую происходит добавление".

Вопрос проверяет понимаете ли вы когда возникает то или иное событие. - "The supply manager should be paged as soon as a supply room has less than the minimum quantity of an item."

Уважаемый Glory,
очень приятно увидеть Ваш пост и подисскутировать.
1. Скорее всего там опечатка и должна быть не inserted table , а inventory table
т.е. так
If the quantity in the inventory table is less than the restocking quantity
2. Во всех остальных случаях мы получаем бред. Причем даже если не строим предположения о том как работает сканер. (То как работает сканер я стал продумывать чтобы оправдать их предложение, но тщетно...) Перевести как "таблица, в которую происходит добавление" тоже к сожалению нельзя.
Потому, что получается мы переносим из таблицы inventory в таблицу например used, но условие для тригерра авторis less than the restocking quantity становиться для таблицы used абсурдным, т.к. количество items там должно увеличиваться.

В общем, я в растерянности :)
SOf.
...
Рейтинг: 0 / 0
Вопрос N11 из 70-229 (то ли лыжи не едут, то ли ....)
    #32972193
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому, что получается мы переносим из таблицы inventory в таблицу например used, но условие для тригерра автор
is less than the restocking quantity
становиться для таблицы used абсурдным, т.к. количество items там должно увеличиваться.


"As each item is used, a barcode is scanned to reduce the inventory count in the database".

Я же вам говорю - не недо додумывать то чего нет. Экзамен 229 - это не тест на разработчика баз данных. И не на проектирование наилучшего варианта для поставленной задачи. Этот экзамен на основные понятия.

В вопросе приведена схема базы ?
В вопросе приведен текст команды INSERT ? В вопросе приведен текст триггера ? В вопросе что-то сказано о логике работы клиента ?
Откуда вы тогда выдумали какую-то таблицу used в которую что-то нужно переносить?

Вопрос кране простой:
Есть таблица.
Есть клиентское ПО, которое уменьшает какое-то значение в этой таблице через INSERT.
В каком из предложенных вариантов мэнеджер сможет максимально быстро получить оповещение о том, что значение в столбце таблицы достигло какого-то заданного значения ?
Ответ по-моему очевиден
...
Рейтинг: 0 / 0
Вопрос N11 из 70-229 (то ли лыжи не едут, то ли ....)
    #32972199
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"В вопросе приведен текст команды INSERT ? "
Читать как "В вопросе приведен текст команды UPDATE ? "

"Есть клиентское ПО, которое уменьшает какое-то значение в этой таблице через INSERT."
Читать как "Есть клиентское ПО, которое уменьшает какое-то значение в этой таблице через UPDATE."
...
Рейтинг: 0 / 0
Вопрос N11 из 70-229 (то ли лыжи не едут, то ли ....)
    #33033553
Зануда
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое главное, что товарищ sof не понимает, какие значения будут в таблицах inserted и deleted триггера. Он думает, что там в поле "количество" будет всегда 1. Вывод - экзамен сдавать рановато, надо BOL поучить :)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Сертификация и обучение [игнор отключен] [закрыт для гостей] / Вопрос N11 из 70-229 (то ли лыжи не едут, то ли ....)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]