Основы реляционных баз данных
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Когда возникает потребность хранить, периодически об­новлять и анализировать большие объёмы структурированных данных, то можно использовать кар­тотеку, хранящую записи для каждого студента, таблицу с переч­нем всех студентов и предметов и т. д. Однако на практике для таких целей чаще всего используются базы данных (БД). Информация в БД хранится в табличном виде. БД – это, прежде всего, набор таблиц, хотя, в базу данных могут входить так же процедуры и ряд других объектов. Таблица БД пред­ставляет собой обычную двумерную таблицу с характеристи­ками (атрибутами) какого-то множества объектов. Таблица имеет имя – идентификатор, по которому на неё можно сослаться. На­пример, таблица для хранения информации о студентах может быть представлена в следующем виде (рисунок 16.1).

Рисунок 16.1 – Данные о студентах

 

Столбцы таблицы соответствуют тем или иным характери­стикам объектов – полям.

Каждое поле характеризуется именем и типом хранящихся данных. Имя поля – это идентификатор, кото­рый используется в программах для манипуляции данными. Он строится по тем же правилам, как любой идентифи­катор, т. е. пишется латинскими буквами, состоит из одного слова и т. д. Таким образом, имя – это  не то, что отображается на экране или в отчёте заголовка столбца (это отображение можно писать по-русски), а идентификатор, соответствующий этому заголовку. Например, для таблицы введём для последующих ссылок имена полей Zach, Group, Fam, Nam, Par, Year_b, Sex, Pred, Oz, соответ­ствующие указанным в ней заголовкам полей.

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

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

При построении таблиц БД важно обеспечить непротиворе­чивость информации. Это делается введением ключевых полей, обеспечивающих уникальность каждой записи. Ключе­вым может быть одно или несколько полей. В приведённом примере можно было бы сделать ключевыми совокупность полей Fam, Nam и Par. Но в этом случае нельзя было бы заносить в таб­лицу сведения о полных однофамильцах, у которых совпадают фамилия, имя и отчество. Поэтому целесообразнее использовать поле Zach – номер зачетной книжки, которое можно сделать клю­чевым, по­скольку номер зачетной книжки не может быть одинаковым у двух студентов.

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

Индекс показывает, в какой последовательности будет просматриваться таблица. Часто индексы хранятся от­дельно от файла с данными. Для быстрой сортировки обычно ин­дексы выносят в отдельный индексный файл с тем же названием, но с другим расширением. В таком файле содержатся только пер­вичные ключи и описание очередности записей. Основной же файл при этом остается неупорядоченным. Так как индексный файл на­много меньше файла объектов, сортировка по индексу происходит гораздо быстрее, чем сортировка основного файла (рисунок 16.2).

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

 

ствии. Вторичным индексам присваиваются идентификато­ры, по которым их можно использовать.

Рисунок 16.2 – Перемещение курсора по индексу

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



Дата: 2019-02-02, просмотров: 201.