Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_na_voprosy тру.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
688.87 Кб
Скачать
  1. Перечислите Типы ключей и их характеристика

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

Выделяют следующие типы ключей:

суперключ – атрибут или множество атрибутов, которое единственным образом идентифицирует экземпляр сущности. Суперключ может содержать «лишние» атрибуты, которые необязательны для уникальной идентификации экземпляра. При правильном проектировании структуры БД суперключом в каждой сущности (таблице) будет являться полный набор ее атрибутов;

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

первичный ключ – потенциальный ключ, который выбран для уникальной идентификации экземпляров внутри сущности;

альтернативные ключи – потенциальные ключи, которые не выбраны в качестве первичного ключа.

Если некий атрибут (набор атрибутов) присутствует в нескольких сущностях, то его наличие обычно отражает наличие связи между экземплярами этих сущностей. В каждой связи одна сущность выступает как родительская, а другая – в роли дочерней. Это означает, что один экземпляр родительской сущности может быть связан с несколькими экземплярами дочерней. Для поддержки этих связей обе сущности должны содержать наборы атрибутов, по которым они связаны. В родительской сущности это первичный ключ. В дочерней сущности для моделирования связи должен присутствовать набор атрибутов, соответствующий первичному ключу родительской. Однако здесь этот набор атрибутов уже является вторичным ключом. Данный набор атрибутов в дочерней сущности принято называть внешним ключом.

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

Логический уровень – это абстрактный взгляд на данные, на нем данные представляются так, как выглядят в реальном мире, и могут называться так, как они называются в реальном мире, например "Студент", "Бухгалтерия" или "Стипендия". Объекты модели, представляемые на логическом уровне, называются сущностями и атрибутами. Логическая модель данных может быть построена на основе другой логической модели, например на основе модели процессов (BPwin).

Логическая модель данных является универсальной и никак не связана с конкретной реализацией СУБД.

Сущность (Entity) – собирательное понятие, некоторая абстракция реально существующего объекта, процесса или явления, о котором необходимо хранить информацию.

По методологии IDEF1X, на диаграмме сущность изображается прямоугольником. В зависимости от режима представления диаграммы прямоугольник может содержать имя сущности, ее описание, список ее атрибутов и другие сведения.

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

Рисунок 1.1 – Представление сущности

Сущность можно определить как объект, событие или концепцию, информация о которых должна сохраняться. Сущности должны иметь наименование с четким смысловым значением, именоваться существительным в единственном числе, не носить "технических" наименований и быть достаточно важными для того, чтобы их моделировать. Именование сущности в единственном числе облегчает в дальнейшем чтение модели. Фактически имя сущности дается по имени ее экземпляра. Примером может быть сущность «Студент» (но не Студенты!) с атрибутами «Номер студенческого билета», «Фамилия студента» и «Адрес студента». Сущности соответствует таблица в реальной СУБД.

В методологии IDEF1X сущность визуально представляет три основных вида информации:

  • атрибуты, составляющие первичный ключ;

  • не ключевые атрибуты;

  • тип сущности (независимая/зависимая).

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

У каждой сущности должен быть выделен идентификатор, или первичный ключ. Первичный ключ – это один или несколько атрибутов, однозначно определяющих каждый экземпляр сущности. Если первичный ключ состоит из нескольких атрибутов, то он называется составным. Первичный ключ не должен изменяться и принимать неопределенное значение (NULL). Ключ должен быть компактным, т. е. не содержать слишком много атрибутов.

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

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

Правила определения сущностей:

  • Сущность должна иметь уникальное имя.

  • Сущность обладает одним или несколькими атрибутами, которые либо принадлежат сущности, либо наследуются через отношения.

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

  • Каждая сущность может обладать любым количеством отношений с другими сущностями.

  • Если внешний ключ целиком используется в составе первичного ключа, то сущность является зависимой от идентификатора.

Экземпляры независимой (родительской) сущности могут быть уникально идентифицированы без определения ее связей с другими сущностями; зависимая (дочерняя) сущность, наоборот, не может быть уникально идентифицирована без определения ее связей с другими сущностями. Зависимая сущность отображается в ERwin прямоугольником с закругленными углами.

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

Унификация - это объединение двух или более групп атрибутов внешних ключей в один внешний ключ (группу атрибутов), в предположении, что значения одноименных атрибутов в дочерней сущности всегда одинаковы. Схема представления родительской и дочерней сущности изображена на рис.1.2 и рис.1.3

Рисунок 1.2- Пример представления синтаксиса идентифицирующих отношений.

Рисунок 1.3 - Пример представления синтаксиса неидентифицирующих отношений.

Атрибуты (Attribute)

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

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

Сущность должна обладать некоторым набором атрибутов. Атрибуты представляют собой факты, которые служат для идентификации, характеристики отнесения к категории, числового представления или другого вида описания состояния экземпляра сущности. Атрибуты формируют логические группы, описывающие каждый экземпляр сущности. Конкретным экземпляром атрибута является значение. Например, атрибут с названием «Имя» определяет область определения для фактов о сущности с названием «Клиент». Артём, Константин, Станислав – примеры конкретных значений «Имени» для конкретных экземпляров «Клиента».

Правила атрибутов:

  • каждый атрибут каждой сущности обладает уникальным именем;

  • сущность может обладать любым количеством атрибутов;

  • при идентифицирующем отношении сущность "потомок" наследует атрибут и/или атрибуты, составляющие первичный ключ сущности "родителя".

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

Рисунок 1.2 - Пример первичного и альтернативного ключей

Хороший первичный ключ будет обладать следующими признаками:

  • значение гарантирует уникальность для каждого из экземпляров;

  • значение не имеет скрытого смысла;

  • область определения значений будет оставаться постоянной с течением времени;

  • значения существуют для каждого из экземпляров сущности.

При работе ИС часто бывает необходимо обеспечить доступ к нескольким экземплярам сущности, объединенным каким – либо одним признаком для повышения производительности в этом случае используются неуникальные индексы. ERwin позволяет на уровне логической модели назначить атрибуты, которые будут участвовать в неуникальных индексах. Такие атрибуты называются инверсные входы (Inversion Entries). Инверсный вход – это атрибут или группа атрибутов, которые не определяют экземпляр сущности уникальным образом, но часто используется для обращения к экземплярам сущности. ERwin генерирует не уникальный индекс для каждого инверсного входа.

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

Связи (relationships)

Связь (Relationship) – средство представления отношения между сущностями.

Связь является логическим соотношением между сущностями. Каждая связь должна именоваться глаголом или глагольной фразой. Имя связи выражает некоторое ограничение или бизнес-правило и облегчает чтение диаграммы. По умолчанию имя связи на диаграмме не показывается. На логическом уровне можно установить идентифицирующую связь "один-ко-многим", связь "многие-ко-многим" и неидентифицирующую связь "один-ко-многим". Связь - это понятие логического уровня, которому соответствует внешний ключ на физическом уровне. В ERwin связи представлены пятью основными элементами информации:

  • тип связи (идентифицирующая, неидентифицирующая, полная/неполная категория, неспецифическая связь);

  • родительская сущность;

  • дочерняя (зависимая) сущность;

  • мощность связи (cardinality);

  • допустимость пустых (null) значений.

В IDEFIX различают зависимые и независимые сущности. Тип сущности определяется ее связью с другими сущностями. Идентифицирующая связь устанавливается между независимой (родительской) и зависимой (дочерней) сущностями. Зависимая сущность изображается прямоугольником со скругленными углами. При установлении идентифицирующей связи атрибуты первичного ключа родительской сущности автоматически переносятся в состав первичного ключа дочерней сущности. Эта операция дополнения атрибутов дочерней сущности при создании связи называется миграцией атрибутов. В дочерней сущности новые атрибуты помечаются как внешний ключ — FK.

При установлении неидентифицирующей связи дочерняя сущность остается независимой, а атрибуты первичного ключа родительской сущности входят в состав неключевых атрибутов дочерней сущности. Неидентифицирующая связь служит для связывания независимых сущностей. Для определения связей ERwin выбирается тип связи, затем мышью указывается родительская и дочерняя сущность. Идентифицирующая связь изображается сплошной линией; не идентифицирующая - пунктирной линией. Линии заканчиваются точкой со стороны дочерней сущности.

Мощность связей (Cardinality) — служит для обозначения отношения числа экземпляров родительской сущности к числу экземпляров дочерней.

Различают четыре типа сущности:

  • общий случай, когда одному экземпляру родительской сущности соответствуют 0, 1 или много экземпляров дочерней сущности; не помечается каким-либо символом;

  • символом Р помечается случай, когда одному экземпляру родительской сущности соответствуют 1 или много экземпляров дочерней сущности (исключено нулевое значение);

  • символом Z помечается случай, когда одному экземпляру родительской сущности соответствуют 0 или 1 экземпляр дочерней сущности (исключены множественные значения);

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

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

Имя связи на логическом уровне представляет собой глагол, связывающий сущности. Физическое имя связи (которое может отличаться от логического) для ERWin означает имя ограничения или индекса. Для отображения имени связи выберите опцию в меню: Format/Relationship Display/Verb phrase.

Связи категоризации

Некоторые сущности определяют целую категорию объектов одного типа. В ERwin в таком случае создается сущность для определения категории и для каждого элемента категории, а затем вводится для них связь категоризации. Родительская сущность категории называется супертипом, а дочерние - подтипом.

Например, сущность «входящий документ» может быть как запросом, так и распоряжением. Первые и вторые имеют различные, частично пересекающиеся наборы атрибутов (минимальное пересечение подтипов составляет первичный ключ). Общая часть этих атрибутов, включая первичный ключ, помещается в сущность-супертип «входящий документ». Различная часть (например, данные о содержании, отправителе) помещается в сущности-подтипы.

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

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

Рисунок 1.5 – Пример неполного множества категорий

Рисунок 1.6 - Пример полного множества категорий

В ERwin полная категория изображается окружностью с двумя подчеркиваниями, а неполная - окружностью с одним подчеркиванием.

Правила отношений категоризации:

  1. Сущность типа "категория" может иметь только одну общую сущность.

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

  3. Сущность может быть общей сущностью в любом количестве отношений категоризации.

  4. Атрибуты первичного ключа сущности-категории должны совпадать с атрибутами первичного ключа общей сущности.

  5. Все экземпляры сущности-категории имеют одно и то же значение дискриминатора, и все экземпляры других категорий должны иметь другие значения дискриминатора.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]