Предположим, что в базе данных поддерживаются две специальные “аудиторские” таблицы AUDIT1
и AUDIT2
следующей структуры:
EMP_NO |
EVENT_TS |
OLD_SAL |
OLD_BONUS |
NEW_SAL |
NEW_BONUS |
DEPT_NO |
EVENT_TS |
AVG_DEPT_SAL |
AVG_DEPT_BONUS |
В таблице AUDIT1
фиксируются все события, соответствующие изменению зарплаты служащих. В столбце EVENT_TS
сохраняется временная метка соответствующего события. В таблице AUDIT2
регистрируются события, связанные с такими обновлениями данных о сотрудниках, при которых среднее значение зарплаты или премиальных некоторого отдела становится меньше среднего значения зарплаты или премиальных служащих, участвующих в некотором проекте, в котором принимает участие и хотя бы один сотрудник данного отдела. В столбце EVENT_TS
таблицы AUDIT2
сохраняется временная метка соответствующего события, а в столбцах AVG_DEPT_SAL
и AVG_DEPT_BONUS
– соответствующие “критические” средние значения.
Какие из приводимых ниже определений триггеров обеспечат требуемую функциональность?
вопросПравильный ответ:
- # Какая из приведенных ниже таблиц является таблицей истинности для логической функции “штрих Шеффера” в трехзначной логике?
- # Сколько строк будет в результате операции SELECT A FROM T GROUP BY A HAVING A = const; если столбец A является возможным ключом таблицы T?
- # База данных АВТОРЫ-КНИГИ-ИЗДАТЕЛЬСТВА (AUTHORS-BOOKS-PUBLISHERS) состоит из следующих таблиц: AUTHORS AUTHOR_ID : INTEGER AUTHOR_NAME : VARCHAR (20) AUTHOR_BDATE : DATE AUTHOR_ADDRESS : VARCHAR (40) AUTHOR_PICTURE : BLOB AUTHORS-BOOKS ISBN : VARCHAR (20) AUTHOR_ID : INTEGER BOOKS ISBN : VARCHAR (20) TITLE : VARCHAR (30) PUB_ID : INTEGER DATE_OF_AGREEMENT : DATE AGREEMENT_DURAT : INTERVAL DATE_OF_PUB : DATE PRICE : MONEY NUMBER_OF_PAGES : SMALLINT COVER_PICTURE : BLOB DESCR : CLOB PUBLISHERS PUB_ID : INTEGER PUB_NAME : VARCHAR (20) PUB_ADDRESS : VARCHAR (40) Автор уникально идентифицируется своим идентификатором AUTHOR_ID. Уникальным идентификатором книги является ISBN (как выглядит ISBN, можно посмотреть в выходных данных любой книги). Издательство идентифицируется уникальным идентификатором PUB_ID. В таблицах AUTHORS, BOOKS и PUBLISHERS столбцы AUTHOR_ID, ISBN и PUB_ID соответственно являются первичными ключами. В таблице AUTHORS-BOOKS столбцы AUTHOR_ID и ISBN являются внешними ключами, ссылающимися на первичные ключи таблиц AUTHORS и BOOKS соответственно. В таблице BOOKS столбец PUB_ID является внешним ключом, ссылающимся на первичный ключ таблицы PUBLISHERS. У каждой книги могут быть один или несколько авторов. Допускается, что авторы книги временно неизвестны. В таблице авторов могут содержаться данные только об авторах книг, описываемых в таблице BOOKS. Каждая книга может быть издана только одним издательством, но для некоторых книг издательство может быть временно неизвестно. Столбец DATE_OF_AGREEMENT содержит дату заключения договора на написание книги между автором и издательством. Столбец AGREEMENT_DURAT содержит временной интервал, в течение которого действует договор. Столбец DATE_OF_PUB содержит даты публикации книг. Требуется сформулировать запрос "Найти ISBN и имена авторов книг, в название которых входит хотя бы одна цифра". Какие из приведенных ниже формулировок являются правильными?
- # Требуется сформулировать запрос “Для каждого издательства выдать имя каждого автора, издававшего книги в данном издательстве, и число изданных им книг в данном издательстве”. Какие из приведенных ниже формулировок являются правильными?
- # Какая из следующих таблиц является результатом выполнения оператора? UPDATE EMP SET EMP_SAL = (SELECT (E.EMP_SAL + E.EMP_BONUS)/2 FROM EMP E, DEPT WHERE EMP.DEPT_NO = DEPT.DEPT_NO AND DEPT_MNG = E.EMP_NO) WHERE DEPT_NO IS NOT NULL AND PRO_NO = (SELECT PRO_NO FROM EMP E, PRO WHERE PRO_NAME = ‘Sedna’ AND PRO_MNG = E.EMP_NO AND E.EMP_SAL < EMP.EMP_SAL);