Первичные ключи и индексы

В каждой таблице БД может существовать первичный ключ — поле или набор по­лей, однозначно идентифицирующий запись. Значение первичного ключа в таб­лице БД должно быть уникальным, то есть в таблице не должно существовать двух или более записей с одинаковым значением первичного ключа.

Первичные ключи облегчают установление связи между таблицами. В таблице по­купателей таким ключом может быть одноименное поле. Установив связь по пер­вичному ключу, мы можем выяснить, что, например, 10.12.99 со склада было от­пущено 100 единиц книг «Borland С++ Builder 4» покупателю «Магазин № 1», который расположен по адресу: 107005, Москва, 2-я Бауманская ул., 12 (телефон для связи 273-00-14).

Поскольку первичный ключ должен быть уникальным, для него могут использо­ваться не все поля таблицы. В приведенном примере название покупателя вряд ли может быть уникальным («Магазин № 1» может существовать не только в Моск­ве, но и в любом другом городе), поэтому поле Покупатель не может использо­ваться в качестве первичного ключа.

Если в таблице нет полей, значения в которых уникальны, для создания первичного ключа в нее обычно вводят допол­нительное числовое поле, значениями которого СУБД может распоряжаться по своему усмотрению. Если, например, в таблицу покупателей добавить поле №, то она могла бы выглядеть так.

Покупатель Адрес Телефон
Магазин № 1 107005, Москва, 2-я Бауманская ул., 12 273-00-14
Дом книги 105066, Москва, Измайловский б-р, 18/11 165-18-99

Соответственно изменилась бы и связанная с ней таблица отпуска товаров.

 

Дата Название книги Покупатель Отпущено

10.12.99 Borland С++ Builder 4 1 100

10.12.99 Delphi 5. Учебный курс 1 100

12.12.99 В сетях Всемирной паутины 2 2000

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

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

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

Один из индексов является первичным (primary), он задает начальный порядок следования записей в таблице. Значение первичного индекса обязательно должно быть уникальным для каждой отдельной записи. Иначе говоря, в таблице не могут существовать две записи с одинаковыми значениями первичного индекса. Например, в таблице заказов первичный индекс правильно будет построить по полю «номер заказа», т.к. каждому заказу всегда назначается уникальный номер.








Дата добавления: 2015-04-15; просмотров: 987;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.