Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otchet_laba_3_OBD.doc
Скачиваний:
15
Добавлен:
11.02.2015
Размер:
205.31 Кб
Скачать

29

Задание 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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]