Базы данных. Учебное пособие

       

Реляционные системы управления базами данных


Использование физических указателей было одновременно и сильной, и слабой стороной иерархических и сетевых систем управления базами дан­ных. Сильной, поскольку они позволяли извлекать данные, связанные опре­деленными отношениями. Слабой, поскольку эти отношения должны быть определены до запуска системы. Извлечь данные на основе других отноше­ний было сложно, если вообще возможно.

В 1970 году Е.Ф. Кодд опубликовал революционную по содержанию статью (Codd, 1970), которая всерьез поколебала устоявшиеся представления о базах данных. Он выдвинул идею, что данные нужно связывать в соответствии с их внутренними логическими возможностями, а не физическими указателями. Таким образом, пользователи смогут копировать данные из разных источников, если логическая информация, необходимая для такого комбинирования, присутствует в исходных данных. Это открыло новые возможности для информационно-управляющих систем, поскольку запросы к базам данных теперь не были ограничены физическими указателями.

 

Рис. 1.11. Логическая связь, не поддерживаемая физическим указателем

 

Для того чтобы понять, какие недостатки присущи системам, основан­ным на физических указателях, рассмотрим рис. 1.11. На нем показано, что файлы CUSTOMER, INVOICE и INVOICE LINE связаны физическими указа­телями. Файлы MANUFACTURER (ИЗГОТОВИТЕЛЬ) и PRODUCT тоже свя­заны. Пунктирная линия между INVOICE LINE и PRODUCT обозначает, что между ними существует логическая связь, поскольку каждая строка счета относится к конкретному товару. Однако предположим, что файл PRODUCT не привязан к файлу INVOICE LINE физическим указателем. Как тогда, со­ставить следующий отчет?

Для каждого клиента перечислить изготовителей приобретенных им товаров.

Для составления такого отчета требуется двигаться от файла CUSTOMER через INVOICE и INVOICE LINE к PRODUCT и затем к MANUFACTURER.
Но поскольку между файлами INVOICE LINE и PRODUCT нет физической связи, то обычными средствами базы данных такой путь проделать невоз­можно. Для того чтобы все-таки получить такую информацию, придется пользоваться древними и неуклюжими способами работы с файлами. Это потребует искусного длительного программирования. Те же информацион­ные системы, использующие базы данных, которые поддерживают извлече­ние данных на основе логических связей, легко ответят на такой вопрос.

В своей статье Кодд предложил простую модель данных, согласно кото­рой все данные сведены в таблицы, состоящие из строк и столбцов. Эти таб­лицы получили название реляций, а модель стала называться соответственно реляционной. Кодд также предложил пользоваться для работы с данными в таблице двумя языкам: реляционной алгеброй и реляционным исчислением (о них мы поговорим и в главе 6). Оба эти языка обеспечивают работу с дан­ными на основе логических характеристик, а не физических указателей, ко­торыми пользовались в иерархических и сетевых моделях.

Рассматривая данные с концептуальной, а не физической точки зрения, Кодд предложил еще одну революционную идею. В реляционных системах баз данных целые файлы данных могут обрабатываться одной командой, то­гда как в традиционных системах за один раз обрабатывается только одна запись. Подход Кодда чрезвычайно повысил эффективность программирования в базах данных.

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

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


Результатом этой деятельности явилось создание во второй половине семидесятых реля­ционных систем, которые поддерживали такие языки, как Structured Query Language (SQL, язык структурированных запросов), Query Language (Quel, язык запросов) и Query-by-Example (QBE, запросы по образцу). С широким распространением персональных компьютеров в восьмидесятые годы также появились реляционные базы данных для микрокомпьютеров. В 1986 году SQL был принят в качестве стандарта ANSI языков реляционных баз дан­ных. Этот стандарт обновлялся в 1989 и в 1992 годах.

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

Сегодня реляционные базы данных рассматриваются как стандарт для современных коммерческих систем работы с данными. Разумеется, файловые системы, иерархические и сетевые базы данных все еще многочисленны и во многих случаях именно их применение является наиболее выгодным. Тем не менее, среди компаний прослеживается очевидная тенденция при первой  же возможности переходить на реляционные системы.

Неверным, однако, было бы полагать, что современные реляционные  системы управления базами данных являются последним словом в развитии СУБД. Реляционные базы данных продолжают совершенствоваться, и их внутренняя природа значительно меняется, предоставляя пользователям возможность решать все более сложные задачи. По нашему мнению, наибо­лее существенные из таких перемен происходят в области объектно-ориенти­рованных баз данных. Еще одно чрезвычайно важное новшество - переход организаций к работе с базами данных на технологию клиент/сервер. Этот принцип мы рассмотрим в следующем разделе.

На   рис. 1.12   представлена   временная   шкала,   описывающая историческое развитие способов доступа к данным, о котором мы говорили.В таблице 1.1 приведены сравнительные характеристики различных способов доступа к данным.

 

 

 

 

Таблица 1.1. Сравнительная характеристика способов

обращения к данным

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