otchet_5_laba
.docМинистерство образования и науки Российской Федерации
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра промышленной электроники (ПрЭ)
Отчет по лабораторной работе № 5
Создание связанных таблиц в СУБД ORACLE
С декларативными ограничениями данных
По дисциплине «Базы данных»
Выполнил:
Студент группы з-65
_________Патлай Д.Н.
Принял:
Ст.преподователь кафедры ПрЭ
__________Муравьев А.И.
2020
Вариант 3
Создать две связанные таблицы: родительская - абонент, дочерняя - экземпляр книги.
В таблице абонент должны содержаться данные:
номер читательского билета (от 100 до 1500);
ФИО абонента;
телефон (6-ти разрядное число);
адрес абонента;
телефон;
паспорт.
В таблице экземпляр книги должны содержаться данные:
номер (от 1000);
название книги;
номер полки (от 10 до 100, исключая 55, 56, 88);
общее количество экземпляров (не больше 10);
вес экземпляра (от 100 до 1500).
Создание двух связанных таблиц
create table abonent(
nom_chb number(4)not null, check (nom_chb between 100 and 1500),
fio nvarchar2(20) not null,
tel number (6) not null,check (tel >=6),
adres nvarchar2 (30)not null,
pasport number (6)not null, check (pasport >=6),
primary key (nom_chb) // первичный ключ
);
create table jkz_knig (
nom number(5)not null, check (nom >1000),
nazvanie nvarchar2 (30) not null,
nom_polk number (3) not null, check (nom_polk >=1 and nom_polk <=100 and nom_polk <>55 and nom_polk <>56 and nom_polk <>88),
kol_jkz number (2)not null, check (kol_jkz <=10),
ves_jkz number(4)not null, check (ves_jkz between 100 and 1500),
nom_chb number(4)not null, check (nom_chb between 100 and 1500),
constraint pk_nom primary key (nom), // первичный ключ
constraint fk_nom_chb foreign key (nom_chb) // внешний ключ
references abonent (nom_chb)
)
Вносим данные в таблицу абонент
insert into abonent (nom_chb, fio,tel,adres,pasport) values
(100,'Ильинов В.А.','411111','Ливерпуль ул.Победы 4','123568');
insert into abonent (nom_chb, fio,tel,adres,pasport) values
(1010,'Ижморкин В.А.','457826','Томск ул.Победы 7','127858');
insert into abonent (nom_chb, fio,tel,adres,pasport) values
(1500,'Иванов В.С.','987326','Череповец ул.Мира 44','0994558');
insert into abonent (nom_chb, fio,tel,adres,pasport) values
(1245,'Шварц А.А.','384256','Мадрид ул.Профсоюзная 14','333888');
select * from abonent
Вносим данные в таблицу экземпляр книги
insert into jkz_knig (nom,nazvanie,nom_polk,kol_jkz,ves_jkz,nom_chb ) values
(1425,'У реки','65','2','123','1245');
insert into jkz_knig (nom,nazvanie,nom_polk,kol_jkz,ves_jkz,nom_chb ) values
(1365,'Сугроб','53','6','110','1500');
insert into jkz_knig (nom,nazvanie,nom_polk,kol_jkz,ves_jkz,nom_chb )values
(1134,'Снегурочка','36','4','12','100');
insert into jkz_knig (nom,nazvanie,nom_polk,kol_jkz,ves_jkz,nom_chb )values
(1111,'Космос','51','8','133','1010');
select * from jkz_knig
Ответы на контрольные вопросы:
«Ссылочная целостность в реляционной базе данных – это согласованность между связанными таблицами. Ссылочная целостность обычно поддерживается путем комбинирования первичного ключа и внешнего ключа.
По умолчанию Oracle разрешает значения NULL во всех столбцах. Если эти значения недопустимы для некоторых столбцов таблицы, для них необходимо задавать ограничение NOT NULL.
пять основных типов:
ограничения первичного ключа;
ограничения NOT NULL;
проверочные ограничения;
ограничения уникальности;
ссылочные ограничения целостности.
4. Какие ограничения определяются в ограничении таблицы?
Целостность таблицы заключается в том, что никакой атрибут возможного или первичного ключа не может иметь пустое значение.
5. Сколько первичных ключей можно определить для таблицы?
Первичный ключ может быть только один.
6. Имеет ли значение порядок создания родительской и дочерней таблиц?
Для создания структуры таблицы нет разницы. Но при наполнении дочерней таблицы родительская должна быть задана.
7. В каком случае внешний ключ может допускать пустые значения?
Необходимость пустого значения внешнего ключа, возникает, когда вы не можете знать его значение во время ввода данных, но вы знаете другие значения в дочерней таблице, которые необходимо ввести.
Министерство образования и науки Российской Федерации
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра промышленной электроники (ПрЭ)
Отчет по лабораторной работе № 6
«Создание сложных запросов с использованием под запросов и агрегированных функций,
по дисциплине «Базы данных»
Выполнил:
Студент группы з-65
_________Патлай Д.Н.
Принял:
Ст.преподователь кафедры ПрЭ
__________Муравьев А.И.
2020
select * from abonent
select * from jkz_knig
insert into abonent (nom_chb, fio,tel,adres,pasport) values
(100,'Ильинов В.А.','411111','Ливерпуль ул.Победы 4','123568');
insert into abonent (nom_chb, fio,tel,adres,pasport) values
(1010,'Ижморкин В.А.','457826','Томск ул.Победы 7','127858');
insert into abonent (nom_chb, fio,tel,adres,pasport) values
(1500,'Иванов В.С.','987326','Череповец ул.Мира 44','0994558');
insert into abonent (nom_chb, fio,tel,adres,pasport) values
(1245,'Шварц А.А.','384256','Мадрид ул.Профсоюзная 14','333888');
insert into jkz_knig (nom,nazvanie,nom_polk,kol_jkz,ves_jkz,nom_chb ) values
(1425,'У реки','65','2','123','1245');
insert into jkz_knig (nom,nazvanie,nom_polk,kol_jkz,ves_jkz,nom_chb ) values
(1365,'Сугроб','53','6','110','1500');
insert into jkz_knig (nom,nazvanie,nom_polk,kol_jkz,ves_jkz,nom_chb )values
(1134,'Снегурочка','36','4','12','100');
insert into jkz_knig (nom,nazvanie,nom_polk,kol_jkz,ves_jkz,nom_chb )values
(1111,'Космос','51','8','133','1010');