игра брюс 2048
Главная / Базы данных / Введение в модель данных SQL / Тест 3

Введение в модель данных SQL - тест 3

Упражнение 1:
Номер 1
Пусть A и B являются столбцами таблицы T типа CHARACTER (5), и пусть в при вставке в строку s этой таблицы в столбец A было занесено значение ‘ONE’, а в столбец B‘TIME’. Каким будет значение выражения A || B при его вычислении для значений строки s? (Здесь “_” обозначает символ пробела.)

Ответ:

 (1) “ONE_TIME” 

 (2) “ONE__TIME” 

 (3) “ONE__TIME_” 


Номер 2

Пусть A является столбцом таблицы T типа INTEGER, B – столбцом таблицы T типа CHARACTER (5), а C – столбцом таблицы T типа CHARACTER VARYING (8). Какого типа будет результат выражения следующего выражения с переключателем?

CASE WHEN A = 5 THEN B WHEN A > 6 THEN C ELSE B || C END

Ответ:

 (1) CHARACTER VARYING (8) 

 (2) CHARACTER (13) 

 (3) CHARACTER VARYING (13) 


Номер 3
Можно ли выразить булевскую функцию SQL IS через функцию “стрелка Пирса”? Каков из представленных ниже ответов является правильным?

Ответ:

 (1) Да. x IS y ≡ pi (pi (pi (pi (A, A), pi (B, B)), pi (A, B)), pi (pi (pi (A, A), pi (B, B)), pi (A, B))) 

 (2) Да. x IS y ≡ pi (pi (pi (pi (A, A), pi (B, B)), pi (A, B))) 

 (3) Булевская функция SQL IS не выражается через функцию “стрелка Пирса”, потому что в трехзначной логике SQL NOT UNKNOWN = UNKNOWN 


Упражнение 2:
Номер 1

Сколько строк будет в результате операции

SELECT A FROM T GROUP BY A HAVING A = const;

если столбец A является возможным ключом таблицы T?


Ответ:

 (1) 0 

 (2) не больше одной 

 (3) столько, сколько строк в таблице T 


Номер 2
Пусть имеются три мультимножества M1, M2 и M3, содержащие общий элемент a, причем в мультимножестве M1 содержится n дубликатов a, в мультимножестве M2m дубликатов a, а в мультимножестве M3k дубликатов. Сколько дубликатов элемента a будет содержаться в результате операции (M1 MINUS M2) INTERSECT M3?

Ответ:

 (1) n - m - k 

 (2) min (max ((m-n),0), k) 

 (3) max (n, min (m, k)) 


Номер 3
Какое из приведенных ниже выражений с переключателем эквивалентно выражению NULLIF (COALESCE (V1, V2), COALESCE (V3, V4))? (“<>” обозначает сравнение на неравенство.)

Ответ:

 (1) CASE WHEN V1 = V3 OR (V1 IS NULL AND V3 NOT NULL AND V2 = V3) OR (V1 NOT NULL AND V3 IS NULL AND V1 = V4) OR (V1 IS NULL AND V3 IS NULL AND V2 = V4) THEN NULL WHEN V1 NOT NULL AND (V1 <> V3 OR V3 IS NULL) AND (V3 IS NULL OR V2 IS NULL OR V2 <> V3) AND (V3 NOT NULL OR V4 IS NULL OR V1 <> V4) AND (V3 NOT NULL OR V2 IS NULL OR V4 IS NULL OR V2 <> V4) THEN V1 ELSE V2 END  

 (2) CASE WHEN V1 = V3 OR (V1 NOT NULL AND V3 NOT NULL AND V2 = V3) OR (V1 IS NULL AND V3 IS NULL AND V1 = V4) OR (V1 IS NULL AND V3 NOT NULL AND V2 = V4) THEN NULL WHEN V1 NOT NULL AND V1 <> V3 AND (V3 NOT NULL OR V2 <> V3) AND (V3 IS NULL OR V1 <> V4) AND (V3 NOT NULL OR V2 <> V4) THEN V1 ELSE V2 END  

 (3) CASE WHEN V1 = V3 OR (V1 NOT NULL AND V3 NOT NULL OR V2 = V3) OR (V1 IS NULL OR V3 IS NULL AND V1 = V4) OR (V1 IS NULL AND V3 NOT NULL OR V2 = V4) THEN NULL WHEN V1 NOT NULL AND V1 <> V3 AND V3 NOT NULL AND V2 <> V3 AND (V3 IS NULL OR V1 <> V4) AND (V3 NOT NULL AND V2 <> V4 THEN V1 ELSE V2 END  


Упражнение 3:
Номер 1

Сколько строк будет в результате операции

SELECT A FROM T GROUP BY A;

если столбец A является возможным ключом таблицы T?


Ответ:

 (1) 0 

 (2) 1 

 (3) столько, сколько строк в таблице T 


Номер 2
Какое из приведенных ниже выражений с переключателем эквивалентно выражению COALESCE (NULLIF (V1, V2), NULLIF (V3, V4))? (“<>” обозначает сравнение на неравенство.)

Ответ:

 (1) CASE WHEN V1 <> V2 THEN V1 WHEN V1 = V2 AND V3 = V4 THEN NULL ELSE V3 END  

 (2) CASE WHEN V1 = V2 AND V1 NOT NULL THEN V1 WHEN V1 <> V2 AND V3 <> V4 THEN V3 ELSE NULL END  

 (3) CASE WHEN V1 NOT NULL THEN V2 WHEN V1 = V2 AND V3 <> V4 THEN V4 ELSE V3 END  


Номер 3
Пусть имеется таблица T со столбцами A, B и C. Какие из приведенных ниже конструкторов строки являются синтаксически неверными?

Ответ:

 (1) SELECT A FROM T WHERE B = const 

 (2) ROW (5, NULL, SELECT * FROM T WHERE B = const) 

 (3) SELECT * FROM T WHERE B = const 


Упражнение 4:
Номер 1
Пусть имеются четыре мультимножества M1, M2, M3 и M4, содержащие общий элемента a, причем в мультимножестве M1 содержится n дубликатов a, в мультимножестве M2m дубликатов a, в мультимножестве M3k дубликатов, а в мультимножестве M4p дубликатов. Сколько дубликатов элемента a будет содержаться в результате операции (M1 INTERSECT M2) MINUS (M3 UNION M4)?

Ответ:

 (1) n - m - k – p 

 (2) max (min ((m-n), (k+p)), 0) 

 (3) min (max((n-m), 0), (k+p)) 


Номер 2
Пусть имеется таблица T со столбцами A, B и C. Какие из приведенных ниже конструкторов таблицы являются синтаксически неверными?

Ответ:

 (1) VALUES SELECT * FROM T WHERE B = const, ROW (5, NULL, SELECT A FROM T WHERE B = const), (DEFAULT, NULL, NULL)  

 (2) VALUES ROW (SELECT * FROM T WHERE B = const, NULL), (15, 25, NULL)  

 (3) VALUES ROW (SELECT A FROM T WHERE B = const, SELECT B FROM T WHERE C = const, SELECT A FROM T WHERE B = const), ROW (15, 25, NULL)  


Номер 3
Пусть имеется таблица T со столбцами A, B и C. При каких условиях можно гарантировать, что в результате запроса SELECT * FROM T WHERE B = const всегда будет содержаться не более чем одна строка?

Ответ:

 (1) при определении таблицы T столбец B был специфицирован как первичный ключ 

 (2) при определении таблицы T столбец B был специфицирован как возможный ключ 

 (3) таблица T содержит всего одну строку 


Упражнение 5:
Номер 1
Пусть имеются три мультимножества M1, M2 и M3, содержащие общий элемента a, причем в мультимножестве M1 содержится n дубликатов a, в мультимножестве M2m дубликатов a, а в мультимножестве M3k дубликатов. Сколько дубликатов элемента a будет содержаться в результате операции (M1 UNIOIN M2) INTERSECT M3?

Ответ:

 (1) n + m - k 

 (2) min ((m+n), k) 

 (3) min (n, (m+k)) 


Номер 2
Пусть A является столбцом таблицы T типа CHARACTER (5), а B – столбцом таблицы T типа CHARACTER VARYING (8). Пусть при вставке в строку s этой таблицы в столбец A было занесено значение ‘LET’, а в столбец B‘IT’. В столбце какого из перечисленных ниже типов могло бы быть сохранено значение выражения A || B || ‘BE’, вычисленное для значений строки s? (Здесь “_” обозначает символ пробела.)

Ответ:

 (1) CHARACTER (4) 

 (2) CHARACTER (9) 

 (3) CHARACTER (15) 


Номер 3

Сколько строк будет в результате операции

SELECT A FROM S GROUP BY A

если столбец A является внешним ключом таблицы S, ссылающимся на первичный ключ таблицы T


Ответ:

 (1) столько, сколько строк в таблице T 

 (2) столько, сколько строк в таблице S 

 (3) столько, сколько строк в таблице T, или на одну строку больше 




Главная / Базы данных / Введение в модель данных SQL / Тест 3