Анализ предметной области и выбор программных средств. Построение концептуальной модели базы данных. Распределение данных и репликация. Управление распределенными транзакциями. Оптимизация запросов: выполнение, монитор производительности и трассировка.
Данная курсовая работа призвана рассмотреть ключевые особенности работы транспортной компании, а также выявить процессы грузоперевозок, которые возможно автоматизировать с помощью СУБД. Чтобы не упустить ни одного заказа, компании предложено автоматизировать процессы с помощью СУБД на базе Microsoft SQL Server 2012, имеющий большой спектр возможностей.В настоящей курсовой работе использованы ссылки на следующие руководящие документы: ГОСТ 34.ххх "Информационная технология. Комплекс стандартов и руководящих документов на автоматизированные системы" ГОСТ 19.ххх "Единая система программной документации" ГОСТ 28195 "Оценка качества программных средств.Клиент указывает тип груза, вес, пункт отправления и пункт назначения.На вход подаются тип груза, вес, пункт отправления и пункт назначения.На выходе получаем подобранный автомобиль, дату перевозки, ценуАвтомобили делятся по типу перевозимых грузов.Для реализации поставленной задачи выбран Microsoft SQL Server 2012 в виду его широких возможностей, доступности и богатой документации.Концептуальная модель РБД выглядит следующим образом:
Рисунок 1 - Концептуальная модельТаблица Orders содержит сведения о заказах на грузоперевозки: внутренний номер, поставщик, потребитель, дату заявки, тип груза, массу, пункт назначения, расстояние до пункта назначения.Представление "Запрос Критерии Заказы" отражает данные о заказах в приемлемом для пользователя виде - в шапке таблицы заголовки на русском языке, номера типов грузов заменены на текстовые значения.Рисунок 2 - Диаграмма БДПока наша фирма по перевозкам не разрослась достаточно широко, для нашей базы подойдет репликация моментальными снимками.Убедимся, что Агент SQL Server включен. В диспетчере конфигурации SQL Server (рисунок 3) в пункте "Службы SQL Server" проверим, что Агент SQL Server находится в состоянии "Работает", или включим его если это не так. В MS SQL Server Management Studio в пункте меню "Репликация" нажать ПКМ на "Локальные публикации" и выбрать "Создать публикацию". Выбрать базу данных для репликации, выбрать тип "Публикация слиянием", выбрать необходимые данные для публикации, фильтрацию можно пропустить за ненадобностью, настроить Агент моментальных снимков (рисунок 5), указать учетную запись и пароль к ней (учетная запись с которой Вы входите на сервер, в нашем случае ASH-PC\Ash), нажать клавишу "Готово >>|", ввести имя публикации и снова нажать клавишу "Готово". В пункте "Локальные публикации" нажать ПКМ на только что созданную публикацию и выбрать "Создать подписку" (рисунок 6).Чтобы поддерживать данные в обеих базах в актуальном состоянии, не прибегая к репликации, можно обратиться к распределенным запросам.Распределенную транзакцию в Transact-SQL можно запустить следующими способами: 1. Явно начать распределенную транзакцию, используя инструкцию BEGIN DISTRIBUTED TRANSACTION. Например, для изменения данных в таблице Orders в распределенной базе данных expert_db и ее удаленной копии re_ex, выполним следующий запрос: use expert_db go begin distributed transaction; Триггеры в базах, выполняющие выборку по всей таблице, показывают, что запрос выполнился в 2х базах данных.Чтобы транзакция считалась завершенной, после выполнения всех действий ее нужно применить инструкцией COMMIT TRANSACTION, либо откатить инструкцией ROLLBACK TRANSACTION. В попробуем откатить и применить транзакцию: use expert_db go begin transaction update Orders set Customer = "x" Where ID = "1016";Это происходит для того, чтобы во время выполнения одной транзакции, другая не изменила или не прочитала данные, которые изменены не до конца, что может в свою очередь привести к повреждению набора данных, либо к считыванию ложных данных. Пока первая транзакция не будет завершена, вторая будет ожидать момента снятия блокировки. Выполним 2 запроса на выполнение транзакций. Транзакция 2 будет ожидать выполнения до тех пор, пока транзакция 1 не будет завершена либо откачена. Например, первая транзакция установила блокировку ресурса А, и ей необходимо заблокировать ресурс Б, а в это же время вторая транзакция, заблокировавшая ресурс Б, нуждается в блокировке ресурса А.Проще всего создать ситуацию взаимоблокировки в SQL Server с помощью двух подключений в редакторе запросов утилиты Management Studio. Первая и вторая транзакции пытаются обновить одни и те же строки, однако в противоположном порядке. Поместим код в первое окно запроса и выполним его: - Транзакция 1 - Шаг 1 Создадим в редакторе запросов второе окно и поместим в него следующий код: - Транзакция 2 - Шаг 2 Вторая транзакция ожидает снятие блокировки на строку 1018 в таблице Orders.Для удобства обращения к большим объемам данных, разделим таблицу Orders на 3 большие части: заказы до 2006 года, с 2006 по 2011 годы и после 2011 года. Следующий код разбивает таблицу по столбцу даты на 3 части, используя левую границу, это означа
План
Содержание
Введение
1. Нормативные ссылки
2. Анализ предметной области
2.1 Общее описание предметной области
2.2 Описание входных документов и сообщений
2.3 Описание выходных документов и сообщений
2.4 Список ограничений
3. Выбор программных средств
4. Проектирование распределенной базы данных
4.1 Построение концептуальной модели базы данных
4.2 Реализация реляционной базы данных
4.2.1 Описание таблиц
4.2.2 Описание представлений
4.2.3 Диаграмма базы данных
5. Распределение данных и репликация
5.1 Выбор типа репликации РБД
5.2 Настройка репликации
5.3 Распределенные запросы к данным
6. Управление распределенными транзакциями
6.1 Запуск распределенных транзакций
6.2 Завершение транзакции
6.3 Блокировки
6.4 Взаимоблокировки
6.4.1 Создание взаимоблокировки
7. Масштабирование распределенных баз данных
7.1 Создание функции разделения
7.2 Создание схемы разделения
7.3 Создание разделенных индексов
8. Оптимизация распределенных запросов
8.1 План выполнения запросов
8.2 Монитор производительности
8.3 Трассировка запросов
9. Индивидуальной задание
Заключение
Список использованных источников
Приложение
Введение
Данная курсовая работа призвана рассмотреть ключевые особенности работы транспортной компании, а также выявить процессы грузоперевозок, которые возможно автоматизировать с помощью СУБД.
Транспортные компании ежедневно получают большое количество заказов на грузоперевозки, которые нужно быстро обрабатывать, имеют больший парк автотранспорта, за которым нужно следить и поддерживать в работоспособном состоянии. Чтобы не упустить ни одного заказа, компании предложено автоматизировать процессы с помощью СУБД на базе Microsoft SQL Server 2012, имеющий большой спектр возможностей. Предполагается, что это упростит обработку заказов, ускорит их прием и позволит собирать статистику, что благоприятно скажется на прибыли компании.
В данной курсовой работе будет разработан проект автоматизации процесса грузоперевозок, развернута распределенная база данных компании, выполнена репликация, созданы десятки запросов. Все это позволит достичь цели, поставленной выше.
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы