Базы данных в проектировании и реализации информационных систем
При рассмотрении базы данных в качестве одного из ключевых элементов информационной системы важным является выделение места разработки баз данных в процессе проектирования и реализации информационных систем. Как правило, процесс разработки информационной системы представляется четырьмя ключевыми этапами (рис. 1.5), которые регламентируют жесткую последовательность создания информационной системы.
|
Анализ Проектирование Разработка Внедрение Рис. 15. Жизненный цикл разработки информационной системы |
Говоря о процессе разработки информационной системы, разработчики постоянно поднимают вопрос о структурах данных, которые необходимо представлять в информационной системе, и сведениях, которые должны храниться и обрабатываться. Это приводит к мысли о необходимости разработки базы данных, которая может быть представлена различными вариантами.
Так, для некоторых информационных систем достаточно хранить сведения в обычных текстовых файлах, предполагают оперативную работу с данными, которые не требуют долговременного хранения и не представляются сложной структурой. Использование тестовых файлов в качестве средства сохранения данных было долгое время единственным инструментом для работы с несложными интернет-системами, такими как, например, представительства организаций, электронный магазин, каталогизатор товаров и нр.
Другим представлением баз данных являлись структурированные файлы, которые были прообразом современных баз данных, но правила сохранения данных в них и обработки сохраненных сведений на уровне файла определялись программистами. Основными проблемами данной технологии работы с данными являются сложность обеспечения эффективной обработки данных, невозможность организовать полноценное обеспечение целостности данных, неэффективность работы с файлами.
Третьим вариантом представления базы данных является се структурирование с использованием СУБД и основанное на базовых принципах работы с базами данных, обычно реляционными. Стандарты работы с базами данных предоставили возможность организовать единообразие технологий хранения и обработки данных в базах, что привело к разработке единых правил разработки баз данных, обеспечения корректной и качественной обработки данных.
В результате, когда возникает задача разработки информационной системы, вопрос хранения данных является одним из ключевых, особенно учитывая тот факт, что любая деятельность человека в организации сопряжена с обработкой данных в документах, печатном, голосовом и визуальном представлении. Это заставляет разработчиков уделять разработке структур данных и баз данных серьезное внимание на всех этапах разработки информационной системы.
Таким образом, на этапе анализа разработчик-аналитик, исследуя процессы, проходящие в рассматриваемой деятельности, уделяет внимание документам, которые формируются и обрабатываются участниками процессов. При этом недостаточно только выделить эти документы, нужно рассмотреть их структурный состав, что позволит в дальнейшем правильно организовать структуры данных, представляемые в базе данных, а также определиться с объектами деятельности, сведения о которых должны храниться в базе данных и обрабатываться в информационной системе.
При анализе предметной области в целях дальнейшего проектирования и реализации автоматизированной информационной системы с применением базы данных аналитиками рассматриваются две ключевые составляющие: документы и объекты, сведения о которых должны храниться в базе данных. Документарный анализ предметной области является этапом, где выделяются атрибуты объектов предметной области. Но данный анализ не позволяет выделить сведения, которые должны храниться в базе данных и не представлены в документах. Обычно такое происходит при рассмотрении отдельных операций предметной области, в которых нет формализованных документов или объектом хранения сведений является некое действие или состояние агрегированного объекта.
Пол агрегированным объектом понимается элемент предметной области, составляемый из атрибутов нескольких объектов, формируя объект с рассматриваемыми характеристиками
Особую сложность вызывает наличие неформализованных документов, поскольку такие документы не обладают достаточным количеством явно выделенных структурных элементов (атрибутов) и наполнение документов может от документа к документу существенно различаться. Обработка подобных документов является сложной интеллектуальной задачей, а сами документы обладают достаточно большим количество интерпретаций, предусмотреть которые на момент анализа практически не представляется возможным.
В связи с этим второй важнейшей задачей анализа является выделение объектов предметной области, сведения о которых необходимо хранить в базе данных. Основным фактором, который позволяет выделить такие объекты, является необходимость долговременного запоминания данных об определенных действиях и объектах с последующей потребностью в получении сохраненных сведений.
Так, если но сути работы в предметной области сотруднику организации необходимо запомнить, что в определенный момент было совершено действие по продаже товара клиенту с последующим получением информации о количестве проданного товара или о купивших товар клиентах, то аналитик выделит следующие объекты: товар, клиент, продажа. В документах, сопровождающих данную задачу, имеется только кассовый и товарный чеки, которые выдаются клиенту и остаются в магазине. В структуре этих чеков указываются сведения о товаре, в некоторых случаях, о клиентах, которые могут быть сформированы на основании дисконтной карты.
Из этого примера очевидно, что сведения о товаре могут быть представлены на основании документов только в части наименования, цены и, в некоторых случаях, артикула. По клиенту ни кассовый, ни товарный чеки сведений не предоставляют, но в них может находиться информация о дисконтной карте клиента, из которой, если сведения о ней будут храниться в базе данных, можно получить эту информацию. Выделить сведения о клиенте из рассматриваемых документов (кассовый и товарный чеки) не представляется возможным. Поэтому возникает необходимость обратиться к предметной области или другим функциям этой предметной области, чтобы на основании заявления об оформлении дисконтной карты определить клиента, которому продается товар. Об объекте "Продажа" в документах вообще отсутствует какая-либо информация, кроме косвенного указания на факт данного действия, который можно определить только по значению стоимости произведенной операции, где положительное значение покажет факт продажи, а отрицательное значение отразит возврат товара. Только глубокий анализ сути производимой операции и правил формирования значений атрибутов документов позволяет определить суть выделенного ранее объекта "Продажа".
Кратко рассмотренный пример наглядно показывает важность анализа документов и их структур, но также иллюстрирует необходимость не только структурного анализа документов, но также смыслового и функционального анализа документов и предметной области в рамках отдельных функций.
Проведенный анализ предметной области дает основание проектировщику определиться со структурами будущей базы данных, которые представляются моделями базы данных на логическом и физическом уровнях. В этом процессе специалист по проектированию баз данных не только переносит полученные па этапе анализа структуры данные в модели, но и проводит оптимизацию (нормализацию [1]) полученной модели с последующей проверкой (верификацией) на соответствие предметной области и задачам, для которой создается информационная система вообще и база данных в частности.
Проектирование современной базы данных не ограничивается только построением структуры данных и представлением в модели базы данных. Этот процесс предполагает определение правил обработки данных на уровне базы данных. К таким правилам обработки можно отнести две ключевые: выборка данных и операции по модификации сведений. Наряду с указанными операциями в базах данных проектируется ряд прочих операций, определяющих корректность работы с данными, их хранением, защищенностью и т.д.
Выборка в базах данных является одной из важнейших и наиболее часто используемых операций, поскольку позволяет оперативно получать сведения из базы данных в любом удобном для дальнейшей обработки виде и применяется при организации интерфейса информационной системы, формировании наполнения документов, представления сведений для аналитической обработки и пр. Зачастую выборки нужны, чтобы качественно и эффективно выполнить операции обработки данных при их модификации в базе данных.
Обработка данных в базе данных представляется тремя основными операциями: добавление, изменение и удаление. Этими операциями обеспечивается большинство потребностей пользователей по модификации данных, но наряду с ними есть операции и конструкции, которые расширяют возможности базы данных. Эти компоненты обработки данных представляются на основе встроенных в СУБД языков программирования, ключевым из которых является язык SQL (Structured Query Language). Также в СУБД включаются расширения этого языка, которые представляются самостоятельными языками или программными модулями, обеспечивающими более эффективные способы обработки данных, решая комплексы дополнительных задач, среди которых можно выделить: обработку географических данных, представление и обработку многомерных структур данных, обработку иерархических структур и т.д.
Этап "реализация" жизненного цикла информационной системы также затрагивает работу с базой данных, о чем уже велась речь выше. Как правила, такая работа заключается в организации выборки и обработке данных, но дополнительно включаются некоторые прочие процедуры, связанные с обеспечением целостности структуры базы данных и информационного наполнения. Эти операции основываются на тех же принципах, правилах и языках, что и процедуры обработки, но обладают рядом дополнительных ограничений и возможностей применения.
На этапе внедрения и сопровождения работа с базой данных является одной из ключевых. Такое утверждение основано на том факте, что при реализации в базе данных не только структур данных, но и обработки требуется обеспечивать корректную установку, настройку и последующую поддержку базы данных. Именно этот элемент информационной системы берет на себя основные задачи работы с данными, обеспечивая пользователю максимальное удобство взаимодействия с информационной системой. Интерфейсные задачи база данных, конечно, не решает, но обеспечение корректной выборки данных позволяет информационной системе выводить на экран пользователю в удобной форме необходимые сведения, а обеспечение эффективных процедур обработки и защищенности информации делает базу данных незаменимым инструментом в работе с данными.
Говоря о сопровождении базы данных, нельзя забывать о необходимости, аналогично обычным компьютерным программным решениям, отслеживать производимые изменения в предметной области и вносить изменения как в структуру базы данных (таблицы, атрибуты, связи), так и в программные процедуры, которые обеспечивают обработку и получение данных по запросам пользователей.
В итоге, с учетом всего сказанного выше, база данных является важнейшим элементом практически любой современной информационной системы и рассматривается на всех этапах жизненного цикла разработки информационной системы (рис. 1.6).
|
Рис. 1.6. Взаимосвязь базы данных с этапами разработки информационной системы |
При разработке современной информационной системы вопрос проектирования хранения и обработки данных становится важнейшим и, учитывая, что автоматизируются бизнес-процессы, база данных рассматривается ее неотъемлемой частью. Такое рассмотрение базы данных основывается на необходимости передачи информации в бизнес-процессах и необходимости работы с документами. Тем более, что многие информационные системы работают на основе документооборота и структурное рассмотрение документов, их представление в приложении, хранение на носителе информации требуют использования базы данных, а значит, и ее проектирования с разработкой.

