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

Ключи отношений

Проекция отношения.

Проекцией отношения R на его атрибут Аi называется множество, состоящее из различных значений этого атрибута. Операция проекции обозначается R [Аi].

Пример 2.

Найдем проекцию отношения R на его атрибут А2. В результате получим множество {b, d, q}. Иными словами, результатом проекции является множество различных значений, образующих столбец А2 таблицы R.

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

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

Первичный ключ используется для доступа к записям в реляционных БД.

В таблице ИЗДЕЛИЕ первичным ключом является атрибут И#, а в таблице ПОСТАВЩИК - П#.

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

Для реляционных БД очень важным является также понятие внешнего ключа отношения. Атрибут, являющийся первичным ключом одного отношения и входящий в составной первичный ключ другого отношения является внешним ключом этих отношений. Так, например, внешним ключом отношений ПОСТАВЩИК и ПОСТАВКИ является атрибут П#, а внешним ключом отношений ИЗДЕЛИЯ и ПОСТАВКИ является атрибут И#.

Через внешний ключ можно выполнить операцию сцепления двух отношений. Так, например, можно определить все поставки, производимые поставщиком П1, выполнив сцепление отношения ПОСТАВЩИК и ПОСТАВКИ по П1 (напомним, что между этими отношениями существует логическая связь типа 1:М).

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: