КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Ключевые слова. В этой и предыдущей лекциях мы обсудили наиболее важные аспекты языка SQL, связанные с определением схемы базы данных – типы данных SQL
Тесты Заключение
В этой и предыдущей лекциях мы обсудили наиболее важные аспекты языка SQL, связанные с определением схемы базы данных – типы данных SQL, средства определения доменов, базовых таблиц и ограничений целостности. Кроме того, были рассмотрены средства SQL, позволяющие динамически изменять и удалять определения этих объектов. Чтобы не перегружать материал, мы опустили некоторые не слишком существенные детали.
Язык SQL устроен таким образом, что практически невозможно изложить какую-либо его часть независимо от других частей. И хотя эти две по смыслу должна быть первыми среди набора лекций, посвященных SQL (было бы странно обсуждать операторы выборки строк из таблиц, вставки, изменения и удаления строк до обсуждения средств создания таблиц и ограничений целостности), нам пришлось забежать вперед и воспользоваться материалом следующих лекций для объяснения средств определения ограничений целостности. Автор надеется, что это не создало слишком больших неудобств для читателей. Мы старались компенсировать отсутствие формальных определений наличием простых примеров.
1 (1) В каких из перечисленных ниже случаях значением столбца по умолчанию является NULL?
(а) + в разделе DEFAULT определения столбца указано NULL
(б) + в определении столбца отсутствует раздел DEFAULT, но столбец определяется на домене, в определении которого присутствует раздел DEFAULT NULL
(в) - в определении столбца отсутствует раздел DEFAULT, и столбец определяется на базовом типе данных или на домене, в определении которого отсутствует раздел DEFAULT
1 (2) Пусть при определении базовой таблицы указано ограничение UNIQUE (a, b, c), где a, b и c – составляют полный список имен столбцов определяемой таблицы. Будем считать, что все столбцы целого типа и могут содержать неопределенное значение. Какие из показанных ниже пар строк смогут находиться в теле таблицы?
(а) + <NULL, NULL, 5>, <5, NULL, NULL> (б) + <NULL, NULL, NULL>, <5, NULL, NULL> (в) - <NULL, NULL, 5>, <NULL, NULL, 5>
1 (3) Пусть в базовой таблице S определен внешний ключ (a, b, c), где a, b и c – имена столбцов определяемой таблицы. Будем считать, что все столбцы целого типа и могут содержать неопределенное значение. Предположим, что внешний ключ ссылается на первичный ключ таблицы T, состоящий из столбцов с такими же именами. При какой спецификации способа соответствия значение внешнего ключа <NULL, 1, 10> соответствует значению первичного ключа <25, 1, 10>?
(а) - SIMPLE (б) - FULL (в) + PARTIAL
2 (1) Пусть в базовой таблице S определен внешний ключ (a, b, c), где a, b и c – имена столбцов определяемой таблицы. Пусть для этого внешнего ключа специфицирован способ соответствия SIMPLE. Будем считать, что все столбцы целого типа и могут содержать неопределенное значение. Предположим, что внешний ключ ссылается на первичный ключ таблицы T, состоящий из столбцов с такими же именами. Пусть в таблице S присутствуют строки s1, s2 и s2 со значениями внешнего ключа <NULL, NULL, 5>, <25, 1, NULL> и <25, 1, 5> соответственно. Что произойдет при удалении строки из таблицы T со значением первичного ключа <25, 1, 5>, если при определении внешнего ключа (a, b, c) таблицы S указано ссылочное действие ON DELETE SET NULL?
(а) - операция удаления строки из таблицы T не выполнится
(б) - строка из таблицы T будет удалена, а значением внешнего ключа в строках s1, s2 и s2 таблицы S станет <NULL, NULL, NULL>
(в) + строка из таблицы T будет удалена, а значениями внешнего ключа в строках s1, s2 и s2 таблицы S станут <NULL, NULL, 5>, <25, 1, NULL> и <NULL, NULL, NULL> соответственно
2 (2) Пусть в базовой таблице S определен внешний ключ (a, b, c), где a, b и c – имена столбцов определяемой таблицы. Пусть для этого внешнего ключа специфицирован способ соответствия PARTIAL. Будем считать, что все столбцы целого типа, и для них специфицированы значения по умолчанию 4, 44 и 444 соответственно. Предположим, что внешний ключ ссылается на первичный ключ таблицы T, состоящий из столбцов с такими же именами. Пусть в таблице S присутствуют строки s1, s2 и s2 со значениями внешнего ключа <NULL, NULL, 5>, <25, 1, NULL> и <25, 1, 5> соответственно. Что произойдет при удалении строки t из таблицы T со значением первичного ключа <25, 1, 5>, если при определении внешнего ключа (a, b, c) таблицы S указано ссылочное действие ON DELETE SET DEFAULT и строки s1, s2 и s2 соответствуют исключительно строке t?
(а) - операция удаления строки из таблицы T не выполнится
(б) - строка из таблицы T будет удалена, а значением внешнего ключа в строках s1, s2 и s2 таблицы S станет <4, 44, 444>
(в) + строка из таблицы T будет удалена, а значениями внешнего ключа в строках s1, s2 и s2 таблицы S станут <NULL, NULL, 444>, <4, 44, NULL> и <4, 44, 444> соответственно
2 (3) Пусть в базовой таблице S определен внешний ключ (a, b, c), где a, b и c – имена столбцов определяемой таблицы. Пусть для этого внешнего ключа специфицирован способ соответствия PARTIAL. Будем считать, что все столбцы целого типа и могут содержать неопределенное значение. Предположим, что внешний ключ ссылается на первичный ключ таблицы T, состоящий из столбцов с такими же именами. Пусть в таблице S присутствуют строки s1, s2 и s2 со значениями внешнего ключа <NULL, NULL, 5>, <25, 1, NULL> и <25, 1, 5> соответственно. Пусть в таблице T присутствуют строки t1, t2 со значениями первичного ключа <25, 1, 5> и <25, 2, 5> соответственно. Что произойдет при удалении из таблицы T строки t1, если при определении внешнего ключа (a, b, c) таблицы S указано ссылочное действие ON DELETE SET NULL?
(а) - операция удаления строки из таблицы T не выполнится
(б) - строка из таблицы T будет удалена, а значением внешнего ключа в строках s1, s2 и s2 таблицы S станет <NULL, NULL, NULL>
(в) + строка из таблицы T будет удалена, а значениями внешнего ключа в строках s1, s2 и s2 таблицы S станут <NULL, NULL, 5>, <NULL, NULL, NULL> и <NULL, NULL, NULL> соответственно
3 (1) Предположим, что некоторые служащие могут учиться в аспирантуре своего предприятия. Каждый аспирант имеет единственного научного руководителя, являющегося служащим того же предприятия. Требуется, чтобы у одного научного руководителя было не более пяти аспирантов. Выполнение каких из приведенных ниже операторов изменит определение таблицы EMP требуемым образом?
(а) - ALTER TABLE EMP
(б) - ALTER TABLE EMP
ALTER TABLE EMP ADD CONSTRAINT STUD_NUMBER
(в) + ALTER TABLE EMP CHECK (IF (VALUE IS NOT NULL) THEN
3 (2) Предположим, что проекты финансируются отделами. Каждый отдел финансирует не более одного проекта, один проект может финансироваться несколькими отделами, и общая сумма финансирования проекта не должна составлять менее 1000000.00 руб. Выполнение каких из приведенных ниже операторов изменит определения таблиц DEPT и PRO требуемым образом?
(а) + ALTER TABLE DEPT
ALTER TABLE DEPT
ALTER TABLE DEPT ADD CONSTRAINT PRO_INVEST_VALUE
(б) - ALTER TABLE DEPT
ALTER TABLE PRO REFERENCES DEPT ON DELETE CASCADES;
(в) - ALTER TABLE PRO
ALTER TABLE PRO REFERENCES PRO ON DELETE CASCADES;
3 (3) Предположим, что служащие, участвующие в проектах, могут получать дополнительную премию, равную средней основной заработной плате участников соответствующего проекта. Выполнение каких из приведенных ниже операторов изменит определение таблицы EMP требуемым образом?
(а) - ALTER TABLE EMP
ALTER TABLE EMP ADD CONSTRAINT PRO_BONUS
ALTER TABLE DEPT ADD CONSTRAINT MORE_TOTAL_INCOME
(б) - ALTER TABLE EMP
ALTER TABLE EMP
ALTER TABLE DEPT ADD CONSTRAINT TOTAL_INCOME
(в) + ALTER TABLE EMP
ALTER TABLE EMP ADD CONSTRAINT PRO_BONUS_VALUE
ALTER TABLE EMP ADD CONSTRAINT PRO_BONUS
ALTER TABLE DEPT ADD CONSTRAINT MORE_TOTAL_INCOME
4 (1) Какой из режимов проверки разумно установить для ограничения таблицы EMP TOTAL_INCOME?
(а) - INITIALLY IMMEDIATE NOT DEFERRABLE (б) - INITIALLY IMMEDIATE DEFERRABLE (в) + INITIALLY DEFERRED
4 (2) Какой из режимов проверки разумно установить для ограничения таблицы PRO_EMP_NO?
(а) - INITIALLY IMMEDIATE NOT DEFERRABLE (б) - INITIALLY IMMEDIATE DEFERRABLE (в) + INITIALLY DEFERRED
4 (3) Какой из режимов проверки разумно установить для ограничения таблицы MIN_EMP_BDATE?
(а) + INITIALLY IMMEDIATE NOT DEFERRABLE (б) - INITIALLY IMMEDIATE DEFERRABLE (в) - INITIALLY DEFERRED
Лекция 13. Язык баз данных SQL: общая характеристика оператора SELECT и организация списка ссылок на таблицы в разделе FROM
В этой и следующих трех лекциях обсуждается важнейший оператор языка SQL – оператор SELECT, предназначенный для выборки данных из SQL-ориентированной базы данных. Этот оператор имеет довольно сложную и развитую структуру, но, по нашему мнению, его необходимо хорошо понимать любому специалисту, так или иначе связанному с использованием баз данных; поэтому в этом курсе отведена такая большая часть для его обсуждения. Первая лекция носит подготовительный характер. В ней мы рассматриваем виды скалярных выражений, используемые, прежде всего, в конструкциях оператор SELECT, обсуждаем базовую семантику выполнения этого оператора и анализируем принципы и разновидности указания таблиц, из которых производится выборка данных.
Скалярное выражение, первичное выражение, агрегатная функция, скалярный подзапрос, численное выражение, вызов функций с численным значением, выражения символьных и битовых строк, вызов функций, возвращающих строчные значения, выражения даты-времени, вызовы функций, возвращающих значение дата-время, выражения со значениями типа временного интервала, булевские выражения, выражения с переключателем, выражение с поисковым переключателем, выражение с простым переключателем, выражение NULLIF, выражение COALESCE, оператор SELECT, семантика оператора выборки, раздел FROM, раздел WHERE, раздел GROUP BY, раздел HAVING, раздел SELECT, раздел ORDER BY, порождаемая таблица с горизонтальной связью, соединенная таблица, табличное выражение, спецификация запроса, выражение запросов, “теоретико-множественные” операции в SQL, раздел WITH выражения запросов, конструктор значения-строки, конструктор значения-таблицы, ссылки на базовые и представляемые таблицы, ссылки на порождаемые таблицы, представляемые таблицы, или представления (VIEW), оператор CREATE VIEW, оператор DROP VIEW.
Дата добавления: 2014-01-03; Просмотров: 1217; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |