Р Первичный ключ ис. 1.4.
.Быстрый доступ (поиск) к значениям в "таблице можно обеспечить двумя способами — записи либо сортируют, либо индексируют по полю, по которому требуется поиск:
-
сортировка — это упорядочивание в порядке возрастания или убывания значений, при этом происходит физическая перестановка записей в таблице;
-
индексирование — это добавление к полю дополнительного «невидимого» числового поля — вторичного ключа, упорядочивающего поле в порядке возрастания или убывания значений, при этом не происходит физическая перестановка записей в таблице.
Таким образом, если значения первичного ключа сортируют записи, то для упорядочивания по другому полю используют индексирование вторичным ключом.
Затруднения изменения данных в таблицах связаны с дублированием, т.е. избыточностью данных. В нашем примере ул. Ленина встречается 2 раза, в случае её переименования потребуется внести изменения в двух местах. При большом количестве избыточных данных любое изменение записей крайне трудоемко и связано с внесением дополнительных ошибок.
Э
Таблица Абонементы
КодАбонимента |
Фамилия И.О. |
Телефон |
КодУлицы |
ДомКв |
….. |
|
|
|
|
951 |
Иванов И.И. |
366-55-44 |
16 |
10-9 |
952 |
Петров Н.Н. |
443-66-77 |
21 |
27-15 |
953 |
Петров Н.Н. |
157-02-61 |
16 |
27-18 |
…… |
|
|
|
|
Таблица Улицы
-
КодУлицы
ДомКв
……
16
ул. Ленина
…..
21
пр. Буденного
Как видно, в таблице Абоненты появилось новое поле КодУлицы: оно есть внешний ключ, поскольку является первичным ключом другой таблицы Улицы.
Здесь же мы видим связь (отношение) между таблицами одни-ко-многим: одному значению поля КодУлицы таблицы Улицы может соответствовать множество значений поля КодУлицы таблицы Абоненты. Существуют также отношения одни-к-одному, многие-ко-многим, многие-к-одному.
Здесь же мы видим, что из таблицы Улицы нельзя удалять записи, если их коды присутствуют в таблице Абоненты, т.е. необходимо обеспечить ссылочную целостность. Отслеживание и корректировка таких неправомерных действий — одна из функций СУБД.