478______________________________________________Глава 9

тор, т.е. пишется латинскими буквами, состоит из одного слова и т.д. Таким обра-
зом имя — это не то, что отображается на экране или в отчете в заголовке столбца
(это отображение естественно писать по-русски), а идентификатор, соответствую-
щий этому заголовку. Например, для таблицы 9.1 введем для последующих ссы-
лок имена полей Mum, Dep, Fam, Nam, Par, Year_b, Sex, Charact, Photo, соответству-
ющие указанным в ней заголовкам полей.

Тип поля характеризует тип хранящихся в поле данных. Это могут быть стро-
ки, числа, булевы значения, большие тексты (например, характеристики сотруд-
ников), изображения (фотографии сотрудников) и т.п.

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

При построении таблиц баз данных важно обеспечивать непротиворечивость
информации. Обычно это делается введением ключевых полей — обеспечивающих
уникальность каждой записи. Ключевым может быть одно или несколько полей. В
приведенном выше примере можно было бы сделать ключевыми совокупность по-
лей Fam, Nam и Par. Но в этом случае нельзя было бы заносить в таблицу сведения о
полных однофамильцах, у которых совпадают фамилия, имя и отчество. Поэтому
в таблицу введено первое поле Mum — номер, которое можно сделать ключевым,
обеспечивающим уникальность каждой записи.

При работе с таблицей пользователь или программа как бы скользит курсором
по записям. В каждый момент времени есть некоторая текущая запись, с которой
и ведется работа. Записи в таблице базы данных физически могут располагаться
без какого-либо порядка, просто в последовательности их ввода (появления новых
сотрудников). Но когда данные таблицы предъявляются пользователю, они дол-
жны быть упорядочены. Пользователь может хотеть просматривать их в алфавит-
ном порядке, или рассортированными по отделам, или по мере нарастания года
рождения и т.п. Для упорядочивания данных используется понятие индекса. Ин-
декс показывает, в какой последовательности желательно просматривать таблицу.
Он является как бы посредником между пользователем и таблицей (см. рис. 9.1).
Курсор скользит по индексу, а индекс указывает на ту или иную запись таблицы.
Для пользователя таблица выглядит упорядоченной, причем он может сменить ин-
декс и последовательность просматриваемых записей изменится. Но в действите-
льности это не связано с какой-то перестройкой самой таблицы и с физическим пе-
ремещением в ней записей. Меняется только индекс, т.е. последовательность ссы-
лок на записи.

Рис. 9.1

Схема перемещения курсора по индексу

индекс

таблица

Индексы могут быть первичными и вторичными. Например, первичным ин-
дексом могут служить поля, отмеченные при создании базы данных как ключевые.
А вторичные индексы могут создаваться из других полей как в процессе создания
самой базы данных, так и позднее в процессе работы с ней. Вторичным индексам
присваиваются имена — идентификаторы, по которым их можно использовать.

Если индекс включает в себя несколько полей, то упорядочивание базы дан-
ных сначала осуществляется по первому полю, а для записей, имеющих одинако-
вые значения первого поля — по второму и т.д. Например, базу данных персонала
можно индексировать по отделам, а внутри каждого отдела — по алфавиту.