Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Л.Р.№3 Шерстюк

.docx
Скачиваний:
29
Добавлен:
09.07.2021
Размер:
160 Кб
Скачать

Министерство образования и науки Российской Федерации

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра промышленной электроники (ПрЭ)

Отчет по лабораторной работе № 3

Создание связанных таблиц в СУБД ORACLE

С декларативными ограничениями данных

По дисциплине «Базы данных»

Выполнил:

Студент группы з-66

_________Шерстюк П.В.

Принял:

Ст.преподователь кафедры ПрЭ

__________Муравьев А.И.

2021

Вариант 6

Создать две связанные таблицы: родительская - автор, дочерняя – книга.

В таблице автор должны содержаться данные:

· Номер автора;

· ФИО автора;

· Адрес;

· дата рождения (не раньше 01.01.1925);

· жанр (детектив, фантастика, эссе, драма, мелодрама, сатира);

· статус (мэтр, начинающий, средний).

В таблице книга должны содержаться данные:

· название;

· жанр (см. выше);

· кол. страниц;

· номер издания (не больше 10);

· издательство.

Создание двух связанных таблиц

create table avtor (

nomer_avtora number (6) not null,

fio nvarchar2 (20) not null,

adres nvarchar2 (80) not null,

data_rojdeniya DATE not null, check(data_rojdeniya>='01.jan.1925'),

janr nvarchar2 (20) not null, check(janr='детектив' or janr='фантастика' or janr='эссе' or janr='драма' or janr='мелодрама' or janr='сатира'),

status nvarchar2 (20) not null, check(status='мэтр' or status='начинающий' or status='средний'),

primary key (nomer_avtora)

)

create table kniga (

nazvaniye nvarchar2 (20) not null,

janr nvarchar2 (20) not null, check(janr='детектив' or janr='фантастика' or janr='эссе' or janr='драма' or janr='мелодрама' or janr='сатира'),

kolvo_stranic number (6) not null,

nomer_izdaniya number (20) not null, check(nomer_izdaniya<=10),

izdatelstvo nvarchar2 (20) not null,

nomer_avtora number (6) not null,

constraint pk_nomer_izdaniya primary key(nomer_izdaniya),

constraint fk_nomer_avtora foreign key(nomer_avtora)

references avtor(nomer_avtora)

)

Вносим данные в таблицу автор

insert into avtor (nomer_avtora, fio, adres, data_rojdeniya, janr, status) values

(009190,'Ильинов_В.А.','Ливерпуль_ул.Победы_4','12.01.1925','детектив','мэтр');

insert into avtor (nomer_avtora, fio, adres, data_rojdeniya, janr, status) values

(000031,'Ижморкин_В.А.','Томск ул.Победы_7','16.02.1987','фантастика','начинающий');

insert into avtor (nomer_avtora, fio, adres, data_rojdeniya, janr, status) values

(000027,'Иванов_В.С.','Череповец_ул.Мира_44','24.12.1959','эссе','средний');

insert into avtor (nomer_avtora, fio, adres, data_rojdeniya, janr, status) values

(009458,'Шварц_А.А.','Мадрид_ул.Профсоюзная_14','03.03.1994','драма','средний');

select * from avtor

Вносим данные в таблицу книгу

insert into kniga (nazvaniye, janr, kolvo_stranic, nomer_izdaniya, izdatelstvo, nomer_avtora) values ('Жара','детектив',200,9,'Дрофа',009190);

insert into kniga (nazvaniye, janr, kolvo_stranic, nomer_izdaniya, izdatelstvo, nomer_avtora) values ('Марс атакует','фантастика ',231,6 ,'Атомэнергоиздат', 000031);

insert into kniga (nazvaniye, janr, kolvo_stranic, nomer_izdaniya, izdatelstvo, nomer_avtora) values ('Как с этим жить',' эссе ',541,7,'Русский Роман', 000027);

insert into kniga (nazvaniye, janr, kolvo_stranic, nomer_izdaniya, izdatelstvo, nomer_avtora) values ('Смешарики',' драма ',10,8,'Малыш', 009458);

select * from kniga

Ответы на контрольные вопросы:

  1. «Ссылочная целостность в реляционной базе данных – это согласованность между связанными таблицами. Ссылочная целостность обычно поддерживается путем комбинирования первичного ключа и внешнего ключа.

  2. По умолчанию Oracle разрешает значения NULL во всех столбцах. Если эти значения недопустимы для некоторых столбцов таблицы, для них необходимо задавать ограничение NOT NULL.

пять основных типов:

  • ограничения первичного ключа;

  • ограничения NOT NULL;

  • проверочные ограничения;

  • ограничения уникальности;

  • ссылочные ограничения целостности.

4. Какие ограничения определяются в ограничении таблицы?

Целостность таблицы заключается в том, что никакой атрибут возможного или первичного ключа не может иметь пустое значение.

5. Сколько первичных ключей можно определить для таблицы?

Первичный ключ может быть только один.

6. Имеет ли значение порядок создания родительской и дочерней таблиц?

Для создания структуры таблицы нет разницы. Но при наполнении дочерней таблицы родительская должна быть задана.

7. В каком случае внешний ключ может допускать пустые значения?

Необходимость пустого значения внешнего ключа, возникает, когда вы не можете знать его значение во время ввода данных, но вы знаете другие значения в дочерней таблице, которые необходимо ввести.

Соседние файлы в предмете Базы данных