Информационная система таксопарка

АЛМАТИНСКИЙ УНИВЕРСИТЕТ  ЭНЕРГЕТИКИ И СВЯЗИ

Факультет «Информационные  технологии»

Кафедра компьютерных технологий

 

Курсовая работа

Дисциплина «Проектирование баз данных»

На тему: «Информационная система таксопарка»

 

 

 

 

Приняла:

Старший преподаватель

Сатимова Е. Г.

“____”___________2012

  Выполнил:

ст.гр. БВТ-09-4

Наби Р. Х.

 

 

 

Алматы, 2012г.

 

СОДЕРЖАНИЕ

Задание 3

Этап начальной  разработки БД 4

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

UML диаграммы. 6

Проектрирование БД 9

Концептуальное  проектирование 9

Разработка  и построение подробной ER диаграммы  на основании бизнес правил. 9

Бизнес правила 9

Определение атрибутов каждой сущности. 15

Составление реляционных отношений 18

Расчет места  для хранения БД. 22

Логическое  проектирование 27

Меры по обеспечению  безопасности. 27

Схемы отношений  составленные на языке определения  данных (DDL, Data Definition Language) 28

Создание  таблиц 28

Физическое  проектирование 32

Обоснование выбора СУБД 32

Создание  базы на СУБД MS SQL Server 2008 32

Заполнение  созданной БД 33

Запросы базы данных. Представления, процедуры и  триггеры. 36

Описание  интерфейса приложения  Библиотека и его функциональности. 45

Работа с  приложением. 45

Заключение 54

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

 

 

Задание 

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

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

 

- Регистрация новых вызовов  в базе данных;

- Формирование списков  сотрудников, автомашин;

- Вывод данных по запросам;

- Формирование маршрутных листов.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Этап начальной разработки БД

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

 

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

Те клиенты, которые часто  пользуются нашими услугами, могут получить дисконтную карточку.

Информационная система  «Таксопарк» предназначена для  упрощения регулированием системы  и для автоматизации её функций. База данных предназначена для диспетчеров  и директора таксопарка.

Система содержит следующую информацию:

 

Учет сотрудников:

    • код
    • фио
    • дата рождения
    • адрес проживания
    • номер телефона
    • должность
    • водительские права
    • семейное положение
    • личный автотранспорт
    • образование

 

Учет принятых вызовов:

    • код вызова
    • код сотрудника (диспетчер)
    • когда приехать за клиентом
    • телефон
    • адрес
    • пункт конечного назначения
    • водитель

 

Учет транспортных средств:

    • код автомашины
    • код сотрудника (водителя)
    • марка
    • категория
    • год выпуска
    • номер двигателя
    • объем двигателя
    • цвет

 

Учет материальных средств:

    • код
    • стоимость
    • описание
    • назначение
    • количество

 

Учет поставщиков:

    • код поставщика
    • наименование
    • юр. адрес
    • факс
    • договор
    • дата договора
    • комментарий

Ограничения на информационную систему:

    •   Сотрудник не может быть моложе 18 лет;
    •   Водитель не может выполнять более одного заказа одновременно;
    •   Маршрутный лист открывается на текущую дату;

 

С данной информационной системой могут работать следующие группы пользователей:

    • администратор;
    • диспетчер (оператор);

 

Система предусматривает следующие запросы:

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

 

При работе с системой диспетчер должен иметь возможность решать следующие задачи:

  1. Принимать новые заказы и регистрировать их в базе.
  2. Начинать и завершать смену водителей.
  3. Ставить заказ в очередь.
  4. Удалять заказы если клиент их отменяет.

Администратор должен иметь возможность решать задачи диспетчера и следующие:

  1. Просматривать и добавлять новых сотрудников.
  2. Просматривать и добавлять новые автомашины.
  3. Добавлять и просматривать информацию по всем справочникам базы данных.
  4. Просматривать статистику по выполненным заказам и по сотрудникам.

 

 

 

 

 

UML диаграммы.

 

Для моделирования статических  объектов в объектно-ориентированной  концепции UML существует 4 типа диаграмм:

1.Диаграмма компонентов.

2.Диаграмма прецедентов

3.Диаграмма классов.

4.Диаграмма развертывания.

Диаграмма компонентов.

Диаграмма компонентов показывает набор компонентов и отношений  между ними.

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

В моем случае исполняемый  модуль Taxi.exe обращается за получением или добавлением информации к базе данных Taxi-test.mdf. Но обращается не напрямую, а через MS SQL SERVER. Таким образом MS SQL Server 2008 является интерфейсом между программой и базой данных, обеспечивая их взаимодействие.

Рисунок 1. Диаграмма компонентов

Диаграмма прецедентов

Для характеристики взаимодействия пользователей с базами данных применяется  диаграмма прецедентов или вариантов  использования:

Рисунок 2.  Диаграмма объектов

Из нее видно, что пользоваться базой могут 3 группы пользователей: администраторы, библиотекари и пользователи.

Диаграмма классов

Диаграмма классов в UML является частным случаем ER диаграммы. ER диаграммы используются для логического проектирования баз данных. Главное их отличие: В ER диаграмме уделяется внимание структуре данных, а в диаграмме классов – поведению классов.

Рисунок 3. Диаграмма классов

 

 

 

 

 

Диаграмма развертывания

Рисунок 4. Диаграмма развертывания

 

 

 

 

 

 

 

 

 

 

Проектрирование БД

Концептуальное проектирование

 

Учитывая особенности  данной системы, расмотренной в анализе  предметной области, выделим таблицы и связи между ними, проедставленные на  предварительной ER-диаграмме.

Рисунок 5 - Общая ER-диаграмма

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

Разработка и построение подробной ER диаграммы на основании бизнес правил.

Бизнес правила

  • Каждый сотрудник имеет один паспорт, каждый паспорт принадлежит одному сотруднику.

Рисунок 6.

 

  • Каждый сотрудник имеет образование, каждое образование может быть у многих сотрудников.

 

Рисунок 7.

 

  • Каждое ТС имеет один цвет, каждый цвет может быть у множества ТС.

Рисунок 8.

 

  • Каждый вызов имеет тариф, каждый тариф может быть во многих вызовах.

 

Рисунок 9.

 

 

 

  • На каждое ТС может быть установлено мн-во материальных средств, каждое материальное средство может быть установлено на множество ТС.

 

Рисунок 10.

 

  • Каждая марка имеет множество моделей, каждая модель относится к одной марке.

Рисунок 11.

 

  • Каждое ТС имеет сотрудника (водителя), каждый сотрудник может иметь множество ТС.

Рисунок 12.

 

  • Каждое ТС имеет множество маршрутных листов, каждый маршрутный лист может быть у одного ТС.

Рисунок 13.

 

 

 

Рисунок 14. Окончательный вариант концептуальной модели информационной системы библиотеки.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Определение атрибутов каждой сущности.

Сегмент ER модели

Описание 

Таблица Сотрудники содержит следующие данные:

Код сотрудника–идентификатор сотрудника

Фамилия – фамилия сотрудника

Имя - имя сотрудника

Отчество – отчество сотрудника

Дата рождения – дата рождения сотрудника

Адрес – адрес проживания сотрудника

Номер телефона – телефон сотрудника

Должность – должность сотрудника

Водительские права –  ВУ сотрудника

Дата выдачи прав – дата выдачи ВУ сотруднику

Семейное положение –  говорит само за себя

Личный автомобиль – наличие  личного автотранспорта у сотрудника

Образование – образование  сотрудника

Таблица Образование содержит следующие данные:

Образование – идентификатор образования

Название – название вида образования

Таблица Семейное положение содержит следующие данные:

Семейное положение – идентификатор семейного положения

Название – название семейного положения

Таблица Паспорт содержит следующие данные:

Код струдника –идентификатор сотрудника

Номер паспорта– номер паспорта сотрудника

Кем выдан – организация выдавшая паспорт

Дата выдачи – дата выдачи паспорта сотруднику

Таблица Поставщик содержит следующие данные:

Код поставщика – идентификатор поставщика

Код мат. средства – идентиф. мат. средства

Наименование – название поставщика

Юр. адрес – юр. адрес поставщика

Факс – телефон\факс поставщика

Договор – договор с поставщиком

Дата договора – дата договора с поставщиком

Комментарий – дополнительные сведения

Таблица Материальное средство содержит следующие данные:

Код мат. средства - идентификатор мат. средства

Стоимость – цена

Описание – описание товара

Назначение – назначение товара

Количество – количество товара

Таблица Транспортное средство содержит следующие данные:

Номер ТС – идентификатор ТС

Код сотр. – идентификатор сотрудника

Марка модель ТС – марка модель ТС

Категория– категория ТС

Год выпуска – год выпуска ТС

Объем двигателя – объем двс. С

Номер двигателя– номер двс. ТС

Цвет – цвет ТС

Статус – определяет местонахождение ТС

Таблица  Цвет содержит следующие данные:

Цвет – идентификатор цвета

Название–  название цвета

Таблица Категоря книг содержит следующие данные:

Категория ТС – идентификатор категории

Название категории – название категории

Таблица Модель содержит следующие данные:

Марка модель ТС – идентификатор модели

Название – название модели машины

Код марки – идентификатор марки машины

Таблица Вызов содержит следующие данные:

Код сотрудника – идентификатор сотрудника

Код вызова – идентификатор вызова

Дата – дата вызова

Когда приехать – время вызова

Телефон – телефон клиента

Пункт отправления– адрес подачи такси

Дом– дом

Подъезд – подъезд

Номер карты – номер дисконтной карты

Код тарифа- идентификатор  тарифа

Киллометраж – пройденый  киллометраж

Пункт назначения – адрес  доставки клиента

Статус – статус заказа

Водитель – водитель выполняющий  заказ

Таблица Тариф содержит следующие данные:

Код тарифа – идентификатор тарифа

Название тарифа – название

Цена тарифа – цена за 1 киллометр пути

Таблица Маршрутный лист содержит следующие данные:

Код маршрутного листа – идентификатор

Код сотрудника – идентификатор сотрудника

Номер ТС–номер машины

Дата выдачи – дата выдачи маршрутного листа

Пробег – пробег на начало смены

Пробег_конец – пробег в конце смены

Статус – статус выполнения

Таблица Марка содержит следующие данные:

Код марки – Номер марки машины

Название – название марки  автомобиля


Составление реляционных  отношений

 

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

   Отношения приведены в таблицах 1-17. Для каждого отношения указаны атрибуты с их внутренним названием, типом и длиной. Обязательное поле для краткости обозначено not null, необязательное – null. Типы данных обозначаются так: int –числовой, varchar – символьный, Date – дата, Time - время.

 

Таблица 1. Схема отношения Транспортное средство (Avto)

Содержание поля

Имя поля

Тип, длина

Примечание

Номер ТС

Avto_id

int

Первичный ключ

Код сотрудника

Sotr_id

int

Первичный ключ

Внешний ключ (к Сотрудникам)

Марка модель ТС

Model_id

int

null

Категория ТС

Categ_id

int

null

Год выпуска

Avto_date

date

null

Объем двигателя

Avto_dvig_v

varchar (24)

null

Номер двигателя

Avto_dvig_n

varchar (25)

null

Статус

Avto_status

varchar (25)

null

Цвет

Color_id

int

Внешний ключ (к Цветам)


 

Таблица 2. Схема отношения Цвет (Color)

Содержание поля

Имя поля

Тип, длина

Примечание

Цвет

Color_id

int

Первичный ключ

Название

Cat_Name

varchar (22)

null


 

Таблица 3. Схема отношения Категория (Category)

Содержание поля

Имя поля

Тип, длина

Примечание

Категория ТС

Categ_ID

int

Первичный ключ

Название

Categ_name

varchar (22)

null


 

Таблица 4. Схема отношения Оборудование (Oborud)

Содержание поля

Имя поля

Тип, длина

Примечание

Номер ТС

Avto_id

int

Составной первичный ключ. Внешний ключ (к Трансп. средства)

Код сотрудника

Sotr_id

int

Составной первичный ключ. Внешний ключ (к Трансп. средства)

Код материального средства

Material_id

int

Первичный ключ

Внешний ключ (к Материальные средства)


 

Таблица 5. Схема отношения Поставщик (Postavshik)

Содержание поля

Имя поля

Тип, длина

Примечание

Код поставщика

Postav_id

int

Первичный ключ

Код материального средства

Material_id

int

Внешний ключ (к Материальные средства)

Юр. адрес

Ur_adr

varchar (20)

null

Факс

Fax

varchar (22)

null

Договор

dogovor

varchar (21)

null

Дата договора

Dogovor_date

datetime

null

Наименование

Name

varchar (25)

null

Комментарий

Comment

varchar (80)

null


 

Таблица 6. Схема отношения Марка (Marka)

Содержание поля

Имя поля

Тип, длина

Примечание

Код марки

Marka_id

int

Первичный ключ

Название

Marka

varchar (20)

null


 

Таблица 7. Схема отношения Сотрудник (Sotrudnik)

Содержание поля

Имя поля

Тип, длина

Примечание

Код сотрудника

Sotr_id

int

Первичный ключ

Фамилия

Sotr_FAM

varchar (20)

not null

Имя

Sotr_imya

varchar (15)

null

Отчество

Sotr_Otch

varchar (15)

null

Дата рождения

Sotr_date

datetime

null

Адрес проживания

Sotr_adr

varchar (25)

null

Номер телефона

Sotr_tel

varchar (20)

null

Должность

Sotr_doljn

varchar (15)

null

Водительские права

Sotr_prava

varchar (20)

null

Дата выдачи прав

Sotr_date_prava

datetime

null

Семейное положение

Semya_id

int

Внешний ключ (к Семья)

Личный автомобиль

Sotr_auto

varchar (10)

null

Образование

Obraz_id

int

Внешний ключ (к Образование)


 

Таблица 8. Схема отношения Образование (Obrazov)

Содержание поля

Имя поля

Тип, длина

Примечание

Образование

Obraz_id

int

Первичный ключ

Название

Obraz_name

varchar (20)

null


 

Таблица 9. Схема отношения Семейное положение (Semya)

Содержание поля

Имя поля

Тип, длина

Примечание

Семейное положение

Semya_id

int

Первичный ключ

Название

Semya_name

varchar (22)

null


 

Таблица 10. Схема отношения Паспорт (Pasport)

Содержание поля

Имя поля

Тип, длина

Примечание

Код сотрудника

Sotr_id

int

Первичный ключ

Номер паспорта

Pass_id

varchar (8)

null

Кем выдан

Kem_vidan

varchar (10)

null

Дата выдачи

Data_vidan

datetime

null


 

Таблица 11. Схема отношения Вызов (Call)

Содержание поля

Имя поля

Тип, длина

Примечание

Код сотрудника

Sotr_ID

int

Первичный ключ Внешний ключ (к Сотрудники)

Код вызова

Call_id

int

Первичный ключ

Дата

Date_to_client

date

null

Когда приехать за клиентом

Time_to_client

Time(7)

null

Телефон

Telefon

varchar (20)

null

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

Punkt_otpr

int

Внешний ключ (к Улицы)

Дом

Dom

int

null

Подъезд

Pod_ezd

varchar (22)

null

Номер карты

Card_id

int

Внешний ключ (к Карта)

Код тарифа

Tarif_id

int

Внешний ключ (к Тариф)

Киллометраж

killometr

int

null

Пункт назначения

Punk_naznach

int

Внешний ключ (к Улицы)

Статус

Call_status

Varchar(20)

null

Водитель

Voditel

int

Внешний ключ (к Сотрудники)

Цена

Call_price

money

null


 

Таблица 12. Схема отношения Тариф (Tarif)

Содержание поля

Имя поля

Тип, длина

Примечание

Код тарифа

Tarif_id

int

Первичный ключ

Название тарифа

Tarif_name

varchar(21)

not null

Цена 

Tarif_price

money

not null


 

Таблица 13. Схема отношения Маршрутный лист (List)

Содержание поля

Имя поля

Тип, длина

Примечание

Код маршрутного листа

List_id

int

Первичный ключ

Код сотрудника

Sotr_id

int

Составной первичный ключ. Внешний ключ (к Трансп. средства)

Номер ТС

Avto_id

int

Составной первичный ключ. Внешний ключ (к Трансп. средства)

Дата выдачи

List_date

smalldatetime

null

Пробег

List_probeg

int

null

Пробег конец

List_probeg_off

int

null

Статус

List_status

varchar(20)

null


 

Таблица 14. Схема отношения Модель (Model)

Содержание поля

Имя поля

Тип, длина

Примечание

Марка модель ТС

Model_id

int

Первичный ключ

Казвание

Model

Varchar(20)

null

Код марки

Marka_id

int

Внешний ключ(к Марки)

Информационная система таксопарка