- •Задание 1.1. Подключиться к бд с логином / паролем studXx, где хх - номер группы, и запустить на выполнение скрипт scott_x.Sql. Что будет выполнено в результате его выполнения?
- •Задание 1.7. Занесите в таблицу assigments_n следующие данные:
- •Задание 1.16. Проверить или создать ограничения целостности, чтобы гарантировать, что каждый сотрудник в таблице emp значится в одном из отделов, перечисленных в таблице dept.
- •Задание 1.17. Определить и дать объяснение ограничения целостности в команде create table:
- •Задание 2.6. Составить команду sql для выборки данных о сотрудниках 20 и 30 отделов по алфавиту по их именам.
- •Задание 2.7. Составить команду sql для выборки имен служащих и их окладов для всех менеджеров в 10 и 20 отделах.
- •Задание 2.8. Составить команду sql для нахождения всех имен сотрудников содержащие комбинации символов "th" или "ar".
- •Задание 2.9. Составить команду sql для выдачи имен служащих, их должностей и окладов имеющих менеджера.
- •Задание № 3.7. Выберите имя, должность, оклад, категорию оклада, наименование отдела для всех сотрудников компании, кроме реализаторов. Организуйте строки по зарплате в порядке убывания.
- •Задание № 3.8. Выдайте следующую информацию о служащих, получивших доход от 2000 до 3000, а также по всем реализаторами.
- •Задание № 3.11. Модифицируйте запрос 10 так, чтобы в таблице результатов появился king, который не имеет менеджера.
- •Заполнение таблицы Услуги:
- •Создание запросов:
Задание 1.16. Проверить или создать ограничения целостности, чтобы гарантировать, что каждый сотрудник в таблице emp значится в одном из отделов, перечисленных в таблице dept.
SQL> update emp set deptno=11 where empno=7782;
update emp set deptno=11 where empno=7782
*
ERROR at line 1:
ORA-02291: integrity constraint (SYSTEM.FK_DEPTNO) violated - parent key not found
SQL> select constraint_name, constraint_type, status from user_constraints where table_name='EMP';
CONSTRAINT_NAME C STATUS
------------------------------ - --------
PK_EMP P ENABLED
FK_DEPTNO R ENABLED
Задание 1.17. Определить и дать объяснение ограничения целостности в команде create table:
CREATE TABLE dept ( deptno NUMBER (3) PRIMARY KEY, dname VARCHAR2 (15), loc VARCHAR2 (15) CONSTRAINT dname_ukey UNIQUE (dname, loc), CONSTRAINT loc_check1 CHECK (loc IN ('NEW YORK "," BOSTON', 'CHICAGO'))); CREATE TABLE emp ( empno NUMBER (5) PRIMARY KEY, ename VARCHAR2 (15) NOT NULL, job VARCHAR2 (10), mgr NUMBER (5) CONSTRAINT mgr_fkey REFERENCES emp, hiredate DATE, sal NUMBER (7,2), comm NUMBER (5,2), deptno NUMBER (3) NOT NULL CONSTRAINT dept_fkey REFERENCES dept ON DELETE CASCADE); Сделать анализ определения ограничения целостности с помощью фразы CONSTRAINT команды ALTER TABLE: ALTER TABLE dept ADD PRIMARY KEY (deptno); ALTER TABLE emp ADD CONSTRAINT dept_fkey FOREIGN KEY (deptno) REFERENCES dept MODIFY (ename VARCHAR2 (15) NOT NULL); Испытать включение и выключение ограничений целостности при их определении: в предложении CREATE TABLE или ALTER TABLE, а также с помощью опции ENABLE или опции DISABLE; определении ограничений целостности UNIQUE, PRIMARY KEY и FOREIGN KEY.
SQL> alter table emp disable constraint fk_deptno;
Table altered.
SQL> select constraint_name, constraint_type, status from user_constraints where table_name='EMP';
CONSTRAINT_NAME C STATUS
------------------------------ - --------
PK_EMP P ENABLED
FK_DEPTNO R DISABLED
Задание 2.1. Получить на экране структуру таблицы "DEPT".
SQL> desc dept;
Name Null? Type
----------------------------------------------------- -------- ------------
DEPTNO NOT NULL NUMBER(2)
DNAME VARCHAR2(14)
LOC VARCHAR2(13)
Задание 2.2. Составить команду SQL для выборки всей информации из таблицы "DEPT",
SQL> select * from dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
Задание 2.3. Составить команду SQL для нахождения всех сотрудников с зарплатой в диапазоне от 1000 до 2000.
SQL> select * from emp where sal between 1000 and 2000;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------- ---------- ----------
7499 ALLEN SALESMAN 7698 20.02.81 1600 300 30
7521 WARD SALESMAN 7698 22.02.81 1250 500 30
7654 MARTIN SALESMAN 7698 28.09.81 1250 1400 30
7844 TURNER SALESMAN 7698 08.09.81 1500 0 30
7934 MILLER CLERK 7782 23.01.82 1300 10
Задание 2.4. Составить команду SQL для вывода номеров отделов таблицы "DEPT" и их наименования по алфавиту.
SQL> select deptno, dname from dept order by dname;
DEPTNO DNAME
---------- --------------
10 ACCOUNTING
40 OPERATIONS
20 RESEARCH
30 SALES
Задание 2.5. Составить команду SQL для отображения всех категорий должностей таблицы "EMP" в отсортированном виде.
SQL> select distinct job from emp order by job;
JOB
---------
ANALYST
CLERK
MANAGER
PRESIDENT
SALESMAN