– 12 –
К появлению современных реляционных СУБД привела другая революци-
онная идея, предложенная Коддом. Он в 1970 г. опубликовал статью, содержа-
щую описание простой модели данных, согласно которой база данных состав-
ляется из таблиц. Таблицы эти особенные, и их особенность заключается в том,
что в них не должно быть одинаковых строк. Поэтому
эти таблицы были назва-
ны реляциями, а сама модель реляционной.
Но основное достоинство реляционных моделей данных заключалось не в
их простоте, хотя и это имело большое значение, а в том, что в них были при-
менены принципы нечисловой или ассоциативной обработки данных. В соот-
ветствии с этими принципами данные
связываются в соответствии с их внут-
ренними логическими взаимоотношениями, а не физическими указателями, как
это делалось в иерархической и сетевой моделях. В основе этих принципов ле-
жит ассоциативный, а не адресный поиск, и взаимосвязи между элементами
данных устанавливаются в соответствии со значениями их атрибутов, а не
путем искусственного соединения с
помощью указателей.
При числовой обработке данных содержание данных практически не ис-
пользуется. Допустим, что мы хотим вычислить сумму элементов массива. При
этом достаточно указать адрес начального элемента массива, а затем накапли-
вать сумму элементов в некотором регистре, индексируя соответствующим об-
разом адреса. В ходе этого вычисления нас не интересуют текущие значения
суммируемых переменных, мы просто должны проверять некоторые перемен-
ные, влияющие на ход выполнения программы (например, достигнут или нет
конец массива).
При ассоциативной обработке нас в первую очередь интересуют сведения
об объектах и их свойствах. При этом мы можем запросить сведения о студен-
те, указав его фамилию, имя или номер зачетной
книжки, или узнать имена
всех преподавателей моложе
40 лет, чей оклад выше 300 000 руб.
Для пояснения принципов ассоциативной обработки данных приведем сле-
дующий простой пример. Допустим, у нас имеются сведения о студентах и
группах, в которых они обучаются, представленные в таблице
ГРУППЫ с полями
Код, Наименование, и в таблице СТУДЕНТЫ с полями Номер зачетной книжки, Фами‐
лия
, Имя, Отчество, Код_группы. По этим данным, используя принципы ассоциа-
тивной обработки, а именно сравнивая значения полей
Код таблицы ГРУППЫ и
Код_группы таблицы СТУДЕНТЫ, мы можем определить в какой группе учится ка-
ждый студент, сколько студентов учится в каждой группе, вывести список сту-
дентов каждой группы и т. д. Как видно из приведенного примера, при ассоциа-
тивной обработке решение задач сводится к сопоставлению или ассоциации
значений признаков обрабатываемых данных, т. е. используется содержание
данных,
а не адрес.
Таким образом, пользователи смогут комбинировать данные из разных ис-
точников, если логическая информация, необходимая для такого комбинирова-
ния, присутствует в исходных данных. Это открыло новые возможности для
информационных систем, поскольку запросы к базе данных теперь не были ог-
раничены физическими указателями и для их реализации уже не приходилось
писать программы.