При добавлении дочернего объекта возможны 2 правила:
1) Запрет
Запрещено добавлять дочерний объект, если для него не указан родительский объект. Например, запрещено добавлять нового сотрудника, если для него не указано подразделение.
2) Игнорировать
Разрешено добавлять дочерний объект без указания для него родительского объекта. Например, разрешается добавлять новый первичный документ, не указывая для него сводного документа.
Подразумеваются изменения, которые касаются ссылок в дочерних объектах. При изменении родительского или дочернего объекта возможен выбор одного из 4-х правил.
1) Запрет
Запрещено изменять в дочернем объекте ссылку на родительский объект так, что она указывает на несуществующий родительский объект.
Например, запрещено указывать для сотрудника несуществующее подразделение.
2) Каскад
При изменении родительского объекта каскадно изменяются ссылки на него во всех дочерних объектах, если изменения родительского объекта касаются таких ссылок.
Например, при изменении внутреннего номера подразделения этот номер автоматически изменяется в соответствующем атрибуте для всех сотрудников подразделения.
3) Очистить
При изменении родительского объекта, которые касаются ссылок на него, ссылки на него во всех дочерних объектах заполняются значением 0, NULL или пустой строкой.
4) Игнорировать
При изменении родительского объекта, которые касаются ссылок на него, ссылки на него во всех дочерних объектах остаются без изменений, указывая теперь на несуществующий родительский объект.
При удалении родительского объекта возможен выбор одного из 4-х правил.
1) Запрет
Запрещено удалять родительский объект, если у него имеются дочерние объекты. Можно удалять только родительские объекты, у которых нет дочерних.
Например, нельзя удалить все данные о подразделении, в котором числятся сотрудники. Необходимо предварительно сотрудников или удалить, или перевести в другие подразделения.
2) Каскад
При удалении родительского объекта каскадно удаляются все его дочерние объекты.
Например, при удалении сотрудника удаляются все сведения об его продвижениях по службе и обо всех выплатах ему.
3) Очистить
При удалении родительского объекта ссылки на него во всех дочерних объектах заполняются значением 0, NULL или пустой строкой.
Например, при удалении сводного документа ссылки на него во всех его первичных документах заполняются пустым значением. Это будет служить признаком, что первичные документы не участвуют ни в каких сводных документах.
4) Игнорировать
При удалении родительского объекта ссылки на него во всех дочерних объектах остаются без изменений, указывая теперь на несуществующий родительский объект.
Перечисленные правила стандартной целостности стали классическими и поддерживаются во всех СУБД общего назначения.
Возможны некоторые коллизии правил, когда правила для нескольких связей вступают в противоречие друг тс другом. Например
Существуют другие, пока нестандартные правила целостности связей, которые обсуждаются ниже.
· Агрегирование. Родительский объект содержит обобщение информации из всех его дочерних объектов.
Например, поле «Итого» расходной ведомости должно содержать сумму выдач по строкам ведомости. Например, поле «Номер комнаты» для проживающего в общежитии должно содержать номер комнаты из переселения, последнего по дате.
· Удаление последнего. Если удаляется единственный дочерний объект, то удаляется и родитель.
Например, при удалении единственного заказа одного из клиентов, желательно удалить и соответствующую запись в списке клиентов. При добавлении объекта применяется аналогичное правило. Например, при вводе первого заказа для нового клиента автоматически добавляется клиент и о нем запрашивается информация.
· Ограниченное добавление. Разрешается добавлять записи, удовлетворяющие определенному условию.
Например, иногда нежелательно обслуживать клиентов из определенных областей. В списке регионов такие области отмечены признаком.
Программа - упорядоченная последовательность команд компьютера для решения задачи.
Программное обеспечение (software) - совокупность программ и необходимых для их эксплуатации документов, предназначенных для решения задач на компьютере.
Программы предназначены для машинной реализации задач. Термины задача и приложение имеют очень широкое употребление в контексте информатики и программного обеспечения.
Термины задача и приложение имеют очень широкое употребление в контексте информатики и программного обеспечения.
Задача - проблема, подлежащая решению.
Приложение - программная реализация на компьютере решения задачи.
Таким образом, задача означает проблему, подлежащую реализации с помощью средств информационных технологий, а приложение - реализованное на компьютере решение задачи. Приложение, является синонимом слова программа.
Термин задача употребляется также в сфере программирования, особенно в режиме мультипрограммирования и мультипроцессорной обработки, как единица работы вычислительной системы, требующая выделения вычислительных ресурсов: процессорного времени, основной памяти и т.п. В данной главе этот термин употребляется в смысле первого определения.
С позиций программного обеспечения будем различать два класса задач - технологические и функциональные.
Технологические задачи ставятся и решаются при организации технологического процесса обработки информации на компьютере. Технологические задачи являются основой для разработки сервисных средств программного обеспечения в виде утилит, сервисных программ, библиотек процедур и др., применяемых для обеспечения работоспособности компьютера, разработки других программ или обработки данных функциональных задач.
Функциональные задачи требуют решения при реализации функций управления в рамках информационных систем предметных областей. Например, управление деятельностью торгового предприятия, планирование выпуска продукции, управление перевозкой грузов и т.п.
Рис. 12.1. Схема процесса создания программ
Рассмотрим эти этапы
Постановка задачи - это точная формулировка решения задачи на компьютере с описанием входной и выходной информации.
Постановка задачи связана с конкретизацией основных параметров ее реализации, определением источников и структурой входной и выходной информации.
К основным характеристикам постановки задачи относятся:
- цель или назначение задачи, ее место и связи с другими задачами;
- условия решения задачи с использованием средств вычислительной техники;
- функции обработки входной информации;
- требования к периодичности решения задачи;
- ограничения по срокам и точности выходной информации;
- состав и форма представления выходной информации;
- источники входной информации для решения задачи;
- пользователи задачи.
Алгоритм - система правил, определяющая процесс преобразования допустимых исходных данных в желаемый результат за конечное число шагов. Алгоритм должен обладать рядом свойств:
- дискретность - разбиение алгоритма на более простые этапы, выполнение которых компьютером или человеком не вызывает затруднений;
- определенность - однозначность выполнения каждого отдельного этапа;
- выполнимость - конечность действий алгоритма решения задач, позволяющая достичь желаемый результат при допустимых исходных данных за конечное число шагов;
- массовость - пригодность алгоритма для решения определенного класса задач.
Программирование - теоретическая и практическая деятельность, связанная с созданием программ.
? |
|
Основная категория специалистов, занятых разработкой программ, - это программисты. Программисты неоднородны по уровню квалификации, а также по характеру своей деятельности. Наиболее часто программисты делятся на системных и прикладных.
Системный программист занимается разработкой, эксплуатацией и сопровождением системного программного обеспечения, поддерживающего работоспособность компьютера и создающего среду для выполнения программ, обеспечивающих реализацию функциональных задач.
Прикладной программист осуществляет разработку и отладку программ для решения функциональных задач.
В условиях создания больших по масштабам и функциям обработки программ появляется новая квалификация - программист - аналитик, который анализирует и проектирует комплекс взаимосвязанных программ для реализации функций предметной области.
В процессе создания программ на начальной стадии работ участвуют и специалисты- постановщики задач.
При работе в группе организационно выделяются следующие программисты.
Главный программист – осуществляет системный анализ задачи, разбивает ее на части, синтезирует программный продукт.
Библиотекарь – ведет документацию программного продукта, утверждает изменения и версии продукта.