Добавлен: 28.11.2018

Просмотров: 8799

Скачиваний: 10

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

21

В

 1970 

году

Е

.

Ф

Кодд

опубликовал

революционную

по

со

-

держанию

статью

 (Codd, 1970), 

которая

всерьез

поколебала

ус

-

тоявшиеся

представления

о

базах

данных

Он

выдвинул

идею

что

данные

нужно

связывать

в

соответствии

с

их

внутренними

логическими

возможностями

а

не

физическими

указателями

Таким

образом

пользователи

смогут

копировать

данные

из

раз

-

ных

источников

если

логическая

информация

необходимая

для

такого

комбинирования

присутствует

в

исходных

данных

Это

открыло

новые

возможности

для

информационно

-

управляющих

систем

поскольку

запросы

к

базам

данных

теперь

не

были

огра

-

ничены

физическими

указателями

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Рис

. 1.11. 

Логическая

связь

не

поддерживаемая

физическим

указателем

Для

того

чтобы

понять

какие

недостатки

присущи

системам

основанным

на

физических

указателях

рассмотрим

рис

. 1.11. 

На

нем

показано

что

файлы

 CUSTOMER, INVOICE 

и

 INVOICE LINE 

связаны

физическими

указателями

Файлы

 MANUFACTURER (

ИЗ

-

ГОТОВИТЕЛЬ

и

 PRODUCT 

тоже

связаны

Пунктирная

линия

меж

-

ду

 INVOICE LINE 

и

 PRODUCT 

обозначает

что

между

ними

сущест

-

вует

логическая

связь

поскольку

каждая

строка

счета

относится

к

конкретному

товару

Однако

предположим

что

файл

 PRODUCT 

не

привязан

к

файлу

 INVOICE LINE 

физическим

указателем

Как

то

-

гда

составить

следующий

отчет

CUSTOMER 

INVOICE 

INVOICE LINE 

MANUFACTURER 

PRODUCT 


background image

22

Для

каждого

клиента

перечислить

изготовителей

при

-

обретенных

им

товаров

Для

составления

такого

отчета

требуется

двигаться

от

файла

CUSTOMER 

через

 INVOICE 

и

 INVOICE LINE 

к

 PRODUCT 

и

затем

к

 MANUFACTURER. 

Но

поскольку

между

файлами

 INVOICE LINE 

и

 PRODUCT 

нет

физической

связи

то

обычными

средствами

базы

данных

такой

путь

проделать

невозможно

Для

того

чтобы

все

-

таки

получить

такую

информацию

придется

пользоваться

древними

и

неуклюжими

способами

работы

с

файлами

Это

по

-

требует

искусного

длительного

программирования

Те

же

ин

-

формационные

системы

использующие

базы

данных

которые

поддерживают

извлечение

данных

на

основе

логических

связей

легко

ответят

на

такой

вопрос

В

своей

статье

Кодд

предложил

простую

модель

данных

со

-

гласно

которой

все

данные

сведены

в

таблицы

состоящие

из

строк

и

столбцов

Эти

таблицы

получили

название

реляций

а

модель

стала

называться

соответственно

реляционной

Кодд

также

предложил

пользоваться

для

работы

с

данными

в

табли

-

це

двумя

языкам

реляционной

алгеброй

и

реляционным

исчис

-

лением

 (

о

них

мы

поговорим

и

в

главе

 6). 

Оба

эти

языка

обеспе

-

чивают

работу

с

данными

на

основе

логических

характеристик

а

не

физических

указателей

которыми

пользовались

в

иерархи

-

ческих

и

сетевых

моделях

Рассматривая

данные

с

концептуальной

а

не

физической

точки

зрения

Кодд

предложил

еще

одну

революционную

идею

В

реляционных

системах

баз

данных

целые

файлы

данных

мо

-

гут

обрабатываться

одной

командой

тогда

как

в

традиционных

системах

за

один

раз

обрабатывается

только

одна

запись

Под

-

ход

Кодда

чрезвычайно

повысил

эффективность

программиро

-

вания

в

базах

данных

Логический

подход

к

данным

сделал

также

возможным

соз

-

дание

языков

запросов

более

доступных

для

пользователей

не

являющихся

специалистами

по

компьютерам

Хотя

создать

язык

которым

могли

бы

пользоваться

все

независимо

от

опыта

работы

с

компьютером

довольно

сложно

однако

реляционные

языки

запросов

сделали

базы

данных

доступными

для

более

широкого

круга

пользователей

чем

раньше

Публикация

работ

Кодда

в

начале

семидесятых

вызвала

взрыв

активности

как

среди

ученых

так

и

среди

разработчиков

коммерческих

систем

по

созданию

реляционной

системы

управ

-

ления

базами

данных

Результатом

этой

деятельности

явилось


background image

23

создание

во

второй

половине

семидесятых

реляционных

сис

-

тем

которые

поддерживали

такие

языки

как

 Structured Query 

Language (SQL, 

язык

структурированных

запросов

), Query 

Language (Quel, 

язык

запросов

и

 Query-by-Example (QBE, 

за

-

просы

по

образцу

). 

С

широким

распространением

персональных

компьютеров

в

восьмидесятые

годы

также

появились

реляцион

-

ные

базы

данных

для

микрокомпьютеров

В

 1986 

году

 SQL 

был

принят

в

качестве

стандарта

 ANSI 

языков

реляционных

баз

дан

-

ных

Этот

стандарт

обновлялся

в

 1989 

и

в

 1992 

годах

Все

эти

новшества

сильно

расширили

возможности

систем

управления

базами

данных

и

повысили

доступность

информации

в

корпоративных

базах

данных

Реляционный

подход

оказался

весьма

плодотворным

Более

того

продолжающиеся

исследова

-

ния

обещают

значительный

прогресс

с

точки

зрения

понимания

интересов

пользователей

систем

управления

базами

данных

Сегодня

реляционные

базы

данных

рассматриваются

как

стандарт

для

современных

коммерческих

систем

работы

с

дан

-

ными

Разумеется

файловые

системы

иерархические

и

сетевые

базы

данных

все

еще

многочисленны

и

во

многих

случаях

именно

их

применение

является

наиболее

выгодным

Тем

не

менее

сре

-

ди

компаний

прослеживается

очевидная

тенденция

при

первой

  

же

возможности

переходить

на

реляционные

системы

Неверным

однако

было

бы

полагать

что

современные

ре

-

ляционные

   

системы

управления

базами

данных

являются

по

-

следним

словом

в

развитии

СУБД

Реляционные

базы

данных

продолжают

совершенствоваться

и

их

внутренняя

природа

зна

-

чительно

меняется

предоставляя

пользователям

возможность

решать

все

более

сложные

задачи

По

нашему

мнению

наибо

-

лее

существенные

из

таких

перемен

происходят

в

области

объ

-

ектно

-

ориентированных

баз

данных

Еще

одно

чрезвычайно

важное

новшество

переход

организаций

к

работе

с

базами

данных

на

технологию

клиент

/

сервер

Этот

принцип

мы

рас

-

смотрим

в

следующем

разделе

На

     

рис

. 1.12   

представлена

     

временная

     

шкала

,   

описы

-

вающая

историческое

развитие

способов

доступа

к

данным

о

котором

мы

говорили

В

таблице

 1.1 

приведены

сравнительные

характеристики

различных

способов

доступа

к

данным

 
 
 
 


background image

24

Таблица

 1.1. 

Сравнительная

характеристика

способов

обращения

к

данным

Способ

доступа

к

данным

Характеристика

Файлы

последовательного

доступа

Записи

должны

обрабатываться

в

последовательном

порядке

Файлы

произвольного

досту

-

па

Поддерживают

прямой

доступ

к

кон

-

кретной

записи

Сложно

обращаться

к

нескольким

записям

связанным

с

одной

Иерархическая

база

данных

Поддерживает

доступ

к

нескольким

записям

связанным

с

одной

Отно

-

шения

между

данными

ограничива

-

ются

иерархическими

Зависит

от

предопределенных

физи

-

ческих

указателей

Сетевая

база

данных

Поддерживает

иерархические

и

не

-

иерархические

отношения

между

данными

Зависит

от

предопределенных

физи

-

ческих

указателей

Реляционная

база

данных

Поддерживает

все

логические

отно

-

шения

между

данными

Логический

доступ

к

данным

не

за

-

висящий

от

физической

реализации

Появление

в

 1981 

году

 IBM PC 

сделало

настольный

компью

-

тер

обычным

явлением

в

офисе

Программы

обработки

текстов

работы

с

таблицами

и

многие

другие

сами

по

себе

оправдывали

использование

таких

машин

Кроме

того

было

вполне

естест

-

венно

связывать

компьютеры

в

сеть

чтобы

пользователи

могли

общаться

по

электронной

почте

и

работать

с

общими

ресурса

-

ми

такими

как

принтеры

и

диски

Вначале

серверы

были

созда

-

ны

для

управления

печатью

и

доступом

к

файлам

Это

были

серверы

печати

и

файловые

серверы

Например

в

ответ

на

за

-

прос

клиента

на

доступ

к

конкретному

файлу

файловый

сервер

пересылал

этот

файл

через

сеть

на

клиентский

компьютер

 (

рис

1.13). 

Сегодня

же

большинство

серверов

составляют

серверы

баз

данных

 — 

программы

которые

запускаются

на

серверной

машине

и

обслуживают

доступ

клиентов

к

базе

данных

  (

рис

1.14). 

Например

клиент

запускает

прикладную

программу

и

ему

требуется

запросить

базу

данных

Для

этого

он

обращается

к


background image

25

серверу

за

нужными

ему

данными

сервер

выполняет

запрос

и

возвращает

результат

клиенту

Прикладная

программа

может

также

посылать

данные

на

сервер

с

требованием

обновить

базу

данных

Сервер

вносит

необходимые

изменения

Файлы

произволь

-

ного

доступа

Публи

-

кация

реляци

-

онной

модели

Кодда

Иера

-

рхи

-

ческие

сис

-

темы

упра

-

вле

-

ния

БД

Файлы

последова

-

тельного

доступа

Сете

-

вые

систе

-

мы

управ

-

ления

БД

Реляционные

базы

данных

Объектно

-

ориентированные

модели

Техно

-

логия

клиент

сервер

Объектно

-

ориентирован

-

ные

базы

данных

1960 1970 

1980 

1990 

2000 

Рис

. 1.12. 

Развитие

систем

управления

базами

данных

Система

клиент

/

сервер

локальная

сеть

состоящая

из

клиентских

компьютеров

которые

обслуживает

ком

-

пьютер

-

сервер

Сервер

базы

данных

программа

которая

запуска

-

ется

на

машине

-

сервере

и

обслуживает

доступ

клиентов

к

базе

данных

В

основе

продуктивности

системы

клиент

/

сервер

лежит

прин

-

цип

разделения

труда

Клиент

это

та

машина

с

которой

рабо

-

тает

пользователь

Она

управляется

графическим

пользова

-

тельским

интерфейсом

и

производит

вычисления

и

другую

ра

-