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

5 СЕМЕСТР / ПР / ПР2 / Пример выполнения_1+2 Пр

.pdf
Скачиваний:
5
Добавлен:
25.06.2023
Размер:
1.1 Mб
Скачать

Примеры выполнения ER-модели, проектирования логической структуры БД и нормализации отношений

Пример выполнения № 1

1.1 Описание предметной области.

База данных «Аэропорт» хранит и выдает информацию о работниках самолета, о расписании вылетов, о самолетах, о бригадах самолетов (т. е. об экипаже), о ведомости продаж билетов.

1.2 Описание входных документов

Благодаря базе данных «Аэропорт» можно будет получить информацию о номере самолета, узнать год выпуска самолета, количество посадочных мест и грузоподъемность. О работниках самолета можно будет узнать ФИО, год рождения, стаж и должность, пол, адрес и телефон. В

расписании вылетов можно узнать номер самолета, дату и время вылета,

номер маршрут, маршрут (начальный и конечный пункты назначения,

пункты пересадки), стоимость билета. О бригаде самолетов можно узнать такие вещи, как номер бригады, название самолета, ФИО работника, который состоит в этой бригаде (о его должности), номере маршрута по которому движется бригада. Что касается продажи билетов, можно узнать дату и время продажи, ФИО пассажира, паспортные данные, номер рейса, стоимость билета.

Для каждого рейса необходимо выделить самолет, бригаду самолета и внести это в график работы и ведомость продажи билетов. Правильно составленный график полетов позволит грамотно использовать время занятости и загруженность рейсов. Для того, чтобы всегда отслеживать работу авиакомпании и следить за качеством работы сотрудников,

необходима база данных, включающая всю необходимую информацию.

1.3 Определение пользователей

- работники аэропорта: у них есть доступ к базе данных, но производить манипуляции с таблицами они не могут;

-администратор аэропорта: у него есть доступ ко всей базе данных и полномочия выполнять любые действия с данными;

- пассажиры: могут только просматривать таблицу с расписанием вылетов;

-кассир: помогает пассажирам выбрать необходимый рейс и помогает с оформлением;

1.4 Определение запросов

-всевозможные запросы, содержащие информацию в базе данных;

-подсчет пассажиров, летающими определенным рейсом;

-подсчет всех участвующих сотрудников в бригаде;

-подсчет сотрудников определенной должности в каждой бригаде;

-количество мест в самолете;

-принадлежность самолета к определенной бригаде;

-подсчет суммы проданных билетов;

1.5 Описание выходных документов

- после покупки билета, пассажир относится к определенному рейсу, к

которому уже относится определенная бригада. Происходит формирование

«группы», летящей определенным самолетом/рейсом.

- «Ведомость продажи билетов» формирует подсчет суммы проданных за день билетов или общую сумму за определенный рейс;

2 Анализ сущностей и связей между ними

2.1 ER-диаграмма

Нужна для составления предполагаемой схемы связей между таблицами в данной БД. Так же ER-диаграмма отражает связь таблиц,

наглядное отображение первичных и внешних ключей.

Первичный ключ — это поле или набор полей таблицы, которые предоставляют уникальный идентификатор для каждой строки. После того как первичный ключ определен, его можно использовать в других таблицах для ссылки на таблицу с полем первичного ключа. Например, номер бригады.

Однако, для идентификации каждой бригады первичного ключа недостаточно, так как каждая бригада принадлежит определенному самолету.

Каждая бригада летает определенными маршрутами. И в состав каждой бригады входят определенные работники. Для этого используем внешние ключи. Внешний ключ – это атрибут отношения, который является первичным ключом другого отношения. В моем случае, это атрибут таблицы самолетов. С помощью внешнего ключа будет определено к какому самолету принадлежит каждая бригада.

Рисунок 1 – ER-диаграмма

По предварительно-составленной ER-диаграмме составила схему данных для ИС, где указываются имена сущностей, их атрибуты и связи между сущностями. Даталогическая модель БД представляется в виде набора таблиц специальной формы, в которых указываются наименование атрибута,

идентификатор, тип, длина, формат, ограничения.

Таблица 1 - Список связей

Названи

Сущности, участвующие в

Назначение

 

 

е связи

связи

 

 

 

 

 

 

 

 

 

1

М:М

Ведомость - Расписание

Ведомость

выписывается

к

 

 

вылетов

конкретному вылету

 

 

 

 

 

 

2

1:М

Бригады самолетов –

Каждая бригада самолетов

 

 

 

Расписание вылетов

осуществляет определенные

 

 

 

 

вылеты

 

 

 

 

 

 

 

3

1:М

Бригада самолетов – Работники

В каждой

бригаде определенные

 

 

аэропорта

работники.

 

 

Рисунок 2 – Схема базы данных

2.2 Нормализация отношений

В рассматриваемой БД будет 5 таблиц. Рассмотрим каждую из них подробно.

 

 

 

 

 

 

 

 

 

Таблица 2 - Список сущностей

 

 

 

 

 

 

 

Название

 

 

Назначение

 

1

Работники аэропорта

 

Персональные данные о работниках

 

2

Расписание вылетов

 

График полетов, связанные с определенным самолетом,

 

 

 

 

 

 

 

продажей билетов и бригадой самолетов

 

 

 

 

 

 

 

3

Самолеты

 

 

Описание основных характеристик самолета

 

4

Бригады

 

 

 

 

Состав работников определенной бригады самолета

 

5

Ведомость

продаж

 

Хранение сведений о продаже билетов и пассажирах

 

 

билетов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 3 – Список атрибутов таблицы «Работники аэропорта»

 

Ключевое

 

Название

 

Назначение

 

поле

 

 

 

 

 

 

 

 

ПК

 

 

Код работника

Ключевое поле. Представляет собой первичный

 

(Первичный

 

 

 

 

 

ключ. Это уникальное значение, соответствующее

 

ключ)

 

 

 

 

 

каждому работнику. Например, это его табельный

 

 

 

 

 

 

 

 

номер.

 

 

 

 

 

 

 

 

 

 

 

 

ФИО работника

 

 

 

 

 

 

Пол

 

 

 

 

 

 

 

 

 

Должность

 

Пилот, диспетчер, техник, стюардесса, кассир

 

 

 

 

Год рождения

 

 

 

 

 

 

 

Стаж

 

 

 

 

 

 

 

 

 

Телефон

 

 

 

 

 

 

 

Адрес

 

 

 

 

 

 

 

 

Таблица 4 – Список атрибутов таблицы «Расписание вылетов»

 

Ключевое

Название

 

 

Назначение

 

поле

 

 

 

 

 

 

 

 

ПК

 

Код работника

 

 

Ключевое поле. Представляет собой первичный

 

(Первичный

 

 

 

 

 

 

ключ. Это уникальное значение,

 

ключ)

 

 

 

 

 

 

соответствующее каждому вылету. Например,

 

 

 

 

 

 

 

 

 

номер рейса

 

 

 

 

 

 

 

 

 

Ключевое

Название

 

 

Назначение

поле

 

 

 

 

ВК

Код самолета

 

 

Внешний ключ – это атрибут отношения,

(Внешний

 

 

 

который является первичным ключом другого

ключ)

 

 

 

отношения. В моем случае, это атрибут таблицы

 

 

 

 

самолетов. С помощью внешнего ключа будет

 

 

 

 

определено какой самолет полетит данным

 

 

 

 

определенным рейсом.

 

Дата и время вылета

 

 

 

 

Маршрут

 

 

Начальный и конечный пункты назначения,

 

 

 

 

пункты пересадки

 

Номер маршрута

 

 

 

 

Стоимость билета

 

 

 

 

 

Таблица 5 – Список атрибутов таблицы «Самолеты»

 

 

 

 

 

Ключевое

Название

 

 

Назначение

поле

 

 

 

 

ПК

Код самолета

 

 

Ключевое поле. Представляет собой первичный

(Первичный

 

 

 

ключ. Это уникальное значение, соответствующее

ключ)

 

 

 

каждому самолету. Например, номер самолета.

 

 

 

 

 

 

Название самолета

 

 

 

 

Год выпуска

 

 

 

 

Количество посадочных

 

 

мест

 

 

 

 

Грузоподъемность

 

 

 

 

 

Таблица 6 – Список атрибутов таблицы «Бригады»

Ключевое

Название

 

 

Назначение

поле

 

 

 

 

ПК

Код бригады

 

 

Ключевое поле. Представляет собой первичный

(Первичный

 

 

 

ключ. Это уникальное значение, соответствующее

ключ)

 

 

 

каждой бригаде самолета. Например, номер

 

 

 

 

бригады.

 

 

 

 

Однако, для идентификации каждой бригады

 

 

 

 

первичного ключа недостаточно, так как каждая

 

 

 

 

бригада принадлежит определенному самолету.

 

 

 

 

Каждая бригада летает определенными

 

 

 

 

маршрутами. И в состав каждой бригады входят

 

 

 

 

определенные работники. Для этого используем

 

 

 

 

внешние ключи.

 

 

 

 

 

Ключевое

Название

 

 

Назначение

поле

 

 

 

 

 

ВК

Код самолета

Внешний ключ – это атрибут отношения, который

 

(Внешний

 

является первичным ключом другого отношения.

 

ключ)

 

В моем случае, это атрибут таблицы самолетов. С

 

 

 

помощью внешнего ключа будет определено к

 

 

 

какому самолету принадлежит каждая бригада.

 

 

 

 

 

ВК

Код работника

С помощью внешнего ключа будет определено

 

(Внешний

 

какой работник принадлежит к каждой бригаде.

 

ключ)

 

 

 

ВК

Код вылета

С помощью внешнего ключа будет определено

 

(Внешний

 

каким рейсом полетит эта бригада.

 

ключ)

 

 

 

 

Маршрут

 

 

 

Самолет

 

 

 

ФИО работника

 

 

 

Таблица 7 – Список атрибутов таблицы «Ведомость продажи билетов»

 

Ключевое

Название

Назначение

 

поле

 

 

 

ПК

Код продажи

Ключевое поле. Представляет собой первичный

 

(Первичный

 

ключ. Это уникальное значение, соответствующее

 

ключ)

 

каждой ведомости. Например, номеру ведомости.

 

 

 

 

 

ВК

Код вылета

Чтобы осуществить продажу билета, необходимо

 

(Внешний

 

знать номер рейса. Поэтому нужно использовать

 

ключ)

 

внешний ключ «Расписание вылетов». Чтобы

 

 

 

точно знать когда пассажир воспользуется

 

 

 

билетом, который он приобрел.

 

 

ФИО пассажира

 

 

 

Дата и время вылета

 

 

 

Паспорт

 

 

 

Номер рейса

 

 

 

Стоимость билета

 

Пример выполнения № 2

1.1 Описание предметной области.

База данных «ВМФ» хранит и выдает информацию о базах и частях ВМФ, кораблях, имеющихся на вооружении, сотрудниках и проведенных учениях.

1.2 Описание входных документов

БД состоит из следующих таблиц: базы, части, личный состав, корабли,

учения.

Таблица Базы военно-морского флота имеет следующие атрибуты:

название базы, географическое расположение, кол-во частей.

Таблица части имеет следующие атрибуты: номер части, база флота,

место базирования, вид войск (морская авиация, морская пехота и т.д.).

Таблица личный состав имеет следующие атрибуты: фамилия, часть,

должность, год рождения, год поступления на службу, выслуга лет, награды,

Таблица корабли имеет следующие атрибуты: идентификационный номер корабля, название корабля, тип корабля, дата создания, наработка, кол-

во посадочных мест, устройство двигателя (парусное, гребное, пароход,

теплоход, турбоход, и т.д.), тип привода (самоходное, несамоходное),

размещение корпуса (подводная лодка, ныряющее, полупогружное, и т.д.)

Таблица учения: часть, корабль, дата учения, место проведения, оценка

1.3 Определение пользователей У служащих, имеющих звание “Адмирал” есть доступ ко всей базе

данных, все остальные служащие могут только просматривать таблицу

“учения”.

1.4 Определение запросов

- различные запросы, содержание информацию в БД.

1.5 Описание выходных документов

После того, как проходят какие-либо учения сотрудник вносит в базу данных информацию о дате учений, корабле, участвовавшем в учении, части

и оценке.

2 Анализ сущностей и связей между ними

2.1 ER-диаграмма

Нужна для составления предполагаемой схемы связей между таблицами в данной

БД. Так же ER-диаграмма отражает связь таблиц, наглядное отображение первичных и внешних ключей.

Первичный ключ — это поле или набор полей таблицы, которые предоставляют уникальный идентификатор для каждой строки. После того как первичный ключ определен, его можно использовать в других таблицах для ссылки на таблицу с полем первичного ключа. Например, поле «Код автомобиля» из таблицы «Автомобиль» можно найти и в таблице

«Продажи». В таблице «Автомобили» оно является первичным ключом. В

таблице «Продажи» оно называется внешним ключом.

Между этими информационными объектами существуют связи.

Связь «один-к-одному» означает, что экземпляр одной сущности связан только с одним экземпляром другой сущности.

Связь «один-ко-многим» означает, что один экземпляр сущности,

расположенный слева по связи, может быть связан с несколькими экземплярами сущности, расположенными справа по связи.

Связь «многие-ко-многим» означает, что одни экземпляр первой сущности может быть связан с несколькими экземплярами второй сущности,

и наоборот, один экземпляр второй сущности может быть связан с несколькими экземплярами первой сущности.

ER-модель предметной области «Автосалон» представлена на рисунке.

Рисунок 1 – ER-модель рассматриваемой предметной области

2.2 Нормализация отношений

В нашей БД будет 5 таблиц. Рассмотрим каждую из них подробно.

Таблица 1 – Список сущностей

Название

Назначение

1

Базы

Описание базы и список входящих в нее частей

2

Части

Описание части и вида войск

3

Личный состав

Описание личного состава части

4

Корабли

Описание кораблей

5

Учения

Перечень частей с их оценками за учения

 

 

Таблица 2 – Список атрибутов таблицы «Базы»

 

 

 

 

Ключевое

Название

 

Назначение

поле

 

 

 

ПК

Код базы

 

Ключевое поле, предназначенное для

 

 

 

однозначной идентификации каждой записи в

 

 

 

таблице. Представляет собой первичный ключ.

 

 

 

Это уникальное значение, соответствующее

 

 

 

каждой базе.

 

 

 

Это целое число. Т.е. для идентификации

 

 

 

каждой базы будет применятся не названия

 

 

 

самой базы, а определенный номер. Этот

Соседние файлы в папке ПР2