Разработка базы данных "Автосервис"

Автор работы: Пользователь скрыл имя, 24 Ноября 2013 в 19:04, курсовая работа

Описание работы

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

Содержание работы

Введение 3
РАЗДЕЛ 1. Разработка базы данных 4
Постановка задачи 4
Анализ предметной области 5
РАЗДЕЛ 2. Моделирование структур данных 7
2.1. Разработка концептуальной модели базы данных 7
2.2. Разработка логической модели данных 9
2.3. Преобразование модели «сущность-связь» в реляционную
модель данных 10
РАЗДЕЛ 3. Проектирование базы данных 12
3.1. Разработка таблиц 12
3.2. Разработка форм для ввода данных 17
3.3. Разработка запросов к базе данных 21
3.4. Разработка отчетов 27
ЗАКЛЮЧЕНИЕ 30
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 31

Файлы: 1 файл

разработка (2).doc

— 700.50 Кб (Скачать файл)
  1. Определение необходимых таблиц и полей.

Таблица является основой базы данных, поэтому при разработке таблиц рекомендуется руководствоваться следующими основними принципами [2, C. 7]:

  • сведения не должны дублироваться в таблице или между таблицами;
  • данные, хранящиеся только в одной таблице, обновляются только в этой таблице;
  • каждая таблица должна содержать информацию только на одну тему.

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

База данных «Автосервис» содержит четыре таблицы:

  1. Таблица Заказчики (рис.3) предназначена для ввода информации о владельце ремонтируемого автомобиля. Данная таблица содержит следующие атрибуты:
  • код заказа (тип поля – целое [Integer], длинна – 10, обязательное);
  • Ф.И.О. (тип поля – текстовое [VARCHAR], длинна – 50, обязательное);
  • паспортные данные (тип поля – текстовое [VARCHAR], длинна – 100, обязательное);
  • серия и № тех. паспорта (тип поля –  текстовое [VARCHAR], длинна – 15, обязательное);
  • Марка автомобиля (тип поля – текстовое [VARCHAR], длинна – 100, обязательное);
  • цвет автомобиля (тип поля – текстовое [VARCHAR], длинна – 100, не обязательное);
  • № шасси (тип поля – текстовое [VARCHAR], длинна – 100, не обязательное);
  • № двигателя (тип поля – числовое [NUMERIC], длинна – 100, не обязательное);
  • год выпуска (тип поля – дата [DATA], обязательное).

Рис. 3. Таблица Заказчики.

  1. Таблица Заказы (рис. 4) предназначена для ввода информации о заказах: когда заказали, кто заказал, ответственный мастер, стоимость ремонтных работ, замечания. Данная таблица содержит следующие атрибуты:
  • код заказа (тип поля – целоe [Integer], длинна – 10, обязательное);
  • код заказчика (тип поля – текстовое [VARCHAR], длинна – 10, не обязательное);
  • дата заказа (тип поля – дата [DATA], не обязательное);
  • общая калькуляция ремонтных работ (тип поля –  десятичное [DECIMAL], длинна – 100, не обязательное);
  • ответственный мастер (тип поля – целое [Integer], длинна – 10, не обязательное);
  • дата оплаты (тип поля – дата [DATA], не обязательное);
  • дата приема (тип поля – дата [DATA], не обязательное);
  • замечания (тип поля – тестовое [VARCHAR], длинна – 100, не обязательное).

Рис. 4. Таблица Заказы.

  1. Таблица Ремонтные работы (рис. 5) предназначена для описания всех видов ремонтных работ, которые были выполнены на данном предприятии.

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

  • код работ (тип поля – целое [Integer], длинна – 10, обязательное);
  • код заказа (тип поля – целое [Integer], длинна – 10,  обязательное);
  • деталировка (тип поля – текстовое [VARCHAR], длинна – 100, не обязательное).

Рис. 5. Перечень работ.

  1. Мастера (рис. 6). Таблица мастера предназначена для ввода информации о сотрудниках. Данная таблица содержит следующие атрибуты:
  • № мастера (тип поля – целое [Integer], длинна – 10, обязательное);
  • Ф.И.О. мастера (тип поля – текстовое [VARCHAR], длинна – 100, не обязательное);
  • должность (тип поля – текстовое [VARCHAR], длинна – 100, не обязательное).

Рис. 6. Мастера.

  1. Установление первичных ключей.

Определим, для каждой сущности первичный ключ, при этом надо учитывать, что сильные сущности имеют только одно ключевое поле, а слабые — столько же, сколько и связей. При выборе первичного ключа будем руководствоваться правилами [3, C. 46]:

– ключ должен содержать минимальный набором атрибутов;

– использовать следует тот ключ, вероятность изменения значений которого минимальна;

– значение ключа должно иметь минимальную длину.

Исходя из вышесказанного, у имеющихся сущностей определим такие ключевые поля:

  • сущность Заказчики имеет ключевое поле Код заказчика;
  • сущность Заказы определяется ключом Код заказа;
  • сущность Мастера имеет ключевое поле № мастера;
  • сущность Ремонтные работы определяется ключом Код запроса;
  1. Формирование связей между таблицами.

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

OpenOffice.org BASE поддерживает четыре типа отношений между таблицами [2, С. 31]:

– один-к-одному (каждая запись в одной таблице соответствует только одной записи в другой таблице);

– один-ко-многим (каждая запись в одной таблице соответствует многим записям в другой таблице);

– много-к-одному (аналогична записи «один-ко-многим);

– много-ко-многим (одна запись из первой таблицы может быть связана более чем с одной записью из второй таблицы либо одна запись из второй таблицы может быть связана болеечем с одной записью из первой таблицы).

Связи, установленные в БД «Автосервис» уже были представленны в предыдущем разделе на рис. 2.

 

    1. Разработка форм ввода информации

 

Форма — объект, предназначенный для ввода, редактирования и просмотра табличных данных в удобном виде.

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

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

OpenOffice.org Base предлагает несколько способов создания форм. Самым простым из них является использование средств автоматического создания форм на основе таблицы или запроса [6].

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

Примеры простых форм приведены на рис.7-10.

Рис.7. Форма Заказчик.

 

Рис.8. Форма Заказы.

Рис.9. Перечень работ.

 

Рис.10. Мастера.

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

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

Благодаря составным  формам появляется возможность одновременно заполнять разные таблицы.

Примеры субформ представлены на рис. 11-13.

Рис. 11. Форма Заказчик с субформой Заказы.

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

Рис. 12. Форма Заказы с субформой Ремонтные работы.

Эта форма позволяет вносить информацию в таблицы Заказы и Ремонтные работы.

 

Рис. 13. Форма Мастера с субформой Заказы.

Форма Мастера с субформой Заказы позволяет контролировать выполнения работ конкретным мастером.

 

    1. Разработка запросов к базе данных

 

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

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

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

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

Существует несколько типов запросов [8]:

  1. Запрос на выборку. Запрос на выборку является наиболее часто используемым типом запроса. Запросы этого типа возвращают данные из одной или нескольких таблиц и отображают их в виде таблицы, записи в которой можно обновлять (с некоторыми ограничениями). Запросы на выборку можно также использовать для группировки записей и вычисления сумм, средних значений, подсчета записей и нахождения других типов итоговых значений.
  2. Запрос с параметрами. Запрос с параметрами — это запрос, при выполнении отображающий в собственном диалоговом окне приглашение ввести данные, например условие для возвращения записей или значение, которое требуется вставить в поле. Запросы с параметрами удобно использовать в качестве основы для форм, отчетов и страниц доступа к данным.
  3. Перекрестные запросы. Перекрестные запросы используют для расчетов и представления данных в структуре, облегчающей их анализ. Перекрестный запрос подсчитывает сумму, среднее, число значений или выполняет другие статистические расчеты, после чего результаты группируются в виде таблицы по двум наборам данных, один из которых определяет заголовки столбцов, а другой заголовки строк.
  4. Запрос на изменение. Запросом на изменение называют запрос, который за одну операцию изменяет или перемещает несколько записей. Существует четыре типа запросов на изменение: на удаление записи, на обновление записи, на добавление записей, на создание таблицы.
  5. Запрос SQL. Запрос SQL — это запрос, создаваемый при помощи инструкций SQL. Язык SQL (Structured Query Language) используется при создании запросов, а также для обновления и управления реляционными базами данных. Когда пользователь создает запрос в режиме конструктора запроса, автоматически создается эквивалентная инструкцию SQL. Фактически, для большинства свойств запроса, доступных в окне свойств в режиме конструктора, имеются эквивалентные предложения или параметры языка SQL, доступные в режиме SQL. При необходимости пользователь имеет возможность просматривать и редактировать инструкции SQL в режиме SQL. После внесения изменений в запрос в режиме SQL его вид в режиме конструктора может измениться.

OpenOffice.org BASE поддерживает не все рассмотренные типы запросов. Base, входящей в состав OpenOffice.org поддерживает такие запросы, как: запрос на выборку, запрос с параметрами и запросы SQL.

В разработанной базе данных было построено восемь различных по типам запросов:

  • интергальные запроси: «Количество заказов за определенный месяц», «Количество заездов на автосервис», «Общая сумма калькуляции за 2012 год»;
  • запросы на выборку: «Марки ремонтируемых авто», «Неоплаченные заказы с 2012», «Общая сумма не оплаты», «Общая сумма оплаты», «Процентное соотношение оплаты».

 Детальнее рассмотрим два из них:

  1. Запрос «Количество заказов за определённый месяц» (рис. 14).

Для его построения были использована таблица Заказы, из которой  были выбраны такие атрибуты, как: Код заказа, Дата заказа. В поле Дата заказа был вписан критерий, который позволяет отобрать нужные данные из множества всей информации о датах заказов.

Данный запрос при  выполнении дает информацию о всех заказах за определённый месяц.

 

Рис. 14. Запрос «Количество  заказов за определённый месяц».

Результат выполнения данного запроса представлен на рис. 15.

Рис. 15. Результат выполнения запроса «Количество заказов за определённый месяц».

  1. Запрос «Количество заездов на автосервис» (рис. 16).

Для его построения были использованы таблицы: Заказчик и Заказы. Из таблицы Заказчик бил выбран атрибут Коз заказчика, из таблицы Заказы выбираем аналогичный атрибут. В поле таблицы Заказы выбираем функцию количество. В результате, данный запрос при выполнении дает информацию о количестве заездов каждым заказчиком на автосервис.

Рис. 16. Запрос «Количество заездов на автосервис».

Результат выполнения данного запроса представлен на рис. 17.

Рис. 17. Результат выполнения запроса «Количество заездов  на автосервис».

Результаты  выполнения остальных запросов представлены на рис. 18-22.

Рис. 18. Результат  выполнения запроса «Марки ремонтируемых автомобилей».

 

Рис. 19. Результат выполнения запроса «Общая калькуляция за 2012 год».

 

Рис. 20. Результат выполнения запроса «Неоплаченные заказы».

 

Информация о работе Разработка базы данных "Автосервис"