Реляционная модель и ANSI SQL 21
мации о сервере, на котором установлено и сконфигурировано программное
обеспечение СУБД.
Язык (правила 5 и 11)
Правила Кодда не требуют, чтобы при работе с базами данных использовался
именно язык SQL. Эти правила, в частности 5 и 11, только определяют, как дол
жен вести себя язык при работе с реляционными базами данных. Одно время
SQL состязался с другими языками (такими как RDO и Fox/PRO), которые так
же удовлетворяли критериям реляционности, и SQL победил, по трем причи
нам. Вопервых, SQL относительно простой, интуитивно понятный и похожий
на естественный английский, язык, но при этом охватывает большинство аспек
тов манипуляции данными. Вовторых, SQL достаточно высокоуровневый язык.
Программист или администратор баз данных не должен тратить время и силы на
сохранение данных в нужные регистры оперативной памяти или на кэширова
ние данных на диск; все эти задачи СУБД решает автоматически. Наконец, SQL
не принадлежит какомуто одному производителю и поэтому успешно был адап
тирован к множеству различных платформ.
Представления (правило 6)
Представление – это виртуальная таблица, не хранящая данные физически,
а создаваемая на лету из SQLзапроса каждый раз, когда происходит обращение
к представлению. Представления позволяют создавать несколько разных обра
зов одних и тех же исходных данных для разных пользователей без необходимо
сти модифицировать способ хранения данных.
Некоторые производители СУБД поддерживают объекты, называе
мые материализованными представлениями. Но не попадитесь на
схожесть названий: материализованные представления не подчи
няются тем же правилам, что и стандартные ANSIпредставления.
Операции над множествами (правила 7 и 12)
Многие языки для манипуляции данными, такие как многоуважаемый Xbase,
выполняют операции совсем не так, как SQL. В этих языках необходимо явно
указывать, что делать с данными, – с каждой строкой. Программа в цикле пере
бирает все строки, применяя логику обработки к каждой строке, и поэтому та
кой стиль программирования часто называется построчной обработкой, или
процедурным программированием.
Программы на SQL логически оперируют множествами данных. Теория мно
жеств применяется почти во всех операторах SQL, включая операторы SELECT,
INSERT, UPDATE и DELETE. Данные выбираются из множества, называемого
таблицей. В отличие от построчной обработки, при работе с множествами про
граммист говорит, что ему требуется получить, а не как обрабатывать каждый ку
сочек данных. Иногда работу с множествами называют декларативной обработ0
кой, потому что программист декларирует желаемый результат (например, «Мне
нужны все сотрудники из южного региона с зарплатой более $70 000 в год»), а не
описывает всю процедуру извлечения данных.