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

Лаб 17 УД Голиков Илья

.docx
Скачиваний:
3
Добавлен:
10.05.2023
Размер:
25.18 Кб
Скачать

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ

ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ

(НИУ «БелГУ»)

ИНСТИТУТ ИНЖЕНЕРНЫХ И ЦИФРОВЫХ ТЕХНОЛОГИЙ

КАФЕДРА ИНФОРМАЦИОННЫХ И РОБОТОТЕХНИЧЕСКИХ СИСТЕМ

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

Тема работы «Язык SQL. Использование языка описания данных DML»

по дисциплине “Управление данными”

студента (ки) очного отделения

2 курса 12002105 группы

Голикова Ильи Александровича

Проверил:

Асс. Лысакова Татьяна Андреевна

(ученая степень, звание, Фамилия Инициалы)

Белгород

2023

Цель работы

Изучить основы языка манипулирования данными DML в SQL, применить полученные знания для физического проектирования баз данных

Ход работы

В ходе выполнения лабораторной работы с помощью языка DML и операций INSERT, UPDATE, DELETE заполнили информацией созданную в ходе выполнения предыдущих лабораторных работ базу данных.

Результат выполнения работы представлен на рисунке 1

Рисунок 1 – Данные в таблице invoice

Данные в базу данных вносились с помощью следующего кода на языке DML:

USE maindb;

INSERT INTO list_of_services (name_of_service, unit, unit_price)

VALUES

("Холодное водоснабжение", "Куб. м", 29.47),

("Горячее водоснабжение", "Куб. м", 140.77),

("Водоотведение", "Куб. м", 28.25),

("Электроснабжение", "КВт/ч", 4.9),

("Газоснабжение", "Куб. м", 7.51),

("Обращение с ТКО", "Куб. м", 550.92),

("Отопление", "Гкал", 2232);

INSERT INTO period (period)

VALUES

("01_2023"),

("02_2023"),

("03_2023"),

("04_2023"),

("05_2023"),

("06_2023");

INSERT INTO house(address, number_of_floors, year_of_construction)

VALUES

("Белгород, ул. Некрасова, Д. 24", 2, 1994),

("Белгород, ул. Некрасова, Д. 25", 3, 1995),

("Белгород, ул. Некрасова, Д. 26", 4, 1996),

("Белгород, ул. Некрасова, Д. 27", 5, 1997),

("Белгород, ул. Некрасова, Д. 28", 2, 1998),

("Белгород, ул. Некрасова, Д. 29", 3, 1999),

("Белгород, ул. Некрасова, Д. 30", 4, 2000),

("Белгород, ул. Некрасова, Д. 31", 5, 2001),

("Белгород, ул. Некрасова, Д. 32", 2, 2002),

("Белгород, ул. Некрасова, Д. 33", 3, 2003),

("Белгород, ул. Некрасова, Д. 34", 4, 2004);

INSERT INTO payer(full_name, address, date_of_birth, phone)

VALUES

("Азаренков Александр Александрович", "Белгород, ул. Некрасова, д. 31", '1999-01-15', "+7 910 456 43 34"),

("Семенной Николай Павлович", "Белгород, ул. Некрасова, д. 78", '1996-02-15', "+7 910 457 43 34"),

("Криворотенко Владимир Михайлович", "Белгород, ул. Некрасова, д. 30", '1996-03-15', "+7 910 458 43 34"),

("Подколзина Ирина Родионовна", "Белгород, ул. Студенческая, д. 21", '1964-04-15', "+7 910 459 43 34"),

("Арбатовская Дарья Владимировна", "Белгород, ул. Некрасова, д. 34", '1949-05-15', "+7 910 460 43 34"),

("Ветков Михаил Петрович", "Белгород, ул. Попова, д. 31", '1966-06-15', "+7 910 456 63 34"),

("Лагута Андрей Валентинович", "Белгород, ул. Некрасова, д. 42", '1989-07-15', "+7 910 456 33 34"),

("Ивашина Светлана Николаевна", "Белгород, ул. Серебряная, д. 55", '1992-07-15', "+7 910 456 03 34");

DESCRIBE apartment;

INSERT INTO apartment(area, payer_id, house_id)

VALUES

(45.11, 1, 4),

(65.11, 1, 4),

(55.11, 2, 4),

(43.11, 2, 4),

(89.11, 3, 2),

(25.66, 3, 2),

(77.11, 4, 2),

(35.66, 5, 2),

(48.11, 6, 9),

(66.45, 6, 9),

(45.11, 6, 9);

INSERT INTO repair_request(description, is_completed, apartment_id)

VALUES

("Поломка крана", 0, 3),

("Поломка батареи", 0, 7),

("Забита канализация", 1, 8),

("Нет горячей воды", 1, 5),

("Нет холодной воды", 1, 2),

("Поломка батареи", 0, 8),

("Замена трубы отопления", 1, 3);

INSERT INTO invoice(is_paid, apartment_id, period)

VALUES

(0, 1, "02_2023"),

(0, 2, "02_2023"),

(0, 3, "02_2023"),

(0, 4, "02_2023"),

(0, 5, "02_2023"),

(0, 6, "02_2023");

INSERT INTO rendered_services(name_of_service, number_of_units, invoice_id)

VALUES

("Газоснабжение", 48, 1),

("Горячее водоснабжение", 6, 1),

("Холодное водоснабжение", 3, 1),

("Газоснабжение", 43, 2),

("Горячее водоснабжение", 7, 2),

("Холодное водоснабжение", 3, 2),

("Газоснабжение", 23, 3),

("Горячее водоснабжение", 2, 3),

("Холодное водоснабжение", 1, 3),

("Газоснабжение", 31, 4),

("Горячее водоснабжение", 6, 4),

("Холодное водоснабжение", 3, 4),

("Газоснабжение", 23, 5),

("Горячее водоснабжение", 1, 5),

("Холодное водоснабжение", 0.5, 5),

("Газоснабжение", 21, 6),

("Горячее водоснабжение", 3, 6),

("Холодное водоснабжение", 1, 6);

SELECT * FROM rendered_services

WHERE invoice_id = 1;

UPDATE invoice

SET payment_amount = (48 * 7.51 + 6 * 140.77 + 3 * 29.47)

WHERE invoice_id = 1;

UPDATE invoice

SET payment_amount = 500

WHERE invoice_id = 6;

UPDATE invoice

SET payment_amount = 500

WHERE invoice_id = 2;

UPDATE invoice

SET payment_amount = 500

WHERE invoice_id = 3;

UPDATE invoice

SET payment_amount = 500

WHERE invoice_id = 4;

UPDATE invoice

SET payment_amount = 500

WHERE invoice_id = 5;

Вывод

В ходе выполнения лабораторной работы изучили основы языка манипулирования данными DML в SQL и применили полученные знания для физического проектирования базы данных