Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





На рис. 1.3 приведен обобщенный пример взаимодействия индекса с таблицей БД. Как было сказано ранее, индекс содержит в себе упорядоченные значения одного или нескольких полей. Также он содержит ссылки на записи,
расположенные в таблице.

При осуществлении поиска по индексированному
полю сервер БД быстро находит нужный элемент, если он существует, получает ссылку на него и сразу переходит к нему в базе и возвращает данные клиентскому приложению.

В приведенном примере есть таблица, состоящая
из трех полей: А, В, С. Как можно заметить, поля в таблице А не упорядочены. Однако в индексе, созданном по этому полю, данные хранятся в отсортированном виде. При осуществлении операций с данными сервер БД проверяет, индексировано ли поле, по которому производится запрос. Если поле индексировано, сервер БД осуществляет быстрый поиск по индексу. По такому же принципу осуществляется работа с ключом.
Но во всем важно знать меру. Можно индексировать всю таблицу и получить
медленно работающую БД гигантского размера. При создании индекса важно
продумать, по каким полям чаще всего будет вестись поиск. Грамотно созданный индекс существенно увеличивает производительность БД. Но необходимо помнить о балансе. Индексировать нужно лишь те поля, по которым будет
чаще всего производиться поиск.

Реляционные отношения между таблицами
В частном случае БД может состоять из одной таблицы. Но чаще всего реляционная БД состоит из нескольких взаимосвязанных таблиц. Организация
связи между таблицами называется связыванием. Связи между таблицами
можно устанавливать как на этапе разработки БД, так и при разработке приложения. Связывать можно одну или несколько таблиц. Для связывания таблиц используются соответствующие поля связи. Поле связи — особое поле
таблицы, которое однозначно идентифицирует запись. В подчиненной таблице для связи с главной также используется особый набор полей, называемый
внешним ключом. Поле связи и первичный ключ должны быть индексированы, так как это ускоряет доступ к связанным записям. В общем случае поле
связи и внешний ключ представляют собой индексы.

В качестве примера на рис. 1.4 приведены данные о длительности разговоров
абонентов телефонной сети. Поле связи главной таблицы содержит некое
значение. С этим значением связано поле подчиненной таблицы внешний
ключ, которое указывает на двух абонентов с фамилиями Алексеев и Костин. Использование поля связи позволяет получить данные о разговорах тех абонентов, которые звонили в Екатеринбург. В качестве поля связи можно
было использовать поле Код города, поскольку оно является уникальным.
Связь между таблицами определяет отношение подчиненности, при котором
одна таблица является главной, другая подчиненной. Главная таблица обычно называется Master, подчиненная — Detail.
Различают следующие разновидности связи:
-отношение один к одному;
-отношение один ко многим;
-отношение многие к одному;
-отношение многие ко многим.

 



   
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru