Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Правила отношений между сущностями. Определение ключей

Поиск

Правила формирования отношений основывается на учете следующего:

- степени связи между сущностями (1:1, 1:М, М:1, М:М);

- класса принадлежности экземпляров сущностей (обязательный и необязательный).

Рассмотрим формулировки шести правил формирования отношений на основе диаграмм ER - типа.

Формирование отношения для связи 1:1

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

На рис. 6.1 приведены диаграмма ER - типа и отношение, сформированное по правилу 1 на ее основе.

 
 

 


Обозначения: С1, С2 - сущности 1 и 2;

К1, К2 - ключи первой и второй сущности соответственно;

R1 - отношение 1, сформированное на основе первой и второй сущностей;

К1К2 - означает, что ключом сформированного отношения может быть либо К1, либо К2.

Правило 2. Если степень связи 1:1 и класс принадлежности одной сущности обязательный, а второй - необязательный, то под каждую из сущностей формируется по отношению с первичными ключами, являющимися ключами соответствующих сущностей. Далее к отношению, сущность которого имеет обязательный КП, добавляется в качестве атрибута ключ сущности с необязательным КП.

Правило 3. Если степень связи 1:1 и класс принадлежности обеих сущностей является необязательным, то необходимо использовать три отношения. Два отношения соответствуют связываемым сущностям, ключи которых являются первичными в этих отношениях. Третье отношение является связным между первыми двумя, поэтому его ключ объединяет ключевые атрибуты связываемых отношений.

Формирование отношений для связи 1:М

Если две сущности С1 и С2 связаны как 1:М, сущность С1 будем называть односвязной (1-связной), а сущность С2 - многосвязной (м-связной). Определяющим фактором при формировании отношений, связанных этим видом связи, является класс принадлежности м-связной сущности. Так, если класс принадлежности м-связной сущности обязательный, то в результате применения правила получим два отношения, если необязательный - три отношения. Класс принадлежности односвязной сущности не влияет на результат.

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

Правило 5. Если степень связи 1:М (М:1) и класс принадлежности м-связной сущности является необязательным, то необходимо формирование трех отношений.

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

Формирование отношений для связи М:М

При наличии связи М:М между двумя сущностями необходимо три отношения независимо от класса принадлежности любой из сущностей. Использование одного или двух отношений в этом случае не избавляет от пустых полей или избыточно дублируемых данных.

Правило 6. Если степень связи М:М, то независимо от класса принадлежности сущностей формируются три отношения. Два отношения соответствуют связываемым сущностям и их ключи являются первичными ключами этих отношений. Третье отношение является связным между первыми двумя, а его ключ объединяет ключевые атрибуты связываемых отношений.

Первичные и внешние ключи!!!

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

Если строго, то пусть R - некоторое отношение. Тогда первичный ключ К для R - это подмножество атрибутов R, обладающее свойствами:

1. свойством уникальности - нет двух различных кортежей в R с одинаковым значением К;

2. свойством неизбыточности - никакое из подмножеств К не обладает свойством уникальности (т.е. настоящий первичный ключ не должен включать лишних атрибутов для идентификации уникальности).

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

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

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

Формализованное определение: пусть R2 - базовое отношение. Тогда внешний ключ FK в отношении R2 - это подмножество множества R2, такое, что:

1. существует базовое отношение R1 с первичным ключом К;

2. каждое значение FK в текущем значении R2 является или null-значением, или совпадает со значением К некоторого кортежа в текущем значении R1.

Говорят, что внешний ключ одной таблицы является ссылкой на первичный ключ другой таблицы.

ПОЯСНЕНИЯ:

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

2. Метаправило целостности объектов: ни один элемент первичного ключа базового отношения не может быть null-значением;

3. Внешний ключ может быть либо null-значением, либо соответствовать значению первичного ключа, на который ссылается;

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

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

6. Метаправило ссылочной целостности: БД не должна содержать несогласованных значений внешних ключей. То есть если В ссылается на А, тогда А должно существовать.

7. Чтобы избежать состояний, когда БД не удовлетворяет правилу ссылочной целостности, следует использовать правила внешних ключей √ правила удаления и обновления. Основная идея этих правил в следующем. При определении внешнего ключа необходимо ответить на вопрос: что должно случиться при попытке удалить объект ссылки внешнего ключа? В общем есть по меньшей мере две возможности:

(ограничить операцию удаления до определенного момента; каскадировать операцию удаления)



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 267; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.34.51 (0.006 с.)