База данных АВТОРЫ-КНИГИ-ИЗДАТЕЛЬСТВА
(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
содержит даты публикации книг.
Требуется сформулировать запрос "Найти имена авторов, издавших более 10
книг, включая разные издания книги с одним и тем же названием". Какие из приведенных ниже формулировок являются правильными?
Правильный ответ:
- # Предположим, что в таблице объявлен возможный ключ со спецификацией MATCH PARTIAL, состоящий из n столбцов, для m из которых (m ≤ n) при определении столбца отсутствовала спецификация NOT NULL. На сколько строк таблицы, на которую ведет ссылка, может ссылаться одна строка ссылающейся таблицы?
- # Можно ли выразить булевскую функцию SQL IS через функцию “стрелка Пирса”? Каков из представленных ниже ответов является правильным?
- # Требуется сформулировать запрос “Найти ISBN всех книг, написанных не Дейтом, названия которых совпадают с названием какой-либо книги Дейта”. Какие из приведенных ниже формулировок являются правильными?
- # Требуется сформулировать запрос “Найти названия издательств, издавших не меньше книг, чем издательство Morgan Kauffman, и не больше, чем издательство Addison-Wesley”. Какие из приведенных ниже формулировок являются правильными?
- # Требуется сформулировать запрос “Найти названия книг, изданных Дейтом с двумя соавторами”. Какие из приведенных ниже формулировок являются правильными?