СУБД Предприятия

Автор: Пользователь скрыл имя, 10 Сентября 2011 в 22:43, курсовая работа

Краткое описание

В данном курсовом проекте объектом исследования является БД промышленных предприятий.
Объектом автоматизации является доступ и хранение информации о производственной деятельности предприятий.
Целью создания БД является:
— надежное хранение информации;
— изменение (добавление, удаление, обновление) информации о предприятиях, цехах и выпускаемой продукции;
— уменьшение времени доступа к необходимой информации по предметной области.

Оглавление

Введение ………………………………………………………………………. 6
1 Описание функционирования промышленных предприятий …………… 7
2 Постановка задачи ………………………………………………………….. 9
3 Концептуальное программирование СУБД ………………………………. 10
3.1 Описание схемы объект-отношение …………………………………….. 10
3.2 Обоснование выбора модели данных …………………………………… 11
3.3 Нормализация таблиц ……………………………………………………. 15
4 Программная реализация СУБД
4.1 Анализ существующих СУБД
4.2 Описание таблиц
4.3 Описание реализованных запросов к БД
4.4 Описание разработанных форм
4.5 Описание сформированных отчетов
4.6 Описание макросов и модулей
4.7 Функционально-логическая схема СУБД
5 Уровни доступа к СУБД
6 Архивация и восстановление данных
6.1 Архивация и восстановление устаревших данных
6.2 Восстановление данных при аппаратных сбоях
Выводы
Список использованных источников
Приложение А Техническое задание
Приложение Б Отчеты
Приложение В Руководство пользователя, инсталляция, реализация
Приложение Г Листинг программных модулей

Файлы: 1 файл

Курсовой проект (Предприятие).doc

— 2.05 Мб (Скачать)

      3. «Количество изделий» — количество  рабочих, работающих в цехе. Тип  — целое. Обязательное поле, т.к. сведения о количестве изделий обязательны для составления плана. Условие на значение: «(>0) And (<9999)» (т.е. можно ввести любое значение от 1 до 9999), при вводе ошибочного значения выводится сообщение об ошибке. Поле индексировано, т.к. возможен поиск по нему.

      4. «Название изделия» — код изделия.  Тип — числовой. Обязательное  поле. Подстановка из таблицы  «Изделие», связь по полю «Код  изделия», отображается поле «Название изделия».

      5. «План на месяц» — код плана  на месяц, к которому относится  план выпуска. Тип — числовой. Обязательное поле. Подстановка из таблиц «План на месяц» и «Месяц», связь по полю «Код плана на месяц», отображается содержимое полей «Название месяца» (таблица «Месяц») и «Год» (таблица «План на месяц».

      Таблица «АРХИВ». Таблица используется для хранения архивных данных. Заполняется прошлогодними планами выпуска на изделия. Таблица изображена на рисунке 4.10. 

Рисунок 4.10 — Таблица «АРХИВ» 

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

      Таблица «Доступ - Пользователи». Хранит в себе информацию об пользователях базы с логинами и паролями. Таблица изображена на рисунке 4.11. 

Рисунок 4.11 — Таблица «Доступ - Пользователи» 

      4.3 Описание реализованных запросов  к БД 

      4.3.1 Запросы для архивации и восстановления  данных 

      Запрос  «АРХИВ – Заполнение».

      Тип запроса: Добавление.

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

      Представление запроса в РА:

      ([План  выпуска] JOIN ([План на месяц] WHERE Год  < Year(Now()))) [Название изделия, Цена, Количество изделий, Месяц, Год]

      Вид запроса в SQL с порядком выполнения команд:

      INSERT INTO5 АРХИВ ( [Название изделия], Цена, [Количество изделий], Месяц, Год )

      SELECT4 [План выпуска].[Название изделия], [План выпуска].Цена, [План выпуска].[Количество изделий], [План на месяц].Месяц, [План на месяц].Год

      FROM1 [План на месяц] INNER JOIN2 [План выпуска] ON [План на месяц].[Код плана на месяц] = [План выпуска].[План на месяц]

      WHERE3 ((([План на месяц].Год)<Year(Now())));

      Вид в режиме конструктора и результат работы запроса представлены на рисунках 4.12 и 4.13. 

Рисунок 4.12 — Вид запроса в режиме конструктора 

Рисунок 4.13 — Таблица «АРХИВ» в результате выполнения запроса 

      Запрос  «АРХИВ - Удаление старых данных».

      Тип запроса: Удаление.

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

      Представление запроса в РА:

      [План  на месяц] WHERE Год < Year(Now())

      Вид запроса в SQL с порядком выполнения команд:

      DELETE3 [План на месяц].*, [План на месяц].Год

      FROM1 [План на месяц]

      WHERE2 ((([План на месяц].Год)<Year(Now())));

      Вид в режиме конструктора и результат  работы запроса представлены на рисунках 4.14 и 4.15. 

Рисунок 4.14 — Вид запроса в режиме конструктора 

Рисунок 4.15 — Таблицы после удаления устаревших данных 

      Запрос  «АРХИВ – Выделение планов на месяц».

      Тип запроса: Выборка данных.

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

      Этот  и следующие 2 запроса связаны  с восстановлением данных. При восстановлении нам необходимо также восстановить планы на месяца предыдущих лет.

      Представление запроса в РА:

      (АРХИВ WHERE (count(Месяц)>=1)And(count(Год)>=1))[Месяц, Год]

      Вид запроса в SQL с порядком выполнения команд:

      SELECT4 АРХИВ.Месяц, АРХИВ.Год

      FROM1 АРХИВ

      GROUP BY2 АРХИВ.Месяц, АРХИВ.Год

      HAVING3 (((Count(АРХИВ.Месяц))>=1) AND ((Count(АРХИВ.Год))>=1));

      Вид в режиме конструктора и результат  работы запроса представлены на рисунках 4.16 и 4.17. 

Рисунок 4.16 — Вид запроса в режиме конструктора 

Рисунок 4.17 — Результат выделения планов на месяц из таблицы «АРХИВ» 

      Запрос  «АРХИВ - Восстановление 'План на месяц'».

      Тип запроса: Добавление.

      Т.к. планы выпуска на изделия зависят  от планов на месяц, то сначала выполняем  восстановление планов на месяц.

      Представление запроса в РА:

      [АРХИВ  – Выделение планов на месяц][Месяц,  Год]

      Вид запроса в SQL с порядком выполнения команд:

      INSERT INTO [План на месяц] ( Месяц, Год  )

      SELECT2 [АРХИВ - Выделение планов на месяц].Месяц, [АРХИВ - Выделение планов на месяц].Год

      FROM1 [АРХИВ - Выделение планов на месяц];

      Вид в режиме конструктора и результат  работы запроса представлены на рисунках 4.18 и 4.19. 

Рисунок 4.18 — Вид запроса в режиме конструктора 

Рисунок 4.19 — Таблица «План на месяц» в результате выполнения запроса 

      Запрос  «АРХИВ - Восстановление 'План выпуска'».

      Тип запроса: Добавление.

      После восстановления планов на месяц, восстанавливаем планы выпуска на изделия, связывая их с планами на месяц.

      Представление запроса в РА:

      ([АРХИВ] JOIN [План на месяц])[Название изделия, Цена, Количество изделий, Код плана на месяц]

      Вид запроса в SQL с порядком выполнения команд:

      INSERT INTO4 [План выпуска] ( Цена, [Количество изделий], [Название изделия], [План на месяц] )

      SELECT3 АРХИВ.Цена, АРХИВ.[Количество изделий], АРХИВ.[Название изделия], [План на месяц].[Код плана на месяц]

      FROM1 АРХИВ INNER JOIN2 [План на месяц] ON (АРХИВ.Год = [План на месяц].Год) AND (АРХИВ.Месяц = [План на месяц].Месяц);

      Вид в режиме конструктора представлен  на рисунке 4.19. 

Рисунок 4.19 — Вид запроса в режиме конструктора 

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

      Запрос  «АРХИВ – Очистка архива».

      Тип запроса: Удаление.

      Очистка архива в случае если прошлые планы  выпуска больше не представляют ценности.

      Вид запроса в SQL с порядком выполнения команд:

      DELETE2 АРХИВ.*

      FROM1 АРХИВ;

      Вид в режиме конструктора представлен  на рисунке 4.20. 

Рисунок 4.20 — Вид запроса в режиме конструктора 

      В результате запроса происходит полная очистка архива. 

      4.3.2 Запросы для отчетов 

      Запрос  «Запрос для Плана выпуска».

      Тип запроса: Выборка.

      Различные отчеты требуют различную информацию. В этом запросе происходит выборка  данных для создания всех отчетов  СУБД кроме каталога.

      Представление запроса в РА:

      (((((Предприятие JOIN Цех) JOIN Изделие) JOIN [Тип изделия]) JOIN [План выпуска]) JOIN (Месяц JOIN [План на месяц]))[Код предприятия, Код плана на месяц, Код плана, Название, Название цеха, Название изделия, Название типа изделия, Название месяца, Год, План на месяц, Количество изделий, Цена]

      Вид запроса в SQL с порядком выполнения команд:

      SELECT8 Предприятие.[Код предприятия], [План на месяц].[Код плана на месяц], [План выпуска].[Код плана], Предприятие.Название, Цех.[Название цеха], Изделие.[Название изделия], [Тип изделия].[Название типа изделия], Месяц.[Название месяца], [План на месяц].Год, [План выпуска].[План на месяц], [План выпуска].[Количество изделий], [План выпуска].Цена

      FROM1 [Тип изделия] INNER JOIN2 (Месяц INNER JOIN3 ((Предприятие INNER JOIN4 (Цех INNER JOIN5 Изделие ON Цех.[Код цеха] = Изделие.Цех) ON Предприятие.[Код предприятия] = Цех.Предприятие) INNER JOIN6 ([План на месяц] INNER JOIN7 [План выпуска] ON [План на месяц].[Код плана на месяц] = [План выпуска].[План на месяц]) ON Изделие.[Код изделия] = [План выпуска].[Название изделия]) ON Месяц.[Код месяца] = [План на месяц].Месяц) ON [Тип изделия].[Код типа изделия] = Изделие.[Тип изделия];

      Вид в режиме конструктора и результат  работы запроса представлены на рисунках 4.21 и 4.22. 

Рисунок 4.21 — Вид запроса в режиме конструктора

Рисунок 4.22 — Результат выполнения запроса 

      Запрос  «Запрос для бланка ПВ».

      Тип запроса: Выборка.

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

      Представление запроса в РА:

      [Запрос  для Плана выпуска] WHERE [Код плана] = [Forms]![Добавление плана - Шаг 2]![ПФ - План выпуска (добавление плана)]![Код  плана]

      Вид запроса в SQL с порядком выполнения команд:

      SELECT3 [Запрос для Плана выпуска].*

      FROM1 [Запрос для Плана выпуска]

      WHERE2 ((([Запрос для Плана выпуска].[Код плана])=[Forms]![Добавление плана - Шаг 2]![ПФ - План выпуска (добавление плана)]![Код плана]));

      Вид в режиме конструктора и результат  работы запроса представлены на рисунках 4.23 и 4.24. 

Рисунок 4.23 — Вид запроса в режиме конструктора 

Информация о работе СУБД Предприятия