Лаб 16 УД Голиков Илья
.docxФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ
ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
(НИУ «БелГУ»)
ИНСТИТУТ ИНЖЕНЕРНЫХ И ЦИФРОВЫХ ТЕХНОЛОГИЙ
КАФЕДРА ИНФОРМАЦИОННЫХ И РОБОТОТЕХНИЧЕСКИХ СИСТЕМ
Отчет по лабораторной работе № 16
Тема работы «Язык SQL. Использование языка описания данных DDL»
по дисциплине “Управление данными”
студента (ки) очного отделения
2 курса 12002105 группы
Голикова Ильи Александровича
Проверил:
Асс. Лысакова Татьяна Андреевна
(ученая степень, звание, Фамилия Инициалы)
Белгород
2023
Цель работы
Изучить основы языка описания данных DDL в SQL, применить полученные знания для физического проектирования баз данных.
Ход работы
В ходе выполнения лабораторной работы с помощью языка DDL по спроектированной в предыдущей лабораторной работе схеме базы данных была создана база данных.
Схема созданной базы данных представлена на рисунке 1
Рисунок 1 – Схема созданной базы данных
База данных была создана с помощью кода на языке DDL, сервера mysql и инструмента визуального проектирования баз данных MySQL Workbench.
Код DDL для генерации базы данных и её структуры:
create database maindb;
use maindb;
create table period(
period varchar (7) primary key not null
) engine = InnoDB;
create table invoice (
invoice_id int primary key auto_increment,
is_paid int
) engine = InnoDB;
create table list_of_services(
name_of_service varchar(40) primary key,
unit varchar(20),
unit_price float
) engine = InnoDB;
create table apartment(
apartment_id int primary key auto_increment,
area float
) engine = InnoDB;
create table repair_request(
request_id int primary key auto_increment,
description varchar(300),
is_completed int1
) engine = InnoDB;
create table payer(
payer_id int primary key auto_increment,
full_name varchar(50),
address varchar(150),
date_of_birth date,
phone varchar(15)
);
create table house(
house_id int primary key auto_increment,
address varchar(150),
number_of_floors int4,
year_of_construction int
);
create table rendered_services(
rs_id int primary key auto_increment,
number_of_units float
);
alter table apartment
add column payer_id int,
add column house_id int,
add constraint fk_payer_id foreign key (payer_id) references payer(payer_id),
add constraint fk_house_id foreign key (house_id) references house(house_id);
alter table repair_request
add column apartment_id int,
add foreign key (apartment_id) references apartment(apartment_id);
alter table invoice
add column apartment_id int,
add constraint fk_apartment_id foreign key (apartment_id) references apartment(apartment_id),
add column period varchar(7),
add constraint fk_period foreign key (period) references period(period);
alter table rendered_services
add column invoice_id int,
add constraint fk_invoice_id foreign key(invoice_id) references invoice(invoice_id),
add column name_of_service varchar(40),
add constraint fk_name_of_service foreign key (name_of_service) references list_of_services(name_of_service);
Вывод
В ходе выполнения лабораторной работы основы языка описания данных DDL в SQL, применили полученные знания для физического проектирования баз данных.