Ім'я файлу: Курсовая работа.docx
Розширення: docx
Розмір: 807кб.
Дата: 12.03.2021
скачати
Пов'язані файли:
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА.docx


КУРСОВАЯ РАБОТА

по дисциплине «Базы данных»

Разработка базы данных для предметной

области «Речной флот»
Содержание


Введение 3

1.Анализ предметной области 4

2.Анализ требований к информационной системе 5

3.Мифологическое (концептуальное) моделирование 6

3.1Описание предметной области 6

3.2Формализованное описание задачи 6

3.3Описание сущностей и их свойств 6

4.Инфологическое моделирование системы 9

4.1Описание ограничений целостности, определяемых семантикой предметной области 9

4.2 Определение вида нормальной формы 11

4.3 Свойства столбцов 12

5.Логическое моделирование 16

5.1Выбор типа модели данных. Выбор СУБД для реализации задачи 16

5.2Определение элементов данных 17

5.3Схема связей 19

6.Физическая реализация проекта 20

6.1. Запросы на языке SQL и их описание 21

6.2. Формы 27

6.3. Отчеты 29

Заключение 32

Список использованной литературы 33

Введение


Курсовая работа создана по теме «Разработка базы данных для предметной области «Речной флот»».

Цель курсовой работы - разработка базы данных «Речной флот».

Разработанная база данных содержит подробные сведения о Портах, о рейсах, информацию о судах, данные о ремонте судов, о маршрутах рейсов, об аренде, об арендаторах и позволяет в любое время просмотреть информацию о выходе судов в рейс, осуществляет поиск по судам, по портам, выводит информацию о месте нахождения судна.

База данных облегчает работу администрации рыболовной станции и сотрудников (капитанов, рыболовов).

В информационной модели базы данных подробно словесно описаны объекты предметной области и реальные связи, присутствующие между описываемыми объектами. Необходимо разработать базу данных, содержащую:

  • информацию об аренде;

  • информацию об арендаторах;

  • информацию о грузах;

  • информацию по данным о ремонте судна;

  • информацию о судне.

  • информацию о маршруте рейса;

  • информацию о портах,

  • информацию о рейсах.

Систему управления базами данных, в которой будет создаваться база данных - СУБД MS Access.
  1. Анализ предметной области


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


Создаваемая информационная система должна автоматизировать ведение данных о выходах судов в рейсы и маршрутах рейса.

Информационная система дает возможность просмотра данных о дате выхода в рейс, о дате завершения рейса, о порте отправления, о порте прибытия.

Информационная система может быть реализована на компьютере с установленной ОC Windows XP и выше, СУБД MS Access 2007 и выше.
  1. Мифологическое (концептуальное) моделирование

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


Вы работаете на речном флоте. Вашей задачей является составление учета выхода судов в рейсы.
    1. Формализованное описание задачи


База данных «Речной флот» должна выполнять следующие основные задачи:

- хранит информацию о судах, об их владельцах и т.д;

- хранит информацию об арендаторах;

- обеспечивает поиск нужной информации о маршруте судна во время рейса.

Базу данных можно настраивать, то есть можно изменять, дополнять, в том числе и удалять следующие параметры:

- № судна;

- Название порта.

Поиск осуществляется с помощью запроса, например, выводит Итоговые расходы и доходы по каждому судну.
    1. Описание сущностей и их свойств


Основные объекты (сущности) в описании предметной области в базе данных следующие:

Атрибуты сущности «Аренда»:

  • Код аренды:

  • № судна;

  • Арендатор

  • Дата начала аренды;

  • Порт начала аренды;

  • Дата завершения аренды;

  • Порт завершения аренды;

  • Доход от аренды:

  • Расходы на аренду.

Атрибуты сущности «Арендаторы»:

  • Код арендатора;

  • Название арендатора;

  • Адрес;

  • Телефон.

Атрибуты сущности «Грузы»:

  • Код груза;

  • Название груза;

  • Характеристика груза.

Атрибуты сущности «Данные о ремонте судов»:

  • Код ремонта;

  • № судна;

  • Порт ремонта;

  • Дата начала ремонта;

  • Дата окончания ремонта;

  • Расходы на ремонт.

Атрибуты сущности «Информация о судне»:

  • № судна;

  • Название;

  • Судовладелец;

  • Вид перевозимых грузов.

Атрибуты сущности «Маршрут рейса»:

  • № рейса;

  • Порт захода;

  • Дата прибытия;

  • Дата отправления;

  • Операция в порту.

Атрибуты сущности «Порты»:

  • Название порта;

  • Адрес;

  • Телефон.

Атрибуты сущности «Рейсы»:

  • Номер рейса;

  • № судна;

  • Порт отправления;

  • Дата отправления;

  • Порт прибытия;

  • Дата прибытия;

  • Перевозимый груз;

  • Расходы за рейс;

  • Доход за рейс.



  1. Инфологическое моделирование системы


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




Рис.1 Виды связей между сущностями базы данных
Глоссарий сущностей представлен в таблице 1.

Таблица 1. Глоссарий сущностей

Сущность

Описание

АРЕНДА

Информация об аренде

АРЕНДАТОРЫ

Список арендаторов

ГРУЗЫ

Список грузов

ДАННЫЕ О РЕМОНТЕ СУДОВ

Список данных о ремонте судов

ИНФОРМАЦИЯ О СУДНЕ

Список судов

МАРШРУТ РЕЙСА

Список маршрутов рейсов

ПОРТЫ

Список портов

РЕЙСЫ

Список рейсов
    1. Описание ограничений целостности, определяемых семантикой предметной области


При проектировании БД необходимо создать наиболее эффективную структуру данных. Признаками эффективности структуры БД считаются:

1. Обеспечение быстрого доступа к данным в таблицах.

2. Исключение ненужного повторения данных, которое может явиться причиной ошибок при вводе и нерационального использования дискового пространства компьютера.

3. Обеспечение целостности данных таким образом, чтобы при изменении одних объектов автоматически происходило соответствующее изменение других, связанных с ними объектов.

Целостность данных – ограничения на значения, которые могут принимать атрибуты.

Чтобы информация, хранящаяся в базе данных, была однозначной и непротиворечивой, в реляционной модели устанавливаются некоторые ограничительные условия. Ограничительные условия - это правила, определяющие возможные значения данных. Они обеспечивают логическую основу для поддержания корректных значений данных в базе. Такие ограничения целостности позволяют свести к минимуму ошибки, возникающие при обновлении и обработке данных.

Важнейшими ограничениями целостности данных являются:

  • доменная целостность

  • категорийная целостность

  • ссылочная целостность.

Ограничение домена - ограничения на значения атрибутов из множества значений домена. Если значения атрибута неизвестно, то опция NULL- это отсутствие атрибута.

Все атрибуты принимают значения в соответствии с типом данных.

Категорийная целостность - ни одна строка не может быть занесена в базу данных до тех пор, пока не будут определены все атрибуты ее первичного ключа. Это правило называется правилом категорийной целостности и кратко формулируется следующим образом: никакой атрибут первичного ключа строки не может быть пустым.

Первичные ключи: инв № катера, код регистрации, паспорт сотрудника, код должности, код точки, № команды.

Все первичные ключи должны быть обязательно заполнены и индексированы.

Ссылочная целостность - если две таблицы связаны между собой, то внешний ключ таблицы должен содержать только значения, уже имеющиеся среди значений ключа, по которому осуществляется связь. Если корректность значений внешних ключей не контролируется СУБД, то может нарушиться ссылочная целостность данных
    1. Определение вида нормальной формы


Отношения реляционной базы данных можно привести к такому виду, который обеспечит наилучшие свойства базы данных. Процесс приведения к такому виду называется нормализацией.

Отношение находится в 1нормальной форме, если значение каждого её атрибута не структурировано. Это означает, что на пересечении каждого столбца и каждой строки таблицы должно находиться одно единственное значение.

Все отношения базы данных находятся в 1нф, так как среди них нет ни одного, имеющего структурированные атрибуты.

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

Все отношения базы данных находятся во 2 нормальной форме.

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

Все отношения базы данных находятся в 3нормальной форме.



МАРШРУТ РЕЙСА

ИНФОРМАЦИЯ О СУДНЕ
Рис. 2 ER – Диаграмма
    1. Свойства столбцов


Структуры данных РБД — таблицы — просты для понимания. Каждая таблица представляет какой-то объект предметной области. Связи объектов в концептуальной схеме РБД определяются явно. Поэтому схема БД понятна конечному пользователю на интуитивном уровне.

Таблица 1. Свойства столбцов таблицы «Аренда»

Имя поля

Тип данных

Ключевое поле

Размер

Индексированное поле

Код аренды:



Счетчик

Да

Длинное целое

Да (Совпадения не допускаются)

№ судна


Текстовый

Нет

255

Нет

Арендатор


Числовой

Нет

Длинное целое

Нет

Дата начала аренды


Дата время

Нет




Нет

Порт начала аренды


Текстовый

Нет

255

Нет

Дата завершения аренды


Дата время

Нет




Нет

Порт завершения аренды

Текстовый

Нет

255

Нет

Доход от аренды


Денежный

Нет




Нет

Расходы на аренду


Денежный

Нет




Нет



Таблица 2. Свойства столбцов таблицы «Арендаторы»

Имя поля

Тип данных

Ключевое поле

Размер

Индексированное поле

Код арендатора

Счетчик

Да

Длинное целое

Да (Совпадения не допускаются)

Название арендатора

Текстовый

Нет

40

Нет

Адрес

Текстовый

Нет

60

Нет

Телефон

Текстовый

Нет

255

Нет

Таблица 3. Свойства столбцов таблицы «Грузы»

Имя поля

Тип данных

Ключевое поле

Размер

Индексированное поле

Код груза

Текстовый

Да

15

Да (Совпадения не допускаются)

Название груза

Текстовый

Нет

50

Да (Допускаются совпадения)

Характеристика груза

Текстовый

Нет

255

Нет

Таблица 4. Свойства столбцов таблицы «Данные о ремонте судов»

Имя поля

Тип данных

Ключевое поле

Размер

Индексированное поле

Код ремонта

Счетчик

Да

Длинное целое

Да (Совпадения не допускаются)

№ судна

Текстовый

Нет

8

Нет

Порт ремонта

Текстовый

Нет

30

Нет

Дата начала ремонта

Дата время

Нет




Нет

Дата окончания ремонта

Дата время

Нет




Нет

Расходы на ремонт

Денежный

Нет




Нет



Таблица 5. Свойства столбцов таблицы «Информация о судне»

Имя поля

Тип данных

Ключевое поле

Размер

Индексированное поле

№ судна

Текстовый

Да

8

Да (Совпадения не допускаются)

Название

Текстовый

Нет

20

Нет

Судно владелец

Текстовый

Нет

30

Нет

Вид перевозимых грузов

Текстовый

Нет

255

Нет

Таблица 6. Свойства столбцов таблицы «Маршрут рейса»

Имя поля

Тип данных

Ключевое поле

Размер

Индексированное поле

№ рейса

Текстовый

Да

8

Нет

Порт захода

Текстовый

Да

30

Нет

Дата прибытия

Дата время

Нет




Нет

Дата отправления

Дата время

Нет




Нет

Операция в порту

Текстовый

Нет

255

Нет

Таблица 7. Свойства столбцов таблицы «Порты»

Имя поля

Тип данных

Ключевое поле

Размер

Индексированное поле

Название

Текстовый

Да

30

Да (Совпадения не допускаются)

Адрес

Текстовый

Нет

20

Нет

Телефон

Текстовый

Нет

50

Нет

Таблица 8. Свойства столбцов таблицы «Рейсы»

Имя поля

Тип данных

Ключевое поле

Размер

Индексированное поле

Номер рейса

Текстовый

Да

8

Да (Совпадения не допускаются)

№ судна

Текстовый

Нет

8

Нет

Порт отправления

Текстовый

Нет

30

Нет

Дата отправления













Порт прибытия

Текстовый

Нет

30

Нет

Дата прибытия

Дата время

Нет




Нет

Перевозимый груз

Текстовый

Нет

15

Нет

Доход за рейс

Денежный

Нет




Нет

Расход за рейс

Денежный

Нет




Нет
  1. Логическое моделирование

    1. Выбор типа модели данных. Выбор СУБД для реализации задачи


Система управления базами данных поддерживает один из типов моделей данных – сетевую, иерархическую или реляционную. Реляционная модель ориентирована на табличное представление данных, т.е. организацию данных в виде двумерных таблиц.

В теории множеств таблице соответствует термин отношение (relation), который дал название модели. Реляционная база данных – база данных, логически организованная как набор отношений (прямоугольных таблиц) конкретной предметной области. Таблица соответствует объекту ПО; строка (кортеж) – запись об одном экземпляре объекта. Размещение в одной строке таблицы определенных элементов данных означает установление между ними связи или отношения (relation). Значения в столбце (поле) таблицы определяют характеристику или свойство объекта (атрибут отношения). Таблица имеет фиксированное число столбцов, их порядок фиксирован; число строк – произвольное, их порядок безразличен.

Таблица обладает следующими свойствами:

  • столбцам (полям) присвоены уникальные имена;

  • элементы каждого столбца имеют одинаковую природу, т.е. столбцы однородные;

  • в таблице нет одинаковых строк (записей), т.е. любые две строки отличаются хотя бы одним элементом (полем записи);

  • строки и столбцы могут обрабатываться в любой последовательности.

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

Преимущества хранения данных в реляционной базе данных:

  • каждый элемент данных хранится только в одной таблице (экономия места);

  • внесение изменений упрощается, уменьшается риск ошибки (например, в написании фамилий);

  • наличие связей между таблицами ускоряет обработку взаимосвязанной информации;

  • ошибочные записи (с некорректными ссылками) должны автоматически исключаться.

Техническим возможностям персональных компьютеров в настоящее время лучше всего соответствуют реляционные СУБД. 
    1. Определение элементов данных


В базе данных «Речной флот» созданы следующие таблицы: аренда; арендаторы, грузы, данные о ремонте судна, информация о судне, маршруте рейса, порты, рейсы.

Ниже представлены таблицы в режиме Конструктора (рис.3 – 10):



Рис.3 Таблица «Аренда» в режиме Конструктора



Рис.4 Таблица «Арендаторы» в режиме Конструктора



Рис.5 Таблица «Грузы» в режиме Конструктора



Рис.6 Таблица «Данные о ремонте судов» в режиме Конструктора



Рис.7 Таблица «Информация о судне» в режиме Конструктора



Рис.8 Таблица «Маршрут рейса» в режиме Конструктора



Рис.9 Таблица «Маршрут рейса» в режиме Конструктора



Рис.10 Таблица «» в режиме Конструктора

    1. Схема связей


Далее установлены связи межу таблицами. На рис.11 представлена схема данных базы данных «Речной флот»:



Рис. 11 Схема БД «Речной флот»
  1. Физическая реализация проекта


Созданные таблицы заполняются записями. на рисунках (12-19) представлены таблицы базы данных «Речной флот» с заполненными данными:



Рис.12 Таблица «Аренда»



Рис.13 Таблица «Арендаторы»



Рис.14 Таблица «Грузы»



Рис.15 Таблица «Данные о ремонте судов»



Рис.16 Таблица «Информация о судне»



Рис.17 Таблица «Маршрут рейса»



Рис.18 Таблица «Порты»



Рис.19 Таблица «Рейсы»

6.1. Запросы на языке SQL и их описание


    1. Запрос «Аренда Итоговые расходы и доходы по каждому судну».

Запрос на языке SQL:

SELECT Аренда.[№ судна], Sum(Аренда.[Доход от аренды]) AS [Sum-Доход от аренды], Sum(Аренда.[Расход на аренду]) AS [Sum-Расход на аренду]

FROM Аренда

GROUP BY Аренда.[№ судна];



Рис. 20 Запрос «Аренда Итоговые расходы и доходы по каждому судну» в режиме конструктора



Рис. 22 Выполнение запроса «Аренда Итоговые расходы и доходы по каждому судну»

    1. Запрос «Итоговые расходы и доходы по каждому судну».

Запрос на языке SQL:

SELECT Рейсы.[№ судна], Sum(Рейсы.[Доход за рейс]) AS [Sum-Доход за рейс], Sum(Рейсы.[Расходы за рейс]) AS [Sum-Расходы за рейс]

FROM Рейсы

GROUP BY Рейсы.[№ судна];



Рис. 23 Запрос «Итоговые расходы и доходы по каждому судну» в режиме конструктора



Рис. 24 Выполнение запроса «Итоговые расходы и доходы по каждому судну»


    1. Запрос «Итоговые расходы на ремонт каждого судна».

Запрос на языке SQL:

SELECT [Данные о ремонте судов].[№ судна], Sum([Данные о ремонте судов].[Расходы на ремонт]) AS [Sum-Расходы на ремонт]

FROM [Данные о ремонте судов]

GROUP BY [Данные о ремонте судов].[№ судна];


Рис. 25 Запрос «Итоговые расходы на ремонт каждого судна» в режиме конструктора



Рис. 27 Выполнение запроса «Итоговые расходы на ремонт каждого судна»

    1. Запрос «Рейс Количество дней по каждому рейсу».

Запрос на языке SQL:

SELECT Рейсы.[Номер рейса], Рейсы.[№ судна], Рейсы.[Порт отправления], Рейсы.[Дата отправления], Рейсы.[Порт прибытия], Рейсы.[Дата прибытия], [Рейсы]![Дата прибытия]-[Рейсы]![Дата отправления] AS [Кол-во дней]

FROM Рейсы;



Рис.28 Запрос «Рейс Количество дней по каждому рейсу» в режиме конструктора



Рис. 30 Выполнение запроса «Рейс Количество дней по каждому рейсу»

    1. Запрос «Рейсы по определенному порту отправления».

Запрос на языке SQL:

SELECT Рейсы.[Номер рейса], Рейсы.[№ судна], Рейсы.[Порт отправления], Рейсы.[Дата отправления], Рейсы.[Порт прибытия], Рейсы.[Дата прибытия], Рейсы.[Перевозимый груз], Рейсы.[Расходы за рейс]

FROM Рейсы

WHERE (((Рейсы.[Порт отправления])=[Введите порт отправления]));



Рис.28 Запрос «Рейсы по определенному порту отправления» в режиме конструктора



Рис. 29 Ввод параметров к запросу «Рейсы по определенному порту отправления»



Рис. 30 Выполнение запроса «Рейсы по определенному порту отправления»

    1. Запрос «Сколько дней ремонта у каждого судна».

Запрос на языке SQL:

SELECT [Данные о ремонте судов].[№ судна], [Данные о ремонте судов].[Порт ремонта], [Данные о ремонте судов].[Дата начала ремонта], [Данные о ремонте судов].[Дата окончания ремонта], [Данные о ремонте судов]![Дата окончания ремонта]-[Данные о ремонте судов]![Дата начала ремонта] AS Дней

FROM [Данные о ремонте судов];


Рис.28 Запрос «Сколько дней ремонта у каждого судна» в режиме конструктора



Рис. 30 Выполнение запроса «Сколько дней ремонта у каждого судна»

    1. Запрос «Изменение названия судна».



Рис.28 Запрос «Изменение названия судна» в режиме конструктора

    1. Запрос «Доходы по арендаторам и судам».



Рис.28 Запрос «Доходы по арендаторам и судам» в режиме конструктора



Рис. 30 Выполнение запроса «Доходы по арендаторам и судам»
6.2. Формы

Создана форма «Аренда» (рис.31):



Рис. 31 Форма «Аренда»

Создана форма «Арендаторы» (рис.32):



Рис.32 Форма «Арендаторы»

Создана форма «Грузы» (рис.33):



Рис.33 Форма «Грузы»

Создана форма «Данные о ремонте судов» (рис.34):



Рис.34 Форма «Данные о ремонте судов»

Создана форма «Информация о судне» (рис.35):



Рис.35 Форма «Информация о судне»

Создана форма «Маршрут рейса» (рис.36):



Рис.36 Форма «Маршрут рейса»

Создана форма «Порты» (рис.37):



Рис.37 Форма «Порты»

Создана форма «Рейсы» (рис.38):



Рис.38 Форма «Рейсы»
Создана главная кнопочная форма, которая появляется при запуске базы данных «Речной флот» (рис.39):



Рис.39 Главная кнопочная форма БД «Речной флот»

6.3. Отчеты

Все созданные отчеты БД «Речной флот» (Рис.40-45)



Рис. 40 Отчет «Аренда Итоговые расходы и доходы по каждому судну»



Рис. 41 Отчет «Итоговые расходы и доходы по каждому судну»



Рис. 42 Отчет «Итоговые расходы и доходы по каждому судну»



Рис. 43 Отчет «Рейс Количество дней по каждому рейсу»



Рис. 44 Отчет «Рейсы»

Заключение


Результатом выполнения работы стало разработанное приложение баз данных, позволяющее автоматизировать учет выхода судов в рейсы. Разработанное приложение отвечает всем требованиям предметной области, таблицы созданной базы данных отвечают требованиям нормализации, что позволяет обеспечить целостность и непротиворечивость информации.

Средствами СУБД Microsoft Access 2010 создан удобный пользовательский интерфейс. В интерфейсе пользователя предусмотрено наличие главной кнопочной формы с кнопками на открытие созданных объектов.

Список использованной литературы


  1. ГОСТ 19.701 - 90. ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. - М.: Изд-во стандартов. - 1990.

  2. ГОСТ 34. 201-89. Информационная технология. Комплекс стандартов на автоматизированные системы. Виды, комплектность и обозначение документов при создании автоматизированных систем.

  3. ГОСТ 34. 601-90. Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания.

  4. ГОСТ 34. 602-89. Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы.

  5. Адамов С. А. Технология разработки программного обеспечения / С. А. Адамов. – СПб: Питер, 2012 – С.45.

  6. Афанасиев А. В. Технология разработки программных продуктов / А. В. Афанасиев, 2014 – С. 88.

  7. Базаров С. А. Технологии разработки программного обеспечения / С. А. Базаров, Цилькер Б. Я. – СПб: Питер, 2012 – С.5.

  8. Баканов М.В., Романова В.В., Крюкова Т.П. Базы данных. Системы управления базами данных: учебное пособие. – Кемерово: Кемеровский технологический институт пищевой промышленности, 2010. – 166 с.

  9. Балдин К. В. Информационные системы в экономике [Электронный ресурс]: учебник / К. В. Балдин, В. Б. Уткин. - 7-е изд. - Москва: Дашков и К°, 2012. - 395 с. – ISBN 978-5-394-01449-9.

  10. Золотов С. Ю. Проектирование информационных систем [Электронный ресурс] : учеб. пособие / С. Ю. Золотов ; Томский гос. ун-т систем управления и радиоэлектроники. - Томск : Эль Учебное пособие Контент, 2013. - 86 с. - ISBN 978-5-4332-0083-8.

  11. Синева П. А. Компьютерные технологии в жизненном цикле изделия / П. А. Синева. – СПб: СПбГУ ИТМО, 2016 – С.27

  12. Смирнова Г.Н. Проектирование экономических информационных систем [Текст]: учеб. Для вузов / Г.Н.Смирнова,А.А.Сорокин,Ю.Ф.Тельнов. - М.: Финансы и статистика,2005. - 512 с.

  13. Фуфаев Э. В., Фуфаев Д.Э. Базы данных, 7-ое издание. - М.: Издательский центр «Академия», 2012. - 320с.




скачати

© Усі права захищені
написати до нас