Добавлен: 06.11.2023
Просмотров: 21
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Псковский государственный университет»
Передовая инженерная школа гибридных технологий в станкостроении Союзного государства
Кафедра информационно-коммуникационных технологий
Отчёт по курсовому проекту
по дисциплине
Управление данными
на тему
«Учету обмена жилплощади»
Группа: 1024-03
Студент: Минаев А.Д.
Преподаватель: Вертешев А.С.
Псков
2023
Содержание
1 Задание 3
2 Проектирование базы данных 4
2.1 Проектирование и организация данных 4
2.2 Создание базы данных 7
3. Запросы для базы данных 8
1 Задание
Название проекта — проектирование базы данных по учету смены жилья.
Проект предзназначен для хранения информации об учете смены жилья людьми, дат смены жилья, адресов жилья, а так же для хранения контактных данных клиентов.
Проект должен состоять из объекты: районы, клиенты, жилье, обмены жилья, тип жилья.
Для моделирования задачи необходимо хранить следующую информацию:
* ФИО клиента
* Адрес места работы клиента с указанием района
* Характеристика жилья (адрес, район, размер жилья)
* Тип жилья (1, 2, 3, -комнатная квартира)
* Обмен жилплощади (было, стало)
* Дата обмена
Дополнительные условия:
* один клиент может произвести несколько обменов жилья.
2 Проектирование базы данных
2.1 Проектирование и организация данных
На рисунке 2.1 представлена спроектированная структура базы данных:
рис 2.1 структура базы данных
В таблице 2.1 описана таблица clients – клиенты. Таблица clients служит для хранения информации о контактных данных клиента.
Таблица 2.1 Описание таблицы clients
Имя поля | Тип данных | Ключ | Описание |
id | int4(serial) | Первичный | Код клиента |
first_name | varchar(50) | | Имя клиента |
surname | varchar(50) | | Фамилия клиента |
patronymic | varchar(50) | | Отчество клиента |
work_address_id | int4 | Внешний | Код адреса работы клиента |
В таблице 2.2 описана таблица works_address_clients – рабочие адреса клиентов. Таблица works_address_clients служит для хранения информации о рабочем адресе клиентов с указанием района их работы.
Таблица 2.2 Описание таблицы works_address_clients
В таблице 2.3 описана таблица changes – новости. Таблица changes служит для хранения информации о смене клиентами квартир/домов с указанием даты смены, а так же о их настоящем месте проживания.
Таблица 2.3 Описание таблицы changes
В таблице 2.4 описана таблица houses – квартиры/дома. Таблица houses служит для хранения информации о квартирах/домах, которые были сменены или доступны для смены.
Таблица 2.4 Описание таблицы houses
В таблице 2.5 описана таблица types – типы. Таблица types служит для хранения информации о типах жилья.
Таблица 2.5 Описание таблицы types
В таблице 2.6 описана таблица areas– квартиры/дома. Таблица areas служит для хранения информации о районах, которые есть в городе.
Таблица 2.6 Описание таблицы areas
2.2 Создание базы данных
Создание таблицы clients:
CREATE TABLE clients (
id integer(serial),
first_name character varying(50) NOT NULL,
last_name character varying(50) NOT NULL,
patronymic character varying(50) NOT NULL, work_address_id integer,
CONSTRAINT clients_pkey PRIMARY KEY (id),
CONSTRAINT cl_work_ad_fk FOREIGN KEY (work_address_id) REFERENCES work_address (id) ON UPDATE CASCADE ON DELETE SET NULL);
Создание таблицы works_address_clients:
Создание таблицы changes:
Создание таблицы houses:
Создание таблицы types:
Создание таблицы areas:
3. Запросы для базы данных
Данные запросы служат для проверки работоспособности и правильного функционирования базы данных в условиях работы:
1)Три запроса на выборку с использованием join, использовать не мене 3 таблиц (3)
select * from clients client JOIN
changes change ON(client.id = change.client_id) JOIN
houses house ON(change.current_address_id = house.id);
select * from clients client JOIN
changes change ON(client.id = change.client_id) JOIN
houses house ON(change.current_address_id = house.id);
2) Запросы на объединение, пересечение, разность, произведение, проекцию, деление (6)
Ошибка: источник перекрёстной ссылки не найден2) Запросы на объединение, пересечение, разность, произведение, проекцию, деление (6)
3) Запросы на соединение: left join, right join, full outer join (3)
4) 2 подзапроса: простой, сложный (2)
5) Запросы с различными уровнями вложенности подзапросов в частях select, From where, having (4)
6) Создание ролей пользователей user, guest (2)
CREATE ROLE user;
CREATE ROLE guest;
createuser user
\h CREATE ROLE
– опции доступа7) Создание двух транзакций с тремя точками восстановления на удаление, создание транзакции на вставку (3)
8) Создание двух представлений: изменяемое, неизменяемое (2)
9) Шифрование столбцов (1 запрос)
10) Расшифровка столбцов (1)
11) Перекрестные запросы (2)
12) Запрос на перевод в формат JSON (1)
13) Запрос на перевод в формат XML (2)