Для получения информации из базы данных служит команда
GET
 
OPEN
 
READ
 
SELECT
 
VIEW
 
За словомDISTINCT
во фразеSELECT
может следовать
ALL
 
MIN
 
Если выборка данных производится из нескольких таблиц, то это может указываться во фразе FROM
следующим образом:
таблица1 таблица2
 
таблица1 AND таблица2
 
таблица1 CROSS JOIN таблица2
 
таблица1 INNER JOIN таблица2
 
таблица1 OUTER JOIN таблица2
 
Обязательными фразами в запросе на выборку данных являются:
FROM
 
JOIN
 
ORDER
 
SELECT
 
WHERE
 
СловоALL
во фразеSELECT
означает
FROM
 
FROM
 
После слова FROM
может указываться
SELECT
, заключенная в круглые скобки 
Реляционная операция выборки реализуется в команде SELECT
посредством
HAVING
 
ORDER
 
WHERE
 
FROM
 
SELECT
 
Реляционная операция объединения реализуется в команде SELECT
с помощью
FROM
 
GROUP
 
INNER JOIN
 
INTERSECT
 
UNION
 
Реляционная операция разности множеств реализуется в команде SELECT
с помощью
SELECT
 
SELECT ... WHERE ... IN (SELECT ...)
 
SELECT ... WHERE ... NOT IN (SELECT ...)
 
EXCEPT
 
INTERSECT
 
Фраза SELECT
реализует реляционную операцию
Реляционная операция проекции реализуется в команде SELECT
WHERE
 
FROM
 
SELECT
 
INNER JOIN
 
ORDER
 
Реляционная операция пересечения реализуется в команде SELECT
с помощью
SELECT ... WHERE ... IN (SELECT ...)
 
SELECT ... WHERE ... NOT IN (SELECT ...)
 
FROM
 
EXCEPT
 
INTERSECT
 
Реляционная операция эквисоединения реализуется в команде SELECT
с помощью
FROM
 
JOIN ... USING
 
NATURAL JOIN
 
UNION
 
Символ "." (точка) используется в команде SELECT
Таблицаt
состоит из столбцовf1
иf2
. ЗапросSELECT f1, f2 FROM t
эквивалентен запросу
SELECT * FROM t
 
SELECT *, f1, f2 FROM t
 
SELECT ALL f1, f2 FROM t
 
SELECT ALL FROM t
 
SELECT DISTINCT * FROM t
 
Реляционная операция произведения множеств реализуется в команде SQL
FROM
 
SELECT
 
SELECT
 
CROSS JOIN
 
JOIN ... USING
 
Укажите варианты, содержащие ошибки.
FROM t1 AS name1, t1 AS name2
 
FROM t1, t1
 
SELECT f.t FROM t
 
SELECT f1 AS name1, f1 AS name2
 
SELECT f1, f1
 
В каждой из таблицt1
иt2
есть столбец с именемf
. Выберите варианты, не содержащие ошибок.
SELECT f FROM t1, t2
 
SELECT f FROM t2
 
SELECT f.t2 FROM t1, t2
 
SELECT t1.f FROM t1 t2
 
SELECT t2.f FROM t2, t1
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Запрос SQL предназначен для получения имен студентов, имеющих средний балл по математике
(Math_scope)
от 3 до 4 включительно, и имеет вид:SELECT Student_name FROM Students WHERE ______________ Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают выполнение задания.
Math_scope <= 4.0 AND Math_scope >>= 3.0
 
Math_scope >= 3.0 OR Math_scope <= 4.0
 
Math_scope BETWEEN 3.0 AND 4.0
 
Math_scope BETWEEN 3.0 AND 4.1
 
Math_scope IN (3.0, 4.0)
 
Чтобы результат был не пуст, во фразе BETWEEN d1 AND d2
d2
не может быть равен или меньше, чем d1
 
d1
должно быть не больше d2
 
d1
может быть больше d2
 
d1
и d2
могут быть типа DATE
 
Условие WHERE f NOT IN (d1, d2)
эквивалентно условию
f <> d1 OR f <> d2
 
f <> d1 AND f <> d2
 
f BETWEEN d1 AND d2
 
NOT (f = d1 AND f = d2)
 
NOT (f = d1 OR f = d2)
 
ФразаWHERE
командыSELECT
реализует реляционную операцию
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id(int), Salary (float), Commission_pct (float), Branch_id (int), Hire_date (timestamp)
Запрос SQL предназначен для получения имен сотрудников 10-го и 20-го отделов и имеет вид:
SELECT Worker_name FROM Worker WHERE ___________________ Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают выполнение задания.
Branch_id BETWEEN 10 AND 20
 
Branch_id IN (20, 10)
 
Branch_id = 10 AND Branch_id = 20
 
Branch_id = 10 OR 20
 
Branch_id = 20 OR Branch_id = 10
 
Во фразе BETWEEN d1 AND d2
d1
и d2
включаются в диапазон 
d1
и d2
не включаются в диапазон 
d1
включается в диапазон, а значение d2
не включается 
d1
и d2
могут быть символьного типа 
d1
и d2
могут быть типа TIMESTAMP
 
За словом SELECT
может следовать
ALL
 
LIMIT
 
Требуется отобрать студентов, чьи имена начинаются на букву "В". Выберите варианты условий, соответствующие заданию.
WHERE Student_name = 'B%'
 
WHERE Student_name >= 'B' AND Student_name < 'C'
 
WHERE Student_name LIKE '%B%'
 
WHERE Student_name LIKE 'B_'
 
WHERE Student_name LIKE 'B%'
 
Требуется отобрать студентов, у которых не заполнен столбец с оценкой по математике (Math_scope)
.
Выберите условие, соответствующее заданию.
WHERE EMPTY(Math_scope)
 
WHERE Math_scope = 0
 
WHERE Math_scope = NONE
 
WHERE Math_scope = NULL
 
WHERE Math_scope IS NULL
 
С предикатом LIKE
используются символы-маски
В столбце Worker_name содержатся значения:Tom_Adams, Fred_Adams, Alex, Adams_Black Требуется отобрать сотрудников с фамилией (слово после знака подчеркивания) Adams. Выберите вариант условия, соответствующего заданию.
WHERE Worker_name LIKE 'Adams'
 
WHERE Worker_name LIKE '%_Adams'
 
WHERE Worker_name LIKE '%$_Adams' ESCAPE '_'
 
WHERE Worker_name LIKE '%#_Adams' ESCAPE '#'
 
WHERE Worker_name LIKE '%*_Adams%' ESCAPE '*'
 
Требуется отобрать сотрудников, у которых столбец Commission_pct
имеет некоторое значение.
Выберите условие, соответствующее заданию.
WHERE Commission_pct <> NULL
 
WHERE Commission_pct <> 0
 
WHERE Commission_pct IS NOT NULL
 
WHERE Commission_pct NOT IS NULL
 
WHERE NOT (Commission_pct IS NULL)
 
Требуется получить список студентов в таком порядке, чтобы вначале списка были студенты с наибольшим баллом по математике(Math_scope)
. Если у нескольких студентов балл по математике одинаков, то имена таких студентов(Student_name)
должны идти в алфавитном порядке. Выберите варианты сортировки, соответствующие заданию.
ORDER BY Math_scope, Student_name ASC
 
ORDER BY Math_scope DESC, Student_name
 
ORDER BY Math_scope DESC, Student_name ASC
 
ORDER BY Student_name Math_scope DESC
 
ORDER BY Student_name ASC, Math_scope DESC
 
Требуется получить список студентов в таком порядке, чтобы сначала шли студенты с наибольшим баллом по математике(Math_scope)
. Если несколько студентов имеют одинаковый балл по математике, то среди них первыми должны располагаться студенты с наибольшим баллом по иностранному языку(Lang_scope)
. Выберите варианты сортировки, соответствующие заданию.
ORDER BY Lang_scope, Math_scope
 
ORDER BY Lang_scope, Math_scope DESC
 
ORDER BY Lang_scope DESC, Math_scope DESC
 
ORDER BY Math_scope, Lang_scope
 
ORDER BY Math_scope, Lang_scope DESC
 
ORDER BY Math_scope DESC, Lang_scope DESC
 
Требуется вместо числовой оценки (Point)
, которая может принимать значения 2, 3, 4, 5, получить соответственно 'неудовлетворительно', 'удовлетворительно', 'хорошо', 'отлично'.
Выберите фрагменты, соответствующие заданию.
Выберите допустимые виды оператора SELECT
.
Требуется получить список сотрудников в таком порядке, чтобы сначала шли молодые сотрудники, а в конце списка - пожилые.
Выберите соответствующие заданию варианты сортировки при условии, что дата рождения хранится в поле Hiredate (timestamp)
.
ORDER BY Hiredate
 
ORDER BY Hiredate ASC
 
ORDER BY Hiredate ASK
 
ORDER BY Hiredate DESC
 
ORDER BY Hiredate DESK
 
Запрос SQL имеет вид:SELECT CASE Branch_id WHEN 10 THEN 'Accounting' WHEN 20 THEN 'Research' END FROM Worker Что будет получено в результате выполнения этого запроса, если значение
Branch_id
равно 30?
Accounting
 
30
 
NULL
 
Research
 
Использование фразы GROUP BY
Укажите фрагменты, не содержащие ошибок.
Укажите правильные варианты.
WHERE
выполняется перед группировкой 
WHERE
может содержать итоговые функции 
HAVING
выполняется после группировки 
HAVING
не может содержать итоговые функции 
HAVING
задает условие отбора группы строк, полученной в результате группирования 
Фраза GROUP BY
SELECT
 
SELECT
одновременно с фразами HAVING
и WHERE
 
WHERE
 
ORDER BY
 
Укажите фрагменты, не содержащие ошибок.
Фраза HAVING
WHERE
 
Функция COUNT
Итоговые функции можно использовать во фразе
GROUP
 
HAVING
 
ORDER
 
SELECT
 
WHERE
 
Аргументом функции COUNT
может быть
DISTINCT
 
ALL
 
Количество строк возвращает функция
AVG
 
COUNT
 
NUM
 
QTY
 
SUM
 
Среди итоговых функций имеются функции
AVR
 
COUNT
 
MAXIMUS
 
MINIMUM
 
SUM
 
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id(int), Salary (float), Commission_pct (float), Branch_id (int), Hire_date (timestamp)
Требуется получить наибольшее значение зарплаты
(Salary)
среди всех сотрудников. Полученное значение следует вывести под именемmax
. Выберите из предложенных вариантов те, которые обеспечивают выполнение задания.
SELECT max AS max(Salary) FROM Worker
 
SELECT max(Salary) FROM Worker
 
SELECT max(Salary) AS max FROM Worker
 
SELECT max(Salary) max FROM Worker
 
SELECT max(Salary) AS 'max' FROM Worker
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char, NOT NULL), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Требуется получить количество всех студентов
Выберите из предложенных вариантов те, которые обеспечивают выполнение задания.
SELECT COUNT(*) FROM Students
 
SELECT COUNT(DISTINCT Student_name) FROM Students
 
SELECT COUNT(Student_id) FROM Students
 
SELECT COUNT(Student_name) FROM Students
 
SELECT DISTINCT COUNT(Student_name) FROM Students
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char, NOT NULL), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Требуется получить количество студентов, аттестованных (имеющих некоторую оценку) по иностранному языку
Выберите из предложенных вариантов те, которые обеспечивают выполнение задания.
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char, NOT NULL), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Запрос SQL имеет вид:
SELECT Group_id, MAX(Math_scope) FROM Students WHERE Lang_scope > 3.5 GROUP BY Group_id Данный запрос выводит
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id(int), Salary (float), Commission_pct (float), Branch_id (int), Hire_date (timestamp)
Требуется получить номера отделов
(Branch_id)
, в которых нет зарплаты менее 1000. Выберите из предложенных вариантов те, которые обеспечивают выполнение задания.
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id(int), Salary (float), Commission_pct (float), Branch_id (int), Hire_date (timestamp)
Требуется получить номера сотрудников, являющихся менеджерами одновременно в нескольких отделах. (
Manager_id
- номер сотрудника, являющегося менеджером для данного сотрудника). Выберите из предложенных вариантов те, которые обеспечивают выполнение задания.
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id(int), Salary (float), Commission_pct (float), Branch_id (int), Hire_date (timestamp)
Запрос SQL имеет вид:
SELECT Manager_id, COUNT(*) FROM Worker GROUP BY Manager_id HAVING MAX(Salary) <= 1000 Данный запрос выводит
Worker
, где Worker_id = Manager_id
и Salary <= 1000
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Требуется получить количество студентов, являющихся старостами. (
Head_stud_id
- идентификатор студента-старосты)Выберите из предложенных вариантов те, которые обеспечивают выполнение задания.
Подзапрос
SELECT
 
SELECT
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char, NOT NULL), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Требуется получить имена студентов с оценкой по математике выше средней.
Выберите варианты условия (вместо знака подчеркивания), соответствующие заданию.
SELECT Student_name FROM Students WHERE _______________
Math_scope > ANY (SELECT AVG(Math_scope) FROM Students)
 
Math_scope > AVG(Math_scope)
 
Math_scope > AVG(Math_scope) FROM Students
 
Math_scope > SELECT AVG(Math_scope) FROM Students
 
Math_scope > (SELECT AVG(Math_scope) FROM Students)
 
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id(int), Salary (float), Commission_pct (float), Branch_id (int), Hire_date (timestamp)
Требуется получить наименьшую из средних зарплат по отделам. Выберите из предложенных вариантов те, которые обеспечивают выполнение задания.
Подзапрос
FROM
 
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id(int), Salary (float, NOT NULL), Commission_pct (float), Branch_id (int), Hire_date (timestamp)
Требуется получить номера отделов, в которых работают сотрудники с самой низкой заработной платой. Выберите варианты условия (вместо знака подчеркивания), соответствующие заданию.
SELECT DISTINCT Branch_id FROM Worker WHERE _______________
Salary <= ALL (SELECT Salary FROM Worker)
 
Salary <= ANY (SELECT Salary FROM Worker)
 
Salary <= EXISTS (SELECT MIN(Salary) FROM Worker)
 
Salary <= (SELECT MIN(Salary) FROM Worker)
 
Salary <= (SELECT Salary FROM Worker)
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char, NOT NULL), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Требуется получить имена студентов, имеющих самую высокую оценку по математике.
Выберите варианты условия (вместо знака подчеркивания), соответствующие заданию.
SELECT Student_name FROM Students WHERE _______________
Math_scope > MAX(Math_scope)
 
Math_scope >= ALL (SELECT Math_scope FROM Students)
 
Math_scope > ANY (SELECT Math_scope FROM Students)
 
Math_scope >= (SELECT MAX(Math_scope) FROM Students)
 
Math_scope >= (SELECT Math_scope FROM Students)
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char, NOT NULL), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
ОтношениеGroups
имеет схему:Groups: Group_id (int PK), Grade_level (int), Specialty_id (int), Head_stud_id (int)
Требуется получить список групп, в которых все студенты имеют балл по математике выше 4.5.
Выберите варианты запросов, соответствующие заданию.
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char, NOT NULL), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Требуется получить список студентов, для которых старостой (
Head_stud_id
- номер студента-старосты) является студент группы 12.Выберите варианты запросов, соответствующие заданию.
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id(int), Salary (float, NOT NULL), Commission_pct (float), Branch_id (int), Hire_date (timestamp)
ОтношениеBranch
имеет схему:Branch: Branch_id (int PK), Branch_title (varchar (30)), Location_id (varchar (20))
Требуется получить список отделов, в которых нет сотрудника с именем Alex. Выберите варианты запросов, соответствующие заданию.
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id(int), Salary (float, NOT NULL), Commission_pct (float), Branch_id (int), Hire_date (timestamp)
ОтношениеBranch
имеет схему:Branch: Branch_id (int PK), Branch_title (varchar (30)), Location_id (varchar (20))
Требуется получить список сотрудников, работающих в тех же отделах, что и сотрудники с именем Alex. Выберите варианты запросов, соответствующие заданию.
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id(int), Salary (float, NOT NULL), Commission_pct (float), Branch_id (int), Hire_date (timestamp)
Требуется получить количество сотрудников, являющихся менеджерами. Выберите варианты запросов, соответствующие заданию.
Если отношение
t1
содержитk1
кортежей, а отношениеt2
содержитk2
кортежей, то результат выполнения запросаSELECT * FROM t1, t2 будет содержать
k1*k2
кортежей  
k1+k2
кортежей 
max(k1, k2)
кортежей 
min(k1, k2)
кортежей 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char, NOT NULL), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
ОтношениеGroups
имеет схему:Groups: Group_id (int PK), Grade_level (int), Specialty_id (int), Head_stud_id (int)
В каких запросах во фразе
FROM
необходимо использовать таблицуStudents
более одного раза?
ОтношениеGroups
имеет схему:Groups: Group_id (int PK), Grade_level (int), Specialty_id (int), Head_stud_id (int)
ОтношениеSpecialties
имеет схему:Specialties: Specialty_id (int, PK), Specialty_title, Specialty_rating
Требуется получить номер группы и название специальности этой группы.
Выберите варианты фрагмента запроса (вместо знака подчеркивания), соответствующие заданию.
SELECT Group_id, Specialty_title FROM ________________________
Specialties CROSS JOIN Groups
 
Specialties NATURAL JOIN Groups
 
Specialties JOIN Groups USING (Specialty_id)
 
Specialties INNER JOIN Groups ON Specialties.Specialty_id = Groups.Specialty_id
 
Specialties LEFT OUTER JOIN Groups ON Specialties.Specialty_id = Groups.Specialty_id
 
Specialties, Groups
 
Фраза FROM t1, t2
FROM t1 INNER JOIN t2
 
FROM t1 CROSS JOIN t2
 
FROM t1 FULL OUTER JOIN t2
 
Отношение
t1
состоит из следующих кортежей:
f1 | f2 |
1 | 1 |
3 | 2 |
2 | 2 |
Отношение t2
состоит из следующих кортежей:
f1 | f2 |
1 | 10 |
2 | 20 |
3 | 30 |
Результат выполнения запроса
будет содержать
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id(int), Salary (float, NOT NULL), Commission_pct (float), Branch_id (int), Hire_date (timestamp)
ОтношениеBranch
имеет схему:Branch: Branch_id (int PK), Branch_title (varchar (30)), Location_id (varchar (20))
Требуется получить имя сотрудника и название отдела, в котором он работает. Выберите варианты фрагмента запроса (вместо знака подчеркивания), соответствующие заданию.
SELECT Worker_name, Branch_title FROM __________________________
Worker, Branch
 
Worker INNER JOIN Branch ON Worker.Branch_id = Branch.Branch_id
 
Worker JOIN Branch USING (Branch_id)
 
Worker CROSS JOIN Branch
 
Worker RIGHT OUTER JOIN Branch ON Worker.Branch_id = Branch.Branch_id
 
Операциями внешнего соединения таблиц являются:
CROSS JOIN
 
FULL JOIN
 
LEFT JOIN
 
NATURAL JOIN
 
перечисление таблиц через запятую во фразе FROM
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char, NOT NULL), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
ОтношениеGroups
имеет схему:Groups: Group_id (int PK), Grade_level (int), Specialty_id (int), Head_stud_id (int)
Требуется получить имена студентов и номера специальностей, по которым они учатся.
SELECT Student_name, Specialty_id FROM ___________________________ Выберите фрагменты запроса (вместо знака подчеркивания), соответствующие заданию.
Students INNER JOIN Groups
 
Students INNER JOIN Groups ON Group_id
 
Students INNER JOIN Groups ON Students.Group_id = Groups.Group_id
 
Students JOIN Groups USING (Group_id)
 
Students NATURAL JOIN Groups ON Students.Group_id = Groups.Group_id
 
Students OUTER JOIN Groups ON Students.Group_id = Groups.Group_id
 
Пусть имеется таблицаt1
со схемойt1: (f1 (varchar), f2 (integer))
и таблицаt2
с такой же схемой.Требуется соединить таблицы
t1
иt2
по столбцуf2
.Выберите фрагменты, соответствующие заданию.
t1 INNER JOIN t2 ON f2
 
t1 INNER JOIN t2 ON t1.f2 = t2.f2
 
t1 JOIN t2 USING (f2)
 
t1 JOIN t2 USING t1.f2 = t2.f2
 
t1 NATURAL JOIN t2 ON f2
 
t1 NATURAL JOIN t2 USING (f2)
 
Операциями внутреннего соединения таблиц являются:
CROSS JOIN
 
FULL JOIN
 
JOIN ... USING
 
NATURAL JOIN
 
RIGHT JOIN
 
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id(int), Salary (float, NOT NULL), Commission_pct (float), Branch_id (int), Hire_date (timestamp)
Требуется получить имя сотрудника и название отдела, в котором он работает.
SELECT Worker_name, Branch_title FROM _________________________ Выберите варианты фрагмента запроса (вместо знака подчеркивания), соответствующие заданию.
Worker INNER NATURAL JOIN Branch
 
Worker NATURAL JOIN Branch
 
Worker NATURAL JOIN Branch ON Worker.Branch_id = Branch.Branch_id
 
Worker NATURAL JOIN Branch USING (Branch_id)
 
Worker NATURAL JOIN Branch WHERE Worker.Branch_id = Branch.Branch_id
 
ОператорJOIN ... USING
отличается от оператораNATURAL JOIN
тем, что
JOIN ... USING
соединяет таблицы по указанным одноименным столбцам 
JOIN ... USING
можно указать любые столбцы, по которым следует соединить таблицы 
NATURAL JOIN
соединяет таблицы по первичным ключам 
NATURAL JOIN
не указываются столбцы, по которым следует соединять таблицы 
Задать внешнее соединение таблиц можно с помощью конструкции
CROSS OUTER JOIN
 
FULL OUTER JOIN
 
JOIN ... USING
 
LEFT OUTER JOIN
 
FROM
 
В таблицеt1
, содержащей 4 строки, в столбцеf
содержатся значения 1, 2, 2, 3. В таблицеt2
, содержащей 5 строк, в столбцеf
содержатся значения 2, 2, 3, 3, 4.Сколько строк данных будет получено в результате выполнения запроса
SELECT t2.f FROM t1 FULL OUTER JOIN t2 ON t1.f = t2.f
Укажите фрагменты (вместо знака подчеркивания), не вызывающие ошибок, при условии что столбецf
в таблицеt1
и столбецf
в таблицеt2
имеют тип данныхINTEGER
.t1 INNER JOIN t2 ___________
ON f
 
ON f > 4 WHERE t1.f = t2.f
 
ON t1.f < t2.f
 
ON t1.f = t2.f
 
ON t1.f = t2.f AND f > 4
 
WHERE t1.f = t2.f AND f > 4
 
Внешнее соединение двух таблиц означает, что
В таблицеt1
, содержащей 4 строки, в столбцеf
содержатся значения 1, 2, 2, 3. В таблицеt2
, содержащей 6 строк, в столбцеf
содержатся значения 1, 2, 2, 3, 3, 4.Сколько строк данных будет получено в результате выполнения запроса
SELECT t2.f FROM t1 RIGHT OUTER JOIN t2 ON t1.f = t2.f
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id(int), Salary (float, NOT NULL), Commission_pct (float), Branch_id (int, NOT NULL), Hire_date (timestamp)
ОтношениеBranch
имеет схему:Branch: Branch_id (int PK), Branch_title (varchar (30)), Location_id (varchar (20))
Требуется получить названия отделов, в которых нет сотрудников. Выберите варианты запроса , соответствующие заданию.
Оператор JOIN
реализует реляционную операцию
Чтобы сохранить все записи, в том числе повторяющиеся, в запросеЗапрос1 UNION Запрос2 необходимо:
ALL
в Запрос1
 
ALL
в Запрос2
 
ALL
и в Запрос1
и в Запрос2
 
ALL
после слова UNION
 
Таблицаt1
имеет столбцыf1 (varchar)
иf2 (integer)
. Запрос SQL имеет следующий вид:SELECT * FROM t1 UNION SELECT * FROM t2 Данный запрос не вызовет ошибки, если таблицаt2
имеет схему:
t2: f1 (varchar)
 
t2: f2 (integer)
 
t2: f1 (varchar), f2 (integer)
 
t2: f1 (char), f2 (integer)
 
t2: s1 (varchar), s2 (integer)
 
t2: f1 (varchar), f2 (integer), f3 (date)
 
ФразаUNION
командыSELECT
реализует реляционную операцию
Пусть в таблицеt1
, содержащей 3 строки, имеется столбецf
со значениями 1, 2, 3. Пусть в таблицеt2
, содержащей 4 строки, имеется столбецf
со значениями 1, 3, 4, 5. Сколько строк данных будет получено в результате выполнения следующего запроса:SELECT f FROM t1 UNION SELECT f FROM t2
Запрос SQL имеет вид:Запрос1 UNION Запрос2
Чтобы в таблице после выполнения этого запроса остались только отличающиеся строки, необходимо:
DISTINCT
в Запрос1
 
DISTINCT
в Запрос2
 
DISTINCT
и в Запрос1
, и в Запрос2
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char, NOT NULL), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Требуется получить имена студентов, обучающихся в 10-й и 20-й группах.
Выберите варианты запросов, соответствующие заданию.
Оператор INTERSECT
реализует реляционную операцию
Оператор EXCEPT
реализует реляционную операцию
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id(int), Salary (float, NOT NULL), Commission_pct (float), Branch_id (int), Hire_date (timestamp)
Требуется получить в одном столбце имена сотрудников 10-го отдела и их менеджеров. Выберите варианты запросов, соответствующие заданию.
В таблицеt1
, содержащей 4 строки, имеется столбецf
со значениями 1, 2, 2, 3. В таблицеt2
, содержащей 5 строк, есть столбецf
со значениями 2, 2, 3, 3, 4. Сколько строк данных вернет следующий запрос:SELECT f FROM t1 INTERSECT SELECT f FROM t2
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id(int), Salary (float, NOT NULL), Commission_pct (float), Branch_id (int), Hire_date (timestamp)
Требуется получить идентификаторы сотрудников, не являющихся менеджерами. Выберите варианты запросов, соответствующие заданию.
Какие из перечисленных типов данных не относятся к вещественным типам:
TINYINT
 
REAL
 
FLOAT
 
LONG
 
TIMESTAMP
 
Какой из перечисленных типов данных не относится к числовым:
SMALLINT
 
BIT
 
NUMERIC
 
DECIMAL
 
TIMESTAMP
 
Какие из перечисленных типов данных не относятся к символьным типам:
VARCHAR2
 
REAL
 
CHAR
 
VARCHAR
 
STRING
 
Какие из перечисленных типов данных относятся к символьным типам:
TIMESTAMP
 
CHAR
 
NCHAR
 
STRING
 
VARCHAR
 
Какие из перечисленных типов данных используются для представления времени и даты (одновременно):
TIMESTAMP
 
DATE
 
TIME
 
TIME WITH TIME ZONE
 
TIMESTAMP WITH TIME ZONE
 
Отличие типов данных
CHAR
иVARCHAR
заключается:
CHAR
переменные типа VARCHAR позволяют хранить данные переменной длины 
VARCHAR
переменные типа CHAR позволяют хранить данные переменной длины 
CHAR
для данных типа VARCHAR
может применяться явное преобразование с помощью функции CAST
 
Оператор
INSERT
:
DDL
 
VALUES
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Отношение
Students1
является пустым и имеет схему:Students1: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Запрос SQL имеет вид:
INSERT INTO Students1 (Student_id, Student_name, Head_stud_id, Math_scope, Lang_scope, Group_id) AS SELECT * FROM Students ORDER BY Group_id DESC При попытке выполнить запрос сервер БД генерирует сообщение об ошибке. Укажите правильную причину возникновения ошибки:
INTO
следовало использовать словосочетание INTO TABLE
 
SELECT
вместо символа "*" следовало использовать перечисление всех столбцов таблицы Students
 
AS
является лишним
 
ORDER BY
недопустима в подзапросе, использующемся для вставки строк
 
Непосредственно после ключевого слова
INSERT
может следовать:
SELECT
 
INTO TABLE
 
INTO
 
IN
 
VALUES
 
Оператор
INSERT
:
DML
 
Фраза
VALUES
:
INSERT
 
SELECT
 
INSERT
 
Список значений во фразе
VALUES
может включать:
DEFAULT
 
NULL
 
TOP
 
ОтношениеGroups
имеет схему:Groups: Group_id (int PK), Grade_level (int), Specialty_id (int), Head_stud_id (int)
Запрос SQL предназначен для вставки в таблицу
Groups
новой строки и имеет вид:INSERT INTO Groups VALUES (12, DEFAULT, NULL, 15) Среди перечисленных вариантов укажите, каким будет результат выполнения приведенной выше операции при условии, что учебной группы с номером 12 ранее не существовало:
Group_id | Group_grade | Specialty_id | Head_stud_id |
12 | 0 | 0 | 15 |
Group_id | Group_grade | Specialty_id | Head_stud_id |
12 | NULL | NULL | 15 |
Group_id | Group_grade | Specialty_id | Head_stud_id |
12 | 0 | NULL | 15 |
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Запрос SQL предназначен для вставки в таблицу
Students
новой строки и имеет вид:INSERT _______ Students____________ VALUES (10, 15, ‘Martin’, 3.1) Выберите из предложенных вариантов те, которые при подстановке вместо знаков подчеркивания обеспечивают безошибочное выполнение запроса
ОтношениеGroups
имеет схему:Groups: Group_id (int PK), Grade_level (int), Specialty_id (int FK), Head_stud_id (int)
Отношение
Groups1
является пустым и имеет схему:Groups1: Group_id (int PK), Grade_level (int), Specialty_id (int FK), Head_stud_id (int)
Запрос SQL имеет вид:
INSERT INTO TABLE Groups1 (SELECT Group_id, Specialty_id, Grade_level, 12 FROM Groups) При попытке выполнить запрос сервер БД генерирует сообщение об ошибке. Выберите действие, выполнение которого позволит устранить ошибку:
SELECT
значение 12 на значение Head_stud_id
 
SELECT
 
TABLE
во фразе INSERT
 
AS
перед подзапросом
 
ОтношениеBranch
имеет схему:Branch: Branch_id (int PK), Branch_title (varchar (30)), Location_id (varchar (20))
Запрос SQL предназначен для вставки в таблицу
Branch
новой строки и имеет вид:INSERT INTO Branch VALUES (10, 11, ‘Research’) Среди перечисленных вариантов укажите, каким будет результат выполнения приведенной выше операции при условии, что отдела с номером 10 ранее не существовало:
Branch_id | Branch_title | Location_id |
10 | Research | 11 |
Branch_id | Branch_title | Location_id |
10 | 11 | NULL |
Branch_id | Branch_title | Location_id |
10 | 11 | Research |
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id(int), Salary (float), Commission_pct (float), Branch_id (int), Hire_date (date)
Запрос SQL предназначен для вставки в таблицу
Worker
новой строки и имеет вид:INSERT _______ Worker____________ VALUES (10, 15, ‘Scott’, 1.1) Выберите из предложенных вариантов те, которые при подстановке вместо знаков подчеркивания обеспечивают безошибочное выполнение запроса
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float), Commission_pct (float), Branch_id (int, FK), Hire_date (date)
Запрос SQL предназначен для вставки в таблицу
Worker
новой строки и имеет вид:INSERT INTO Worker (Worker_id, Worker_name, Hire_date) ______________________________ Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают безошибочное выполнение запроса
ROW (10, ‘Tom’, ’12-JAN-03’)
 
VALUES (20, ‘Collin’, CAST (’12.01.08’ AS DATE))
 
SELECT (‘10’, ‘Mark’, ’12.01.08’)
 
SELECT ‘10’, ‘Mark’, ’12.01.08’
 
VALUES (10, DEFAULT, DEFAULT, CAST (’12.01.08’ AS DATE))
 
ОтношениеGroups
имеет схему:Groups: Group_id (int PK), Grade_level (int), Specialty_id (int), Head_stud_id (int)
Запрос SQL предназначен для вставки в таблицу
Groups
новой строки и имеет вид:INSERT _______ Groups ________ (12, 1, 13, 15) Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают корректное выполнение запроса и получение требуемого результата при условии, что учебной группы с номером 12 ранее не существовало
ОтношениеGroups
имеет схему:Groups: Group_id (int PK), Grade_level (int), Specialty_id (int FK), Head_stud_id (int)
Запрос SQL предназначен для вставки в таблицу
Groups
новой строки и имеет вид:INSERT INTO Groups (Group_id, Head_stud_id) VALUES (10, DEFAULT, NULL, 15) Среди перечисленных вариантов укажите, каким будет результат выполнения приведенной выше операции при условии, что учебной группы с номером 10 ранее не существовало:
Group_id | Group_grade | Specialty_id | Head_stud_id |
10 | 0 | NULL | 15 |
Group_id | Group_grade | Specialty_id | Head_stud_id |
10 | 0 | 0 | 15 |
Group_id | Group_grade | Specialty_id | Head_stud_id |
10 | NULL | NULL | 15 |
ОтношениеGroups
имеет схему:Groups: Group_id (int PK), Grade_level (int), Specialty_id (int FK), Head_stud_id (int)
Запрос SQL предназначен для вставки в таблицу
Groups
новой строки и имеет вид:INSERT INTO Groups (Group_id, Head_stud_id) SELECT 10, 55.4 Среди перечисленных вариантов укажите, каким будет результат выполнения приведенной выше операции при условии, что учебной группы с номером 10 ранее не существовало:
Group_id | Group_grade | Specialty_id | Head_stud_id |
10 | NULL | NULL | 55.4 |
Group_id | Group_grade | Specialty_id | Head_stud_id |
10 | NULL | NULL | 56 |
Group_id | Group_grade | Specialty_id | Head_stud_id |
10 | NULL | NULL | 55 |
Group_id | Group_grade | Specialty_id | Head_stud_id |
10 | NULL | NULL | NULL |
ОтношениеBranch
имеет схему:Branch: Branch_id (int PK), Branch_title (varchar (30)), Location_id (int)
Запрос SQL предназначен для вставки в таблицу
Branch
новой строки и имеет вид:INSERT INTO Branch _________ ________ (12, ‘Sales’, 15) Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают корректное выполнение запроса и получение требуемого результата
ОтношениеBranch
имеет схему:Branch: Branch_id (int PK), Branch_title (varchar (30)), Location_id (int, default=20)
Запрос SQL предназначен для вставки в таблицу
Branch
новой строки и имеет вид:INSERT INTO Branch VALUES (10, NULL) Среди перечисленных вариантов укажите, каким будет результат выполнения приведенной выше операции при условии, что отдела с номером 10 ранее не существовало:
Branch_id | Branch_title | Location_id |
10 | NULL | NULL |
Branch_id | Branch_title | Location_id |
10 | NULL | 0 |
Branch_id | Branch_title | Location_id |
10 | NULL | 20 |
ОтношениеBranch
является пустым и имеет схему:Branch: Branch_id (int PK), Branch_title (varchar (30)), Location_id (int, default=30)
Запрос SQL предназначен для вставки в таблицу
Branch
новой строки и имеет вид:INSERT INTO Branch (Branch_id, Branch_title) SELECT 20.2, 17 Среди перечисленных вариантов укажите, каким будет результат выполнения приведенной выше операции:
Branch_id | Branch_title | Location_id |
21 | 17 | NULL |
Branch_id | Branch_title | Location_id |
20 | 17 | NULL |
Branch_id | Branch_title | Location_id |
20 | 17 | 30 |
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
и состоит из следующих кортежей:
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
11 | Scott | 15 | 5.0 | 4.3 | 10 |
10 | Tom | NULL | 4.0 | 5.0 | NULL |
Запрос SQL имеет вид:
При попытке выполнить запрос сервер БД генерирует сообщение об ошибке. Укажите правильную причину возникновения ошибки:
INSERT
не хватает ключевого слова TABLE
, которое должно следовать за ключевым словом INTO
 
VALUES
является лишним 
VALUES
определены значения не для всех столбцов таблицы Students
 
"Martin"
должна быть заключена в апострофы 
INTO
следовало использовать слово IN
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
и состоит из следующих кортежей:
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
11 | Scott | 15 | 5.0 | 4.9 | 10 |
10 | Tom | NULL | 4.0 | 4.1 | NULL |
Запрос SQL имеет вид:
При попытке выполнить запрос сервер БД генерирует сообщение об ошибке. Выберите действие, выполнение которого позволит устранить ошибку:
VALUES
в тип float
с помощью функции cast
 
INTO
словосочетанием INTO TABLE
 
INSERT
названия столбцов Math_scope
и Student_name
 
‘Tom’
использовать строковое значение ‘1.2’
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
и состоит из следующих кортежей:
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
11 | Scott | 15 | 5.0 | 4.3 | 10 |
10 | Tom | NULL | 4.0 | 5.0 | NULL |
Запрос SQL имеет вид:
Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают безошибочное выполнение запроса
4.5-0.6,
 
3.3
 
NULL,
 
DEFAULT,
 
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float), Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
и состоит из следующих кортежей:
Worker_id | Worker_name | Manager_id | Salary | Commission_pct | Branch_id | Hire_date |
11 | Tom | 15 | 1000 | 0.8 | 10 | 20.05.98 |
12 | Alex | 17 | 900 | NULL | 20 | 21.06.98 |
Запрос SQL имеет вид:
При попытке выполнить запрос сервер БД генерирует сообщение об ошибке. Укажите правильную причину возникновения ошибки:
INSERT
не хватает ключевого слова TABLE
, которое должно следовать за ключевым словом INTO
 
SELECT
следовало использовать слово VALUES
 
SELECT
определены значения не для всех столбцов таблицы Worker
 
float
 
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float), Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
и состоит из следующих кортежей:
Worker_id | Worker_name | Manager_id | Salary | Commission_pct | Branch_id | Hire_date |
11 | Tom | 15 | 1000 | 0.8 | 10 | 20.05.98 |
12 | Alex | 17 | 900 | NULL | 20 | 21.06.98 |
Запрос SQL имеет вид:
При попытке выполнить запрос сервер БД генерирует сообщение об ошибке. Выберите действие, выполнение которого позволит устранить ошибку:
VALUES
в тип timestamp
с помощью функции CAST
 
INSERT
названия столбцов Hire_date
и Worker_name
 
’01/04/2003’
, использовать строку ’01.04.2003 00:00:00.000’
 
‘Tomas’
использовать значение NULL
 
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float), Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
и состоит из следующих кортежей:
Worker_id | Worker_name | Manager_id | Salary | Commission_pct | Branch_id | Hire_date |
11 | Tom | 15 | 1000 | 0.8 | 10 | 20.05.98 |
12 | Alex | 17 | 900 | NULL | 20 | 21.06.98 |
Запрос SQL имеет вид:
Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают безошибочное выполнение запроса
DEFAULT,
 
NULL
 
1.3,
 
CAST (‘1.3’ AS float),
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Отношение
Students1
имеет схему:Students1: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Запрос SQL предназначен для копирования информации о студентах учебной группы №20 из таблицы
Students
в таблицуStudents1
:INSERT INTO Students1 (Student_id, Student_name, Math_scope) ___________________ Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают корректное выполнение запроса и получение требуемого результата
SELECT Student_id, Student_name, Math_scope FROM Students WHERE Group_id=20
 
VALUES (SELECT Student_id, Student_name, Math_scope FROM Students WHERE Group_id=20)
 
SELECT * FROM Students WHERE Group_id=20
 
AS SELECT Student_id, Student_name, Math_scope FROM Students WHERE Group_id=20
 
(SELECT Student_id, Student_name, Math_scope FROM Students WHERE Group_id=20)
 
ОтношениеGroups
имеет схему:Groups: Group_id (int PK), Grade_level (int), Specialty_id (int FK), Head_stud_id (int)
Отношение
Groups1
имеет схему:Groups1: Group_id (int PK), Grade_level (int), Specialty_id (int FK), Head_stud_id (int)
Запрос SQL предназначен для копирования информации обо всех учебных группах второго курса
(Grade_level=2)
из таблицыGroups
в таблицуGroups1
:INSERT INTO Groups1 (Group_id, Grade_level, Specialty_id) ___________________ Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают корректное выполнение запроса и получение требуемого результата
SELECT Group_id, Grade_level, Specialty_id FROM Groups WHERE Grade_level=2
 
VALUES (Group_id, Grade_level, Specialty_id FROM Groups WHERE Grade_level=2)
 
SELECT * FROM Groups WHERE Grade_level=2
 
ОтношениеGroups
имеет схему:Groups: Group_id (int PK), Grade_level (int), Specialty_id (int FK), Head_stud_id (int)
Отношение
Groups1
является пустым и имеет схему:Groups1: Group_id (int PK), Grade_level (int), Specialty_id (int FK), Head_stud_id (int)
Запрос SQL имеет вид:
INSERT INTO Groups1 (Group_id, Grade_level, Specialty_id) SELECT Group_id, Grade_level, ’22,2’ FROM Groups WHERE Group_id=10 ORDER BY Grade_level В результате выполнения запроса сервер БД генерирует ошибку. Укажите правильную причину возникновения ошибки:
ORDER BY
недопустимо в подзапросе, использующемся в операторе INSERT
 
SELECT
подзапроса не является корректным
названием столбца
 
SELECT
подзапроса не может быть преобразована в значение типа int
 
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float), Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Отношение
Worker1
имеет схему:Worker1: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float), Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Запрос SQL предназначен для копирования информации о сотрудниках отдела №20 из таблицы
Worker
в таблицуWorker1
:INSERT INTO Worker1 (Worker_id, Worker_name, Salary) ___________________ Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают корректное выполнение запроса и получение требуемого результата
VALUES (Worker_id, Worker_name, Salary FROM Worker WHERE Branch_id=20)
 
SELECT Worker_id, Worker_name, Salary FROM Worker WHERE Branch_id=20
 
(SELECT Worker_id, Worker_name, Salary FROM Worker WHERE Branch_id=20)
 
SELECT * FROM Worker WHERE Group_id=20
 
AS SELECT Worker_id, Worker_name, Salary FROM Worker WHERE Branch_id=20
 
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float, NOT NULL), Commission_pct (float), Branch_id (int), Hire_date (timestamp)
Отношение
Worker1
является пустым и имеет схему:Worker1: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float, NOT NULL), Commission_pct (float), Branch_id (int), Hire_date (timestamp)
Запрос SQL предназначен для вставки новой строки в таблицу
Worker1
о сотруднике с именемRobin
и окладом, равным среднему значению оклада в 20 отделе, рассчитываемому по данным таблицыWorker
.INSERT INTO Worker1 (Worker_id, Salary, Worker_name) ___________________ Выберите из предложенных вариантов тот, который при подстановке вместо знака подчеркивания обеспечивает корректное выполнение запроса и получение требуемого результата
VALUES (12, CASE (Branch_id) WHEN 20 THEN AVG(Salary), ‘Robin’)
 
VALUES (12, SELECT AVG(Salary) FROM Worker WHERE Branch_id=20, ‘Robin’)
 
SELECT 12, AVG(Salary), ‘Robin’ FROM Worker WHERE Branch_id=20
 
12, SELECT AVG(Salary) FROM Worker WHERE Branch_id=20, ‘Robin’
 
ОтношениеBranch
и имеет схему:Branch: Branch_id (int PK), Branch_title (varchar (30)), Location_id (int, default=30)
Отношение
Branch1
является пустым и имеет схему:Branch1: Branch_id (int PK), Branch_title (varchar (30)), Location_id (int, default=30)
Запрос SQL имеет вид:
INSERT INTO Branch1 (Branch_id, Branch_title) SELECT Branch_id, Branch_title, NULL FROM Branch WHERE Branch_id=20 В результате выполнения запроса сервер БД генерирует ошибку. Укажите правильную причину возникновения ошибки:
NULL
недопустимо во фразе SELECT
 
Фраза
SET
:
UPDATE
 
UPDATE
 
WHERE
в запросе UPDATE
 
Какие из перечисленных выражений могут следовать непосредственно за ключевым словом UPDATE
:
LIMIT
 
TABLE
 
Оператор UPDATE
:
DDL
 
SET
 
DCL
 
WHERE
 
Для задания новых значений столбцам в запросе
UPDATE
обязательно используется:
SET
 
SET COLUMN
 
COLUMN
 
WHERE
 
SET VALUES
 
Какие из перечисленных выражений могут следовать непосредственно за ключевым словом UPDATE
:
CASCADE
 
OBJECT
 
IN TABLE
 
TABLE
 
Оператор
UPDATE
:
DCL
 
DML
 
WHERE
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Запрос предназначен для снижения на 10% успеваемости по математике
(Math_scope)
и ин. языку(Lang_scope)
среди студентов учебной группы №20.UPDATE Students SET _______________ WHERE Group_id = 20 Среди приведенных ниже кодов укажите вариант, которым можно заменить знак подчеркивания для получения корректного запроса, решающего поставленную задачу.
Math_scope*0.9 AND Lang_scope*0.9
 
Math_scope = Math_scope*0.9 AND Lang_scope = Lang_scope*0.9
 
Math_scope = Math_scope*0.9, Lang_scope = Lang_scope*0.9
 
Math_scope, Lang_scope = (Math_scope*0.9, Lang_scope*0.9)
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Запрос предназначен для внесения изменений в записи о студентах учебной группы №20. Для указанных записей номер группы должен быть изменен на 30, а значение в поле
Head_stud_id
стать равным 15.UPDATE Students __________________ WHERE Group_id = 20 Среди приведенных ниже кодов укажите вариант, которым можно заменить знак подчеркивания для получения корректного запроса, решающего поставленную задачу.
COLUMN Head_stud_id = 15, Group_id =30
 
SET Head_stud_id = 15, SET Group_id =30
 
SET Head_stud_id = 15 AND Group_id =30
 
SET Head_stud_id = 15, Group_id =30
 
SET COLUMNS Head_stud_id = 15, Group_id =30
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Запрос предназначен для снижения баллов на 20% по математике
(Math_scope)
и ин. языку(Lang_scope)
среди студентов учебной группы №10.UPDATE Students ____ Math_scope = Math_scope*0.8_________ Lang_scope = Lang_scope*0.8 ____ Group_id = 10 Какие ключевые слова следует вставить вмеcто знаков подчеркивания для получения корректного запроса, решающего поставленную задачу.
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float), Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для снижения на 10% оклада
(Salary)
и премии(Commission_pct)
сотрудникам отдела №10.UPDATE Worker SET _______________ WHERE Branch_id = 10 Среди приведенных ниже кодов укажите вариант, которым можно заменить знак подчеркивания для получения корректного запроса, решающего поставленную задачу.
Salary = Salary*0.9 AND Commission_pct = Commission_pct*0.9
 
Salary = Salary*0.9, Commission_pct = Commission_pct*0.9
 
Salary*0.9 AND Commission_pct*0.9
 
Salary, Commission_pct = (Salary*0.9, Commission_pct*0.9)
 
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float), Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для внесения изменений в записи о сотрудниках отдела №10. Для указанных записей номер отдела должен быть изменен на 30, а значение в поле
Manager_id
стать равным 13.UPDATE Worker __________________ WHERE Branch_id = 10 Среди приведенных ниже кодов укажите вариант, которым можно заменить знак подчеркивания для получения корректного запроса, решающего поставленную задачу.
SET VALUES (Branch_id = 30, Manager_id = 13)
 
SET (Branch_id = 30, Manager_id = 13)
 
COLUMN Branch_id = 30, Manager_id = 13
 
SET Branch_id = 30, Manager_id = 13
 
SET Branch_id = 30 AND Manager_id = 13
 
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float), Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для снижения окладов
(Salary)
и премий(Commission_pct)
на 10% у сотрудников отдела № 10.UPDATE Worker ____ Salary = Salary*0.9_________ Commission_pct = Commission*0.9 ____ Branch_id = 10 Какие ключевые слова следует вставить вместо знаков подчеркивания для получения корректного запроса, решающего поставленную задачу?
SET
; второй фрагмент: cимвол ","; третий фрагмент: WHERE
 
COLUMNS
; второй фрагмент: AND
; третий фрагмент: IF
 
VALUES
; второй фрагмент: AND
; третий фрагмент: WHERE
 
SET
; второй фрагмент: cимвол ","; третий фрагмент: WHEN
 
SET COLUMNS
; второй фрагмент: cимвол ","; третий фрагмент: WHEN
 
ОтношениеGroups
имеет схему:Groups: Group_id (int PK), Grade_level (int), Specialty_id (int FK), Head_stud_id (int)
Запрос предназначен для перевода группы № 10 на третий курс
(Grade_level=3)
и назначения группе № 20 нового старосты(Head_stud_id)
– студента с номером 15.UPDATE Groups SET________________ __________________ Среди приведенных ниже вариантов укажите тот, который при замене знаков подчеркивания обеспечивает получение корректного запроса, решающего поставленную задачу.
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Запрос предназначен для увеличения оценки по математике
(Math_scope)
студентам группы №20 на 10% и студентам группы №30 на 20%.UPDATE Students SET________________ ____________________ Среди приведенных ниже вариантов укажите тот, который при замене знаков подчеркивания обеспечивает получение корректного запроса, решающего поставленную задачу.
ОтношениеGroups
имеет схему:Groups: Group_id (int PK), Grade_level (int), Specialty_id (int FK), Head_stud_id (int)
Запрос предназначен для изменения специальности группы № 10 на специальность с идентификатором
Specialty_id = 12
и назначения группе № 30 нового старостыHead_stud_id
– студента с номером 17.UPDATE Groups _________________ _________________ Среди приведенных ниже вариантов укажите тот, который при замене знаков подчеркивания обеспечивает получение корректного запроса, решающего поставленную задачу.
ОтношениеBranch
имеет схему:Branch: Branch_id (int PK), Branch_title (varchar (30)), Location_id (varchar (20))
Запрос предназначен для перевода отдела № 10 в новое место расположения (
Location_id=12
) и задания отделу № 20 нового названия –Consulting
.UPDATE Branch SET________________ WHERE_____________ Среди приведенных ниже вариантов укажите тот, который при замене знаков подчеркивания обеспечивает получение корректного запроса, решающего поставленную задачу.
ОтношениеWorker
имеет схемуWorker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float), Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для увеличения премий сотрудникам, у которых оклад меньше 800, на 10% и уменьшения премий сотрудникам, у которых оклад выше 2000, на 20%.
UPDATE Worker SET________________ ____________________ Среди приведенных ниже вариантов укажите тот, который при замене знаков подчеркивания обеспечивает получение корректного запроса, решающего поставленную задачу.
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float), Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для увеличения сотруднику с номером 15 оклада на 20% и перевода сотрудника с номером 17 в отдел №20.
UPDATE Worker _________________ _________________ Среди приведенных ниже вариантов укажите тот, который при замене знаков подчеркивания обеспечивает получение корректного запроса, решающего поставленную задачу.
Отношение Students
состоит из кортежей:
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
12 | Alex | 28 | 4.2 | 10.0 | 10 |
11 | Tom | 15 | 3.9 | 8.0 | 20 |
Groups
состоит из кортежей:
Group_id | Group_grade | Head_stud_id | Specialty_id |
10 | 5 | 15 | 123 |
20 | 3 | NULL | 11 |
Запрос SQL имеет вид:
Среди предложенных вариантов выберите, каким, в итоге, останется отношение Students
.
Students
останется без изменений, т.к. запрос содержит ошибку, и выполнен не будет
 
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
12 | Alex | 28 | 4.2 | 10.0 | 10 |
11 | Tom | 15 | 3.9 | 9.9 | 20 |
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
12 | Alex | 28 | 4.2 | 10.0 | 10 |
11 | Tom | 15 | 3.9 | 9.0 | 20 |
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
12 | Alex | 28 | 4.2 | 9.9 | 10 |
11 | Tom | 15 | 3.9 | 9.9 | 20 |
Отношение Students
состоит из кортежей:
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
12 | Alex | 28 | 4.2 | 4.4 | 10 |
11 | Tom | 15 | 3.9 | 3.1 | 20 |
Отношение Groups
состоит из кортежей:
Group_id | Group_grade | Head_stud_id | Rating |
10 | 5 | 15 | low |
20 | 3 | NULL | high |
Запрос SQL имеет вид:
Среди предложенных вариантов выберите, каким, в итоге, останется отношение Groups
.
Groups
останется без изменений, т.к. запрос содержит ошибку, и выполнен не будет
 
Group_id | Group_grade | Head_stud_id | Rating |
10 | 5 | 15 | High |
20 | 3 | NULL | high |
Group_id | Group_grade | Head_stud_id | Rating |
10 | 5 | 15 | Low |
20 | 3 | NULL | High |
Group_id | Group_grade | Head_stud_id | Rating |
10 | 5 | 15 | HIGH |
20 | 3 | NULL | high |
Отношение Students
состоит из кортежей:
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
12 | Alex | 28 | 4.2 | 10.0 | 10 |
11 | Tom | 15 | 3.9 | 8.0 | 20 |
Отношение Students1
состоит из кортежей:
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
13 | Alexis | 12 | 4.6 | 12.0 | 10 |
15 | Li | 15 | 4.9 | 6.0 | 20 |
Запрос SQL имеет вид:
Среди предложенных вариантов выберите, каким, в итоге, останется отношение Students
.
Students
останется без изменений, т.к. запрос содержит ошибку, и выполнен не будет
 
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
12 | Alex | 28 | 4.2 | 13.2 | 10 |
11 | Tom | 15 | 3.9 | 8.0 | 20 |
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
12 | Alex | 28 | 4.2 | 11.0 | 10 |
11 | Tom | 15 | 3.9 | 8.0 | 20 |
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
12 | Alex | 28 | 4.2 | 11.0 | 10 |
11 | Tom | 15 | 3.9 | 8.0 | 20 |
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float), Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Запрос имеет вид:
UPDATE Worker SET Salary = AVG (Salary), Manager_id = 11 WHERE Worker_name LIKE ‘J%’ При выполнении запроса сервера БД генерирует ошибку. Выберите действия, выполнение которых позволит исправить ошибку.
SET
(т.е. использовать вместо нее простое арифметическое выражение или числовую константу) 
SET
союзом AND
вместо запятой 
WHERE
 
SET
в подзапрос: (SELECT
функция FROM Worker
) 
SET
использовать словосочетание SET TABLE
 
Отношение Worker
состоит из следующих кортежей:
Worker_id | Worker_name | Manager_id | Salary | Commission_pct | Branch_id | Hire_date |
11 | Tom | 15 | 1000 | 0.8 | 10 | 20.05.98 |
12 | Alex | 17 | 900 | 0.3 | 20 | 21.06.98 |
Отношение Branch
состоит из следующих кортежей:
Branch_id | Branch_title | Location_id | Rating |
10 | Accounting | 11 | High |
20 | Finance | 12 | Low |
Запрос SQL имеет вид:
Среди предложенных вариантов выберите, каким, в итоге, останется отношение Groups.
Groups
останется без изменений, т.к. запрос содержит ошибку, и выполнен не будет.
 
Branch_id | Branch_title | Location_id | Rating |
10 | Accounting | 11 | High |
20 | Finance | 12 | High |
Branch_id | Branch_title | Location_id | Rating |
10 | Accounting | 11 | HIGH |
20 | Finance | 12 | HIGH |
Branch_id | Branch_title | Location_id | Rating |
10 | Accounting | 11 | HIGH |
20 | Finance | 12 | Low |
Отношение Worker
состоит из кортежей:
Worker_id | Worker_name | Manager_id | Salary | Commission_pct | Branch_id | Hire_date |
11 | James | 15 | 1100 | 0.8 | 10 | 02.01.98 |
12 | Ronald | 19 | 1100 | NULL | 20 | 15.07.98 |
Отношение Worker1
состоит из кортежей:
Worker_id | Worker_name | Manager_id | Salary | Commission_pct | Branch_id | Hire_date |
13 | Tom | 16 | 900 | 0.7 | 10 | 20.05.98 |
14 | Alex | 18 | 800 | 0.5 | 20 | 21.06.98 |
Запрос SQL имеет вид:
Среди предложенных вариантов выберите, каким, в итоге, останется отношение Worker
.
Worker_id | Worker_name | Manager_id | Salary | Commission_pct | Branch_id | Hire_date |
11 | James | 15 | 1210 | 0.8 | 10 | 02.01.98 |
12 | Ronald | 19 | 1100 | NULL | 20 | 15.07.98 |
Worker_id | Worker_name | Manager_id | Salary | Commission_pct | Branch_id | Hire_date |
11 | James | 15 | 990 | 0.8 | 10 | 02.01.98 |
12 | Ronald | 19 | 990 | NULL | 20 | 15.07.98 |
Worker_id | Worker_name | Manager_id | Salary | Commission_pct | Branch_id | Hire_date |
11 | James | 15 | 990 | 0.8 | 10 | 02.01.98 |
12 | Ronald | 19 | 990 | NULL | 20 | 15.07.98 |
Worker_id | Worker_name | Manager_id | Salary | Commission_pct | Branch_id | Hire_date |
11 | James | 15 | 990 | 0.8 | 10 | 02.01.98 |
12 | Ronald | 19 | 1100 | NULL | 20 | 15.07.98 |
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Запрос предназначен для удаления записей о студентах учебной группы №20.
DELETE _________Students ____________ Group_id = 20 Какие ключевые слова следует вставить вместо знаков подчеркивания для получения корректного запроса, решающего поставленную задачу?
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Запрос предназначен для удаления записей о студентах учебной группы №20, с баллом по математике
(Math_scope)
, меньшим 3.5.DELETE FROM _________Students ______________________________ Среди приведенных ниже вариантов укажите тот, который при замене знаков подчеркивания обеспечивает получение корректного запроса, решающего поставленную задачу.
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Отношение
Groups
имеет схему:Groups: Group_id (int PK), Grade_level (int), Specialty_id (int FK), Head_stud_id (int)
Запрос предназначен для удаления записей о студентах пятого курса
(Grade_level)
.DELETE _________Students ________________________ Среди приведенных ниже вариантов укажите тот, который при замене знаков подчеркивания обеспечивает получение корректного запроса, решающего поставленную задачу.
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float), Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для удаления записей о сотрудниках отдела №30.
DELETE _________Worker ____________ Branch_id = 30 Какие ключевые слова следует вставить вместо знаков подчеркивания для получения корректного запроса, решающего поставленную задачу.
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float), Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для удаления записей о сотрудниках отдела №20, у которых в поле
Manager_id
имеется значение 13.DELETE FROM _________Worker ______________________________ Среди приведенных ниже вариантов укажите тот, который при замене знаков подчеркивания обеспечивает получение корректного запроса, решающего поставленную задачу.
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float), Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Отношение
Branch
имеет схемуBranch: Branch_id (int PK), Branch_title (varchar (30)), Location_id (int, default=30)
Запрос предназначен для удаления записей о сотрудниках, работающих в отделе
Accounting (Branch_title)
.DELETE _________Worker ________________________ Среди приведенных ниже вариантов укажите тот, который при замене знаков подчеркивания обеспечивает получение корректного запроса, решающего поставленную задачу.
Выражение предназначено для описания столбцаMath_scope
типаfloat
в новой таблицеStudent1
. Столбец не должен принимать значениеNULL
, и его значением по умолчанию должно быть значение 3.5.CREATE TABLE Student1 (….. Math_scope_____________________ ……) Выберите из предложенных вариантов тот, который при подстановке вместо знака подчеркивания обеспечивает корректное выполнение запроса и получение требуемого результата
FLOAT DEFAULT Math_scope = 3.5 NOT NULL
 
FLOAT IS NOT NULL DEFAULT (3.5)
 
FLOAT, NOT NULL, DEFAULT 3.5
 
NOT NULL FLOAT DEFAULT VALUE = 3.5
 
FLOAT NOT NULL DEFAULT 3.5
 
Ключевое слово
CONSTRAINT
в предложенииCREATE TABLE
:
DEFAULT
 
Оператор
CREATE TABLE
:
DML (язык манипулирования данными)
 
DDL (язык определения данных)
 
ORDER BY
 
TEMPORARY
 
К столбцам какого типа при создании таблицы с помощью оператораCREATE TABLE
могут применяться параметры:precision
,scale
(точность, масштаб)?
float, real
 
int, bit
 
decimal, smallint
 
numeric, decimal
 
Ключевое слово
CONSTRAINT
в предложенииCREATE TABLE
:
PRIMARY KEY
 
Оператор
CREATE TABLE
:
DML
(язык манипулирования данными)
 
DCL (язык управления данными)
 
Выражение предназначено для описания столбцаSalary
типаint
в новой таблицеWorker1
. Столбец не должен принимать значениеNULL
, и его значением по умолчанию должно быть значение 800.CREATE TABLE Worker1 (….. Salary_____________________ ……) Выберите из предложенных вариантов тот, который при подстановке вместо знака подчеркивания обеспечивает корректное выполнение запроса и получение требуемого результата
INT NOT NULL DEFAULT 800
 
INT NOT NULL WITH DEFAULT 800
 
INT IS NOT NULL WHEN DEFAULT 800
 
INT DEFAULT VALUE = 800 NOT NULL
 
INT, NOT NULL, DEFAULT 800
 
Запрос SQL имеет вид:CREATE TABLE t1 nom INT PRIMARY KEY, name VARCHAR(30) NOT NULL DEFAULT ('noname'), salary INT DEFAULT 300 При выполнении запроса сервер БД генерирует ошибку. Выберите действие, выполнение которого позволит устранить ошибку:
nom
, являющийся ключевым словом 
NOT NULL
в определении столбца name
 
CREATE TABLE
в скобки 
AS
 
Какие из перечисленных выражений могут использоваться для определения полей, которые не могут принимать повторяющиеся значения, в предложении CREATE TABLE
:
Book_id FLOAT IS NOT NULL
 
Book_id FLOAT DIFFERENT
 
Book_id FLOAT PRIMARY KEY
 
Book_id FLOAT UNIQUE
 
Какие из перечисленных выражений могут использоваться для определения полей со значением по умолчанию в предложении CREATE TABLE
:
Branch_id INT DEFAULT (20)
 
Branch_id INT 20 BY DEFAULT
 
Branch_id INT DEFAULT VALUE = 20
 
Branch_id INT WITH DEFAULT 20
 
Branch_id INT DEFAULT 20
 
Запрос SQL имеет вид:CREATE TABLE t1 ( nom INT PRIMARY KEY, name VARCHAR(30) NOT NULL DEFAULT ('noname'), salary DECIMAL(2, 3) DEFAULT 3 ) При выполнении запроса сервера БД генерирует ошибку. Выберите действие, выполнение которого позволит устранить ошибку:
DEFAULT
на значение, меньшее 1 
DEFAULT
в определении столбца name
 
DECIMAL
столбца salary
на 1
 
DEFAULT
 
Какие из перечисленных выражений могут использоваться для определения полей, которые не могут принимать значениеNULL
, в предложенииCREATE TABLE
:
Person_id INT PRIMARY KEY
 
Person_id INT IS NOT NULL
 
Person_id INT NOT NULL
 
Person_id INT NOT EQUALS NULL
 
Person_id INT NOT EMPTY
 
Ограничение
FOREIGN KEY
:
UNIQUE
 
ON DELETE
 
ON UPDATE
 
Ограничение
CHECK
:
CHECK (значение1, значение2, ...)
 
Ограничение
PRIMARY KEY
:
NOT NULL
 
UNIQUE
 
Ограничение
PRIMARY KEY
:
NOT NULL
и UNIQUE
 
Для определения ограничений могут использоваться ключевые слова:
NULL
 
FOREIGN KEY REFERENCES
 
CHECK
 
RANGE
 
PRIMARY KEY
 
Ограничение
FOREIGN KEY
NOT NULL
 
Какие из перечисленных ограничений требуют уникальности значений в заданном столбце (группе столбцов):
UNIQUE
 
PRIMARY KEY
 
FOREIGN KEY
 
NOT NULL
 
CHECK
 
Какое из перечисленных ограничений является ограничением ссылочной целостности:
CHECK
 
UNIQUE
 
NOT NULL
 
PRIMARY KEY
 
FOREIGN KEY
 
Какое из перечисленных ограничений не может определяться на уровне целой таблицы:
NOT NULL
 
CHECK
 
UNIQUE
 
PRIMARY KEY
 
FOREIGN KEY
 
Какие из перечисленных ограничений могут определяться на уровне целой таблицы:
CHECK
 
UNIQUE
 
NOT NULL
 
PRIMARY KEY
 
Какое из перечисленных ограничений требует задания логического условия:
CHECK
 
FOREIGN KEY
 
NOT NULL
 
PRIMARY KEY
 
UNIQUE
 
Какие из перечисленных ограничений не требуют уникальности значений в заданном столбце (группе столбцов):
CHECK
 
NOT NULL
 
UNIQUE
 
PRIMARY KEY
 
FOREIGN KEY
 
Для создания таблицыGroups
использовалась следующая команда:CREATE TABLE Groups (Group_id INT PRIMARY KEY, Grade_level INT, Head_stud_id INT, Specialty_id INT REFERENCES Specialties (Specialty_id) DEFAULT 20 ) Отношение
Groups
состоит из кортежей:
Group_id | Group_grade | Head_stud_id | Specialty_id |
15 | 3 | 15 | 10 |
Отношение Specialties
состоит из следующих кортежей:
Specialty_id | Specialty_title | Specialty_rating |
10 | Account | 9.8 |
20 | Sales | 6.2 |
Запрос SQL имеет вид:
DELETE FROM Specialties WHERE Specialty_id=10
Укажите, каким в результате выполнения данного запроса окажется отношение Groups
:
Groups
останется без изменений
 
Groups
окажется пустым
 
Group_id | Group_grade | Head_stud_id | Specialty_id |
15 | 3 | 15 | NULL |
Group_id | Group_grade | Head_stud_id | Specialty_id |
15 | 3 | 15 | 20 |
Для создания таблицыStudents
использовалась следующая команда:CREATE TABLE Students (Student_id INT PRIMARY KEY, Student_name VARCHAR(20), Head_stud_id INT, Math_scope FLOAT NOT NULL, Lang_scope FLOAT NOT NULL, Group_id INT REFERENCES Groups (Group_id) ON UPDATE CASCADE DEFAULT 20 ) Отношение
Students
состоит из кортежей:
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
12 | Alex | 28 | 3.5 | 10.0 | 10 |
Отношение Groups
состоит из кортежей
Group_id | Group_grade | Head_stud_id | Specialty_id |
10 | 3 | 15 | 123 |
Запрос SQL имеет вид:
UPDATE Groups SET Group_id=40 WHERE Group_id=10
Укажите, каким в результате выполнения данного запроса окажется отношение Students
:
Students
останется без изменений
 
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
12 | Alex | 28 | 3.5 | 10.0 | NULL |
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
12 | Alex | 28 | 3.5 | 10.0 | 40 |
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
12 | Alex | 28 | 3.5 | 10.0 | 20 |
Для создания таблицыStudents
использовалась следующая команда:CREATE TABLE Students (Student_id INT PRIMARY KEY, Student_name VARCHAR(20), Head_stud_id INT, Math_scope FLOAT NOT NULL, Lang_scope FLOAT NOT NULL, Group_id INT REFERENCES Groups (Group_id) ON DELETE CASCADE DEFAULT 20 ) Отношение
Students
состоит из кортежей:
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
12 | Alex | 28 | 3.5 | 10.0 | 10 |
Отношение Groups
состоит из кортежей
Group_id | Group_grade | Head_stud_id | Specialty_id |
10 | 3 | 15 | 123 |
Запрос SQL имеет вид:
DELETE FROM Groups WHERE Group_id=10
Укажите, каким в результате выполнения данного запроса окажется отношение Students
:
Students
останется без изменений
 
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
12 | Alex | 28 | 3.5 | 10.0 | NULL |
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
12 | Alex | 28 | 3.5 | 10.0 | 20 |
Students
окажется пустым
 
Для создания таблицыWorker
использовалась следующая команда:CREATE TABLE Worker (Worker_id INT PRIMARY KEY, Manager_id INT, Hire_date TIMESTAMP, Worker_name VARCHAR(20), Salary FLOAT NOT NULL, Commission_pct FLOAT NOT NULL, Branch_id INT REFERENCES Branch(Branch_id) ON DELETE SET NULL DEFAULT 20 ) Отношение
Worker
состоит из кортежей:
Worker_id | Worker_name | Manager_id | Salary | Commission_pct | Branch_id | Hire_date |
11 | Tom | 15 | 1000 | 0.8 | 10 | 20.05.98 |
Отношение Branch
состоит из следующих кортежей:
Branch_id | Branch_title | Location_id |
10 | Accounting | 11 |
20 | Accounting | 12 |
Запрос SQL имеет вид:
DELETE FROM Branch WHERE Branch_id=10
Укажите, каким в результате выполнения данного запроса окажется отношение Worker
:
Worker
останется без изменений
 
Worker_id | Worker_name | Manager_id | Salary | Commission_pct | Branch_id | Hire_date |
11 | Tom | 15 | 1000 | 0.8 | 20 | 20.05.98 |
Worker_id | Worker_name | Manager_id | Salary | Commission_pct | Branch_id | Hire_date |
11 | Tom | 15 | 1000 | 0.8 | NULL | 20.05.98 |
Worker
окажется пустым
 
Для создания таблицыWorker
использовалась следующая команда:CREATE TABLE Worker (Worker_id INT PRIMARY KEY, Manager_id INT, Hire_date TIMESTAMP, Worker_name VARCHAR(20), Salary FLOAT NOT NULL, Commission_pct FLOAT NOT NULL, Branch_id INT REFENCES Branch (Branch_id) ON DELETE SET DEFAULT DEFAULT 20 ) Отношение
Worker
состоит из кортежей:
Worker_id | Worker_name | Manager_id | Salary | Commission_pct | Branch_id | Hire_date |
11 | Tom | 15 | 1000 | 0.8 | 10 | 20.05.98 |
Отношение Branch
состоит из кортежей:
Branch_id | Branch_title | Location_id |
10 | Accounting | 11 |
Запрос SQL имеет вид:
UPDATE Branch SET Branch_id = 40 WHERE Branch_id = 10
Укажите, каким в результате выполнения данного запроса окажется отношение Worker
:
Worker
останется без изменений, так как будет сгенерирована ошибка
 
Worker_id | Worker_name | Manager_id | Salary | Commission_pct | Branch_id | Hire_date |
11 | Tom | 15 | 1000 | 0.8 | 20 | 20.05.98 |
Worker_id | Worker_name | Manager_id | Salary | Commission_pct | Branch_id | Hire_date |
11 | Tom | 15 | 1000 | 0.8 | NULL | 20.05.98 |
Worker_id | Worker_name | Manager_id | Salary | Commission_pct | Branch_id | Hire_date |
11 | Tom | 15 | 1000 | 0.8 | 40 | 20.05.98 |
Для создания таблицыBranch
использовалась следующая команда:CREATE TABLE Branch (Branch_id INT PRIMARY KEY, Branch_title VARCHAR(20), Location_id INT REFERENCES Location (Location_id) DEFAULT 20 ) Отношение
Branch
состоит из кортежей:
Branch_id | Branch_title | Location_id |
20 | Sales | 10 |
Отношение Location
состоит из следующих кортежей:
Location_id | Country_name | City_name | Street | Building |
10 | Account | 9.8 | Zhukov | 12 |
20 | Sales | 6.2 | Lenin | 13 |
Запрос SQL имеет вид:
UPDATE Location SET Location_id = 80 WHERE Location_id=10
Укажите, каким в результате выполнения данного запроса окажется отношение Branch:
Branch_id | Branch_title | Location_id |
20 | Sales | NULL |
Branch_id | Branch_title | Location_id |
20 | Sales | 20 |
Запрос предназначен для создания таблицыStudents
, связанной с таблицейGroups
ограничением ссылочной целостности по столбцамStudents.Group_id
,Groups.Group_id
, гарантирующим, что при удалении записи о некоторой группе, записи о студентах, принадлежащих этой группе, автоматически будут переназначаться группе с номером 20.CREATE TABLE Students (Student_id INT PRIMARY KEY, Student_name VARCHAR(20), Math_scope FLOAT NOT NULL, Lang_scope FLOAT NOT NULL, Group_id INT ________________________ ) Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают корректное выполнение запроса и получение требуемого результата:
REFERENCES Groups (Group_id) ON DELETE SET DEFAULT 20
 
REFERENCES Groups (Group_id) ON DELETE SET DEFAULT DEFAULT 20
 
REFERENCES ON Groups ON DELETE SET DEFAULT DEFAULT = 20
 
Запрос предназначен для создания таблицыStudents
, для которой установлено ограничение, гарантирующее, что столбецStudent_id
будет принимать только уникальные значения, отличные отNULL
.CREATE TABLE Students ( Student_name VARCHAR(20), Math_scope FLOAT NOT NULL, Lang_scope FLOAT NOT NULL, Student_id INT _____________________ ) Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают корректное выполнение запроса и получение требуемого результата:
UNIQUE, NOT NULL
 
NOT NULL, UNIQUE (Student_id)
 
UNIQUE NOT NULL
 
UNIQUE, CONSTRAINT pk_st NOT NULL (Student_id)
 
NOT NULL, UNIQUE
 
Запрос предназначен для создания таблицыStudents
с ограничением целостности, гарантирующим, что сумма в столбцахMath_scope
иLang_scope
не будет меньше 4.CREATE TABLE Students (Student_id INT PRIMARY KEY, Student_name VARCHAR(20), Math_scope FLOAT NOT NULL, Lang_scope FLOAT NOT NULL _____________________ ) Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают корректное выполнение запроса и получение требуемого результата:
CHECK (Math_scope + Lang_scope >= 4)
 
, CHECK (Math_scope + Lang_scope >= 4)
 
, CONSTRAINT chek_total_bal CHECK (Math_scope + Lang_scope >= 4)
 
, CHECK Math_scope + Lang_scope >= 4
 
, CONSTRAINT CHECK (Math_scope + Lang_scope >= 4)
 
Запрос предназначен для создания таблицыWorker
с ограничением целостности, гарантирующим, что сумма (Salary + Salary*Commission_pct
) не будет больше 5000.CREATE TABLE Worker (Worker_id INT PRIMARY KEY, Manager_id INT, Hire_date TIMESTAMP, Worker_name VARCHAR(20), Branch_id INT, Salary FLOAT NOT NULL, Commission_pct FLOAT NOT NULL________________ ) Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают корректное выполнение запроса и получение требуемого результата:
CHECK (Salary + Salary*Commission_pct <=5000)
 
CHECK Salary + Salary*Commission_pct <=5000
 
, CONSTRAINT chk_sal CHECK (Salary + Salary*Commission_pct <=5000)
 
, CHECK (Salary + Salary*Commission_pct <=5000)
 
, CONSTRAINT CHECK (Salary + Salary*Commission_pct <=5000)
 
Запрос предназначен для создания таблицыWorker
, для которой установлено ограничение, гарантирующее, что столбецManager_id
будет принимать только значения 1 и 2.CREATE TABLE Worker (Worker_id INT PRIMARY KEY, Hire_date TIMESTAMP, Worker_name VARCHAR(20), Salary FLOAT NOT NULL, Commission_pct FLOAT NOT NULL, Branch_id int, Manager_id int ______ ) Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают корректное выполнение запроса и получение требуемого результата:
CHECK (Manager_id = 1 OR 2)
 
CHECK (Manager_id = 1 OR Manager_id = 2)
 
, CONSTRAINT CHECK (Manager_id IN (1,2))
 
, CONSTRAINT chk_man CHECK (Manager_id IN (1,2))
 
, CHECK (Manager_id IN (1,2))
 
Запрос предназначен для создания таблицыWorker
, первичным ключом которой является совокупность столбцов:Worker_id, Manager_id. CREATE TABLE Worker (Worker_id INT _________, Worker_name VARCHAR (20), Salary FLOAT NOT NULL, Commission_pct FLOAT NOT NULL, Manager_id INT ________________________ ) Выберите из предложенных вариантов те, которые при подстановке вместо знаков подчеркивания обеспечивают корректное выполнение запроса и получение требуемого результата:
Для создания таблицыStudents
использовалась следующая команда:CREATE TABLE Students (Student_id INT PRIMARY KEY, Student_name VARCHAR(20), Head_stud_id INT, Math_scope FLOAT NOT NULL, Lang_scope FLOAT NOT NULL, Group_id INT REFERENCES Groups (Group_id) ) Отношение
Students
состоит из кортежей:
Student_id | Student_name | Head_stud_id | Math_scope | Lang_scope | Group_id |
12 | Alex | 28 | 3.5 | 10.0 | 10 |
Отношение Groups
состоит из кортежей
Group_id | Group_grade | Head_stud_id | Specialty_id |
10 | 3 | 15 | 123 |
Запрос SQL имеет вид:
DELETE FROM Groups WHERE Group_id=10
В результате выполнения запроса сервер БД генерирует ошибку. Укажите правильную причину возникновения ошибки:
Group_id
таблицы Students
не было задано значение по умолчанию
 
DELETE
 
Branch_id
таблицы Students
не задана секция ON DELETE
, поэтому удаление любых записей таблицы Branch
невозможно
 
Для создания таблицыStudents
использовалась следующая команда:CREATE TABLE Students (Student_id INT PRIMARY KEY, Student_name VARCHAR(20), Math_scope FLOAT NOT NULL, Lang_scope FLOAT NOT NULL, CONSTRAINT ch_ls CHECK (Lang_scope > = SELECT AVG (Lang_scope) FROM Students1) ) В результате выполнения запроса сервер БД генерирует ошибку. Укажите правильную причину ошибки:
CHECK
может определяться только на уровне отдельного столбца, но не всей таблицы
 
CHECK
не могут использоваться подзапросы
 
PRIMARY KEY
не задано имя ограничения
 
PRIMARY KEY
может определяться только на уровне целой таблицы, но не отдельного столбца
 
Для создания таблицыStudents
использовалась следующая команда:CREATE TABLE Students (Student_id INT PRIMARY KEY, Student_name VARCHAR(20), Math_scope FLOAT NOT NULL, Group_id INT REFERENCES Groups (Group_id) ON DELETE CASCADE DEFAULT 10 ) Отношение
Groups
состоит из кортежей
Group_id | Group_grade | Head_stud_id | Specialty_id |
10 | 3 | 15 | 123 |
Запрос SQL имеет вид:
В результате выполнения запроса сервер БД генерирует ошибку. Укажите правильную причину ошибки, при условии, что студента с номером 14 ранее не существовало:
VALUES
недопустимо использование ключевого слова DEFAULT
, так как для поля Student_name
не задано значение по умолчанию
 
'2.98'
в значение типа FLOAT
 
VALUES
в данном случае является недопустимым
 
INTO TABLE
 
Для создания таблицыWorker
использовалась следующая команда:CREATE TABLE Worker (Worker_id INT PRIMARY KEY, Manager_id INT PRIMARY KEY, Hire_date TIMESTAMP, Worker_name VARCHAR(20), Branch_id INT REFERENCES Branch, Salary DECIMAL(3, 2) NOT NULL, Commission_pct FLOAT NOT NULL ) В результате выполнения запроса сервер БД генерирует ошибку. Укажите правильную причину возникновения ошибки, при условии, что первичным ключом в таблице
Branch
является столбецBranch_id
Worker
не указывается явно соответствующий ему первичный ключ таблицы Branch
 
Salary
 
FOREIGN KEY
 
Для создания таблицыWorker
использовалась следующая команда:CREATE TABLE Worker (Worker_id INT PRIMARY KEY, Manager_id INT REFERENCES Manager (Manager_nom), Hire_date TIMESTAMP, Worker_name VARCHAR (20), Salary FLOAT NOT NULL, Commission_pct FLOAT NOT NULL, Branch_id INT REFERENCES Branch (Branch_id), CONSTRAINT con123 NOT NULL (Manager_id) ) В результате выполнения запроса сервер БД генерирует ошибку. Укажите правильную причину ошибки при условии, что таблица
Manager
существует, и в ней присутствует столбецManager_nom
типаint
:
FOREIGN KEY
 
FOREIGN KEY
 
PRIMARY KEY
не задано имя ограничения
 
NOT NULL
может задавать только на уровне отдельного столбца, но не всей таблицы
 
Для создания таблицыWorker
использовалась следующая команда:CREATE TABLE Worker (Worker_id INT PRIMARY KEY, Manager_id INT, Hire_date TIMESTAMP, Worker_name VARCHAR(20), Salary DECIMAL(6, 2) NOT NULL, Commission_pct DECIMAL(3, 2) NOT NULL, Branch_id INT REFERENCES Branch (Branch_id) ON UPDATE SET NULL DEFAULT 20 CHECK (Salary + Salary * Commission_pct >= 1800) ) Отношение
Worker
состоит из кортежей:
Worker_id | Worker_name | Manager_id | Salary | Commission_pct | Branch_id | Hire_date |
11 | Tom | 15 | 1000 | 0.9 | 10 | 20.05.98 |
Отношение Branch
состоит из кортежей
Branch_id | Branch_title | Location_id |
10 | Sales | NULL |
Запрос SQL имеет вид:
UPDATE Worker SET Commission_pct = 0.8, Branch_id = 20 WHERE Branch_id=10
В результате выполнения запроса сервер БД генерирует ошибку. Укажите правильную причину возникновения ошибки:
SET
разделены запятой, что недопустимо
 
Salary + Salary * Commission_pct
для новой строки принимает значение, не превышающее 1800
 
Commission_pct
 
Branch
отсутствует запись об отделе с номером 20
 
Оператор
ALTER TABLE
может использоваться для:
Фраза
ALTER COLUMN
в предложенииALTER TABLE
может использоваться для:
DEFAULT
 
DEFAULT
 
Оператор
DROP
во фразеALTER TABLE
может использоваться для:
Для создания таблицыWorker
использовалось следующее определение:CREATE TABLE Worker (Worker_id INT PRIMARY KEY, Manager_id INT, Hire_date TIMESTAMP, Worker_name VARCHAR(20), Salary FLOAT NOT NULL, Commission_pct FLOAT NOT NULL, Branch_id INT REFERENCES Branch (Branch_id) ON DELETE SET NULL DEFAULT 20 ) Укажите, какие фразы предложения
ALTER TABLE
позволят задать значение по умолчанию столбцуSalary
ADD DEFAULT 800 TO Salary
 
ADD CONSTRAINT DEFAULT 800 FOR Salary
 
ALTER COLUMN Salary FLOAT NOT NULL DEFAULT = 800
 
MODIFY COLUMNS (Salary FLOAT NOT NULL DEFAULT = 800)
 
ALTER COLUMN Salary SET DEFAULT 800
 
Какое ключевое слово (словосочетание) может использоваться в предложении ALTER TABLE
для указания на столбцы, подлежащие удалению
DROP
 
DROP COLUMN
 
DELETE COLUMN
 
DELETE
 
Для создания таблицыWorker
использовалось следующее определение:CREATE TABLE Worker (Worker_id INT PRIMARY KEY, Manager_id INT, Hire_date TIMESTAMP, Worker_name VARCHAR(20), Salary FLOAT DEFAULT 800, Branch_id INT REFERENCES Branch (Branch_id), ) Запрос предназначен для вставки в таблицу
Worker
нового столбцаCommission_pct
c ограничением, устанавливающим минимальное значение для этого столбца, равное 0.1ALTER TABLE Worker ___________________ Выберите из предложенных вариантов тот, который при подстановке вместо знака подчеркивания обеспечивает корректное выполнение запроса и получение требуемого результата:
ADD COLUMN Commission_pct CHECK (Commission_pct >= 0.1)
 
ADD COLUMN Commission_pct FLOAT CHECK (Commission_pct >= 0.1)
 
ADD COLUMN Commission_pct FLOAT DEFAULT 0.1
 
ADD COLUMN Commission_pct FLOAT ADD CONSTRAINT c1 CHECK (Commission_pct >= 0.1)
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Отношение
Groups
имеет схему:Groups: Group_id (int PK), Grade_level (int), Specialty_id (int FK), Head_stud_id (int)
Для создания представления используется запрос:
CREATE VIEW view1 (Id, Name_of_Student, Group) AS__________________________ Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают безошибочное выполнение операции:
SELECT Student_id, Student_name, Group_id FROM Students
 
SELECT * FROM Students
 
Student_id Id, Student_name Name_of_Student, Group_id Group FROM Students
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Отношение
Groups
имеет схему:Groups: Group_id (int PK), Grade_level (int), Specialty_id (int FK), Head_stud_id (int)
Для создания представления, в которое должны попасть только имена студентов второго курса, используется запрос:
CREATE VIEW view1 AS__________________________ Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают безошибочное выполнение операции:
ОтношениеStudent_grade
имеет схему:Student_grade: Grade_id (int PK), Lowest_total_scope (float), Highest_total_scope (float)
Отношение
Students
имеет схему:Students: Student_id (int, PK), Student_name (varchar (30)), Head_stud_id (int), Math_scope (float, NOT NULL), Lang_scope (float, NOT NULL), Group_id (int, FK)
Для создания представления, в которое должны попасть только имена студентов с рейтингом (
Grade_id
), равным 1, используется запрос:CREATE VIEW view1 ___ (SELECT Student_name FROM Students, Student_grade WHERE Math_scope + Lang_scope <= Highest_total_scope AND Math_scope + Lang_scope >= Lowest_total_scope AND Grade_id = 1) Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают безошибочное выполнение операции:
AS
 
BASING ON
 
AS SUBQUERY
 
WITH CHECK OPTION
 
ОтношениеBranch
имеет схему:Branch: Branch_id (int PK), Branch_title (varchar (30)), Location_id (varchar (20))
Отношение
Worker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float), Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Для создания представления, в которое должны попасть только имена сотрудников, работающих в отделе
ACCOUNTING
, используется запрос:CREATE VIEW view1 ___ (SELECT Worker_name FROM Worker w, Branch b WHERE w.Branch_id = b.Branch_id AND b.Branch_title LIKE ‘ACCOUNTING’ ) Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают безошибочное выполнение операции:
ON
 
FROM
 
AS
 
WITH CHECK OPTION
 
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float), Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Отношение
Branch
имеет схему:Branch: Branch_id (int PK), Branch_title (varchar (30)), Location_id (int)
Для создания представления, в которое должны попасть только имена сотрудников, работающих в отделе
Research
, используется запрос:CREATE _______SELECT Worker_name FROM Worker w, Branch b WHERE w.Branch_id = b.Branch_id AND Branch_title LIKE ‘Research’ Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают безошибочное выполнение операции и получение требуемого результата:
VIEW AS
 
view1 AS
 
VIEW view1
 
VIEW view1 AS SUBQUERY
 
VIEW view1 AS
 
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float), Commission_pct (float), Branch_id (int, FK)
Отношение
Branch
имеет схему:Branch: Branch_id (int PK), Branch_title (varchar (30)), Location_id (int)
Для создания представления используется запрос:
CREATE VIEW view1 (Id, Worker_name, Branch) AS__________________________ Выберите из предложенных вариантов те, которые при подстановке вместо знака подчеркивания обеспечивают безошибочное выполнение операции:
SELECT Worker_id, Worker_name, Branch_id FROM Worker
 
(Worker_id, Worker_name, Branch_id FROM Worker)
 
SELECT * FROM Worker
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Для создания представления использовалась команда:
CREATE VIEW view1 AS SELECT * FROM Students WHERE Group_id = 10 WITH CHECK OPTION Запрос SQL имеет вид:
INSERT INTO view1 (Student_id, Student_name, Group_id) VALUES (10, ‘Peter’, 20) При попытке выполнить запрос сервер БД генерирует сообщение об ошибке. Укажите правильную причину возникновения ошибки:
view1
 
INTO
не хватает слова VIEW
 
VALUES
является лишним
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Для создания представления использовалась команда:
CREATE VIEW view1 (St_name, St_no, Math_scope) AS SELECT * FROM Students WHERE Student_id = 10 WITH CHECK OPTION При попытке выполнить запрос сервер БД генерирует сообщение об ошибке. Укажите правильную причину возникновения ошибки:
WITH CHECK OPTION
отсутствует логическое условие
 
WITH CHECK OPTION
пропущено название создаваемого ограничения
 
CREATE VIEW
не совпадает с числом столбцов, возвращаемых подзапросом
 
AS
является лишним
 
ОтношениеStudents
имеет схему:Students: Student_id (int, PK), Student_name (char), Head_stud_id (int), Math_scope (float), Lang_scope (float), Group_id (int)
Для создания индекса столбца
Student_name
используется запрос:CREATE ______________
Выберите из предложенных вариантов тот, который при подстановке вместо знака подчеркивания обеспечивает безошибочное выполнение запроса и получение требуемого результата:
INDEX FOR Students (Student_name)
 
INDEX index1 ON Students (Student_name)
 
INDEX ON Students.Student_name
 
INDEXES index1 FOR Students (Student_name)
 
ОтношениеWorker
имеет схему:Worker: Worker_id (int, PK), Worker_name (varchar (30)), Manager_id (int), Salary (float), Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Для создания индекса столбца таблицы
Worker_name
таблицыWorker
, используется запрос:CREATE ______________
Выберите из предложенных вариантов тот, который при подстановке вместо знака подчеркивания обеспечивает безошибочное выполнение запроса и получение требуемого результата:
INDEX index1 ON Worker (Worker_name)
 
INDEX TO Worker (Worker_name)
 
INDEX index1 ON TABLE Worker COLUMN Worker_name
 
INDEXES index1 FOR Worker (Worker_name)
 
Фраза
WITH CHECK OPTION
в предложенииCREATE VIEW
:
DML
инструкции, результатом выполнения которых будут строки, которые смогут отбираться запросом, лежащим в основе представления
 
Представления:
SELECT
 
Запрос предназначен для предоставления привилегии на просмотр таблицыStudents
зарегистрированному пользователю базы данныхUser1
:GRANT ________________User1
Выберите из предложенных вариантов тот, который при подстановке вместо знака подчеркивания обеспечивает безошибочное выполнение операции:
PERMISSION SELECT Students TO
 
SELECT ON Students FOR
 
SELECT ON Students TO
 
SELECTION ON Students FOR
 
SELECTION ON Students TO
 
Запрос предназначен для удаления привилегии на обновление столбцаLang_scope
таблицыStudents
у зарегистрированного пользователя базы данныхUser1
.REVOKE________________User1
Выберите из предложенных вариантов тот, который при подстановке вместо знака подчеркивания обеспечивает безошибочное выполнение операции:
UPDATE COLUMN Lang_scope IN Students FROM
 
UPDATE (Lang_scope) ON Students FROM
 
PRIVILEGE UPDATE ON Students (Lang_scope) TO
 
PERMISSION UPDATE ON Lang_scope (Students) FOR
 
UPDATE ON Lang_scope (Students) FROM
 
Выберите из предложенных вариантов фразу, которая может использоваться в операторе GRANT
для предоставления возможности пользователям, которым назначаются некоторые привилегии, передавать эти привилегии другим пользователям:
WITH ADMIN OPTION
 
WITH GRANT OPTION
 
CAN GRANT
 
CAN REGRANT PERMISSIONS
 
Запрос предназначен для того, чтобы разрешить обновление столбцаSalary
таблицыWorker
зарегистрированному пользователю базы данныхUser1
.____________________User1
Выберите из предложенных вариантов тот, который при подстановке вместо знака подчеркивания обеспечивает корректное выполнение запроса и получение требуемого результата:
PERMIT UPDATE ON Worker (Salary) TO User1
 
GRANT TO User1 UPDATE ON Worker (Salary)
 
GRANT UPDATE TABLE Worker COLUMN Salary TO User1
 
PERMIT UPDATE Worker (Salary) FOR User1
 
GRANT UPDATE(Salary) ON Worker TO User1
 
Запрос предназначен для того, чтобы запретить обновление значений в столбце(Salary)
таблицыWorker
зарегистрированному в базе данных пользователюUser1
.__________ UPDATE (Salary) ON Worker FROM User1
Выберите из предложенных вариантов тот, который при подстановке вместо знака подчеркивания обеспечивает корректное выполнение запроса и получение требуемого результата
REVOKE PRIVILEGES
 
REVOKE AS ANY USER
 
REVOKE
 
DENY AS ANY USER
 
DELETE PRIVILEGES
 
Запрос предназначен для предоставления привилегии на просмотр таблицыWorker
зарегистрированному пользователю базы данныхUser1
.__________________TO User1
Выберите из предложенных вариантов тот, который при подстановке вместо знака подчеркивания обеспечивает безошибочное выполнение операции:
GRANT SELECTION ON Worker
 
GRANT SELECT ON Worker
 
PERMIT SELECT FROM Worker
 
PERMIT SELECT ON TABLE Worker
 
GRANT SELECT FROM Worker
 
Запрос предназначен для удаления привилегии на вставку данных в таблицуStudents
у пользователяUser1
.REVOKE FROM User1 INSERT ON Students
При попытке выполнить запрос сервер БД генерирует сообщение об ошибке. Укажите правильную причину возникновения ошибки:
REVOKE
следовало использовать ключевое слово DENY
 
ON
является лишним 
FROM
следовало использовать слово TO
 
INSERT
должна идти сразу после слова REVOKE
 
Запрос предназначен для предоставления привилегии на вставку данных в таблицуStudents
зарегистрированному в базе данных пользователюUser1
.GRANT INSERTION ON Students TO User1
При попытке выполнить запрос сервер БД генерирует сообщение об ошибке. Укажите правильную причину возникновения ошибки:
ON
следовало использовать ключевое слово IN
после слова INSERTION
 
TO
пропущено ключевое слово USER
 
INSERTION
следовало использовать слово INSERT
 
Запрос предназначен для предоставления привилегии на вставку данных в таблицуStudents
зарегистрированному в базе данных пользователюUser1
.GRANT INSERT ON Students TO User1 WITH ADMIN OPTION При попытке выполнить запрос сервер БД генерирует сообщение об ошибке. Укажите правильную причину возникновения ошибки:
ON
следовало использовать предлог IN
после слова INSERT
 
INSERT
следовало использовать слово INSERTION
 
WITH ADMIN OPTION
является недопустимой 
TO
следовало использовать предлог FOR
 
Запрос выполняется предназначен для того, чтобы запретить вставку данных в таблицуWorker
зарегистрированному в базе данных пользователюUser1
.DROP INSERT ON Worker FROM User1
При попытке выполнить запрос сервер БД генерирует сообщение об ошибке. Выберите действие, выполнение которого позволит исправить ошибку и добиться требуемого результата
INSERT
словом INSERTION
 
FROM
предлогом TO
 
DROP
словом DENY
и заменить предлог FROM
предлогом TO
 
DROP
словом REVOKE
 
DROP
словом DELETE
 
Какие из перечисленных объектных привилегий не могут назначаться на уровне отдельных столбцов
SELECT
 
INSERT
 
DELETE
 
REFERENCES
 
UPDATE
 
Запрос предназначен для удаления привилегии на вставку данных в таблицуWorker
и просмотр этой же таблицы у пользователяUser1
.REVOKE INSERT AND SELECT ON Worker FROM User1
При попытке выполнить запрос сервер БД генерирует сообщение об ошибке. Укажите правильную причину возникновения ошибки:
REVOKE
следовало использовать ключевое слово DENY
 
INSERT
следовало добавить ON Worker
 
REVOKE
не позволяет одновременно удалять несколько привилегий  
AND
, что недопустимо 
Выберите из предложенных вариантов правильные названия различных уровней изоляции транзакций (ISOLATION LEVEL)
READ COMMITTED
 
READ UNCOMMITTED
 
REPEATABLE WRITE
 
SERIAL
 
SEVERE
 
Выберите из предложенных вариантов самый строгий (т.е. надежный или не допускающий нарушений целостности сохранения или представления данных) уровень изоляции транзакций (ISOLATION LEVEL)
REPEATABLE READ
 
READ COMMITTED
 
READ UNCOMMITTED
 
SERIALIZABLE
 
Укажите режим изоляции транзакций (ISOLATION LEVEL)
, который позволяет осуществлять чтение строк, измененных незафиксированными транзакциями.
REPEATABLE READ
 
READ COMMITTED
 
READ UNCOMMITTED
 
SERIALIZABLE
 
Укажите режимы изоляции транзакций (ISOLATION LEVEL)
, которые запрещают осуществлять обновление строк, считанных незафиксированными транзакциями, другим транзакциям.
REPEATABLE READ
 
SERIALIZABLE
 
READ COMMITTED
 
READ UNCOMMITTED
 
Выберите команды (запросы), выполнение которых всегда приводит к завершению транзакции:
SAVE TRAN t
 
INSERT INTO имя_таблицы VALUES
(значения)
 
ROLLBACK
 
COMMIT
 
CREATE TABLE
имя таблицы (определение столбцов и ограничений)
 
Какие операторы могут использоваться для явного отката транзакций:
EXIT
имя точки сохранения
 
ROLLBACK
 
CANCEL
 
STOP
 
ABORT