игра брюс 2048
Главная / Базы данных / Модели и смыслы данных в Cache и Oracle / Тест 9

Модели и смыслы данных в Cache и Oracle - тест 9

Упражнение 1:
Номер 1
Выберите SQL-запрос эквивалентный простому запросу QBE

Deptdeptnodnamelock
10 P.P.I.DALLAS
или объясните, какие ошибки в запросе QBE допущены

Ответ:

 (1) SELECT deptno, dname FROM dept WHERE lock='DALLAS'  

 (2) команда I. употреблена неправильно  

 (3) одна из команд P. употреблена неправильно  

 (4) SELECT deptno, dname FROM dept WHERE lock='DALLAS' AND deptno=10  


Номер 2
Выберите SQL-запрос эквивалентный простому запросу QBE

deptdeptnodnamelock
P. >10P.P.D_X_
или объясните, какие ошибки в запросе QBE допущены

Ответ:

 (1) SELECT deptno, dname, lock FROM dept WHERE deptno>10 AND lock LIKE 'D%'  

 (2) одна из команд P. записана неправильно  

 (3) SELECT deptno, dname, lock FROM dept WHERE deptno>10 AND lock NOT LIKE 'D%'  

 (4) фраза P.D_X_ записана неправильно  


Номер 3
Выберите SQL-запрос эквивалентный простому запросу QBE
empempnoenamesalmgrcommdeptno
U.P.P. _X_P. <0.1*_X_
или объясните, какие ошибки в запросе QBE допущены

Ответ:

 (1) SELECT ename, sal, comm FROM emp WHERE comm < 0.1*sal  

 (2) если убрать команду U. то эквивалентный запрос на SQL выглядит так: SELECT ename, sal, comm FROM emp WHERE comm < 0.1*sal  

 (3) Вторую строку следовало писать так:
P.P.P. <sal
 

 (4) имя _X_ не допустимо  


Упражнение 2:
Номер 1
Выберите SQL-запрос эквивалентный запросу QBE с соединением таблиц; укажите, какие таблицы соединяются или какие ошибки имеются в синтаксисе запроса
empempnoenamesalmgrcommdeptno
P.P._X_10
SCOTT<_X_

Ответ:

 (1) SELECT ename, sal FROM emp e1, emp e2 WHEREe1.deptno = 10 AND e2.ename ='SCOTT' AND e2.sal < e1.sal  

 (2) SELECT e1.ename, e1.sal FROM emp e1, emp e2 WHERE e1.deptno = 10 AND e2.ename ='SCOTT' AND e2.sal < e1.sal  

 (3) SELECT e2.ename, e2.sal FROM emp e2, emp e1 WHERE e1.deptno = 10 AND e2.ename ='SCOTT' AND e2.sal < e1.sal  

 (4) cоединяются по столбцам sal два экземпляра таблицы emp  


Номер 2
Выберите SQL-запрос эквивалентный запросу QBE с соединением таблиц; укажите, какие таблицы соединяются или какие ошибки имеются в синтаксисе запроса
empempnoenamesalmgrcommdeptno
P.P._X__RESEARCH_
SCOTT<_X_
deptdeptnodnamelock
_RESEARCH_P. SALES

Ответ:

 (1) имена переменных не должны совпадать со значениями в столбцах таблиц  

 (2) SELECT e1.ename, e1.sal, dname FROM emp e1, emp e2, dept d WHERE e1.deptno = d.deptno AND e1.ename ='SCOTT' AND e2.sal < e1.sal AND dname = 'SALES'  

 (3) SELECT ename, sal, dname FROM emp e1, emp e2, dept d WHERE e1.deptno = d.deptno AND e1.ename ='SCOTT' AND e2.sal < e1.sal AND dname = 'SALES'  

 (4) SELECT e1.ename, e1.sal, d.dname FROM emp e1, emp e2, dept d WHERE e1.deptno = d.deptno AND e2.ename ='SCOTT' AND e2.sal < e1.sal OR dname = 'SALES'  


Номер 3
Выберите SQL-запрос эквивалентный запросу QBE с соединением таблиц; укажите, какие таблицы соединяются или какие ошибки имеются в синтаксисе запроса
empempnoenamesalmgrcommdeptno
P._СВЯЗКА_10
_СВЯЗКА_P._СВЯЗКА2_
_СВЯЗКА2_P.

Ответ:

 (1) SELECT e1.ename, e2.ename, e3.ename FROM emp e1, emp e2, emp e3 WHERE e1.mgr=e2.empno, e2.mgr=e3.empno AND e1.deptno=10  

 (2) SELECT e1.ename “Сотр”, e2.ename “Непосред.нач.”, e3.ename “Нач.начальника” FROM emp e1, emp e2, emp e3 WHERE e1.mgr=e2.empno, e2.mgr=e3.empno AND e1.deptno=10  

 (3) SELECT e1.ename, e1.ename, e1.ename FROM emp e1, emp e2, emp e3 WHERE e1.mgr=e2.empno, e2.mgr=e3.empno AND e1.deptno=10  

 (4) в запросах QBE нельзя использовать кириллицу  


Упражнение 3:
Номер 1
Какие данные возвращает запрос QBE? Можно ли упростить запрос?
empempnoenamesalmgrcommdeptno
P.SUM.P.CNT.P.G.AO.

Ответ:

 (1) возвращаются значения sal, comm, deptno сгруппированные по номерам отделов, а запрос упростить можно  

 (2) возвращаются суммарная зарплата и комиссионные по номерам отделов, а запрос упростить можно  

 (3) возвращаются суммарная зарплат и количество людей получающих комиссионные в каждом отделе  

 (4) возвращаются суммарная зарплата, количество людей получающих комиссионные в каждом отделе и номера отделов, причём номера отделов располагаются по возрастанию; запрос упростить нельзя  


Номер 2
Какие данные возвращает запрос QBE? Можно ли упростить запрос?

empempnoenamesalmgrcommdeptno
P.CNT.P.G.DO.P.CNT.!<10

Ответ:

 (1) из-за ошибок этот запрос работать не будет  

 (2) возвращаются все зарплаты в порядке убывания и количество людей получающих каждую зарплату и количество людей с данной зарплатой, которым положены комиссионные, в отделах с номером больше 10-ти; запрос упростить нельзя  

 (3) возвращаются все зарплаты в порядке убывания и количество людей получающих каждую зарплату и количество людей с данной зарплатой, которые получают комиссионные, в отделах с номером больше 10-ти; запрос упростить можно  

 (4) данные таблицы группируются по столбцу sal в порядке убывания, в столбце ename выдаётся количество людей с каждой зарплатой, а в столбце comm выдаётся количество людей с одинаковой зарплатой которым положены комиссионные; запрос упростить нельзя  


Номер 3
Какие данные возвращает запрос QBE? Можно ли упростить запрос?
empempnoenamesalmgrcommdeptno
P.__X_P.>150P.
_X_<3500
_X_30

Ответ:

 (1) в SQL ему соответствует запрос SELECT e1.ename, e1.sal, e1.deptno FROM emp e1, emp e2, emp e3 WHERE e1.ename=e2.ename AND e1.ename=e3.ename AND e1.sal>150 AND e2.sal<3500 AND e3.deptno=30 возвращающий фамилии, зарплаты и номера отделов для сотрудников отдела 30 с зарплатой от 150 до 3500; можно обойтись без соединений  

 (2) можно убрать условие >150 т.к. все реальные зарплаты больше 150  

 (3) возвращает ename, sal и deptno из таблицы emp; соединения 1:1 только добавляют условия отбора; соединения можно убрать, перенеся их условия в запрос к единственной таблице emp  

 (4) возвращает ename, sal и deptno из таблицы emp для сотрудников отдела 30 с зарплатой от 150 до 3500; упростить запрос нельзя  


Упражнение 4:
Номер 1
Какие действия производит команда
empempnoenamesalmgrcommdeptno
P.P._X_P.20
KING_Y_
CONDITION
_X_< 0.5*_Y_

Ответ:

 (1) выбрать всех сотрудников отдела 20, показав для них фамилию, зарплату номер отдела 20, а для King только фамилию и зарплату  

 (2) показать фамилию, зарплату и номер отдела для сотрудников отдела 20, у которых зарплата, по крайней мере, вдвое меньше зарплаты Кинга  

 (3) выбрать пустое множество сотрудников  

 (4) выбрать сведения о сотрудниках отдела 20, у которых зарплата, по крайней мере, вдвое меньше зарплаты Кинга  


Номер 2
Какие действия производит команда
I. test1 I.idnamepriceamount
TYPE I.%Integer%Integer%Integer
LENGTH I.53074
KEYKNKNKNK

Ответ:

 (1) добавляет в таблицу test1 четыре столбца, определяет типы данных, длину и задаёт первичный ключ  

 (2) дополняет определение таблицы test1 с четырьмя столбцами свойствами этих столбцов  

 (3) создаёт таблицу test1 с четырьмя столбцами, определяет типы данных, длину и задаёт первичный ключ  

 (4) команда содержит ошибки и потому никаких действий не производит  


Номер 3
Какие действия производит команда
empenamesalmgrdeptno
D.> 1000_X_
deptdepnodnameloc
_X_SALES

Ответ:

 (1) удаляет содержимое таблицы emp и строки таблицы dept соответствующие строкам таблицы emp со значениями зарплаты более 1000  

 (2) удаляет сотрудников отдела продаж, имеющих зарплату больше 1000  

 (3) удаляет всех сотрудников отдела продаж  

 (4) удаляет сотрудников отдела продаж, имеющих зарплату больше 1000 и отдел продаж в dept  




Главная / Базы данных / Модели и смыслы данных в Cache и Oracle / Тест 9