Проектирование реляционной базы данных "Экскурсионное агентство"
Создание структуры таблиц в SQL Developer, типы данных и язык SQL. Основные типы вводимой и выводимой информации. Полная модель отношений. Таблицы базы данных. Реализация синхронизации приложения с БД. Пример создания PDF документа на основе события.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 17.02.2019 |
Размер файла | 1,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
4
Размещено на http://www.allbest.ru/
Федеральное агентство железнодорожного транспорта
Омский государственный университет путей сообщения
Кафедра «Автоматика и системы управления»
Пояснительная записка к курсовому проекту
по дисциплине «Базы данных»
Тема: Проектирование реляционной базы данных «Экскурсионное агентство»
Студент гр. 25З
В. А. Лисин
Руководитель - Доцент кафедры «АиСУ»
Н. А. Тихонова
Омск 2017
Задание
таблица developer язык база
Необходимо создать базу данных маленького экскурсионного агенства. Им является агенство, предоставляющее различные поездки в различных направлениях. У компании несколько офисов, управляемые администраторами. Для управления базой данных необходимо создать приложение на платформе JavaFX, реализующее следующие функции.
- вывод информации о сотрудниках;
- вывод информации о клиентов;
- вывод информации о видах поездок;
- вывод информации об офисах;
- вывод информации о событиях;
- вывод информации о языках;
- вывод информации о транспорте компании;
- создания события с многоуровневой проверкой;
- создание отчетов о произошедших событиях;
- создание PDF файла для выдачи экскурсоводам;
Редактировать БД имеет возможность только администратор с помощью специальной программы.
Реферат
УДК 681.3.06
Пояснительная записка к курсовой работе содержит 22 страницы, 21 рисунок, 5 использованных источников.
Объектом курсовой работы является проектирование базы данных.
Цель курсовой работы - предоставить удобный и быстрый доступ к базе данных, содержащих информацию о всех ее сущностях, а так же данных для создания и удобного управления финансами компании.
Результатом курсовой работы является база данных «Trip Agency».
База данных создана с использованием программы «Oracle SQL Developer» и импортирована в FX приложение, процесс редактирования базы данных происходит в FX приложении.
Пояснительная записка выполнена в текстовом редакторе Microsoft Word 2015.
Содержание
Введение
1 Теоретическая часть
1.1 Создание структуры таблиц в SQL Developer
1.2 Типы данных
1.3 Язык SQL
2. Описание предметной области
2.1 Описание компании
2.2 Доступ к данным
2.3 Тип вводимой информации
2.4 Тип выводимой информации
2.5 Технологический процесс
3. Концептуальная модель
4. Полная модель отношений
5. Таблицы БД
6. Реализация синхронизации приложения с БД
7. Реализация логики
8. Пример создания PDF документа на основе события
Заключение
Список использованной литературы
Введение
Всякая профессиональная деятельность так или иначе связана с информацией, с организацией ее сбора, хранения, выборки. Можно сказать, что неотъемлемой частью повседневной жизни стали базы данных, для поддержки которых требуется некоторый организационный метод, или механизм. Такой механизм называется СУБД.
Существует огромное количество разновидностей баз данных, отличающихся по различным критериям. Например, в «Энциклопедии технологий баз данных», по материалам которой написан данный раздел, определяются свыше 50 видов БД.
Самой распространенной моделью данных в наше время является реляционная.
Программы, с помощью которых пользователи работают с базои? данных, называются приложениями. В общем случае с однои? базои? данных могут работать множество различных приложении?. Например, если база данных моделирует некоторое предприятие, то для работы с неи? может быть создано приложение, которое обслуживает подсистему учета кадров, другое приложение может быть посвящено работе подсистемы расчета заработнои? платы сотрудников, третье приложение работает как подсистемы складского учета, четвертое приложение посвящено планированию производственного процесса. При рассмотрении приложении?, работающих с однои? базои? данных, предполагается, что они могут ра6отать параллельно независимо друг от друга, и именно СУБД призвана обеспечить работу множества приложении? с единои? базои? данных таким образом, чтобы каждое из них выполнялось корректно, но учитывало все изменения в базе данных, вносимые другими приложениями.
В нашем случае, для создания реляционной БД был выбрана СУБД под названием SQL Developer, распросраняемая компанией Oracle.
Цель данного проекта - создать базу данных, с которой можно было бы работать согласно основным принципам проектирования баз данных.
- простота управления данными;
- достоверность данных;
- целостность и непротиворечивость данных;
- безопасность доступа к данным.
1 Теоретическая часть
1.1 Создание структуры таблиц в SQL Developer
Oracle SQL Developer -- интегрированная среда разработки на языках SQL и PL/SQL, с возможностью администрирования баз данных, ориентирована на применение в среде Oracle Database.
В среде поддержана возможность создания расширений, обеспечивающих её дополнительными возможностями. Некоторые расширения разрабатываются в корпорации Oracle, есть большая серия расширений, написанная сторонними разработчиками. Например, есть расширения, обеспечивающие картографический просмотр хранимой в базе данных геоинформации или обеспечивающие визуальное создание ER-диаграмм.
Сведения, относящиеся к различным вопросам, хранятся в отдельных таблицах.
Таблица - объект БД, предназначенный для хранения данных в виде записей (строк) и полей (столбцов).
При создании БД все данные выгружаются на сервер Oracle для доступа к ним из люьой точки мира при наличие интернета.
Создание таблицы заключается в определении ее структуры, т.е. полей, входящих в таблицу. Для каждого поля как минимум должно быть определено его имя и тип данных, которые будут храниться в этом поле.
Создание БД в SQL Developer сводится к следующим шагам:
1)проектирование концептуальной модели в встроеном редакторе
2)генерирование на ее основе диаграммы отношений
3)создание скрипта создания БД с помощью SQL комманд
4)создание скрипта генерации вводимых данных в БД с помощью SQL комманы
1.2 Типы данных
Каждый столбец из таблиц отношений БД имеет один из следующих классов хранения:
1)Числовые данные - numerics
2)Логические данные - booleans
3)Временные данные - datetimes
4)Интервалы - intervals
В каждом из приведенных основных типов данных могут быть определены множество поддтипов, такие как точные числа, приблизительные числа, буквенные строки, битовые строки, строки больших объектов.
В дополнении к типам данных, включенных в сборку, SQL:2003 поддерживает типы коллекций и типы, определенные пользователем.
Мы будем использовать SQL имплементацию, которая поддерживает один или более типов данных, таких, которые спецификации SQL:2003 не описывают. Поэтому у нас есть возможность сохранить свою Датабазу более портативной, избегая использования этих типов данных.
1.3 Язык SQL
Для создания и работы с таблицами с БД необходимо использовать SQL язык, в частности SQL запросы.
SQL язык подразделяется на 4 категории применения.
Операторы Определения Данных решают проблемы структуризации базы данных, когда Операторы Манипуляции Данных работают с дата-контейнерами в самой структуре БД.
DML - это часть SQL, непосредственно работающая с данными в контейнерах. Большинство операторов DML - это простые односоставные английские фразы, которые легко запомнить и понять. По причине того, что SQL дает пользователю неограниченный контроль над управлением данными, некоторые DML операторы могут быть очень сложными. Если оператор включает в себя множество выражений, причин, сказуемых и под-выражений, понимание того, что данный оператор пытается осуществить может стать настоящим испытанием для пользователя. Но эту задачу можно упростить, если свести объемный оператор к множеству малых и разобрать их один за одним.
С помощью команд GRAND, REVOKE, DENY, являющихся частью DCL можно управлять доступом пользователей к базе данных.
Транзакции обрабатываются группой управляющих средств, с помощью которых пользователь может выдать команду INSERT, UPDATE или DELETE, указывающую начало серии команд изменения данных. После внесения изменений в базу данных пользователь может сохранить данные в базе, закончив транзакцию явным образом. Если же в любой момент транзакции возникает ошибка, пользователь может отменить изменения в базе данных, возвратив ее в состояние, в котором она находилась до начала транзакции.
2. Описание предметной области
2.1 Описание компании
Темой проекта является агенство, предоставляющее различные поездки в различных направлениях. У компании несколько офисов, управляемые администраторами. Офисы предоставляют различные поездки, зависящие от времени года.
Офис обладает параметрами, такими как id, имя, адрес, телефонный номер и e-mail адрес.
Каждая Поездка обладает своими свойствами, такими как её длина, цена и место прибытия. Поездки собираются в События.
Каждое событие обладает следующими характеристиками: язык, время начала и время конца. Важным условием составление События является проверка соответствия языков водителя, экскурсовода и покупателя. Каждое Событие может проводится лишь одним офисом, но один офис может предоставлять несколько Событий.
Работник компании может быть экскурсоводом, водителем или администратором. Работник одновременно может занимать все должности. Каждый Работник может быть прикреплен к нескольким Событиям и каждое Событие может содержать несколько Работников.
Экскурсоводы сопровождают Клиентов в течении различных Поездок. Каждый экскурсовод должен доказать свой уровень образования и иметь приложенный к их файлу документ об образовании. Также за каждым Экскурсоводом привязан свой Язык.
Водители должны предоставить водительские права. При собирании События, Администраторы должны привязать Водителей к Машинам.
Администраторы заполняют События Клиентами, Экскурсоводами и Водителями. Также работа администратора состоит в составлении корректных Отчетов после каждого События.
Отчет содержит деньги, взятые от Клиентов, деньги, потраченные на топливо плюс амортизация оборудования.
Каждый офис обладает Своим Транспортом. У каждой единице транспорта есть характеристики, такие как номер, марка, тип топлива и вместимость. За каждым Событием может быть закреплено несколько единиц Транспорта, и каждая единица транспорта может быть закреплена за несколькими Событиями.
Клиенты - это люди, записавшиеся на Поездку. Сущность Клиент обладает следующими характеристиками: id, имя, дата рождения, телефон и E-mail адрес. Каждое Событие может содержать несколько Клиентов, и каждый Клиент может быть закреплен за несколькими Событиями.
Лист Языков содержит информацию о языках, на которых компания ведет Поездки. Языки могут быть прикреплены к Клиентам, Работникам и Событиям.
2.2 Доступ к данным
База данных создается для использования только Администраторами фирмы. Функции Администраторов указаны в описании предметной области.
2.3 Тип вводимой информации
Информация, ввобдимая в базу данных будет текстового вида содержать информацию о клиентах, новых работниках и новых событиях. Частота доступа к приложению - ежедневная.
2.4 Тип выводимой информации
Выходная информация будет представлять из себя форму для печати, содержащую полную информацию о Событии. Эта форма будет ипользоваться гидами для проверки присутствия всех клиентов.
2.5 Технологический процесс
Технологический процесс основан на проверке всех условий при сборке События. После того, как Администратор собрал данные о всех водителях, экскурсоводах, клиентах и единиц техники, алгоритм должен будет провести проверку соответствия языков, соответсвия вместимости транспорта и определить каждого клиента на свое место. После этого информация будет выведена в формате PDF для раздачи ее каждому экскурсоводу.
3. Концептуальная модель
Полная концептуальная модель изображена на рисунке 1.
Рисунок 1 - Концептуальная модель
4. Полная модель отношений
Полная модель отношений изображена на рисунке 2.
Рисунок 2 - Модель отношений
5. Таблицы БД
Ниже, на рисунках 3 - 10, представлены структуры таблиц в БД Trip Agency.
Рисунок 3 - Таблица Trip
Рисунок 4 - Таблица Report
Рисунок 5 - Таблица Office
Рисунок 6 - Таблица Language
Рисунок 7 - Таблица Event
Рисунок 8 - Таблица Employee
Рисунок 9 - Таблица Customer
Рисунок 10 - Таблица Vehicle
6. Реализация синхронизации приложения с БД
Для синхронизации приложения с БД был выбран модуль Hybernate
Целью Hibernate является освобождение разработчика от значительного объёма сравнительно низкоуровневого программирования при работе в объектно-ориентированных средствах в реляционной базе данных. Разработчик может использовать Hibernate как в процессе проектирования системы классов и таблиц «с нуля», так и для работы с уже существующей базой данных.
Библиотека не только решает задачу связи классов Java с таблицами базы данных (и типов данных Java с типами данных SQL), но и также предоставляет средства для автоматической генерации и обновления набора таблиц, построения запросов и обработки полученных данных и может значительно уменьшить время разработки, которое обычно тратится на ручное написание SQL- и JDBC-кода. Hibernate автоматизирует генерацию SQL-запросов и освобождает разработчика от ручной обработки результирующего набора данных и преобразования объектов, максимально облегчая перенос (портирование) приложения на любые базы данных SQL.
Hibernate обеспечивает прозрачную поддержку сохранности данных (persistence) для «POJO» (то есть для стандартных Java-объектов);
Mapping (сопоставление, проецирование) Java-классов с таблицами базы данных осуществляется с помощью конфигурационных XML-файлов или Java-аннотаций. При использовании файла XML Hibernate может генерировать скелет исходного кода для классов длительного хранения. В этом нет необходимости, если используется аннотация. Hibernate может использовать файл XML или аннотации для поддержки схемы базы данных.
Обеспечиваются возможности по организации отношения между классами «один-ко-многим» и «многие-ко-многим». В дополнение к управлению связями между объектами Hibernate также может управлять рефлексивными отношениями, где объект имеет связь «один-ко-многим» с другими экземплярами своего собственного типа данных.
Hibernate поддерживает отображение пользовательских типов значений. Это делает возможными такие сценарии:
- переопределение типа по умолчанию SQL, Hibernate выбирает при отображении столбца свойств;
- проецирование перечисляемого типа Java на поле БД, будто они являются обычными свойствами;
- проецирование одного свойства в несколько колонок.
Пример генерации самого объемного класса представлен на рисунке 11.
Рисунок 11 - Класс Employee
Для работы со сгенерированными классами были созданы вспомогательные классы c POJO значениями, синхронизирующиеся с основными по нажатию кнопки Sync в основном меню приложения. Данная кнопка удалена в финальной версии програмы по причине утраты доступа и окончания лицензии на выделеный сервер под датабазу на Oracle.
Пример POJO класса Employee представлен на рисунке 12.
Рисунок 12 - POJO Класс Employee
7. Реализация логики
Согласно поставленной задачи, при организации события администратором БД необходимо проверять следующие пункты:
- соответствие языка события с языками всех его членов;
- наличие хотя бы одного водителя и одного экскурсовода;
- наличие мест для каждого пассажира;
- отсутствие лишнего транспорта;
- подсчет убытков и прибыли при создании отчета;
- создание Pdf файла с местами всех людей в событии.
Реализация данных операций представлена на рисунках 13 - .
Рисунок 13 - Алгоритм глобальный
Рисунок 14 - Алгоритм проверки экскурсоводов и водителей
Рисунок 15 - Алгоритм проверки языков
Рисунок 16 - Алгоритм проверки лишнего транспорта
Рисунок 17 - Алгоритм выдачи мест в транспорте
Рисунок 18 - Алгоритм переполнения транспорта
8. Пример создания PDF документа на основе события
Для примера созданим события поездки в Сочи с 17 апреля по 27 апреля одним автобусом с 2 гидами, одним водителем и 5 клиентами на русском языке.
Интерфейс программы представлен на рисунке 19. Сгенерированный Pdf на рисунке 20 и сгенерированный отчет на рисунке 21.
Рисунок 19 - Интерфейс организации события
Рисунок 20 - Сгенерированный PDF
Рисунок 21 - Сгенерированный отчет
В качестве результата выполнения алгоритма можно сделать вывод о том, что поездка данного типа приносит всего 37900 прибыли.
Заключение
В процессе выполнения курсовой работы была создана база данных «Trip Agency». Для представления взаимодействия пользователя с БД было написано приложение под систему MacOs/Unix. Для администрирования разработана программа «Client FX». БД состоит из 8 статических таблиц.
В созданной базе данных реализованы следующие возможности:.
- вывод информации о сотрудниках;
- вывод информации о клиентов;
- вывод информации о видах поездок;
- вывод информации об офисах;
- вывод информации о событиях;
- вывод информации о языках;
- вывод информации о транспорте компании;
- создания события с многоуровневой проверкой;
- создание отчетов о произошедших событиях;
- создание PDF файла для выдачи экскурсоводам;
Список использованной литературы
1Крамоненко Н. В. Базы данных - Владивосток, 2013. - 63 с.
2Hibernate Annotations, Reference Guide - Hibernate Inc. ,2015. - 44с.
3Л. В. Логанова. Базы данных и экспертные системы. - Самара, 2013. - 336 с.
4Малыхина М. Базы данных. Основы, проектирование, использование. - БХВ-Петербург, 2012. - 365 с.
5П.В. Бураков, В.Ю. Петров. Введение в системы баз данных - Петербург, 2014. - 323 с.
Размещено на Allbest.ru
...Подобные документы
Базы данных с двумерными файлами и реляционные системы управления базами данных (СУБД). Создание базы данных и обработка запросов к ним с помощью СУБД. Основные типы баз данных. Базовые понятия реляционных баз данных. Фундаментальные свойства отношений.
реферат [57,1 K], добавлен 20.12.2010Создание таблиц базы данных с помощью MS Access "Страны Азии". Форма базы данных и запросы к выборкам данных. Модификация структуры таблиц, создания связей между главными таблицами, редактирование данных и проектирование форм для реальной базы данных.
контрольная работа [723,9 K], добавлен 25.11.2012Особенности разработки инфологической модели и создание структуры реляционной базы данных. Основы проектирования базы данных. Разработка таблиц, форм, запросов для вывода информации о соответствующей модели. Работа с базами данных и их объектами.
курсовая работа [981,4 K], добавлен 05.11.2011Понятие реляционной модели данных, целостность ее сущности и ссылок. Основные этапы создания базы данных, связывание таблиц на схеме данных. Проектирование базы данных книжного каталога "Books" с помощью СУБД Microsoft Access и языка запросов SQL.
курсовая работа [838,9 K], добавлен 25.11.2010Проектирование структуры базы данных. Конструирование структуры будущих таблиц баз данных, основные приемы их заполнения и редактирования. Простая сортировка значений таблицы. Поиск записей по образцу. Как правильно сохранить и загрузить базу данных.
практическая работа [4,4 M], добавлен 02.04.2009Понятия основных компонентов базы данных Access. Таблицы, отчеты, макросы и модули, форма, запросы к базе и их виды. Типы данных. Создание базы данных "Кадры". Создание таблицы в режиме конструктора. Использование мастера подстановок для создания связей.
курсовая работа [818,0 K], добавлен 10.03.2016Системный анализ и анализ требований. Концептуальная модель данных. Проектирование логической структуры реляционной базы данных. Даталогическая модель базы данных. Алгоритмы реализации модулей и их реализация (запросы, таблицы, формы, отчеты, макросы).
курсовая работа [1,6 M], добавлен 17.12.2015Основные виды баз данных. Система управления базами данных. Анализ деятельности и информации, обрабатываемой в поликлинике. Состав таблиц в базе данных и их взаимосвязи. Методика наполнения базы данных информацией. Алгоритм создания базы данных.
курсовая работа [3,1 M], добавлен 17.12.2014Структура таблицы и типы данных. Ввод данных в ячейки таблицы. Создание запросов на выборку, удаление, обновление и добавление записей, на создание таблицы. Основное различие между отчетами и формами, их назначение. Создание отчетов для базы данных.
курсовая работа [1,9 M], добавлен 17.06.2014Реализация приложения "Книжный магазин" средствами систем управления базами данных. Проектирование структуры базы данных, определение сущности и атрибутов. Логическое проектирование базы данных и реализация базы данных в СУБД Microsoft Office Access.
курсовая работа [7,8 M], добавлен 13.02.2023Создание базы данных, планирование разработки и системные требования. Проектирование базы данных в среде Microsoft Access, элементы и типы данных. Создание таблицы и использование конструктора для их модернизации. Построение запросов и создание макросов.
курсовая работа [2,0 M], добавлен 16.04.2011Разработка модели и создание структуры реляционной базы данных. Организация данных в таблицах для предоставления оперативного доступа к данным. Основные структурные единицы базы данных Access: таблицы, запросы, формы, отчеты, страницы, макросы и модули.
реферат [4,0 M], добавлен 03.02.2013Понятие и структура реляционной базы данных, ее основные элементы и их взаимодействие. Методика и основные этапы создания базы данных, ее назначение и сферы применения. Правила ввода данных в таблицы. Создание запроса к базе данных, отчетов и диаграмм.
учебное пособие [3,6 M], добавлен 19.12.2009Понятие базы данных в Microsoft Access, описание таблицы как объекта. Назначение запросов, форм, отчетов и страниц. Макросы и модули в СУБД. Порядок создания базы данных, ввод описания поля. Свойства полей таблиц. Построение реляционной модели данных.
презентация [389,6 K], добавлен 18.01.2014Понятие нормализации таблиц базы данных и ее цели. Этапы процесса нормализации. Пример ненормализованных данных. Нормальные формы, к которым приводятся таблицы. Реляционная алгебра над учебной базой. База данных для предметной области "Учебные пособия".
контрольная работа [216,1 K], добавлен 30.07.2010Создание базы данных при помощи СУБД, разработка собственного приложения. Информационно-логическая модель рекламного агентства. Структура реляционной базы данных в Access. Заполнение таблиц информацией. Структура приложения и взаимодействия форм.
курсовая работа [12,6 M], добавлен 17.06.2014Характеристика Microsoft Access. Создание структуры базы данных. Определение основных тем таблиц базы данных и информации, которую будут содержать поля таблиц. Создание таблиц, запросов, форм и отчетов. Страницы доступа к данным. Макросы и модули.
курсовая работа [1,1 M], добавлен 09.12.2012Анализ баз данных и систем управления ими. Проектирование и создание реляционной базы данных в среде MS Access для ресторана "Дельфин": построение информационно логической модели, разработка структур таблиц базы данных и схемы данных, создание Web-узла.
курсовая работа [3,7 M], добавлен 15.11.2010Концептуальное проектирование базы данных: разработка схемы и структуры таблиц, описание атрибутов. Реализация базы данных в среде СУБД MS SQL Server 2000. Основные принципы создания таблиц. Доступ и обработка данных с помощью утилиты Enterprise Manager.
курсовая работа [3,8 M], добавлен 22.01.2013Системы управления базами данных: сущность и характеристика. Типы данных и свойства полей СУБД Access. Объекты базы данных: таблицы, схемы данных, формы, запросы, отчеты. Разработка и проектирование базы данных "Продажи книг" в среде Microsoft Access.
курсовая работа [1,8 M], добавлен 04.02.2013