Понятие и структура базы данных по учебной дисциплине: Базы Данных
Инфологическое проектирование базы данных
Download 290.33 Kb.
|
ПОНЯТИЕ И СТРУКТУРА БАЗЫ ДАННЫХ
2.1 Инфологическое проектирование базы данных
В базе данных отображается какая-то часть реального мира. Поэтому полнота ее описания будет зависеть от целей создаваемой информационной системы. Для того чтобы база данных адекватно отражала предметную область, проектировщик должен хорошо представлять себе все нюансы, присущие данной предметной области. Следовательно, прежде чем приступить к проектированию базы данных, необходимо разобраться, как функционирует соответствующая предметная область – провести анализ предметной области. Обычно для этого необходимо ответить на следующие вопросы: Что лежит в основе процессов, характеризующих исследуемую предметную область? Как эта область функционирует? Где формируются данные, отражающие процессы, присущие предметной области? Кто выполняет эти процессы? Когда выполняются те или иные действия, свойственные этим процессам? Почему эти действия выполняются? Другими словами, предметная область должна быть предварительно описана. Обычно с этой целью используются искусственные формализованные языковые средства, с помощью которых и строится модель предметной области – инфологическая модель. Инфологическая модель включает в себя следующие основные компоненты: описание бизнес компонентов и бизнес процессов, характеризующих предметную область; описание информационных потребностей пользователей; ограничения целостности; лингвистические отношения; алгоритмические связи показателей [4]. Основной частью инфологической модели является описание компонентов предметной области и процессов, в которые вовлечены эти компоненты. В современной практике проектирования информационных систем для этого используются специальные графические средства, позволяющие сделать это описание наиболее наглядным и простым для восприятия и анализа. С помощью этих графических средств строятся схемы, отражающие взаимосвязи междубизнес компонентами и бизнес процессами предметной области. Такие схемы называются концептуальными. В настоящее время существует много различных методик проектирования концептуальных схем. Большая часть из них поддерживает концепцию ER-модели, являющуюся одной из разновидностей семантических моделей данных. Модели ER-типов хорошо вписываются в методологию структурного анализа и проектирования информационных систем. Методология, основанная на моделях данного типа, обеспечивает строгое и наглядное описание проектируемой системы, которое начинается с ее общего обзора и затем уточняется, что дает возможность получить различную степень детализации предметной области с различным числом уровней абстракции. В настоящее время создано много программных сред автоматизации проектирования баз данных, в основе которых заложена концепция модели ER-типа. Пример ER-диаграммы для банка (рис.1): Рисунок 1 – ER-диаграмма Каждая сущность представляет собой множество реально существующих или абстрактных индивидуальных объектов, которые обладают одинаковым набором свойств. Отдельный элемент этого множества называется экземпляром сущности. Каждый экземпляр сущности индивидуален и должен отличаться от других экземпляров этой сущности. Например, если предметной областью является магазин, то в ней можно выделить следующие сущности: товар, продавец, покупатель, процесс покупки товара покупателем. Каждой сущности в инфологической модели присваивается уникальное имя. Имя сущности задается существительным в единственном числе, именительном падеже. Для однозначного понимания модели имя сущности должно иметь четкое смысловое значение. Дополнительно каждой сущности ставится в соответствие некоторое короткое уникальное имя (номер сущности), которое обычно не несет никакой смысловой нагрузки, но в связи с компактностью обычно используется для отображения сущности в различных компонентах инфологической модели. Атрибут – это некоторое свойство объекта реального мира. Каждая сущность (как отражение некоторого объекта предметной области) должна обладать определенным набором атрибутов. Для всех экземпляров одной сущности набор атрибутов одинаков, но их значения для каждого конкретного экземпляра сущности могут различаться. Каждый атрибут должен быть определен на соответствующем домене. Домен представляет собой именованное и определенное множество значений. На одном домене могут определяться один или несколько атрибутов. Существует два основных типа доменов: базовый домен и типизированный домен. К базовым доменам обычно относятся следующие: множество символьных строк любой длины и структуры, в состав которых входят символы любого; множество числовых значений; множество булевских данных [6]. Типизированный домен представляет собой подмножество базового или другого типизированного домена. Любой типизированный домен наследует правила построения родительского домена, которые обычно усиливаются дополнительными ограничениями на допустимые значения. Каждой сущности обязательно должен быть назначен первичный ключ. В качестве первичного ключа сущности выбирают один из ее возможных ключей. Выбор первичного ключа является очень важной задачей, так как методика проектирования баз данных реляционного типа тесно связана с этим понятием. Если для сущности определен только один возможный ключ, то он объявляется первичным ключом. Когда для сущности определено более одного возможного ключа, то при выборе одного из них в качестве первичного можно руководствоваться следующими соображениями: если среди возможных ключей имеются простые и составные, то предпочтение отдается простым ключам или тем составным ключам, которые включают в себя меньшее число атрибутов; предпочтение отдается возможным ключам, которые построены на числовых или целочисленных доменах, менее предпочтительными являются возможные ключи, построенные на символьных доменах; предпочтение отдается тем возможным ключам, семантика которых устойчива и не допускает неоднозначного толкования [6]. Возможные ключи, не ставшие первичным ключом, объявляются как альтернативные ключи. Каждому альтернативному ключу присваивается порядковый номер. В документации к проекту каждый альтернативный ключ дополнительно помечается заключенными в круглые скобки буквами AK (AlternativeKey), за которыми следует порядковый номер ключа. Такая пометка располагается справа от имени каждого атрибута, входящего в альтернативный ключ. Один атрибут может быть отмечен как часть более чем одного альтернативного ключа. Атрибуты первичного ключа также могут быть частью альтернативного ключа. При проектировании баз данных реляционного типа широко используется понятие внешнего ключа. Внешний ключ – это атрибут некоторой сущности, который принудительно добавляется в другую сущность для организации связи между этими сущностями. Внешний ключ может быть простым или составным. Каждому внешнему ключу присваивается порядковый номер. В документации проекта каждый внешний ключ дополнительно помечается заключенными в круглые скобки буквами FK (ForeignKey), за которыми следует порядковый номер ключа. Если внешний ключ является составным, то для каждого атрибута, входящего в состав этого ключа, в пометке дополнительно указывается также его порядковый номер в этом ключе. Процесс принудительного добавления внешнего ключа в связываемую сущность называется миграцией первичного ключа. Механизм организации связей между сущностями в реляционных моделях посредством внешних ключей будет рассмотрен далее. При графическом изображении атрибуты представляются списком своих имен внутри прямоугольника, определяющего соответствующую сущность. Атрибуты, определяющие первичный ключ, помещаются в начале списка и отделяются от остальных атрибутов горизонтальной чертой. Обычно выделенные в предметной области сущности взаимодействуют друг с другом. Это взаимодействие отражается посредством связи. Связь представляет собой логическое соотношение между сущностями. При инфологическом проектировании обычно используют бинарные связи, так как они проще в определении и понимании, чем "n-арные" связи, и имеют простое графическое отображение. Кроме того, любая "n-арная" связь может быть представлено с помощью n бинарных связей. Каждая бинарная связь определяется глаголом или глагольной фразой, выражающей некоторое ограничение или бизнес-правило. Причем именование бинарной связи осуществляется обязательно в двух направлениях. Таким образом, имя бинарной связи состоит из двух фраз, которые разделяются символом "прямая косая" (/). Кроме того, каждой связи необходимо назначить короткое уникальное имя, которое не несет никакой смысловой нагрузки, но в связи с компактностью часто используется при описании компонентов инфологической модели. Важной характеристикой каждого конца связи является мощность. Мощностью конца связи называется число экземпляров сущности, находящейся на данном конце связи, соответствующих одному экземпляру другой сущности, вовлеченной в эту связь. Значения мощности связи являются основой классификации типов связей. Основные типы связей: определенная связь (отражает отношение между сущностями типа «один ко многим»); неопределенная связь (отражает отношение между сущностями типа «многие ко многим»); связь типа категория (отражает отношение между сущностями типа «род-вид», связь типа «один к одному») [1]. При организации определенной связи между двумя сущностями устанавливается связь типа «один ко многим»: мощность одного конца связи соответствует значению «много», другого – значению «один». Сущность, находящаяся в этой связи со стороны "один", называется родительской, а со стороны «много» – дочерней. Графически связь отображается в виде линии, соединяющей связываемые сущности, с жирной точкой на дочернем конце связи. На линии указывается имя связи. Описание объектов и связей предметной области, выполненное средствами какого-либо языка, обычно не обладает достаточной полнотой описания. В связи с этим оно обязательно должно быть дополнено следующими компонентами инфологической модели: описанием информационных потребностей пользователей, лингвистических отношений, ограничений целостности, алгоритмических связей показателей. Компонент «информационные потребности пользователей» содержит описание регламентированных запросов к будущей базе данных, описание объемно-частотных характеристик, режимов использования данных в базе и т.п. Описание можно производить на естественном языке, хотя во многих современных системах автоматизированного проектирования баз данных для этой цели используются специальные языковые средства. компонент «ограничения целостности» представляет собой совокупность правил, позволяющих обеспечить в любой момент времени правильность данных. Эти правила устанавливаются исходя из семантики предметной области. Обычно ограничения целостности формулируются на естественном языке и/или с использованием предикатов, хотя в некоторых современных системах автоматизированного проектирования для этого имеются специализированные языковые средства. Ограничения могут быть внутренними (неявными) и явными. Внутренние ограничения предусматриваются самой моделью данных и тесно связаны со структурой данных. С ограничениями этого типа хорошо согласуются операции манипулирования данными, поэтому контроль за соблюдением внутренних ограничений обычно не вызывает трудностей. Как правило, внутренние ограничения целостности задаются вместе с определением структурных спецификаций средствами языка описания данных. Явные ограничения целостности задаются разработчиками. Для описания явных ограничений используются исчисление предикатов и утверждения на естественном языке. Обеспечение контроля явных ограничений целостности представляет собой серьезную проблему реализации информационной системы. Описание предметной области всегда бывает представлено в какой-то знаковой среде. Поэтому кроме отношений, присущих предметной области, возникают еще и отношения, обусловленные особенностями отображения предметной области в выбранной языковой среде. В связи с этим при построении инфологической модели обязательно должны учитываться такие лингвистические категории, как синонимия, омонимия, изоморфизм и т.п. Если в инфологической модели в качестве информационных единиц присутствуют расчетные показатели, то для этих показателей необходимо представить соответствующие алгоритмические зависимости. Обычно для этих целей используются алгоритмы вычислений, графы взаимосвязей расчетных показателей, расчетные формулы и т.п. Проектирование инфологической модели осуществляется поэтапно путем последовательного построения следующих логических моделей данных: модель уровня сущностей; модель уровня ключей; полно-атрибутная модель [3]. Модель уровня сущностей является моделью нижнего уровня и применяется для работы проектировщика информационной системы с экспертами моделируемой системы. Модель включает сущности и связи между ними, которые отражают основные бизнес правила предметной области, и допускает присутствие всех типов связей. Графическое представление этой модели называется ER-диаграммой (EntityRelationshipDiagram). Модель уровня ключей является дальнейшим развитием ER-модели и содержит более подробное представление данных. Она содержит описание всех сущностей, связей между ними, первичных и внешних ключей. Эта модель не допускает наличия неопределенных связей и требует их предварительного преобразования в определенные связи. Модель является переходным звеном от модели уровня сущностей к полному логическому описанию предметной области. Графическое представление этой модели называется KB-диаграммой (KeyBasedDiagram). Полно-атрибутная модель является дальнейшим развитием модели уровня ключей и представляет собой законченное описание предметной области. Модель содержит описание всех сущностей, связей и атрибутов, выделенных при анализе предметной области. Построением этой модели завершается процесс инфологического проектирования, а модель в дальнейшем может быть использована при построении даталогической модели базы данных реляционного типа. Графическое представление этой модели называется FA-диаграммой (FullyAttributedDiagram). Каждая из этих моделей строится на определенном этапе инфологического проектирования. Этапы инфологического проектирования: Инициирование проекта. Определение сущностей. Построение модели уровня сущностей. Построение модели уровня ключей. Построение полно-атрибутной модели [3]. Этап инициирования проекта является подготовительной, но наиболее ответственной в процессе проектирования инфологической модели. На этой фазе ставится задача проектирования. И от того, насколько она будет корректна, зависит качество будущей модели. Работы на данной фазе начинаются с создания рабочих групп, объединяющих, в основном, следующих специалистов: аналитиков, проектировщиков баз данных, экспертов. На этой фазе должны быть решены следующие основные вопросы: определена предметная область, уточнены ее функциональные границы, определен предварительный перечень информационных единиц, которые будут включены в информационную модель, определены временные рамки функционирования модели. Также устанавливаются пользователи будущей информационной системы и определяются их основные требования; определяются предварительные ограничения целостности, лингвистические отношения, алгоритмические связи показателей. Следующим шагом проектирования является составление предварительного списка сущностей. Сначала на основе анализа предметной области определяются кандидаты в сущности. Для этого выявляют экземпляры объектов предметной области с одинаковыми характеристиками и объединяют их в одну сущность-кандидат. Для того чтобы выбрать среди объектов, являющихся кандидатами, собственно сущности, разработчик модели должен относительно каждого кандидата ответить на следующие вопросы: можно ли описать этот объект, т.е. можно ли получить о нем информацию? имеет ли этот объект характеризующие его свойства? можно ли получить информацию об этих свойствах? можно ли выделить несколько образцов этого объекта, т.е. набор экземпляров этого объекта с одинаковыми свойствами? можно ли отличить один образец этого объекта от другого, т.е. имеется ли у объекта свойство (группа свойств), определяющее уникальность каждого образца этого объекта? является ли этот объект характеристикой чего-либо, т.е. описывает ли этот объект некоторый другой объект? При включении сущности в список необходимо задать ей уникальное имя и номер, сформулировать определение объекта реального мира, соответствующего этой сущности, и привести описание механизма включения нового экземпляра в данную сущность. Модель уровня сущностей состоит из уточненного списка сущностей, матрицы связей, описания связей между сущностями, диаграммы ER-типа. Кроме того, в эту модель входят уточненные на этапе 2 проектирования требования пользователей, ограничения целостности, лингвистические отношения и алгоритмические связи показателей. Проектирование на данном этапе начинается с определения всех возможных бинарных связей между выявленными сущностями, на основании чего строится матрица связей. Матрица связей представляется в виде двухмерной таблицы, заголовками столбцов и строк которой являются сущности из списка. Если между некоторыми сущностями выявлена бинарная связь, то в точках пересечения соответствующих строк и столбцов таблицы помещается некоторый символ. Каждой выявленной связи назначаются имя и уникальный номер. Матрица связей отражает только факт наличия бинарных связей между сущностями, но не отражает их природу. Поэтому далее исследуется каждая выявленная бинарная связь в обоих направлениях. Необходимо отметить, что таблица описания связей может корректироваться на следующих фазах проектирования. Далее на основе списка сущностей и таблицы описания связей строится ER-диаграмма. В моделях этого уровня разрешается отображение в диаграмме всех типов бинарных связей. Атрибуты в ER-диаграммах не отображаются. Так как на данном этапе не всегда можно сделать заключение о том, является связь идентифицирующей или не идентифицирующей, на диаграмме все сущности, как правило, изображаются прямоугольниками с прямыми углами. Модель уровня ключей является дальнейшим развитием модели уровня сущностей. Эта модель включает в себя описание доменов, описание атрибутов, список сущностей, описание связей, KB-диаграмму. Кроме того, в модель входят уточненные на данной фазе проектирования требования пользователей, ограничения целостности, лингвистические отношения и алгоритмические связи показателей. Download 290.33 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling