ВУЗ: Томский государственный университет систем управления и радиоэлектроники
Категория: Учебное пособие
Дисциплина: Базы данных
Добавлен: 28.11.2018
Просмотров: 5428
Скачиваний: 10
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
22
Для
каждого
клиента
перечислить
изготовителей
при
-
обретенных
им
товаров
.
Для
составления
такого
отчета
требуется
двигаться
от
файла
CUSTOMER
через
INVOICE
и
INVOICE LINE
к
PRODUCT
и
затем
к
MANUFACTURER.
Но
поскольку
между
файлами
INVOICE LINE
и
PRODUCT
нет
физической
связи
,
то
обычными
средствами
базы
данных
такой
путь
проделать
невозможно
.
Для
того
чтобы
все
-
таки
получить
такую
информацию
,
придется
пользоваться
древними
и
неуклюжими
способами
работы
с
файлами
.
Это
по
-
требует
искусного
длительного
программирования
.
Те
же
ин
-
формационные
системы
,
использующие
базы
данных
,
которые
поддерживают
извлечение
данных
на
основе
логических
связей
,
легко
ответят
на
такой
вопрос
.
В
своей
статье
Кодд
предложил
простую
модель
данных
,
со
-
гласно
которой
все
данные
сведены
в
таблицы
,
состоящие
из
строк
и
столбцов
.
Эти
таблицы
получили
название
реляций
,
а
модель
стала
называться
соответственно
реляционной
.
Кодд
также
предложил
пользоваться
для
работы
с
данными
в
табли
-
це
двумя
языкам
:
реляционной
алгеброй
и
реляционным
исчис
-
лением
(
о
них
мы
поговорим
и
в
главе
6).
Оба
эти
языка
обеспе
-
чивают
работу
с
данными
на
основе
логических
характеристик
,
а
не
физических
указателей
,
которыми
пользовались
в
иерархи
-
ческих
и
сетевых
моделях
.
Рассматривая
данные
с
концептуальной
,
а
не
физической
точки
зрения
,
Кодд
предложил
еще
одну
революционную
идею
.
В
реляционных
системах
баз
данных
целые
файлы
данных
мо
-
гут
обрабатываться
одной
командой
,
тогда
как
в
традиционных
системах
за
один
раз
обрабатывается
только
одна
запись
.
Под
-
ход
Кодда
чрезвычайно
повысил
эффективность
программиро
-
вания
в
базах
данных
.
Логический
подход
к
данным
сделал
также
возможным
соз
-
дание
языков
запросов
,
более
доступных
для
пользователей
,
не
являющихся
специалистами
по
компьютерам
.
Хотя
создать
язык
,
которым
могли
бы
пользоваться
все
,
независимо
от
опыта
работы
с
компьютером
,
довольно
сложно
,
однако
реляционные
языки
запросов
сделали
базы
данных
доступными
для
более
широкого
круга
пользователей
,
чем
раньше
.
Публикация
работ
Кодда
в
начале
семидесятых
вызвала
взрыв
активности
как
среди
ученых
,
так
и
среди
разработчиков
коммерческих
систем
по
созданию
реляционной
системы
управ
-
ления
базами
данных
.
Результатом
этой
деятельности
явилось
23
создание
во
второй
половине
семидесятых
реляционных
сис
-
тем
,
которые
поддерживали
такие
языки
,
как
Structured Query
Language (SQL,
язык
структурированных
запросов
), Query
Language (Quel,
язык
запросов
)
и
Query-by-Example (QBE,
за
-
просы
по
образцу
).
С
широким
распространением
персональных
компьютеров
в
восьмидесятые
годы
также
появились
реляцион
-
ные
базы
данных
для
микрокомпьютеров
.
В
1986
году
SQL
был
принят
в
качестве
стандарта
ANSI
языков
реляционных
баз
дан
-
ных
.
Этот
стандарт
обновлялся
в
1989
и
в
1992
годах
.
Все
эти
новшества
сильно
расширили
возможности
систем
управления
базами
данных
и
повысили
доступность
информации
в
корпоративных
базах
данных
.
Реляционный
подход
оказался
весьма
плодотворным
.
Более
того
,
продолжающиеся
исследова
-
ния
обещают
значительный
прогресс
с
точки
зрения
понимания
интересов
пользователей
систем
управления
базами
данных
.
Сегодня
реляционные
базы
данных
рассматриваются
как
стандарт
для
современных
коммерческих
систем
работы
с
дан
-
ными
.
Разумеется
,
файловые
системы
,
иерархические
и
сетевые
базы
данных
все
еще
многочисленны
и
во
многих
случаях
именно
их
применение
является
наиболее
выгодным
.
Тем
не
менее
,
сре
-
ди
компаний
прослеживается
очевидная
тенденция
при
первой
же
возможности
переходить
на
реляционные
системы
.
Неверным
,
однако
,
было
бы
полагать
,
что
современные
ре
-
ляционные
системы
управления
базами
данных
являются
по
-
следним
словом
в
развитии
СУБД
.
Реляционные
базы
данных
продолжают
совершенствоваться
,
и
их
внутренняя
природа
зна
-
чительно
меняется
,
предоставляя
пользователям
возможность
решать
все
более
сложные
задачи
.
По
нашему
мнению
,
наибо
-
лее
существенные
из
таких
перемен
происходят
в
области
объ
-
ектно
-
ориентированных
баз
данных
.
Еще
одно
чрезвычайно
важное
новшество
−
переход
организаций
к
работе
с
базами
данных
на
технологию
клиент
/
сервер
.
Этот
принцип
мы
рас
-
смотрим
в
следующем
разделе
.
На
рис
. 1.12
представлена
временная
шкала
,
описы
-
вающая
историческое
развитие
способов
доступа
к
данным
,
о
котором
мы
говорили
.
В
таблице
1.1
приведены
сравнительные
характеристики
различных
способов
доступа
к
данным
.
24
Таблица
1.1.
Сравнительная
характеристика
способов
обращения
к
данным
Способ
доступа
к
данным
Характеристика
Файлы
последовательного
доступа
Записи
должны
обрабатываться
в
последовательном
порядке
Файлы
произвольного
досту
-
па
Поддерживают
прямой
доступ
к
кон
-
кретной
записи
.
Сложно
обращаться
к
нескольким
записям
,
связанным
с
одной
Иерархическая
база
данных
Поддерживает
доступ
к
нескольким
записям
,
связанным
с
одной
.
Отно
-
шения
между
данными
ограничива
-
ются
иерархическими
.
Зависит
от
предопределенных
физи
-
ческих
указателей
Сетевая
база
данных
Поддерживает
иерархические
и
не
-
иерархические
отношения
между
данными
.
Зависит
от
предопределенных
физи
-
ческих
указателей
Реляционная
база
данных
Поддерживает
все
логические
отно
-
шения
между
данными
.
Логический
доступ
к
данным
,
не
за
-
висящий
от
физической
реализации
Появление
в
1981
году
IBM PC
сделало
настольный
компью
-
тер
обычным
явлением
в
офисе
.
Программы
обработки
текстов
,
работы
с
таблицами
и
многие
другие
сами
по
себе
оправдывали
использование
таких
машин
.
Кроме
того
,
было
вполне
естест
-
венно
связывать
компьютеры
в
сеть
,
чтобы
пользователи
могли
общаться
по
электронной
почте
и
работать
с
общими
ресурса
-
ми
,
такими
как
принтеры
и
диски
.
Вначале
серверы
были
созда
-
ны
для
управления
печатью
и
доступом
к
файлам
.
Это
были
серверы
печати
и
файловые
серверы
.
Например
,
в
ответ
на
за
-
прос
клиента
на
доступ
к
конкретному
файлу
,
файловый
сервер
пересылал
этот
файл
через
сеть
на
клиентский
компьютер
(
рис
.
1.13).
Сегодня
же
большинство
серверов
составляют
серверы
баз
данных
—
программы
,
которые
запускаются
на
серверной
машине
и
обслуживают
доступ
клиентов
к
базе
данных
(
рис
.
1.14).
Например
,
клиент
запускает
прикладную
программу
,
и
ему
требуется
запросить
базу
данных
.
Для
этого
он
обращается
к
25
серверу
за
нужными
ему
данными
,
сервер
выполняет
запрос
и
возвращает
результат
клиенту
.
Прикладная
программа
может
также
посылать
данные
на
сервер
с
требованием
обновить
базу
данных
.
Сервер
вносит
необходимые
изменения
.
Файлы
произволь
-
ного
доступа
Публи
-
кация
реляци
-
онной
модели
Кодда
Иера
-
рхи
-
ческие
сис
-
темы
упра
-
вле
-
ния
БД
Файлы
последова
-
тельного
доступа
Сете
-
вые
систе
-
мы
управ
-
ления
БД
Реляционные
базы
данных
Объектно
-
ориентированные
модели
Техно
-
логия
клиент
/
сервер
Объектно
-
ориентирован
-
ные
базы
данных
1960 1970
1980
1990
2000
Рис
. 1.12.
Развитие
систем
управления
базами
данных
Система
клиент
/
сервер
−
локальная
сеть
,
состоящая
из
клиентских
компьютеров
,
которые
обслуживает
ком
-
пьютер
-
сервер
.
Сервер
базы
данных
,
−
программа
,
которая
запуска
-
ется
на
машине
-
сервере
и
обслуживает
доступ
клиентов
к
базе
данных
.
В
основе
продуктивности
системы
клиент
/
сервер
лежит
прин
-
цип
разделения
труда
.
Клиент
−
это
та
машина
,
с
которой
рабо
-
тает
пользователь
.
Она
управляется
графическим
пользова
-
тельским
интерфейсом
и
производит
вычисления
и
другую
ра
-