
Глава 3. Основы систем управления базами данных
3-23
корпорации IBM. В конце 1968 года Кодд, математик по образованию, впервые
осознал, что математические дисциплины можно использовать, чтобы привнести
в область управления базами данных строгие принципы и точность. Именно та-
ких качеств и не доставало этой области в то время. С того времени эти идеи
стали общепринятыми и оказали весьма существенное влияние на
все аспекты
технологии баз данных. Первые реляционные программные продукты начали
появляться в конце 70-х – начале 80-х годов. С тех пор почти все созданные
коммерческие СУБД основываются на реляционном подходе.
Что же понимается под реляционной системой? В самом широком смысле
реляционная система – это система, основанная на следующих принципах:
• данные воспринимаются
пользователем как таблицы;
• в распоряжении пользователя имеются операторы манипулирования
данными (например, для выборки данных), которые генерируют новые
таблицы из старых.
Причина, по которой такие системы называют реляционными, заключает-
ся в том, что английский термин «relation» (реляция, отношение), по существу,
просто математическое название для таблицы. Поэтому на практике в большин-
стве
случаев термины «отношение» и «таблица» принято считать синонимами.
Определение «реляционные системы» требует, чтобы база данных воспринима-
лась пользователем только в виде таблиц. Таблицы в реляционной системе яв-
ляются логическими, а не физическими структурами. В действительности на фи-
зическом уровне система баз данных может использовать любую или все приме-
няемые структуры памяти
– последовательные файлы, индексирование, цепочки
указателей, сжатие хранимых данных и т.п. – лишь бы обеспечивалась возмож-
ность отображать эти структуры в таблицы на логическом уровне. Другими сло-
вами, таблицы представляют абстракцию способа физического хранения дан-
ных, в которой множество деталей на уровне памяти – размещение, последова-
тельность хранимых записей, кодировка хранимых данных,
хранимые структуры
доступа, такие как индексы, и т.д. – скрыто от пользователей.
На рис. 3.11 показан простой пример реляционной базы данных отделов и
сотрудников.
Среди операторов манипулирования данными есть как минимум следую-
щие:
• SELECT, предназначенный для извлечения определенных строк из
таблицы;
• PROJECT, предназначенный для извлечения определенных столбцов
из таблицы;
•
JOIN, предназначенный для соединения двух таблиц на основе общих
значений в общих столбцах.
Некоторые примеры использования операций SELECT, PROJECT И JOIN
показаны на рис. 3.12.
Необходимо отметить важный момент, очевидный из рис. 3.12: результат
каждой из трех операций – это еще одна таблица. Это реляционное свойство
замкнутости. Оно имеет очень большое значение главным образом потому, что
результатом операции является объект того же рода, что и объект, над ко-
торым производилась операция – а именно таблица. Это значит, что над