Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Базы данных проектирование и реализация. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
2. ПРОЦЕСС ПРОЕКТИРОВАНИЯ БАЗЫ ДАННЫХ
Прежде чем говорить о проектировании базы данных, необходимо отметить, что база данных является составной частью любой информа­ционной системы (ИС), которая предназначена для преобразования дан­ных в информацию и управления как данными, так и информацией
(«An information system is designed to help transform data into information and to manage both data and information. Thus, the database is a very important part of the information system») [17]. Таким образом, база дан-
ных – это центральный элемент и один из основных факторов, ляющий производительность и эффективность ИС.
При рассмотрении базы данных в качестве одного из ключевых эле­ментов информационной системы важно выделить место разработки баз данных в процессе проектирования и реализации информационных си­стем, регламентируемом структурой жизненного цикла
1
.
Процесс проектирования базы данных нельзя рассматривать в от­рыве от процесса проектирования информационной системы, поскольку наличие рынка СУБД, имеющих развитые функциональные возможно­сти, сводит задачу построения ИС к обоснованию архитектуры ИС, про­ектированию базы данных, выбору СУБД, характеристики которой удо­влетворяют требованиям к работе с данными, учету конкретной среды или
технологии, к разработке прикладного программного обеспечения
и созданию организационно-нормативного окружения.
В общем случае критериями выбора СУБД могут служить [18]:
моделирование данных;
особенности архитектуры и функциональные возможности;
опреде-
1
Жизненный цикл информационной системыразвитие системы, про-
дукта, услуги, проекта или других изготовленных человеком объектов, начиная со стадии разработки концепции и заканчивая прекращением применения [21].
11
контроль работы системы;
особенности разработки приложений;
производительность;
надежность;
требования к рабочей среде;
смешанные критерии.
Помимо этого выбор СУБД должен основываться на учете прогноз­ных характеристик объема данных и нагрузки.
База данных, будучи информационной моделью предметной обла­сти (фрагмента реального мира), должна адекватно отображать действи­тельность в ее развитии, для чего необходимо при проектировании ис­пользовать соответствующую методологию – совокупность методов и средств, последовательное применение
которых обеспечивает разра-
ботку проекта базы данных, удовлетворяющей заданным требованиям.
Методология проектирования предусматривает разбиение всего процесса на несколько стадий, каждая из которых, в свою очередь, со­стоит из нескольких этапов. На каждом этапе разработчику предлага­ется набор технических приемов, позволяющих решать задачи, стоящие перед ним на данной стадии разработки. Кроме
того, методология пред­лагает методы планирования, координации, управления, оценки хода разработки проекта, а также структурированный подход к анализу и мо­делированию всего набора требований, предъявляемых к базе данных, и позволяет выполнить эти действия стандартизированным и организо­ванным образом [19].
Цель проектирования БД заключается в таком представлении дан-
ных и связей между ними
, которое:
отражает реалии предметной области, существенные для решае-
мых задач (адекватно предметной области);
обеспечивает экономию объема используемой памяти за счет со-
кращения избыточности хранимых данных;
не требует многократных операций для ввода и модификации дан-
ных (соблюдается принцип однократный вводмногократное ис-
пользование);
удовлетворяет требованиям производительности (скорости
до-
ступа к данным);
гарантирует целостность и непротиворечивость данных (исклю- чает появление ошибок в данных, в том числе из-за хранения в разных местах сведений об одном и том же объекте);
12
обеспечивает безболезненную адаптацию к изменившимся усло- виям эксплуатации (появление новых задач, смена платформы).
Процесс проектирования базы данных представляет последователь­ность следующих шагов или этапов:
сбор информации о предметной области (предпроектное обследо- вание);
анализ требований;
концептуальное проектирование;
логическое проектирование;
физическое проектирование.
2.1. ПРЕДПРОЕКТНОЕ ОБСЛЕДОВАНИЕ
Предпроектное обследование
это мероприятие, которые проводит
разработчик с целью уточнения целей, задач, объема предстоящих ра­бот. Сбор информации о предметной области – это начальный этап про­ектирования ИС [20], в ходе которого собираются и анализируются до­кументы, необходимые для деятельности организации, проводятся со­беседования со специалистами, занятыми в технологических или биз­нес-процессах, с
руководителями соответствующих подразделений, в том числе с высшим руководством, изучаются литературные источ­ники и техническая документация, т. е. собираются сведения, необходи­мые для проектирования и реализации ИС, в том числе и базы данных.
Методы предпроектного обследования включают [21]:
изучение документов; метод наблюдения; фотографию и самофотографию рабочего дня; хронометраж; опрос (интервьюирование); анкетирование; графический и статистический методы.
В результате предпроектного обследования создается множество до­кументов [24], некоторые из которых должны будут содержать следую­щие результаты обследования:
описание изученных бизнес-процессов и документопотоков орга-
низации;
перечень документов и отчетных форм, используемых в органи-
зации;
описание ролей пользователей.
13
Необходимо помнить, что от качества указанной документации за­висит эффективность последующих этапов проектирования. Эта доку­ментация должна соответствовать следующим требованиям:
быть полной, т. е. охватывать все элементы предметной области, включая оргструктуру организации, персонал, бизнес-процессы, IT-ин­фраструктуру и т. д.;
достоверной, основанной на фактах, первичных материалах, ста- тистических
данных;
объективной, отражающей подлинную сущность явления, а не субъективное мнение или оценку лица, проводящего обследование;
стандартной, сопоставимой, обеспечивающей возможность сопо- ставлять во время анализа материалы обследования по разным перио­дам, аспектам и в различных подразделениях;
пригодной для машинной обработки.
Анализ результатов предпроектного обследования позволяет сфор­мулировать функциональные требования
к системе, перечень необходи-
мых данных и ограничения (нефункциональные требования).
Требование – утверждение, которое отражает или выражает потреб­ность и связанные с ней ограничения и условия [22].
Требования описывают поведение системы (требуемую функцио­нальность) и различные особенности поведения или эксплуатации:
1) условия или возможности, необходимые пользователю для реше-
ния проблем или достижения целей
;
2) условия или возможности, которыми должна обладать система и
системные компоненты, чтобы выполнить контракт или удовлетворять стандартам, спецификациям и другим формальным документам;
3) документированное представление условий или возможностей,
отмечены в п. 1 и 2.
Функциональные требования – это описание действий системы, которые она должна выполнять, в том числе алгоритмы обработки и ви­зуализации данных.
Примеры функциональных требований: выдача отчетов по резуль­татам деятельности организации по периодам; ведение электронных трудовых книжек и т.п.
Нефункциональные требования – это требования к процессу раз­работки, удобству использования, надежности, производительности, к пропускной способности, времени реакции, безопасности. Они пред­ставляют ограничения, накладываемые на работу системы, и стандарты,
14
в рамках которых должен выполняться проект и которым должна соот­ветствовать система.
Примеры ограничений: максимальное время, отпущенное на проект; финансовый бюджет проекта, операционная среда, система разработки и язык программирования.
Выделяя проектирование базы данных в отдельный процесс, отме­тим, что возможны следующие подходы к выявлению необходимой для проектирования базы данных информации:
функциональный – учет требований отдельных пользователей (ПП потребности пользователей) с дальнейшей интеграцией этих требований. Применяется тогда, когда заранее известны функции некоторой группы пользователей и комплексов задач, для обслуживания информационных потребностей которых создается рассматриваемая СУБД;
объектный (предметный), при котором выполняется системный анализ предметной области (ПрО – предметная область). В описание предметной области
в этом случае включаются такие объекты и взаимо-
связи, которые наиболее характерны и наиболее существенны для нее.
Подход ПП учитывает сиюминутные требования пользователей, от­ражая текущее состояние бизнес-процессов и документооборота. След­ствием такого подхода является то, что при реструктуризации организа­ции, появлении новых задач, требований и ограничений, как правило, приходится перепроектировать многие решения.
Подход ПрО предполагает выявление всех существенных для пред­метной области понятий (сущностей) и связей между ними без учета конкретных процессов обработки данных и тем самым обеспечивает возможность безболезненной адаптации к будущим изменениям.
Поскольку на начальном этапе, как правило, нет исчерпывающих сведений обо всех задачах, т. е. невозможно
конкретизировать потреб­ности пользователей, а также трудности с всеобщим охватом предмет­ной области, рекомендуется использовать некоторый компромиссный вариант, который, с одной стороны, ориентирован на конкретные задачи или функциональные потребности пользователей, а с другой – учиты­вает возможность наращивания новых приложений.
Любой из подходов изначально ориентируется на функциональный
анализ предметной области, выполняемый
для выявления ключевых ин­формационных объектов предметной области. По сути, анализ предмет­ной области направлен на построение модели информационного взаи­модействия между отдельными функциями и бизнес-процессами пред­метной области с выделением владельцев и пользователей информации.
15
Как правило, заказчик ИС не может сразу высказать все свои поже­лания, поэтому сбор требований – сложный и долгий процесс в силу того, что осознание потребностей приходит в ходе постоянного кон­такта заказчика с разработчиком и в результате итерационной реализа­ции уже сформулированных заданий.
2.2. АНАЛИЗ ТРЕБОВАНИЙ
Проведение анализа информации о предметной
области в интересах
последующего проектирования базы данных является задачей, форми­рующей единый взгляд на сведения о предметной области, которые должны сохраняться и обрабатываться. Процесс анализа предметной области предполагает выделение основных и вспомогательных бизнес­процессов, которые призваны обеспечить производство продукта или услуги, что позволяет выделить необходимые данные, которые должны участвовать в
реализации бизнес-процессов, а также определить огра­ничения на данные, понять процедуры обработки данных и структуру запросов для формирования документов.
Так как требования пользователей часто бывают плохо структури­рованными, дублирующимися, противоречивыми, то в процессе ана­лиза необходимо выявлять семантические нарушения (синонимия, омо­нимия, несогласованность, противоречивость) в информации, получен­ной из различных
источников, для того чтобы построить единую модель предметной области (интегрировать пользовательские представления). Обычно этап анализа требований выполняется совместно с этапом кон­цептуального проектирования, задача которого – формализация и доку­ментирование результатов обследования, проводимого на первом этапе проектирования. Поэтому эти этапы выполняются в итерационном цикле. Выясненные при обследовании процессы и сущности докумен­тируются в виде разного рода схем и описаний, доступных для понима­ния пользователями. Затем эти материалы обсуждаются и уточняются специалистами в предметной области и пользователями создаваемой информационной системы.
В результате анализа должны быть сформулированы:
подробное описание объектов предметной области и информаци-
онных процессов;
конкретные задачи, которые будут решаться данной ИС с кратким
описанием алгоритмов решения;
16
описание выходных документов, которые должны генерироваться
в системе;
описание входных документов, которые служат основанием для
заполнения данными БД.
Цель анализа требований – не создание юридического документа,
а максимально полное описание требований заказчика по проекту.
Перечислим основные риски при сборе и анализе требований.
1. Риск непонимания задачи, приводящий к переусложнению си­стемы. Нужно стремиться к простоте, использовать только действи­тельно необходимое
пользователям. Не увеличивайте количество сущ-
ностей сверх необходимого («бритва Оккама»).
2. Риск «невовлеченности» заказчика. Непонимание заказчиком необходимости сбора и анализа требований приводит к провалу про­екта. Заказчику может быть невыгодно иметь формализованный и со­гласованный список требований. В этом случае он может «давить» на разработчика, требуя выполнения работ, ранее не предусмотренных. Иногда проблема возникает при недобросовестности либо некомпетент­ности менеджера заказчика, ведущего проект.
3. Риск формализации, когда слишком много времени и сил уходит на полную формализацию требований.
Собранные в ходе предпроектного обследования данные анализиру­ются для выявления самостоятельных понятий, таких как, улица, товар, сотрудник, клиент, заказ и т. п. Каждое понятие обобщает
множество объектов, реальных или виртуальных, информация о которых должна храниться в базе данных.
Выделенные в предметной области объекты определяют состав базы данных информационной системы. Для этого каждому объекту предмет­ной области ставится в соответствие его информационный аналог – объ­ект, сохраняемый в базе данных. Множества однотипных информацион­ных объектов, обладающих одинаковыми наборами
свойств, образуют
сущности предметной области. Каждая сущность имеет набор атрибу­тов, которые соответствуют свойствам объектов предметной области.
Набор выделенных сущностей и их атрибутов должен быть достаточным для выполнения всех автоматизируемых функций и учитывать их воз­можное развитие в перспективе. В системном анализе предметной обла­сти необходимо также исследовать взаимодействия (связи),
существую­щие между объектами реального мира. Связи объектов могут быть любой природы (технологические, организационные, социальные и др.). Связи
17
объектов важны для правильного описания предметной области и по­этому должны быть представлены в БД. Важно выяснить и зафиксировать все существенные формы взаимодействия объектов и преобразовать их в связи между ранее определенными сущностями предметной области.
При проектировании для уменьшения трудоемкости предметную область разбивают на ряд локальных областей (представлений), описы­вают
каждое локальное представление, а затем их объединяют. Объеди-
нение выполняется путем:
слияния идентичных элементов. Два или более элемента модели идентичны, если имеют одинаковое смысловое значение (устранение синонимии);
установления связей между наборами сущностей разных пред- ставлений;
агрегации – введения новых агрегированных элементов для пред- ставления связей между элементами разных представлений
. Агрега­ция – это абстракция, которая превращает связь между объектами в не­который агрегированный объект;
обобщения – объединения различных подобных сущностей, поз-
воляющего трактовать эти сущности как одну обобщенную сущность.
Чтобы гарантировать успешное проектирование базы данных, необ-
ходимо:
1) поддерживать постоянную и активную связь с будущими пользо-
вателями системы;
2) при
проведении процедур концептуального и логического моде-
лирования данных использовать обоснованные методологии;
3) создавать модель данных с учетом требований поддержки их
структурной целостности и согласованности;
4) для представления результатов проектирования базы данных как
можно шире использовать схемы;
5) ориентироваться на создание приложений, управляемых дан-
ными;
6) для уменьшения трудоемкости проектирования и увеличения наглядности результатов проектирования использовать программные средства поддержки процесса проектирования;
7) создавать словарь описания данных как неотъемлемое приложе- ние к схемам моделей данных.
18
3. КОНЦЕПТУАЛЬНОЕ
ПРОЕКТИРОВАНИЕ ДАННЫХ
Концептуальное проектирование – это наиболее общее описание данных предметной области, не учитывающее никаких деталей реали­зации. Этап концептуального проектирования необходим для согласо­ванного (заказчиком и разработчиком) понимания задачи.
Понятие концептуального проектирования относится к начальной стадии проектирования ИС и примерно соответствует стадиям 1 – 3 раз­работки по ГОСТ 34.601–90 [20] или этапам от определения требований до проектирования
Результат концептуального проектирования базы данных представ­ляет собой концептуальную (инфологическую) модель (схему) данных, отражающую семантику предметной области в виде совокупности по­нятий (сущностей), их характеристик (атрибутов) и связей (отношений между сущностями) и являющуюся объединением представлений поль­зователей.
Визуализация концептуальной модели обычно выполняется в виде
ER-диаграмм. Аббревиатура lation (связь), поэтому в некоторых источниках эти диаграммы назы-
вают диаграммами сущность–связь [24].
Модель «сущность–связь» была предложена в 1976 г. Питером Пин­Шэн Ченом, русский перевод его статьи «Модель “сущность–связь” – шаг к единому представлению данных» имеется в [25].
Основными элементами концептуальной модели являются сущно­сти, атрибуты и связи.
Для построения ER-диаграмм вательность действий.
в моделях жизненного цикла [23].
ER составлена из Entity (сущность) и Re-
предлагается определенная последо-
19
1. Выделение всех элементов данных, необходимых для решения за-
дач предметной области, на основе анализа алгоритмов решения, вход­ных и выходных документов.
2. Объединение (агрегация) семантически связанных элементов дан­ных в комплексы, соответствующие основным понятиям предметной области. Такие комплексы получили название сущностей, а их состав­ные элементы называются атрибутами. Каждый атрибут
получает до­пустимые значения из некоторого именованного множества, называе­мого доменом. По сути своей имя домена характеризует тип значений [26], его составляющих.
Набор конкретных значений атрибутов конкретной сущности пред­ставляет экземпляр сущностиобъект предметной области, реаль­ный или виртуальный (абстрактный). Сущность является множеством объектов, каждый из которых обладает собственным набором значений составляющих атрибутов, удовлетворяющих следующему:
объекты могут обладать любым количеством атрибутов, но объ- екты, объединенные понятием сущность, являются однородными, т. е. характеризуются одинаковым набором атрибутов;
каждый атрибут должен иметь уникальное имя в пределах сущ- ности;
каждый атрибут должен быть атомарен, т. е. значение атрибута не может быть разделено
на составные части без потери смысла.
3. Выделение связей между сущностями. Связи представляют неко­торые отношения между экземплярами сущностей (объектами), кото­рые проецируются на связи между сущностями.
4. Классификация связей. Характеристиками связей являются:
имя связи, определяющее ее смысл (семантику). Имя связи вы- ражает некоторое ограничение или бизнес-правило и облегчает пони мание диаграммы. Как правило, связи именуются глаголом или гла­гольным выражением: Работает в должности, Проживает на улице и т. п.;
значность (кардинальность), количество экземпляров одной сущ- ности, связанных с экземплярами другой сущности (1 : 1, 1 : М, М : М или М : N, где М, N – произвольные или фиксированные значения):
связь 1 : 1 (один к одному
) означает, что каждый экземпляр одной
сущности связан не более чем с одним экземпляром другой сущности и наоборот;
-
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]