- •Краткое введение в субд - базы данных как аппарат моделирования.
- •Язык sql FoxPro 5.0
- •Создание бд
- •Модификация структуры бд
- •Модификация содержимого таблиц
- •Запросы к бд - команда select. Представления
- •Примерные типы заданий.
- •Тема 3. Задачи-многоходовки. Представления и транзакции.
- •Тема 4. Проектирование "реальной" бд.
Тема 4. Проектирование "реальной" бд.
Информационная система "Сборочное предприятие".
НЕФОРМАЛЬНАЯ МОДЕЛЬ
После тщательного изучения проблемной области и опроса экспертов - специалистов предприятия, вы обладаете следующей информацией о его структуре и функционировании.
Предприятие состоит из нескольких подразделений - цехов и участков, в которых трудятся работники различных профессий. Работники осуществляют, в соответствии с производственным планом предприятия, сборочные и иные операции по изготовлению готовых изделий из компонент. Компонентами могут служить изделия собственного производства и исходные материалы (сырье). Все операции осуществляются в согласии с установленными нормам затрат труда и расхода материалов. Оплата труда работников производиться согласно их выработке и установленным тарифам. Исходные материалы поступают на склады предприятия от поставщиков в соответствии с заключенными с ними договорам. Готовые изделия отгружают со склада покупателям согласно их заказам.
Упражнение. Попробуйте сами выделить базовые понятия, их свойства и взаимосвязи на основе неформального и неполного описания. Разумеется, такое выделение далеко не однозначно. Обоснуйте (защитите) свой вариант, сравнив его с предложенным ниже.
ВЗАИМОСВЯЗЬ ПОНЯТИЙ
Дополнительно, каждое из выделенных базовых понятий и процессов и их взаимосвязи более детально характеризуется в соответствующих справочниках и учетных книгах предприятия следующим образом:
Одно ПОДРАЗДЕЛЕНИЕ может включать в себя другие ПОДРАЗДЕЛЕНИЯ (цеха состоят из участков)
Каждый РАБОТНИК обладает некоторой ПРОФЕССИЕЙ
У каждого РАБОТНИКа (кроме директора) имеется непосредственный начальник (другой РАБОТНИК)
МАТЕРИАЛЫ участвуют в ОПЕРАЦИЯХ в качестве компонент
ИЗДЕЛИЯ также участвуют в ОПЕРАЦИЯХ в качестве компонент
ИЗДЕЛИЯ являются также результатом ОПЕРАЦИЙ
ОПЕРАЦИИ производятся некоторым УЧАСТКОМ (их исполнителем )
РАСХОД всегда связан с некоторым МАТЕРИАЛОМ
РАСХОД материала осуществляется при выполнении некоторой ОПЕРАЦИИ
РАСХОД материала осуществляется некоторым участком - исполнителем операций
МАТЕРИАЛЫ поставляются по ДОГОВОРУ
ДОГОВОР заключается с ПОСТАВЩИКОМ
ПОСТАВКА осуществляется ПОСТАВЩИКОМ
ПОСТАВКА осуществляется на СКЛАД
МАТЕРИАЛЫ ( исходные материалы и детали производства)
уникальный код материалы;
наименование;
характеристика;
единица измерения
цена за единицу.
ИЗДЕЛИЯ ( готовые изделия и сборочные единицы собственного производства)
- уникальный код изделия;
- наименование;
- характеристика;
- цена
СБОРКА (пооперационный процесс изготовления изделий и сборочных единиц из более простых компонент)
- код компоненты
- код сборочной единицы или готового изделия, в которую входит данная компонента;
- номер операции процесса сборки;
- используемое количество на операцию;
- номер участка исполнителя;
РАСХОД (нормы расхода материалов )
- код сборочной единицы или готового изделия;
- код компоненты (используемой при изготовлении детали или в монтажных работах при сборке изделия);
- номер операции;
- номер цеха (исполнителя работ);
- номер участка;
- единица измерения;
- норма расхода материала.
ЗАТРАТЫ ( нормы затрат труда)
- код изделия ;
- номер операции;
- номер цеха (исполнителя работ);
- номер участка;
- код профессии рабочего;
- код условий труда и тарифный разряд работы;
- дополнение - время на подготовку и заключение работы, в мин.;
- время штучное, в мин.
ТАРИФЫ
- уникальный код условий труда и тарифный разряд работы;
- часовая тарифная ставка, в рублях
ПРОФЕССИИ
- уникальный код профессии;
- наименование профессии.
ПОДРАЗДЕЛЕНИЯ
- номер цеха;
- наименование цеха или участка.
ПЛАН (производственный план предприятия)
код изделия;
распределение плана по всем месяцам - выпуск , в штуках, в январе, феврале и т.д.;
- дата начала действия плана.
ДОГОВОРЫ ( на поставку компонент)
- код поставщика;
- уникальный номер договора;
- код компонента - материала или покупной детали;
- единица измерения;
- план поставки на год, в шт.;
- распределение плана по всем месяцам - поставки в январе, феврале и т.д.;;
- дата начала действия договора.
РАБОТНИКИ (личный состав, штат предприятия)
- номер цеха;
- табельный номер рабочего;
- код профессии;
- разряд рабочего;
- часовая тарифная ставка;
- семейное положение;
- фамилия с инициалами.
ВЫРАБОТКА (учет выработки работников)
- номер цеха;
- номер участка;
- код изделия;
- номер операции;
- табельный номер работника;
- количество годных деталей;
- количество бракованных деталей;
- процент оплаты брака;
- дата выполнения работ.
ПОСТАВЩИКИ
- уникальный код поставщика;
- наименование поставщика;
- адрес поставщика.
ПОСТАВКА компонент
- номер склада;
- код поставщика;
- код компоненты;
- единица измерения;
- количество ;
- дата поступления;
- уникальный номер документа.
ОТГРУЗКА готовой продукции
- номер склада;
- код покупателя;
- код готового изделия;
- единица измерения;
- количество;
- дата отгрузки;
- уникальный номер документа.
ПОКУПАТЕЛИ
- уникальный код покупателя;
наименование;
город;
- почтовый адрес.
СКЛАДЫ
- номер склада;
- фамилия материально ответственного лица;
- код детали - компоненты или изделия;
- единица измерения;
- количество, имеющееся на складе;
- дата последней операции.
ЗАРПЛАТА (бухгалтерский учет начисления и удержания по зарплате)
- табельный номер работника;
- сумма начисления;
- сумма удержания;
- дата выдачи.
ЗАКАЗЫ (договоры на отгрузку готовой пpодукции покупателям)
- код покупателя;
- уникальный номер заказа;
- код изделия;
- единица измерения;
- план поставки на год, в шт.;
- распределение плана по всем месяцам - поставки в январе, феврале и т.д.;
дата начала действия договора.
Упражнение. Постройте формальную модель предприятия в форме базы данных, определив таблицы КОМПОНЕНТЫ, ИЗДЕЛИЯ и т.д., используя выделенные слова (код, наименование, характеристика, единица, цена и т.д.) в качестве имен полей (здесь и далее мы для удобства используем кириллические имена произвольной длины; если ваша СУБД не поддерживает соответствующие идентификаторы, используйте латинскую транскрипцию и сокращения). Выясните, какие поля (или группа полей) являются первичными и внешними ключами. Правила целостности и корректности значений полей и записей таблиц (в частности, допустимость неопределенных значений) определите самостоятельно, исходя из содержательного смысла таблиц и отношений.
Упражнение. Проведите в компьютерном классе деловую игру, распределив роли директора предприятия, бухгалтера, мастера, поставщика, заказчика и т.п. по предлагаемому или - выдуманному самостоятельно "сценарию":
Заказчик - директору: "По нашему договору №…, от …. ваше предприятие недопоставило … изделий "…". Если Вы не поставите требуемые изделия в течении … дней, мы обратимся в суд"
Директор - заказчику "Минутку-минутку, сейчас уточним…У меня почему-то стоит другая дата…"
Директор - кладовщику "Сколько у нас на складе изделий "…"? Не хватает?"
Директор - начальнику цеха "Сможем в течении … дней собрать недостающие .. штук изделий "…"?
Далее следуют обращения
начальника цеха на склад в поиске нужных компонент,
начальника цеха - к директору с просьбой повысить тарифные расценки за срочную работу,
директора - в бухгалтерию, с вопросом о финансовых возможностях предприятия выполнить эту просьбу,
директора к поставщикам с просьбой срочно поставить недостающие компоненты,
и т.д. - импровизируйте!
Разумеется, ваша игра должна быть достаточно деловой, т.е. серъезной - все обращения должны подкрепляться конкретными цифрами, датами, наименованиями, ссылками и т.д. - проще говоря, реальной работой по формированию запросов к БД и ее модификации.
ЛИТЕРАТУРА.
М.Нагао, Т.Катаяма, С.Уэмура. Структуры и базы данных – М.,Мир, 1986 – 196 с.
М.Грабер. Введение в SQL
А.Горев. Visual FoxPro 5.0. Книга для программистов – М., ТОО “Эдэль”, 1997 – 552 с.
М.Антонович, Visual FoxPro для Windows, BINOM Publishers, 1996 – 688 с.
ЗАМЕЧАНИЯ - СДЕЛАТЬ ДО ИЗДАНИЯ (ТВЕРДОЙ КОПИИ)
Теоретический материал желательно проиллюстрировать схемами.
Пример в первой теоретической части повторить во второй – уже в синтаксисе SQL
ПОЖЕЛАНИЯ - СДЕЛАТЬ В СЛЕДУЮЩЕМ ИЗДАНИИ.
