Контрольная работа: Информационные системы 6
60
Отношение соответствует ЗНФ, если оно соответствует 2НФ и среди его атрибутов отсутствуют транзитивные функциональные зависимости (ФЗ).
Алгоритм получения отношений в ЗНФ обладает следующими свойствами:
· сохраняет все первоначальные функциональные зависимости, т.е. зависимость, справедливая в R, справедлива и в одном из производных отношений. Это гарантирует получение осмысленных отношений с легко интерпретируемой структурой;
· обеспечивает соединение без потерь, т.е. значения исходного отношения R могут быть восстановлены из проекций отношения R с помощью операции соединения;
· результат декомпозиции в ЗНФ обычно содержит меньше значений атрибутов, чем исходное отношение R (происходит уменьшение избыточности).
3. Разработать информационную систему для учета затрат на производство продукции
Данная задача необходима для планово-экономического отдела предприятия. Ее цель показать затраты на производство с учетом материальных и трудовых ресурсов. Результаты задачи показывают насколько выгодно для предприятия выполнение данного заказа изготовления продукции. Данные о необходимой информации поступают из следующих отделов участвующих в процессе обработки информации:
· финансовый;
· отдела материалов;
· комплектующий отдел;
· расчетный отдел;
· др.
Необходимость или периодичность выполнения данной задачи зависит от количества выполняемых заказов. Другими словами, она необходима при выполнении любого заказа, выполняемого на предприятии.
Приведенные входные данные имеют укрупненный вид.
Входные таблицы:
1. Сводная таблица учетов заказов.(Costs)
Наименование поля | Идентификация | Тип данных |
Код записи (ключевое) | ID | Счетчик |
Код заказа | KodZak | Текстовое |
Дата | Data | Дата/Время |
Затраты на материалы | Materials | Денежный |
Затраты на всп. материалы | SumMaterials | Денежный |
Накладные расходы | Overheads | Денежный |
Полуфабрикаты/комплектующие | SemiProducts | Денежный |
2. Таблица учета работы над заказом специалистов (MainManufacture)
Наименование поля | Идентификация | Тип данных |
Код записи (ключевое) | ID | Счетчик |
Код заказа | ID_costs | Числовое-целое |
Код рабочего | WorkerID | Числовое-целое |
Заработная плата | Zarpl | Денежный |
3. Таблица учета работы над заказом групп работников (SubManufacture)
Наименование поля | Идентификация | Тип данных |
Код записи (ключевое) | ID | Счетчик |
Код заказа | ID_Costs | Числовое-целое |
Количество работников | Kolvo | Числовое-целое |
Средняя заработная плата | AvrZarpl | Денежный |
4. Таблица работников-специалистов (WorkersList)
Наименование поля | Идентификация | Тип данных |
Код записи (ключевое) | ID | Счетчик |
Табельный номер | TabNo | Числовое-целое |
Фамилия, И.О. | FIO | Текстовое |
Построим схему данных.
|
| ||||||||||||
ID | ||||||||||||
KodZak | ||||||||||||
Data | ||||||||||||
Materials | ||||||||||||
SumMaterials | ||||||||||||
| ||||||||||||
SemiProducts |
Как видно из таблиц, все они имеют ключевые поля (ID) которые указывают на уникальность записи в любой из таблиц. Так, в таблицах 2 и 3 существуют поля ID_Costs, которые указывают на определенный заказ. Данное условие было необходимо, поскольку уникальным ключом таблицы COSTS является номер заказа и дата его запуска. Данные поля вместе представляют довольно большое поле-ключ, что будет создавать в других таблицах избыточность информации. Следовательно, довольно таки удобнее ввести одно уникальное поле, которое и будет служить ключом для связки таблиц. Тоже самое касается и Таблицы WorkersList. Как правило, уникальным может быть и табельный номер работника, но есть случаи, когда он не уникален: например, табельные номера каждый раз начинаются с начала в новом отделе, либо это поле имеет буквенно-цифровой вид, что приводит к увеличению обработки информации, поскольку компьютерная техника работает быстрей с цифрами, чем с символами.
Представим данные таблиц на примере.
Costs.
ID | KodZak | Data | Materials | SubMaterials | overheads | SemiProducts |
1 | 11-1 | 01.01.2003 | 10 000,00 грн. | 8 000,00 грн. | 2 000,00 грн. | 3 000,00 грн. |
2 | 22-2 | 01.10.2003 | 12 000,00 грн. | 7 500,00 грн. | 2 200,00 грн. | 3 500,00 грн. |
3 | 33-3 | 01.11.2003 | 12 250,00 грн. | 8 800,00 грн. | 2 300,00 грн. | 3 300,00 грн. |
MainManufacture
ID | ID_Costs | WorkerID | Zarpl |
1 | 1 | 1 | 300,00 грн. |
2 | 1 | 2 | 310,00 грн. |
3 | 2 | 3 | 325,00 грн. |
4 | 2 | 2 | 315,00 грн. |
5 | 3 | 1 | 300,00 грн. |
6 | 3 | 3 | 320,00 грн. |
SubManufacture
ID | ID_Costs | Kolvo | AvrZarpl |
1 | 1 | 5 | 200,00 грн. |
2 | 2 | 7 | 250,00 грн. |
3 | 3 | 10 | 180,00 грн. |
4 | 1 | 6 | 175,00 грн. |
WorkersList
ID | TabNo | FIO |
1 | 123 | Иванов И.И. |
2 | 124 | Петров П.П. |
3 | 125 | Сидоров С.С. |
В ходе работы были созданы запросы, которые, основываясь на данные таблиц рассчитывают промежуточные данные для сводного отчета.
Запрос “Зарплата специалистов” – рассчитывает данные(заработную плату) специалистов по всем выполненным заказам. Это второстепенные данные которые могут быть получены для работников расчетного отдела.
TabNo | FIO | Sum_Zarpl |
123 | Иванов И.И. | 600,00 грн. |
124 | Петров П.П. | 625,00 грн. |
125 | Сидоров С.С. | 645,00 грн. |
Запрос Calc_Main – рассчитывает данные(заработную плату) по заказам об участии специалистов в процессе выполнения заказа.
toMainBills | ID_Costs |
610,00 грн. | 1 |
640,00 грн. | 2 |
620,00 грн. | 3 |