
Лабораторные работы / БСБД Лабораторная работа 1
.pdfМинистерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра комплексной информационной безопасности электронновычислительных систем (КИБЭВС)
СОЗДАНИЕ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ Отчет по лабораторной работе №1
по дисциплине «Безопасность систем баз данных»
Студент гр. 7х3-х
_______ ххххххх
_______
Приняла:
Ассистент кафедры БИС
_______ Романова Е.С.
_______
Томск 2025
Введение
Целью работы является создание учебной базы данных под управлением реляционной СУБД.
Постановка задачи:
1.Ознакомиться с правилами работы СУБД;
2.Изучить набор команд языка SQL, связанный с созданием базы данных, созданием, модификацией структуры таблиц и их удалением;
3.Создать базу данных для своей предметной области.
2
2 ХОД РАБОТЫ
2.1Описание таблиц БД
Втаблице 2.1 – таблице 2.4 представлены описания таблиц базы данных. Таблица 2.1 – Описание таблицы базы данных Заявка
Имя поля |
Тип данных поля |
Описание |
Ограничения |
|
|
|
|
ID заявки |
Счетчик |
Уникальный |
Первичный ключ |
|
|
идентификатор |
|
|
|
заявки |
|
|
|
|
|
ID администратора |
Числовой |
Уникальный |
Внешний ключ |
|
|
идентификатор |
|
|
|
администратора, |
|
|
|
обработавшего |
|
|
|
заявку |
|
|
|
|
|
№ комнаты |
Числовой |
Индивидуальный |
Внешний ключ |
|
|
номер |
|
|
|
гостиничной |
|
|
|
комнаты |
|
|
|
|
|
ID гостя |
Числовой |
Уникальный |
Внешний ключ |
|
|
идентификатор |
|
|
|
гостя, подавшего |
|
|
|
заявку |
|
|
|
|
|
Количество гостей |
Числовой |
Количество |
Условие на |
|
|
гостей, которое |
значение: >0 |
|
|
будет проживать в |
|
|
|
номере |
|
|
|
|
|
Дата и время |
Дата и время |
Дата и время |
Обязательное поле |
заселения |
|
заселения гостей в |
|
|
|
гостиничный |
|
|
|
|
|
3
|
|
номер |
|
|
|
|
|
Дата и время |
Дата и время |
Дата и время |
Обязательное поле |
выселения |
|
выселения гостей |
|
|
|
из гостиничного |
|
|
|
номера |
|
|
|
|
|
Итоговая цена |
Числовой |
Цена за суммарное |
Условие на |
|
|
количество |
значение: >=0 |
|
|
прожитых в |
|
|
|
номере ночей |
|
|
|
|
|
Таблица 2.2 – Описание таблицы базы данных Гостиничный номер |
|||
|
|
|
|
Имя поля |
Тип данных поля |
Описание |
Ограничения |
|
|
|
|
№ комнаты |
Числовой |
Индивидуальный |
Первичный ключ |
|
|
номер |
|
|
|
гостиничной |
|
|
|
комнаты |
|
|
|
|
|
Тип |
Текстовый |
Тип гостиничного |
Условие на |
|
|
номера |
значение: |
|
|
|
одноместный, |
|
|
|
двухместный |
|
|
|
|
Цена за ночь |
Числовой |
Цена за одну ночь |
Обязательное |
|
|
пребывания в |
поле; |
|
|
номере |
условие на |
|
|
|
значение: >=0 |
|
|
|
|
4
Таблица 2.3 – Описание таблицы базы данных Администратор
Имя поля |
Тип данных поля |
Описание |
Ограничения |
|
|
|
|
ID администратора |
Счетчик |
Уникальный |
Первичный ключ |
|
|
идентификатор |
|
|
|
администратора |
|
|
|
|
|
Фамилия |
Текстовый |
Фамилия |
Обязательное |
|
|
администратора |
поле; |
|
|
|
Условие на |
|
|
|
значение: первая |
|
|
|
буква должна быть |
|
|
|
в диапазоне [A-Я] |
|
|
|
|
Имя |
Текстовый |
Имя |
Обязательное |
|
|
администратора |
поле; |
|
|
|
Условие на |
|
|
|
значение: первая |
|
|
|
буква должна быть |
|
|
|
в диапазоне [A-Я] |
|
|
|
|
Отчество |
Текстовый |
Отчество |
Условие на |
|
|
администратора |
значение: первая |
|
|
|
буква должна быть |
|
|
|
в диапазоне [A-Я] |
|
|
|
|
Стаж |
Числовой |
Стаж работы |
Условие на |
|
|
администратора |
значение: >=0 |
|
|
|
|
Дата рождения |
Дата |
Дата рождения |
– |
|
|
администратора |
|
|
|
|
|
Пол |
Текстовый |
Пол |
Условие на |
|
|
администратора |
значение: |
|
|
|
|
5
|
|
|
женский, мужской |
|
|
|
|
Номер телефона |
Текстовый |
Номер телефона |
Условие на |
|
|
администратора |
значение: |
|
|
для связи |
соответствует |
|
|
|
маске +7(999)999- |
|
|
|
99-99 |
|
|
|
|
Электронная почта |
Текстовый |
Электронная почта |
Условие на |
|
|
администратора |
значение: |
|
|
для связи |
соответствует |
|
|
|
маске %@%.% |
|
|
|
|
Таблица 2.4 – Описание таблицы базы данных Гость |
|
||
|
|
|
|
Имя поля |
Тип данных поля |
Описание |
Ограничения |
|
|
|
|
ID гостя |
Счетчик |
Уникальный |
Первичный ключ |
|
|
идентификатор |
|
|
|
гостя |
|
|
|
|
|
Фамилия |
Текстовый |
Фамилия гостя |
Обязательное |
|
|
|
поле; |
|
|
|
Условие на |
|
|
|
значение: первая |
|
|
|
буква должна быть |
|
|
|
в диапазоне [A-Я] |
|
|
|
|
Имя |
Текстовый |
Имя гостя |
Обязательное |
|
|
|
поле; |
|
|
|
Условие на |
|
|
|
значение: первая |
|
|
|
буква должна быть |
|
|
|
в диапазоне [A-Я] |
|
|
|
|
6
Отчество |
Текстовый |
Отчество гостя |
Условие на |
|
|
|
значение: первая |
|
|
|
буква должна быть |
|
|
|
в диапазоне [A-Я] |
|
|
|
|
Серия паспорта |
Текстовый |
Серия паспорта |
Обязательное поле |
|
|
для удостоверения |
|
|
|
личности |
|
|
|
|
|
Номер паспорта |
Текстовый |
Номер паспорта |
Обязательное поле |
|
|
для удостоверения |
|
|
|
личности |
|
|
|
|
|
Дата рождения |
Дата |
Дата рождения |
Обязательное поле |
|
|
гостя |
|
|
|
|
|
Пол |
Текстовый |
Пол гостя |
Условие на |
|
|
|
значение: |
|
|
|
женский, мужской |
|
|
|
|
Номер телефона |
Текстовый |
Номер телефона |
Условие на |
|
|
гостя для связи |
значение: |
|
|
|
соответствует |
|
|
|
маске +7 (999) |
|
|
|
999-99-99 |
|
|
|
|
Электронная почта |
Текстовый |
Электронная почта |
Условие на |
|
|
гостя для связи |
значение: |
|
|
|
соответствует |
|
|
|
маске |
|
|
|
name@mail.ru |
|
|
|
|
7

2.2Создание БД
Спомощью СУБД PostgreSQL была создана база данных «hotelDB» (рисунок 2.1).
Рисунок 2.1 – Создание БД Была открыта консоль для создания таблиц, входящих в базу данных.
SQL запросы, с помощью которых были созданы таблицы представлены на рисунке 2.2 – рисунке 2.5.
8

Рисунок 2.2 – Создание таблицы «Заявка»
Рисунок 2.3 – Создание таблицы «Гостиничный номер»
9

Рисунок 2.4 – Создание таблицы «Администратор»
Рисунок 2.5 – Создание таблицы «Гость»
На рисунке 2.6 представлена ER-модель для созданной базы данных.
10