Автор: Пользователь скрыл имя, 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 Восстановление данных при аппаратных сбоях
Выводы
Список использованных источников
Приложение А Техническое задание
Приложение Б Отчеты
Приложение В Руководство пользователя, инсталляция, реализация
Приложение Г Листинг программных модулей
3.
«Количество изделий» —
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(
Вид запроса в 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 — Вид запроса в режиме конструктора