Добавлен: 28.11.2018

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

Скачиваний: 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. 

Развитие

 

систем

 

управления

 

базами

 

данных

 

 

Система

 

клиент

/

сервер

 

 

локальная

 

сеть

состоящая

 

из

 

клиентских

 

компьютеров

которые

 

обслуживает

 

ком

-

пьютер

-

сервер

Сервер

 

базы

 

данных

 

программа

которая

 

запуска

-

ется

 

на

 

машине

-

сервере

 

и

 

обслуживает

 

доступ

 

клиентов

 

к

 

базе

 

данных

В

 

основе

 

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

 

системы

 

клиент

/

сервер

 

лежит

 

прин

-

цип

 

разделения

 

труда

Клиент

 

 

это

 

та

 

машина

с

 

которой

 

рабо

-

тает

 

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

Она

 

управляется

 

графическим

 

пользова

-

тельским

 

интерфейсом

 

и

 

производит

 

вычисления

 

и

 

другую

 

ра

-