Базы данных. Вводный курс

         

Реляционные структуры данных


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

По сути, Кодд предложил использовать в качестве родовой структуры БД «таблицы», в которых и столбцы, и строки не являются упорядоченными. Легко видеть, что такая «таблица» со множеством столбцов {A1, A2, …, An}, в которой каждый столбец Ai

может содержать значения из множества Ti

= {vi1,

vi2, …, vim}

(все множества конечны), в математическом смысле представляет собой отношение над множествами {T1, T2, …, Tn}. Напомню, что в математике отношением над множествами {T1, T2, …, Tn}

называется подмножество декартова произведения этих множеств, т.е. некоторое множество кортежей {{v1,

v2, …, vn}}, где vi

Ti. Поэтому для обозначения родовой структуры Кодд стал использовать термин отношение (relation), а для обозначения элементов отношения – термин кортеж. Соответственно, модель данных получила название реляционной модели.

Схема БД в реляционной модели данных – это набор именованных заголовков отношений

вида Hi

= {<Ai1, Ti1>, < Ai2, Ti2>, …, <

Aini, Tini>}. Ti

называется доменом атрибута Ai. По Кодду, каждый домен Ti

является подмножеством значений некоторого базового типа данных Ti+, а значит, к его элементам применимы все операции этого базового типа (в конце 1960-х гг. базовыми типами данных считались типы данных распространенных тогда языков программирования; в IBM наиболее популярными языками были PL1 и COBOL).

Реляционная база данных в каждый момент времени представляет собой набор именованных отношений, каждое из которых обладает заголовком, таким как он определен в схеме БД, и телом. Имя отношения Ri

совпадает с именем заголовка этого отношения HRi.

Тело отношения BRi

– это множество кортежей вида {<Ai1, Ti1, vi1>, < Ai2, Ti2, vi2>, …, <

Aini, Tini, vini>}, где tij

Tij. Во время жизни БД тела отношений могут изменяться, но все содержащиеся в них кортежи должны соответствовать заголовкам соответствующих отношений.



Содержание раздела