Каждая запись в таблице должна иметь первичный ключ, т. е. идентификатор (или адрес), значение которого однозначно оп¬ределяет эту и только эту запись. Ключ может состоять из од¬ного или нескольких полей. Например, в телефонном справоч¬нике (табл. 14.1) первичным ключом является номер телефона; в справочнике цен CENI (п. 14.7) ключ — это совокупность полей ФИРМА, ПРОД и СХЕМА.
Первичный ключ должен обладать двумя свойствами.
Однозначная идентификация записи: запись должна одно-значно определяться значением ключа.
Отсутствие избыточности: никакое поле нельзя удалить из ключа, не нарушая при этом свойства однозначной идентифика¬ции.
Каждое значение первичного ключа в пределах таблицы долж¬но быть уникальным. В противном случае невозможно отличить одну запись от другой. Например, значение ключа в третьей за¬писи CENI равно А 1250 01, и оно однозначно определяет имен¬но эту запись. Если удалить из ключа, например, номер схемы, одному и тому же значению ключа уже может соответствовать несколько записей.
Первичный ключ таблицы ЗАКАЗЫ — это номер заказа (в таб¬лице не может быть двух или более записей с одинаковым зна¬чением номера заказа, иначе будет потерян смысл таблицы).
Одной из наиболее простых и популярных ИС является сис¬тема управления кадрами (персоналом). В этой системе каждая строка основной таблицы содержит данные о конкретном чело¬веке — фамилию, имя, отчество (ФИО), дату рождения, нацио¬нальность и т. д. Иногда неопытный разработчик в качестве пер¬вичного ключа этой таблицы указывает поле ФИО, неявно по¬лагая, что в таблице не будет лиц с одинаковыми «ФИО». Ясно, что это не так: в большой организации всегда могут найтись два-три Кузнецовых Б.Н. и т. п. — и эта небрежность сведет к нулю ценность такой информационной системы. На' этом примере видно, что фамилия никогда не может быть ключом таблицы:
вместо нее всегда используют придуманные разработчиком уни¬кальные цифровые обозначения лица — табельные номера или что-то другое.
Таким образом, указание первичного ключа — это и есть един¬ственный способ отличить один экземпляр объекта от другого, о котором говорилось в п. 14.3.
Почему мы говорим «Первичный ключ таблицы»? Бывают ли «вторичные» ключи? Да, кроме первичного, мы можем исполь¬зовать так называемые простые (или вторичные) ключи таблицы. Например, в таблице TELEFON первичный ключ — номер те¬лефона, однако мы можем просматривать эту таблицу по катего¬рии абонента, и тогда мы говорим, что поле КАТЕГ — простой ключ таблицы. Значение простого ключа может быть неуникаль¬ным. Первичный ключ может быть только один, а простых клю¬чей — множество (подробнее об этом рассказывается в п. 14.13.3).
Ключи используются при упорядочивании (индексировании) таблиц.neopoznanoe.ru