АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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

Читайте также:
  1. IV. Заключительные замечания
  2. V. ЗАКЛЮЧИТЕЛЬНЫЕ ПОЛОЖЕНИЯ
  3. V. Ключи к искусству управления
  4. XII. ЗАКЛЮЧИТЕЛЬНЫЕ ПОЛОЖЕНИЯ
  5. Агрегатная форма индекса и индексы в средней арифметической и средней гармонической формах
  6. Агрегатные индексы. Система индексов
  7. Адаптивное руководство. заключительные замечания
  8. АКРОМИАЛЬНО-КЛЮЧИЧНЫЙ СУСТАВ
  9. Аналоговые ключи на МОП-транзисторах
  10. Анатомия ключицы
  11. Балльная оценка параметров инвестиционной привлекательности организаций и первичные параметры оценки. Метод интегральной оценки.
  12. Биржевые индексы.

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

Первичные ключи облегчают установление связи между таблицами. В таблице по­купателей таким ключом может быть одноименное поле. Установив связь по пер­вичному ключу, мы можем выяснить, что, например, 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), он задает начальный порядок следования записей в таблице. Значение первичного индекса обязательно должно быть уникальным для каждой отдельной записи. Иначе говоря, в таблице не могут существовать две записи с одинаковыми значениями первичного индекса. Например, в таблице заказов первичный индекс правильно будет построить по полю «номер заказа», т.к. каждому заказу всегда назначается уникальный номер.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

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



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.002 сек.)