Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Построение совместно используемых баз данных



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

Оценка покупаемого программного обеспечения

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

Объединение существующих баз данных

Определив содержание существующих баз данных через семантические модели данных можно получить интегрированное определение данных. Концептуальная схема может использоваться для управления обработкой запросов в среде распределенной базы данных. Проект " Поддержка информационных интегрированных систем" ВВС США (IISS) является экспериментальной разработкой, в которой демонстрируется применение технологий такого типа к неоднородной среде СУБД.

 

IDEF1X-подход

IDEF1X - это методология семантического моделирования данных. Она разработана с учетом следующих требований:

Поддерживает разработку концептуальных схем

Синтаксис IDEF1X поддерживает семантические конструкции, необходимые для разработки концептуальной схемы. Окончательная версия IDEFlX-модели обладает желаемыми характеристиками -непротиворечивостью, расширяемостью и адаптируемостью.

Обеспечивает ясный язык

IDEF1X имеет простую, ясную, непротиворечивую структуру и четкие семантические понятия. Синтаксис и семантика IDEF1X сравнительно легки для понимания, хотя и являются достаточно мощным средством.

Проста для изучения

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

Надежно проверена на практике

IDEF1X базируется на многолетнем опыте предшествующих методологий и тщательно проверена как в проектах ВВС, так и в промышленности.

Возможность автоматизации

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

IDEF1X использует подход сущностей-отношений к семантическому моделированию данных. Исходная разработка IDEF1 заключалась в расширении понятий сущности-отношения по методу П.Ченна, объединенных с понятиями реляционной теории Т. Кодда. Кроме того, для улучшения графического представления и процедур моделирования IDEFlX-методология семантически обогащена введением отношений категоризации (называемых также отношениями обобщения). Язык IDEF1X включает коммерческие разработки D.Appleton Company и The Database Design Group.

Основными конструкциями IDEFlX-модели являются:

  1. Предметы, к которым относятся данные, т.е. люди, места, идеи, события и т.д. Они изображаются блоками.
  2. Отношения между этими предметами, изображаемые соединяющими блоки линиями.
  3. Характеристики этих предметов, изображаемые именами атрибутов внутри блоков.

Основные конструкции показаны на рис. 2-5. Они используются и далее в этом руководстве.

Рис. 2-5. Основные понятия IDEF1X

Синтаксис и семантика IDEF1X

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

Компонентами IDEF1X-модели являются:

Сущности

  • Независимые от идентификаторов сущности
  • Зависимые от идентификаторов сущности

Отношения

  • Отношения, идентифицирующие связи
  • Отношения, не идентифицирующие связи
  • Отношения категоризации
  • Неспецифические отношения

Атрибуты/ключи

  • Атрибуты
  • Первичные ключи
  • Альтернативные ключи
  • Внешние ключи

Сущности

Семантика сущностей

" Сущность" представляет множество реальных или абстрактных предметов (людей, объектов, мест, событий, состояний, идей, пар предметов и т.д.), обладающих общими атрибутами или характеристиками. Отдельный элемент этого множества называется экземпляром сущности. Реально существующий объект или предмет может быть представлен в нескольких сущностях модели данных. Например, Джон Дол может быть экземпляром каждой из сущностей СЛУЖАЩИЙ и ПОКУПАТЕЛЬ. Кроме того, экземпляр сущности может представлять комбинацию существующих объектов. Например, Джон и Мэри могут быть экземпляром сущности супружеская_пара.

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

Синтаксис сущностей

Сущность изображается блоком, как показано на рис. 3-1. Если сущность зависима от идентификаторов, то углы блока закругляются.

Рис. 3-1. Синтаксис сущности

Каждой сущности присваивается уникальное имя и номер, разделяемые косой чертой " /" и помещаемые над блоком.

Номер сущности – положительное число. Именем сущности является грамматический оборот существительного (существительное, у которого могут быть прилагательные и предлоги), описывающий представляемое сущностью множество предметов.

Существительное должно употребляться в единственном, а не во множественном числе. Сокращения и акронимы допускаются, но при этом имя сущности в модели должно быть осмысленным и согласованным. Формальное определение сущности, а также список синонимов или псевдонимов должны быть приведены в глоссарии модели. Хотя одна и та же сущность может быть изображена на любом числе диаграмм, на каждой конкретной диаграмме она должна быть представлена только один раз.

Правила, связанные с сущностями:

  1. Каждая сущность должна иметь уникальное имя, и к одному и тому же имени должна всегда применяться одна и та же интерпретация. Одна и та же интерпретация не может применяться к различным именам, если только они не являются псевдонимами.
  2. Сущность обладает одним или несколькими атрибутами, которые либо принадлежат сущности, либо наследуются через отношение. (См. раздел 3.7 " Внешние ключи" ).
  3. Сущность обладает одним или несколькими атрибутами, которые " однозначно идентифицируют каждый экземпляр сущности (см. раздел 3.6 " Первичные и альтернативные ключи" ).
  4. Каждая сущность может обладать любым количеством отношений с другими сущностями модели.
  5. Если внешний ключ целиком используется в качестве первичного ключа сущности или его части, то сущность является зависимой от идентификатора. И наоборот, если используется только часть внешнего ключа или вообще не используются внешние ключи, то сущность является независимой от идентификатора.

 

Отношения связи

Семантика отношений связи

Специфическое отношение связи, или просто отношение связи, называемое также отношение родитель-потомок или отношение зависимости существования, - это ассоциация или связь между сущностями, при которой каждый экземпляр одной сущности, называемой родительской сущностью, ассоциирован с произвольным (в том числе нулевым) количеством экземпляров второй сущности, называемой сущностью-потомком, а каждый экземпляр сущности-потомка ассоциирован в точности с одним экземпляром сущности-родителя. Таким образом, экземпляр сущности-потомка может существовать только при существовании сущности-родителя. Например, специфическое отношение связи будет существовать между сущностями ПОКУПАТЕЛЬ и ЗАКАЗ_НА_ПОКУПКУ, если покупатель производит ноль, один или более заказов на покупку, а каждый заказ на покупку должен производиться одним покупателем. IDEF1X-модель описывает совокупность или множество отношений между двумя сущностями. Специфический экземпляр отношения связывает специфические экземпляры сущностей. Например, экземпляром отношения является " покупатель Джон Дол произвел заказ на покупку N 123".

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

  1. Каждый экземпляр сущности-родителя может иметь ноль, один или более связанных с ним экземпляров сущности-потомка.
  2. Каждый экземпляр сущности-родителя должен иметь не менее одного связанного с ним экземпляра сущности-потомка.
  3. Каждый экземпляр сущности-родителя может иметь не более одного связанного с ним экземпляра сущности-потомка.
  4. Каждый экземпляр сущности-родителя связан с некоторым фиксированным числом экземпляров сущности-потомка.

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

Если каждый экземпляр сущности-потомка может быть однозначно идентифицирован без знания связанного с ним экземпляра сущности-родителя, то отношение называется неидентифицирующим отношением. Например, хотя между сущностями ПОКУПАТЕЛЬ и ЗАКАЗ_НА ПОКУПКУ может существовать отношение зависимого существования, заказы на покупку могут однозначно идентифицироваться номером заказа на покупку без идентификации ассоциированного покупателя.

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

Например, отношение " исключающее ИЛИ" утверждает, что для данного экземпляра сущности-родителя при существовании одного типа экземпляра сущности-потомка не будет существовать второй тип экземпляра сущности-потомка. Если, однако, сущность-родитель и сущность-потомок относятся к одному реально существующему предмету, то потенциально существует отношение категоризации (см. раздел 3.3).

Другим типом ограничения является " утверждение пути", регламентирующего отношение между специфическими экземплярами сущности-родителя и сущности-потомка, при котором две сущности могут быть связаны либо прямо, либо косвенно, через две различные последовательности отношений. Например, сущность ОТДЕЛ может иметь две сущности-потомка: СЛУЖАЩИЙ и ПРОЕКТ. Если сущности СЛУЖАЩИЙ и ПРОЕКТ обладают общей сущностью-потомком с именем НАЗНАЧЕНИЕ_ПРОЕКТА, то НАЗНАЧЕНИЕ_ПРОЕКТА косвенно связано с сущностью ОТДЕЛ двумя разными путями отношений. Утверждение пути может устанавливать, что " служащие могут быть приписаны только к тем проектам, которыми занимается отдел, где служащие работают".

Синтаксис отношения связи

Специфическое отношение связи изображается линией, проводимой между сущностью-родителем и сущностью-потомком с точкой на конце линии у сущности-потомка. Мощность по умолчанию - " ноль, один или много".

Рис. 3-2. Синтаксис мощности отношения

Буква Р (positive) означает мощность " один или много" и помещается около точки. Буква Z (zero), помещенная около точки, означает мощность " ноль или один". Если мощность в точности равна некоторому числу N, это число (целое, положительное) помещается около точки (см. рис. 3-2).

Идентифицирующее отношение между сущностью-родителем и сущностью-потомком изображается сплошной линией (см. рис. 3-3).

Рис. 3-3. Синтаксис идентифицирующего отношения

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

Пунктирная линия изображает неидентифицирующее отношение между сущностью-родителем и сущностью-потомком (см. рис. 3-4). В неидентифицирующем отношении и сущность-родитель, и сущность-потомок будут независимыми от идентификаторов сущностями, если только хотя бы одна из них не будет сущностью-потомком в некотором другом отношении, являющемся идентифицирующим отношением.

Рис 3-4. Синтаксис неидентифицирующего отношения

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

Например утверждение " Проект состоит из одного или более заданий" может быть выведено из отношения, изображающего ПРОЕКТ в качестве сущности-родителя, ЗАДАНИЕ - в качестве сущности-потомка с символом мощности Р, СОСТОИТ_ИЗ - в качестве имени отношения. Обратите внимание, что отношение должно оставаться по-прежнему верным при формулировке в обратном направлении, хотя отношение " от потомка к родителю" явно не именуется. В предыдущем примере это звучит следующим образом: " ЗАДАНИЕ является частью в точности одного ПРОЕКТА".

Правила отношений

  1. Специфическое отношение всегда имеет место между в точности двумя сущностями, сущностью-родителем и сущностью-потомком.
  2. Экземпляр сущности-потомка всегда должен быть связан в точности с одним экземпляром сущности-родителя.
  3. Экземпляр сущности-родителя может быть связан с любым числом (от нуля и более) экземпляров сущности-потомка, где это число зависит от указанной мощности.
  4. В идентифицирующем отношении сущность-потомок всегда является зависимой от идентификаторов сущностью.
  5. Сущность может быть связана с любым количеством других сущностей как в качестве потомка, так и в качестве родителя.

 

Отношения категоризации


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-07-13; Просмотров: 666; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.022 с.)
Главная | Случайная страница | Обратная связь