ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 16.12.2020
Просмотров: 1070
Скачиваний: 1
222
также
в
системы
управления
технологическими
процессами
.
После
появления
микропроцессоров
роль
таких
систем
стала
неуклонно
повышаться
,
так
как
микропроцессорные
системы
про
-
никли
буквально
во
все
сферы
человеческой
деятельности
—
от
бытовой
электроники
до
космических
кораблей
.
Требования
к
вре
-
мени
отклика
в
некоторых
программно
-
аппаратных
комплексах
,
например
,
устройствах
пакетной
коммутации
в
компьютерных
се
-
тях
,
о
которых
мы
будем
говорить
в
следующей
главе
,
чрезвычайно
велики
,
допустимая
задержка
может
измеряться
микросекундами
.
Кроме
того
промышленные
ОС
реального
времени
должны
иметь
очень
высокую
надежность
,
способность
самовосстанавливаться
после
сбоев
и
т
.
д
.
Современные
ОС
этого
класса
как
правило
представля
-
ют
собой
некоторые
версии
Unix,
доработанные
в
соответствии
со
спецификой
реального
времени
;
для
повышения
надежности
ядро
системы
вместе
с
критическими
приложениями
часто
размещается
в
ПЗУ
.
Программирование
задач
для
систем
реального
времени
имеет
ряд
особенностей
,
для
этого
используются
специфические
языки
и
системамы
программирования
,
например
,
Ада
.
3.4.
Системы
управления
базами
данных
(
СУБД
)
Предпосылки
появления
БД
и
СУБД
Понятия
база
данных
—
БД
(database — DB)
и
СУБД
(Database Management System — DBMS)
появились
в
компьютерном
мире
в
середине
60-
х
годов
,
когда
ЭВМ
начали
активно
использовать
-
ся
в
управлении
и
программисты
стали
переходить
от
решения
от
-
дельных
задач
к
комплексной
автоматизации
управления
,
увязывая
все
задачи
в
единое
целое
общей
целью
.
Раньше
приходилось
вводить
и
выводить
одни
и
те
же
данные
по
многу
раз
.
Например
,
при
управлении
предприятием
персональ
-
ные
сведения
используются
в
задачах
кадрового
учета
,
начисления
зарплаты
,
оперативного
планирования
и
т
.
д
.
Естественно
ввести
223
эти
данные
один
раз
,
создав
базу
данных
,
и
предоставив
всем
при
-
кладным
программам
право
черпать
необходимые
сведения
из
этой
базы
.
Преимущества
нового
подхода
:
•
однократный
ввод
данных
,
что
приводит
к
резкому
сокращению
затрат
труда
;
•
незавмсимость
программ
от
данных
,
что
дает
возможность
независимо
менять
те
и
другие
.
Допустим
,
в
базе
персональных
данных
появилось
поле
«
гражданство
»
и
исчезла
графа
«
национальность
».
Раньше
пришлось
бы
переписывать
все
прикладные
программы
под
новую
структуру
данных
,
при
наличии
СУБД
этого
делать
не
нужно
,
изменятся
только
программы
,
непосредственно
работающие
с
этими
полями
;
•
сокращение
затрат
на
программирование
.
Поскольку
многие
операции
с
данными
являются
стандартными
(
ввод
,
контроль
,
поиск
,
защита
и
т
.
д
.),
то
вместо
того
,
чтобы
программировать
их
каждый
раз
,
всю
работу
с
данными
выносят
в
одну
большую
и
сложную
программу
—
СУБД
.
Программа
1
СУБД
База
данных
Наборы
данных
Программа
N
Программа
1
Программа
N
. . .
. . .
Взамодействие
программ
с
данными
при
независимой
работе
и
при
использовании
СУБД
224
Функции
СУБД
Хорошая
СУБД
должна
обеспечить
выпол
-
нение
ряда
базовых
функций
.
Описание
логической
структуры
базы
данных
.
Для
описа
-
ния
данных
в
любой
СУБД
имеется
специальный
язык
описания
данных
—
ЯОД
(Data Description Language — DDL).
При
этом
опи
-
сание
данных
возможно
с
двух
точек
зрения
:
с
точки
зрения
:
•
с
точки
зрения
администратора
базы
данных
,
владеющего
всей
информацией
о
всех
данных
,
хранящихся
в
системе
.
Это
опи
-
сание
называется
схемой
БД
;
•
с
точки
зрения
некоторой
конкретной
задачи
,
решаемой
над
СУБД
,
и
нуждающейся
только
в
части
данных
.
Такое
описание
на
-
зывается
подсхемой
.
Манипулирование
данными
,
то
есть
выполнение
всех
опера
-
ций
с
данными
—
ввод
,
проверка
правильности
,
выборка
,
состав
-
ление
отчетов
.
Для
описания
операций
с
данными
в
СУБД
имеется
язык
манипулирования
данными
—
ЯМД
(Data Manipulating Language
— DML).
Этот
язык
может
быть
реализован
в
двух
вариантах
:
•
в
виде
расширения
базового
языка
программирования
(
Ко
-
бола
,
Паскаля
,
Си
)
набором
библиотечных
функций
;
•
в
виде
самостоятельного
ЯМД
,
который
в
этом
случае
назы
-
вается
языком
запросов
.
Обеспечение
целостности
БД
(database integrity).
Целостность
(
непротиворечивость
)
данных
—
это
способность
данных
правиль
-
но
отражать
объект
.
Нарушения
целостности
могут
быть
из
-
за
оши
-
бок
человека
(
например
,
где
-
то
сменили
название
объекта
,
а
где
-
то
забыли
)
или
из
-
за
машинных
сбоев
.
Обеспечение
целостности
дан
-
ных
дается
дорогой
ценой
.
В
частости
,
для
защиты
от
машинных
сбоев
в
хороших
СУБД
ведутся
журналы
учета
всех
обращений
,
по
которым
можно
восстановить
данные
при
авариях
.
Обеспечение
многопользовательского
доступа
(multiuser
access).
Иногда
с
одной
БД
одновременно
работают
сотни
и
тысячи
пользователей
,
например
,
в
системах
резервирования
билетов
,
круп
-
ных
банках
.
СУБД
должна
навести
порядок
в
многочисленных
об
-
ращениях
,
обеспечить
в
тяжелых
этих
условиях
сохранение
целост
-
225
ности
БД
.
Защита
данных
от
несанкционированного
доступа
.
Могут
за
-
щищаться
отдельные
поля
,
записи
,
блоки
данных
,
для
чего
исполь
-
зуются
разнообразные
ключи
,
пароли
,
шифры
и
т
.
п
.
Основные
типы
и
история
развития
СУБД
Из
сказанного
ясно
,
что
СУБД
представля
-
ет
собой
чрезвычайно
сложную
программ
-
ную
систему
,
сравнимою
по
сложности
с
ОС
или
даже
превышающую
ее
.
Разработ
-
ка
новой
крупной
СУБД
—
событие
,
а
новой
концепции
—
эпо
-
хальное
событие
,
пр
иэтом
СУБД
относятся
к
долгоживущим
про
-
дуктам
,
время
их
жизни
около
15
лет
.
Несмотря
на
кажущиеся
разнообразие
,
основных
типов
(
архи
-
тектурных
концепций
)
всего
три
:
иерархическая
,
сетевая
и
реляци
-
онная
.
Иерархические
СУБД
появились
раньше
других
,
они
основа
-
ны
на
простейшей
структуре
данных
в
виде
дерева
,
в
котором
каж
-
дый
дочерний
элемент
данных
имеет
только
одного
родителя
.
Пер
-
вая
крупная
иерархическая
СУБД
под
названием
IMS — Information
Management System
была
создана
фирмой
IBM
для
системы
IBM
360
в
1968
году
в
рамках
проекта
полета
человека
на
Луну
«
Апол
-
лон
»,
за
долгие
годы
эксплуатации
она
с
лихвой
окупила
вложен
-
ные
в
ее
разработку
гро
-
мадные
деньги
.
Сетевые
СУБД
,
в
отличие
от
иерархичес
-
ких
,
сначала
были
скон
-
струированы
на
бумаге
.
Рабочая
группа
по
язы
-
кам
обработки
данных
CODASYL (
та
самая
,
ко
-
торая
в
1960
году
пред
-
ложила
Кобол
)
с
1965
года
работала
над
теоре
-
Университет
Факультет
информатики
Физический
факультет
Группа
1401
Группа
1402
Иванов
Петров
Сидоров
Пример
иерархической
структуры
данных
226
тическим
проектом
СУБД
,
основанном
на
более
гибкой
сетевой
мо
-
дели
данных
,
в
которой
дочерний
элемент
может
иметь
более
одно
-
го
родительского
.
Предложения
CODASYL
были
опубликованы
в
1971
году
,
затем
появились
промышленные
реализации
,
например
,
Integrated Database Management System —IDMS
фирмы
Cullinet
Software, Inc.
или
Adabas
фирмы
Software AG.
Р е л я ц и о н н ы е
СУБД
опираются
на
еще
более
прочный
теорети
-
ческий
фундамент
.
В
их
основе
ее
лежит
постое
и
интуитивно
понятное
представление
сложной
схемы
данных
в
виде
со
-
вокупности
плоских
таб
-
лиц
,
каждая
из
которых
отображает
отношение
(relation)
между
объекта
-
ми
.
Реляционная
модель
данных
была
предложена
в
1970
году
сотрудником
IBM
Эдгаром
Коддом
(Codd, Edgar F.;
р
. 1923),
в
настоящее
время
она
считается
классической
.
Для
описания
реляционного
под
-
хода
используется
простой
и
в
то
же
время
мощ
-
ный
математический
аппарат
,
опирающийся
на
теорию
множеств
и
математическую
логику
.
В
частности
,
строго
доказано
,
что
любую
опера
-
цию
над
данными
можно
разложить
на
после
-
довательность
простейших
манипуляций
над
таблицами
(
выборка
строк
,
выборка
столбцов
,
слияние
таблиц
,
агрегирование
строк
).
Для
опи
-
сания
этих
манипуляций
Дональд
Чемберлен
(Chamberlin, Donald)
и
Рэй
Бойс
(Boyce, Ray)
в
1974
году
предложили
язык
запросов
SEQUEL,
Эдгар
Кодд
Пример
сетевой
структуры
данных
Университет
Факультет
информатики
Клуб
туристов
Группа
1401
Иванов
Петров
Сидоров
Студент
Член
клуба
Староста