- •Задание 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.1. Подключиться к бд с логином / паролем studXx, где хх - номер группы, и запустить на выполнение скрипт scott_x.Sql. Что будет выполнено в результате его выполнения?
SQL> connect system/ksen
Connected.
SQL> spool C:\oraclexe\spool_3_l.txt
SQL> start C:\oraclexe\scott_x.sql
SQL> start C:\oraclexe\scott_x.sql
SQL> Rem Copyright (c) 1990 by Oracle Corporation
SQL> Rem NAME
SQL> REM UTLSAMPL.SQL
SQL> Rem FUNCTION
SQL> Rem NOTES
SQL> Rem MODIFIED
SQL> Rem gdudey 06/28/95 - Modified for desktop seed database
SQL> Rem glumpkin 10/21/92 - Renamed from SQLBLD.SQL
SQL> Rem blinden 07/27/92 - Added primary and foreign keys to EMP and
DEPT
SQL> Rem rlim 04/29/91 - change char to varchar2
SQL> Rem mmoore 04/08/91 - use unlimited tablespace priv
SQL> Rem pritto 04/04/91 - change SYSDATE to 13-JUL-87
SQL> Rem Mendels 12/07/90 - bug 30123;add to_date calls so language inde
pendent
SQL> Rem
SQL> rem
SQL> rem $Header: utlsampl.sql 7020100.1 94/09/23 22:14:24 cli Generic<base> $ s
qlbld.sql
SQL> rem
SQL> SET TERMOUT OFF
В результате выполнения скрипта будут созданы дополнительные таблицы и добавлены в них данные.
Задание 1.2. Создайте таблицу с именем PROJECTS_N и столбцами, как показано ниже. Определите столбец PROJID как первичный ключ и обеспечьте невозможность ситуации, когда дата в поле P_END_DATE окажется более ранней, чем дата в поле P_START_DATE.
SQL> create table projects_5
2 (projid number(4) not null primary key,
3 p_desc varchar2(20),
4 p_start date date,
5 p_end date date,
6 budjet_amount number(7,2),
7 max_no_staff number(2),
8 constraint date_ogr
9 check (p_start_date < p_end_date))
10
SQL> /
Table created.
Задание 1.3. Создайте вторую таблицу с именем ASSIGMENTS_N, как показано ниже. Определите в ней столбец PROJID как внешний ключ, ссылающийся на столбец PROJID таблицы PROJECTS_N. Определите также столбец EMPNO как внешний ключ, ссылающийся на столбец "EMPNO" таблицы EMP. Столбцы PROJID и EMPNO не должны иметь пустых значений полей.
SQL> create table assigments_5
2 (projid number(4) not null references projects_5(projid),
3 empno number(4) not null references emp(empno),
4 a_start_date date,
5 a_end_date date,
6 bull_rate number(4,2),
7 asign_type varchar2(2))
8
SQL> /
Table created.
Задание 1.4. Добавьте в таблицу PROJECTS_N столбец типа LONG с именем COMMENTS. Добавьте также в таблицу ASSIGMENTS_N числовой столбец с именем HOURS.
SQL> alter table projects_5
2 add ("comments" long);
Table altered.
SQL> alter table assigments_5
2 add ("hours" number(2));
Table altered.
Задание 1.5. Задайте ограничения на таблицу ASSIGMENTS_N, что обеспечивает уникальность комбинаций полей PROJID и EMPNO
SQL> alter table assigments_5
2 add (constraint uniq_proj_emp
3 primary key(projid, empno));
Table altered.
Задание 1.6. Занесите в таблицу PROJECTS_N следующие данные:
PROJID |
1 |
2 |
P_DESC |
WRITE C030 |
PROOF READ NOTES |
P_START_DATE |
02-JAN-88 |
01-JAN-89 |
P_END_DATE |
07-JAN-88 |
10-JAN-89 |
BUDJET_AMOUNT |
600 |
500 |
MAX_NO_STAFF |
2 |
1 |
COMMENTS |
BE CREATIVE |
YOUR CHOICE |
SQL> insert into projects_5 values
2 (1, 'write c030', '02.01.88', '07.01.88', 600, 2, 'be creative')
3 /
1 row created.
Commit complete.
SQL> insert into projects_5 values
2 (2, 'proff read notes', '01.01.89', '10.01.89', 500, 1, 'your choice')
3 /
1 row created.
Commit complete.