Автор работы: Пользователь скрыл имя, 29 Сентября 2013 в 15:57, курсовая работа
Первоначально для накопления и хранения информации на ЭВМ применялись локальные массивы (или файлы), при этом для каждой из решаемых функциональных задач создавались собственные файлы исходной и результатной информации. Это приводило к значительному дублированию данных, усложняло их обновление, затрудняло решение взаимосвязанных проблемных задач.
Для перехода от инфологической
модели к реляционной можно воспользов
1) Для каждого простого
объекта и его единичных
2) Если у объекта
имеются множественные
3) Если между объектом
и его свойством имеется
- если многие
из объектов обладают рассматри
- если только незначительное
число объектов обладает
4) Наличие между объектами
связи типа 1 : 1 является довольно
редкой ситуацией в реальной
жизни. Если связь между
Если для каждого из этих объектов сохраняются отдельные отношения, то информацию о связях между ними можно отразить, включив в одно из отношений идентификатор связанного объекта из другого отношения. Причем если класс принадлежности обоих сущностей является обязательным, то это можно сделать в любом из отношений. Если класс членства одного из объектов является необязательным, то идентификатор сущности, для которой класс принадлежности является необязательным, добавляется в отношение, соответствующее тому объекту, для которого класс принадлежности обязательный .
Если степень связи между объектами 1: 1 и класс принадлежности каждой из них являются необязательными, то следует использовать три отношения: по одному для каждой сущности и одно для отображения связи между ними .
Если связь 1 : 1 реализована на одном и том же множестве объектов, то можно использовать одно отношение.
5) Если между объектами
Если класс принадлежности n-связной сущности является необязательным, то для отображения связи надо создать третье отношение, которое будет содержать ключи каждой из связанных сущностей .
6) Если между объектами
предметной области имеется
7) Каждому агрегированному
объекту, имеющему место в
8) При отображении обобщенных объектов могут быть приняты разные решения. Во-первых, всему обобщенному объекту может быть поставлен в соответствие один файл базы данных. Другой крайней ситуацией является решение, при котором каждой из, категорий объектов нижнего уровня ставится в соответствие отдельное отношение. В первом случае атрибутами отношения будут все единичные свойства, присущие объектам хотя бы одной категории, плюс идентификатор объекта.
Во втором случае каждое отношение будет включать в себя идентификатор объекта, те свойства, которые присущи объектам данной категории, а также свойства, которыми обладают родовые объекты, стоящие выше его по иерархии. Другими словами, для «видовых» объектов наблюдается наследование свойств «родовых» объектов.
Кроме этих двух «крайних» решений,
возможны и комбинированные варианты.
Выбор конкретного решения
9) Наличие связи «целое-часть» также может быть отображено в даталогической модели по-разному. Само это отношение может качественно различаться для разных ситуаций.
Рассмотрев поставленную передо мной задачу создания базы данных для проектной организации ООО «Сиберия», мною было принято решение по созданию следующих сущностей:
После того, как сущности были созданы происходил процесс связывания. Полная картинка находится в Приложении 1.
IDEF1X является методом
для разработки реляционных
Существует несколько очевидных причин, по которым IDEF1X не следует применять в случае построения нереляционных систем. Во-первых, IDEF1X требует от проектировщика определить ключевые атрибуты, для того чтобы отличить одну сущность от другой, в то время как объектно-ориентированные системы не требуют задания ключевых ключей, в целях идентифицирования объектов. Во-вторых, в тех случаях, когда более чем один атрибут является однозначно идентифицирующим сущность, проектировщик должен определить один из этих атрибутов первичным ключом, а все остальные вторичными. И, таким образом, построенная проектировщиком IDEF1X-модель и переданная для окончательной реализации программисту является некорректной для применения методов объектно-ориентированной реализации, и предназначена для построения реляционной системы.
Хотя терминология IDEF1X практически совпадает с терминологией IDEF1, существует ряд фундаментальных отличий в теоретических концепциях этих методологий. Сущность в IDEF1X описывает собой совокупность или набор экземпляров похожих по свойствам, но однозначно отличаемых друх от друга по одному или нескольким признакам. Каждый экземпляр является реализацией сущности. Таким образом, сущность в IDEF1X описывает конкретный набор экземпляров реального мира, в отличие от сущности в IDEF1, которая представляет собой абстрактный набор информационных отображений реального мира
Связи в IDEF1X представляют собой ссылки, соединения и ассоциации между сущностями. Связи это суть глаголы, которые показывают, как соотносятся сущности между собой.
Отношения многие ко многим обычно используются на начальной стадии разработки диаграммы, например, в диаграмме зависимости сущностей и отображаются в IDEF1X в виде сплошной линии с точками на обоих концах. Так как отношения многие ко многим могут скрыть другие бизнес правила или ограничения, они должны быть полностью исследованы на одном из этапов моделирования. Например, иногда отношение многие ко многим на ранних стадиях моделирования идентифицируется неправильно, на самом деле представляя два или несколько случаев отношений один-ко-многим между связанными сущностями. Или, в случае необходимости хранения дополнительных сведений о связи многие-ко-многим, например, даты или комментария, такая связь должна быть заменена дополнительной сущностью, содержащей эти сведения. При моделировании необходимо быть увереным в том, что все отношения многие ко многим будут подробно обсуждены на более поздних стадиях моделирования для обеспечения правильного моделирования отношений.
Выбор первичного ключа для сущности является очень важным шагом, и требует большого внимания. В качестве первичных ключей могут быть использованы несколько атрибутов или групп атрибутов. Атрибуты, которые могут быть выбраны первичными ключами, называются кандидатами в ключевые атрибуты (потенциальные атрибуты). Кандидаты в ключи должны уникально идентифицировать каждую запись сущности. В соответствии с этим, ни одна из частей ключа не может быть NULL, не заполненной или отсутствующей.
Правила, по которым вы выбираете первичный ключ из списка предполагаемых ключей, очень строги, однако могут быть применены ко всем типам баз данных и информации. Правила устанавливают, что атрибуты и группы атрибутов должны:
- Уникальным образом идентифицировать экземпляр сущности.
- Не использовать NULL значений.
- Не изменяться со временем. Экземпляр идентифицируется при помощи ключа. При изменении ключа, соответственно меняется экземпляр.
- Быть как можно более короткими для использования индексирования и получения данных. Если вам нужно использовать ключ, являющийся комбинацией ключей из других сущностей, убедитесь в том, что каждая из частей ключа соответствует правилам.
Потенциальные ключи, которые не выбраны первичными, могут быть использованы в качестве вторичных или альтернативных ключей. С помощью альтернативных ключей часто отображают различные индексы доступа к данным в конечной реализации реляционной базы. Если сущности в IDEF1X диаграмме связаны, связь передает ключ (или набор ключевых атрибутов) дочерней сущности. Эти атрибуты называются внешними ключами. Внешние ключи определяются как атрибуты первичных ключей родительского объекта, переданные дочернему объекту через их связь. Передаваемые атрибуты называются мигрирующими. При разработке модели, зачастую, приходится сталкиваться с сущностями, уникальность которых зависит от значений атрибута внешнего ключа. Для этих сущностей (для уникального определения каждой сущности) внешний ключ должен быть частью первичного ключа дочернего объекта. Дочерняя сущность, уникальность которой зависит от атрибута внешнего ключа, называется зависимой сущностью. Зависимые сущности далее классифицируются на сущности, которые не могут существовать без родительской сущности и сущности, которые не могут быть идентифицированы без использования ключа родителя (сущности, зависящие от идентификации). Напротив, существуют ситуации в которых сущность зависит от существования другой сущности. Сущности, независящие при идентификации от других объектов в модели, называются независимыми сущностями. В вышеописанном примере сущность ОТДЕЛ можно считать независимой. В IDEF1X независимые сущности представлены в виде прямоугольников.