Базы данных в проектировании и реализации информационных систем

При рассмотрении базы данных в качестве одного из ключевых элементов информационной системы важным является выделение места разработки баз данных в процессе проектирования и реализации информационных систем. Как правило, процесс разработки информационной системы представляется четырьмя ключевыми этапами (рис. 1.5), которые регламентируют жесткую последовательность создания информационной системы.

Анализ Проектирование Разработка Внедрение

Рис. 15. Жизненный цикл разработки информационной системы

Говоря о процессе разработки информационной системы, разработчики постоянно поднимают вопрос о структурах данных, которые необходимо представлять в информационной системе, и сведениях, которые должны храниться и обрабатываться. Это приводит к мысли о необходимости разработки базы данных, которая может быть представлена различными вариантами.

Так, для некоторых информационных систем достаточно хранить сведения в обычных текстовых файлах, предполагают оперативную работу с данными, которые не требуют долговременного хранения и не представляются сложной структурой. Использование тестовых файлов в качестве средства сохранения данных было долгое время единственным инструментом для работы с несложными интернет-системами, такими как, например, представительства организаций, электронный магазин, каталогизатор товаров и нр.

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

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

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

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

При анализе предметной области в целях дальнейшего проектирования и реализации автоматизированной информационной системы с применением базы данных аналитиками рассматриваются две ключевые составляющие: документы и объекты, сведения о которых должны храниться в базе данных. Документарный анализ предметной области является этапом, где выделяются атрибуты объектов предметной области. Но данный анализ не позволяет выделить сведения, которые должны храниться в базе данных и не представлены в документах. Обычно такое происходит при рассмотрении отдельных операций предметной области, в которых нет формализованных документов или объектом хранения сведений является некое действие или состояние агрегированного объекта.

Пол агрегированным объектом понимается элемент предметной области, составляемый из атрибутов нескольких объектов, формируя объект с рассматриваемыми характеристиками

Особую сложность вызывает наличие неформализованных документов, поскольку такие документы не обладают достаточным количеством явно выделенных структурных элементов (атрибутов) и наполнение документов может от документа к документу существенно различаться. Обработка подобных документов является сложной интеллектуальной задачей, а сами документы обладают достаточно большим количество интерпретаций, предусмотреть которые на момент анализа практически не представляется возможным.

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

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

Из этого примера очевидно, что сведения о товаре могут быть представлены на основании документов только в части наименования, цены и, в некоторых случаях, артикула. По клиенту ни кассовый, ни товарный чеки сведений не предоставляют, но в них может находиться информация о дисконтной карте клиента, из которой, если сведения о ней будут храниться в базе данных, можно получить эту информацию. Выделить сведения о клиенте из рассматриваемых документов (кассовый и товарный чеки) не представляется возможным. Поэтому возникает необходимость обратиться к предметной области или другим функциям этой предметной области, чтобы на основании заявления об оформлении дисконтной карты определить клиента, которому продается товар. Об объекте "Продажа" в документах вообще отсутствует какая-либо информация, кроме косвенного указания на факт данного действия, который можно определить только по значению стоимости произведенной операции, где положительное значение покажет факт продажи, а отрицательное значение отразит возврат товара. Только глубокий анализ сути производимой операции и правил формирования значений атрибутов документов позволяет определить суть выделенного ранее объекта "Продажа".

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

Проведенный анализ предметной области дает основание проектировщику определиться со структурами будущей базы данных, которые представляются моделями базы данных на логическом и физическом уровнях. В этом процессе специалист по проектированию баз данных не только переносит полученные па этапе анализа структуры данные в модели, но и проводит оптимизацию (нормализацию [1]) полученной модели с последующей проверкой (верификацией) на соответствие предметной области и задачам, для которой создается информационная система вообще и база данных в частности.

Проектирование современной базы данных не ограничивается только построением структуры данных и представлением в модели базы данных. Этот процесс предполагает определение правил обработки данных на уровне базы данных. К таким правилам обработки можно отнести две ключевые: выборка данных и операции по модификации сведений. Наряду с указанными операциями в базах данных проектируется ряд прочих операций, определяющих корректность работы с данными, их хранением, защищенностью и т.д.

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

Обработка данных в базе данных представляется тремя основными операциями: добавление, изменение и удаление. Этими операциями обеспечивается большинство потребностей пользователей по модификации данных, но наряду с ними есть операции и конструкции, которые расширяют возможности базы данных. Эти компоненты обработки данных представляются на основе встроенных в СУБД языков программирования, ключевым из которых является язык SQL (Structured Query Language). Также в СУБД включаются расширения этого языка, которые представляются самостоятельными языками или программными модулями, обеспечивающими более эффективные способы обработки данных, решая комплексы дополнительных задач, среди которых можно выделить: обработку географических данных, представление и обработку многомерных структур данных, обработку иерархических структур и т.д.

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

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

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

В итоге, с учетом всего сказанного выше, база данных является важнейшим элементом практически любой современной информационной системы и рассматривается на всех этапах жизненного цикла разработки информационной системы (рис. 1.6).

Рис. 1.6. Взаимосвязь базы данных с этапами разработки информационной системы


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