Базы данных для станции технического обслуживания

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ОГЛАВЛЕНИЕ

 

 

ВВЕДЕНИЕ

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

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

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

Объектом исследования в курсовой работе является СУБД MS SQL Server. Предметом  - база данных для станции технического обслуживания.

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

Для достижения этой цели были поставлены и решены следующие задачи:

  1. Изучены теоретические вопросы, касающиеся понятия и архитектуры реляционных баз данных в SQL Server.
  2. Рассмотрены основные задачи, касающиеся администрирования баз данных и сервера MS SQL Server.
  3. Проведен анализ предметной области с помощью функционального моделирования,
  4. Для описания основных сущностей  и связей между ними построены логическая и  концептуальная диаграммы.
  5. Разработаны база данных предметной области и приложение.

При написании курсовой работы были использованы научные труды Е.Ф. Кодда, создателя реляционной базы данных, в своей технической статье «Реляционная модель данных для больших разделяемых банков данных» определивший правила реляционной БД, и Дугласа Т. Росса, разработавшего методологию функционального моделирования.

 

 

 

 

 

 

  1. Теоретические аспекты создания и администрирования баз данных в среде MS SQL Server

    1. Понятие реляционной базы данных

Базой данных (БД) называется организованная в соответствии с определенными правилами и поддерживаемая в памяти компьютера совокупность сведений об объектах, процессах, событиях или явлениях, относящихся к некоторой предметной области, теме или задаче. Она организована таким образом, чтобы обеспечить информационные потребности пользователей, а также удобное хранение этой совокупности данных, как в целом, так и любой ее части. [5, с]

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

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

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

Реляционная представляет собой множество взаимосвязанных таблиц, каждая из которых содержит информацию об объектах определенного вида. Каждая строка таблицы содержит данные об одном объекте, а столбцы таблицы содержат различные характеристики этих объектов - атрибуты. Строки таблицы называются записями. Все записи таблицы имеют одинаковую структуру - они состоят из полей (элементов данных), в которых хранятся атрибуты объекта. Каждое поле записи содержит одну характеристику объекта и представляет собой заданный тип данных (например, текстовая строка, число, дата). Для идентификации записей используется первичный ключ. Первичным ключом называется набор полей таблицы, комбинация значений которых однозначно определяет каждую запись в таблице. [9, с. 29]

Реляционная модель данных впервые была предложена американским математиком Коддом в 1970 г., а в 1985 г. Кодд написал статью, где сформулировал 12 правил, которым должна удовлетворять любая база данных, претендующая на звание реляционной. Приведенные ниже двенадцать правил Кодда считаются определением реляционной СУБД:

  1. Правило информации. Вся информация в базе данных должна быть представлена исключительно на логическом уровне и только одним способом - в виде значений, содержащихся в таблицах.
  2. Правило гарантированного доступа. Доступ должен обеспечиваться путем использования комбинации имени таблицы, первичного ключа и имени столбца.
  3. Правило поддержки недействительных значений, которые отличаются от строки пробельных символов, от строки символов нулевой длины и от нуля.
  4. Правило динамического каталога, основанного на реляционной модели. Описание базы данных на логическом уровне должно быть представлено в том же виде, что и основные данные.
  5. Правило исчерпывающего подъязыка данных. Реляционная система может поддерживать различные языки и режимы взаимодействия с пользователем, однако должен существовать хотя бы один язык, поддерживающий элементы: определения и обработку данных, условия целостности, идентификация прав доступа, границы транзакций.
  6. Правило обновления представлений.
  7. Правило добавления, обновления и удаления.
  8. Правило независимости физических данных. Прикладные программы и утилиты для работы с данными должны на логическом уровне оставаться нетронутыми при любых изменениях способов хранения данных или методов доступа к ним.
  9. Правило независимости логических данных. Прикладные программы и утилиты для работы с данными должны на логическом уровне оставаться нетронутыми при внесении в базовые таблицы любых изменений.
  10. Правило независимости условий целостности. Должна существовать возможность определять условия целостности, специфические для конкретной реляционной базы дынных, на подъязыке реляционной базы данных и хранить их в каталоге, а не в прикладной программе.
  11. Правило независимости распространения. Реляционная СУБД не должна зависеть от потребностей конкретного пользователя.
  12. Правило единственности. Если в реляционной системе есть низкоуровневый язык, то должна отсутствовать возможность использования его для того, чтобы обойти правила и условия целостности, выраженные на реляционном языке высокого уровня. [5, с.58]

Каждая база данных находится под управлением системы управления базой данных (СУБД) – программное обеспечение (ПО), с помощью которого пользователи могут определять, создавать и поддерживать базу данных, а также получать к ней контролируемый доступ.

    1. Обзор компонентов SQL Server

Рассматриваемый в курсовой работе Microsoft SQL Server – это полномасштабная реляционная система управления базами данных, включающая средства разработки и сопровождения реляционных баз данных, инструменты администрирования и анализа, которые соответствуют требованиям масштабируемости и надежности для большинства предприятий. Она может применяться в широком диапазоне разного типа решений, включая электронную коммерцию, накопление данных и другие прикладные приложения. Ядро СУБД SQL Server обеспечивает безопасное и надежное хранение реляционных и структурированных данных, позволяя создавать и обслуживать высокопроизводительные приложения обработки данных класса предприятия. Важным преимуществом Microsoft SQL Server  является тесная интеграция с Microsoft Visual Studio, Microsoft Office System. [19]

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

Основными компонентами среды MS SQL Server являются:

  1. SQL Server Management Studio - графическая оболочка для управления сервером и разработки баз данных. Среда Среда SQL Server Management Studio — это интегрированная среда для доступа, настройки, администрирования, разработки всех компонентов SQL Server и управления ими. В SQL Server Management Studio большое число графических средств сочетается с набором полнофункциональных редакторов скриптов для доступа разработчиков и администраторов.
  2. Performance Monitor-используется для мониторинга событий и сбора статистики.
  3. SQL Server Configuration Manager - это распределенная система клиент-сервер. Распределенная природа Configuration Manager означает, что подключения могут создаваться между серверами сайта, системами сайта и клиентами. В некоторых подключениях используются порты без возможности настройки, а некоторые поддерживают настраиваемые порты, которые можно указать. 
  4. Database Engine представляет собой основную службу для хранения, обработки и обеспечения безопасности данных; обеспечивает управляемый доступ к ресурсам и быструю обработку транзакций, что позволяет использовать его даже в самых требовательных корпоративных приложениях обработки данных.
  5. Службы Data Quality Services (DQS) являются решением для очистки данных на основе знаний. Службы DQS позволяют создать базу знаний, а затем выполнить в ней исправление данных и удаление дубликатов с помощью как автоматизированных, так и интерактивных средств.
  6. Службы Analysis Services — это платформа аналитических данных и набор средств для бизнес-аналитики на личном уровне, уровне рабочей группы и организации.
  7. Репликация представляет собой набор технологий копирования и распространения данных и объектов баз данных между базами данных, а также синхронизации баз данных для поддержания согласованности. Благодаря репликации данные можно размещать в различных местах, обеспечивая возможность доступа к ним удаленных и мобильных пользователей по локальным или глобальным сетям, посредством коммутируемых и беспроводных соединений, а также через Интернет. [10, с.103-106]

Помимо вышеперечисленных компонентов, MS SQL обладает подробной справочной системой SQL Server Books Online, а также SQL Server Tutorials, где можно ознакомиться с учебниками по SQL.

    1. Архитектура реляционной базы данных в MS SQL Server

Структурой хранения данных в SQL Server является база данных (database). Базу данных в SQL Server можно рассматривать с физической и логической точки зрения.

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

В SQL Server существует два типа файлов базы данных:

  1. Файлы данных (data file) предназначены для хранения информации, находящейся в таблицах БД, также в этих файлах размещены процедуры, ограничения, триггеры, индексы. Бывают двух видов: primary File (основной) и secondary file (вторичный). Основной файл предназначен для хранения всех системных таблиц в базе данных. В нем хранится информация о структуре базы данных, созданных в ней объектах, параметрах дополнительных файлов. По умолчанию основному файлу присваивается расширение mdf (master data file). В дополнительных файлах может храниться только пользовательская информация, хранение системной не допускается.
  2. Файлы журнала транзакций (transaction log file). В них размещается информация о ходе выполнения транзакций. Транзакция (англ. transaction, от лат. transactio - соглашение, договор) - минимальная логически осмысленная операция, которая имеет смысл и может быть совершена только полностью. В БД SQL Server должен быть хотя бы один журнал транзакций. [4, с. 30]

Каждый файл в БД SQL Server имеет  два имени: logical file name (логическое имя) в командах SQL при ссылке на конкретный файл, и os file name (имя файла в операционной системе) используется для обращения к файлу в операционной системе.

Единицей хранения данных на уровне файла базы данных является страница, которая участвует в операциях ввода-вывода как единое целое даже тогда, когда требуется всего одна строка. Каждая страница файла базы данных имеет объем 8192 байт. Страницы объединяются в экстенты. Экстент состоит из 8 страниц (64 Кбайт). Первые 96 байт страницы отводятся под заголовок, в котором хранится информация то типе страницы, объему свободного места на странице, идентификационному номеру таблицы или индекса – владельца страниц.

Всего существует шесть типов страниц:

    1. Data-в страницах этого типа хранятся собственно данные, исключая данные типа text, ntext и image.
    2. Index-страницы этого типа используются для хранения информации об индексированных таблицах.
    3. Text/Image - в страницах этого типа хранятся данные типа text, ntext и image.
    4. Global Allocation Map (GAM) - в страницах данного типа хранится информация об использовании экстентов (групп страниц).
    5. Page Free Space - в страницах этого типа хранится информация о свободном пространстве на страницах.
    6. Index Allocation Map (IAM) - страницы этого типа хранят информацию об экстентах, используемых таблицами или индексами.

На логическом уровне рассматриваются объекты, которые можно создавать в базе данных, а также различные свойства, которые влияют на работу сервера с базой данных. В список этих объектов входят: таблицы (tables), представления (views), индексы (indexes), ключи (keys), правила (rules), ограничения целостности (constraints), хранимые процедуры (stored procedures), триггеры (triggers), умолчания (defaults), определяемые пользователем типы данных (user-define data types, UDDT), определяемые пользователем функции (user-define function). [17]

    1. Задачи администратора MS SQL Server

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

  1. Архивирование базы данных и восстановление системы после сбоя. Пожалуй, это самая серьезная из всех задач, поскольку ее выполнение обеспечивает целостность и надежную работу базы данных. В рамках этой задачи создаются резервные копии баз данных и проверяется их корректность. Важность архивирования заключается в том, что при отказе системы восстановление баз данных возможно только из резервной копии и, если эти копии выполнялись неправильно или не выполнялись вообще, то это может быть угрозой потери данных. [10,c.742]
  2. Планирование емкости. Администратор должен правильно оценивать необходимый объем ОЗУ, дискового пространства и мощность процессора, а также на основе этой информации составлять рекомендации по приобретению дополнительных ресурсов. [10,c.733]
  3. Администрирование кластеров. Решение этой задачи требуется не всегда, а только в случае, если SQL Server работает совместно с Microsoft Cluster Server, применяемый для обеспечения отказаустойчивости.
  4. Документирование. Администратор должен вести документирование всех аспектов системы базы данных, в том числе за документирование конфигурации аппаратуры и программного обеспечения, процедур инсталляции, задач технической поддержки, обновления программного обеспечения и документирование всех изменений в приложениях.
  5. Импорт и экспорт данных. Импорт подразумевает под собой копирование информации SQL Server, хранящейся на различных внешних системах, а экспорт-предоставление внешним системам информации, хранящейся на SQL Server.
  6. Мониторинг и настройка производительности. Одной из повседневных обязанностей администратора является контроль за производительностью и работой сервера. При реализации данных задач, как правило, подразумевается проверка нагрузки на сервер.
  7. Администрирование репликаций. Технология репликаций позволяет копировать и перемещать любое количество данных в другое место, например из основной базы в тестовую. Процесс репликации должен происходить автоматически. [10. c.814]
  8. Безопасность. Администратор отвечает за безопасность системы. Безопасность системы важна, потому что если кто-нибудь вторгнется в систему и разрушит или украдет данные, то фирма понесет серьезный урон. В качестве защиты можно использовать доступ к компьютеру по паролю.

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

 

  1. Проектирование и реализация базы данных

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

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

Станция технического обслуживания (СТО) — организация, предоставляющая услуги населению и/или организациям по плановому техническому обслуживанию, текущему и капитальному ремонтам, устранению автополомок, установке дополнительного оборудования (тюнингу), восстановительному (кузовному) ремонту автотранспорта. СТО станция технического обслуживания-представляет собой комплекс сооружений и механизмов(подъёмники, рихтовочные стенды, шиномонтаж, балансировка, стенд развал-схождения, установка для замены масла, промывки топливной системы, рихтовочное и покрасочно-сушильное оборудование, стенды и тестеры для диагностики эл.цепи автомобиля), а также ручной и пневматический инструмент, собранные в одном месте для полноценного комплексного ремонта и обслуживания автомобилей.

Станция технического обслуживания оказывает следующие виды услуг:

    1. Ремонт ходовой части.
    2. Мойка автомобиля.
    3. Кузовной ремонт.
    4. Ремонт топливной системы.
    5. Ремонт КПП.
    6. Ремонт главной передачи.
    7. Ремонт и замена стекол.
    8. Установка и ремонт сигнализаций.
    9. Шиномонтаж.
    10. Замена масла.
    11. Аэрография.
    12. Установка акустических систем.
    13. Ремонт ДВС.
    14. Ремонт электрооборудования.

Для наглядного представления всего процесса, была построена графическая модель по методологии IDEF0. IDEF0-модель предполагает наличие четко сформулированной цели, единственного субъекта моделирования и одной точки зрения.

Описание системы с помощью IDEF0 называется функциональной моделью. Функциональная модель предназначена для описания существующих бизнес-процессов, в котором используются как естественный, так и графический языки. Для передачи информации о конкретной системе источником графического языка является сама методология IDEF0. Процесс моделирования системы в IDEF0 начинается с создания контекстной диаграммы – диаграммы наиболее абстрактного уровня описания системы в целом. Контекстная диаграмма представляет собой самое общее описание системы и ее взаимодействия с внешней средой. [7, c. 39]

Для разработки функциональной модели был использован AllFusion Process Modeler, поскольку он является мощным программным продуктом, с помощью которого можно  проводить моделирование, анализ, описание и последующую оптимизацию бизнес-процессов, а также создавать их графические модели. Программный продукт AllFusion Process Modeler совмещает в одном инструменте средства моделирования функций (IDEF0), потоков данных (DFD) и потоков работ (IDEF3).

В данной курсовой работе на основе нотации IDEF0 была разработана контекстная диаграмма, которая показывает входные и выходные ресурсы, правила управления и механизм управления.

На рисунке 1 представлена контекстная диаграмма деятельности станции технического обслуживания.

 

Рисунок 1- Контекстная диаграмма

Так, по контекстной диаграмме деятельности СТО, можно увидеть общий принцип ее работы. Для более детального проектирования воспользуемся DFD (от англ. Data Flow Diagrams) — диаграммы потоков данных. Так называется методология графического структурного анализа, описывающая внешние по отношению к системе источники и адресаты данных, логические функции, потоки данных и хранилища данных, к которым осуществляется доступ. [16]

Модель DFD, как и большинство других структурных моделей — иерархическая модель. Каждый процесс может быть подвергнут декомпозиции, то есть разбиению на структурные составляющие, отношения между которыми в той же нотации могут быть показаны на отдельной диаграмме. Главная цель такого представления - продемонстрировать, как каждый компонент преобразует свои входные данные в выходные, а также выявит отношения между этими процессами. Стрелки в DFD показывают, как объекты (данные) перемещаются от одного действия к другому. Это представление потока вместе с хранилищами данных и внешними сущностями обеспечивает отражение в DFD-моделях таких физических характеристик системы, как движение объектов (потоки данных), хранение объектов (хранилища данных), источники и потребители объектов (внешние сущности).[15]

 

Рисунок 2 -Диаграмма декомпозиции деятельности станции СТО

Из данной диаграммы декомпозиции видно, что основными процессами, описывающими деятельность СТО, являются:

  1. Регистрация клиента. Сотрудник СТО фиксирует фамилию, имя, отчество клиента, а также номер его контактного телефона.
  2. Прием заявки на ремонт. Сотрудник принимает от клиента заявку на ремонт, в которой записывает марку автомобиля, производителя, номер кузова, характеристики двигателя, также вносится услуга и ее стоимость.
  3. Внесение платы за ремонт. Клиент оплачивает услугу по ремонту.
  4. Ремонт автомобиля.

Деятельность станции технического обслуживания регламентируется различными нормативно-правовыми актами: законом «О защите прав потребителей», санитарно-гигиеническими нормами, техникой безопасности, регламентами по ремонту автомобилей и т.д.

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

Концептуальная модель представляет собой описание основных сущностей (таблиц) и связей между ними без учета принятой модели БД и синтаксиса целевой СУБД. Цель концептуального проектирования – создание концептуальной модели данных на основе представлений о предметной области каждого отдельного типа пользователей.  Часто на такой модели отображаются только имена сущностей (таблиц) без указания их атрибутов. Представление пользователя включает в себя данные, необходимые конкретному пользователю для принятия решений или выполнения некоторого задания. [13, с. 178]

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

Первый шаг в построении концептуальной модели данных состоит в определении основных объектов (сущностей), которые могут интересовать пользователя и, следовательно, должны храниться в БД, и атрибутов каждой из сущности.

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

Атрибут – любая характеристика сущности, значимая для рассматриваемой предметной области и предназначенная для квалификации, идентификации, классификации, количественной характеристики или выражения состояния сущности. Атрибут представляет тип характеристик или свойств, ассоциированных с множеством реальных или абстрактных объектов. [16]

Исходя из диаграммы DFD можно выделить следующие сущности:

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

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

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

Связи между объектами могут быть трех типов:

  • Один к одному. Этот тип связи означает, что каждому объекту первого вида соответствует не более одного объекта второго вида, и наоборот.
  • Один ко многим. Этот тип связи означает, что каждому объекту первого вида может соответствовать более одного объекта второго вида, но каждому объекту второго вида соответствует не более одного объекта первого вида. [12, c.46]
  • Многие ко многим. Этот тип связи означает, что каждому объекту первого вида может соответствовать более одного объекта второго вида, и наоборот.

Рисунок 3- Концептуальная модель базы данных

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

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

С логической точки зрения сущность представляет собой совокупность однотипных объектов или фактов, называемых экземплярами этой сущности. Физическим аналогом экземпляра обычно является запись в таблице базы данных. Как и записи в таблице реляционной СУБД, экземпляры сущности должны быть уникальными, то есть полный набор значений их атрибутов не должен дублироваться. И так же, как и поля в таблице, атрибуты могут быть ключевыми и неключевыми. [18]

Рисунок 4- Логическая модель базы данных

    1. Физическая реализация базы данных

Разрабатываемая нами реляционная база данных будет представлять собой множество взаимосвязанных двумерных таблиц (отношений), у каждой из которых будет уникальное имя и состоящая из строк-записей (кортежей) и столбцов - полей (атрибутов). Каждая запись представляет объект реального мира. Свойства объекта, его характеристики определяются значениями полей. Каждое поле имеет имя, тип и размер данных, хранимых в нем. Имена полей вынесены в шапку таблицы. Структура реляционной таблицы определяется составом полей. Каждое поле отражает определенную характеристику сущности. [18]

Базы данных для станции технического обслуживания