ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.12.2020

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

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

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

222

также

  

в

 

системы

 

управления

 

технологическими

 

процессами

.

После

 

появления

 

микропроцессоров

 

роль

 

таких

 

систем

 

стала

неуклонно

 

повышаться

так

 

как

 

микропроцессорные

 

системы

 

про

-

никли

 

буквально

 

во

 

все

 

сферы

 

человеческой

 

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

 — 

от

бытовой

 

электроники

 

до

 

космических

 

кораблей

Требования

 

к

 

вре

-

мени

 

отклика

 

в

 

некоторых

 

программно

-

аппаратных

 

комплексах

,

например

устройствах

 

пакетной

 

коммутации

 

в

 

компьютерных

 

се

-

тях

о

 

которых

  

мы

 

будем

 

говорить

 

в

 

следующей

 

главе

чрезвычайно

велики

допустимая

 

задержка

 

может

 

измеряться

 

микросекундами

.

Кроме

 

того

 

промышленные

 

ОС

 

реального

 

времени

 

должны

 

иметь

очень

 

высокую

 

надежность

способность

 

самовосстанавливаться

 

после

сбоев

 

и

 

т

д

Современные

 

ОС

 

этого

 

класса

 

как

 

правило

 

представля

-

ют

 

собой

 

некоторые

 

версии

 Unix, 

доработанные

 

в

 

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

 

со

спецификой

 

реального

 

времени

для

 

повышения

 

надежности

 

ядро

системы

 

вместе

 

с

 

критическими

 

приложениями

 

часто

 

размещается

в

 

ПЗУ

.

Программирование

 

задач

 

для

 

систем

 

реального

 

времени

 

имеет

ряд

 

особенностей

для

 

этого

 

используются

 

специфические

 

языки

 

и

системамы

 

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

например

Ада

.

3.4. 

Системы

 

управления

базами

 

данных

  (

СУБД

)

Предпосылки
появления
БД

 

и

 

СУБД

Понятия

 

база

 

данных

  —

БД

 (database — DB)

 

и

СУБД

 (Database Management System — DBMS)

появились

 

в

 

компьютерном

 

мире

 

в

 

середине

 60-

х

 

годов

когда

 

ЭВМ

 

начали

 

активно

 

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

-

ся

 

в

 

управлении

 

и

 

программисты

 

стали

 

переходить

 

от

 

решения

 

от

-

дельных

 

задач

 

к

 

комплексной

 

автоматизации

 

управления

увязывая

все

 

задачи

 

в

 

единое

 

целое

 

общей

 

целью

.

Раньше

 

приходилось

 

вводить

 

и

 

выводить

 

одни

 

и

 

те

 

же

 

данные

по

 

многу

 

раз

Например

при

 

управлении

 

предприятием

 

персональ

-

ные

 

сведения

 

используются

 

в

 

задачах

 

кадрового

 

учета

начисления

зарплаты

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

 

планирования

 

и

 

т

д

Естественно

 

ввести


background image

223

эти

 

данные

 

один

 

раз

создав

 

базу

 

данных

и

 

предоставив

 

всем

 

при

-

кладным

 

программам

 

право

 

черпать

 

необходимые

 

сведения

 

из

 

этой

базы

.

Преимущества

 

нового

 

подхода

:

однократный

 

ввод

 

данных

что

 

приводит

 

к

 

резкому

 

сокращению

затрат

 

труда

;

незавмсимость

 

программ

 

от

 

данных

что

 

дает

 

возможность

независимо

 

менять

 

те

 

и

 

другие

Допустим

в

 

базе

 

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

данных

 

появилось

 

поле

  «

гражданство

» 

и

 

исчезла

 

графа

«

национальность

». 

Раньше

 

пришлось

 

бы

 

переписывать

 

все

прикладные

 

программы

 

под

 

новую

 

структуру

 

данных

при

наличии

 

СУБД

 

этого

 

делать

 

не

 

нужно

изменятся

 

только

программы

непосредственно

 

работающие

 

с

 

этими

 

полями

;

сокращение

 

затрат

 

на

 

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

Поскольку

 

многие

операции

 

с

 

данными

 

являются

 

стандартными

 (

ввод

контроль

,

поиск

защита

 

и

 

т

д

.), 

то

 

вместо

 

того

чтобы

 

программировать

их

 

каждый

 

раз

всю

 

работу

 

с

 

данными

 

выносят

 

в

 

одну

 

большую

и

 

сложную

 

программу

 — 

СУБД

.

Программа

1

СУБД

База

 

данных

Наборы

 

данных

Программа

N

Программа

1

Программа

N

. . .

. . .

Взамодействие

 

программ

 

с

 

данными

 

при

 

независимой

работе

 

и

 

при

 

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

 

СУБД


background image

224

Функции

 

СУБД

Хорошая

 

СУБД

 

должна

 

обеспечить

 

выпол

-

нение

  

ряда

 

базовых

 

функций

.

Описание

 

логической

 

структуры

 

базы

 

данных

Для

 

описа

-

ния

 

данных

 

в

 

любой

 

СУБД

 

имеется

 

специальный

 

язык

 

описания

данных

 — 

ЯОД

 (Data Description Language — DDL). 

При

 

этом

 

опи

-

сание

 

данных

 

возможно

 

с

 

двух

 

точек

 

зрения

с

 

точки

 

зрения

:

с

 

точки

 

зрения

 

администратора

 

базы

 

данных

владеющего

всей

 

информацией

 

о

 

всех

 

данных

хранящихся

 

в

 

системе

Это

 

опи

-

сание

 

называется

 

схемой

 

БД

;

с

 

точки

 

зрения

 

некоторой

 

конкретной

 

задачи

решаемой

 

над

СУБД

и

 

нуждающейся

 

только

 

в

 

части

 

данных

Такое

 

описание

 

на

-

зывается

 

подсхемой

.

Манипулирование

 

данными

то

 

есть

 

выполнение

 

всех

 

опера

-

ций

 

с

 

данными

 — 

ввод

проверка

 

правильности

выборка

состав

-

ление

 

отчетов

Для

  

описания

 

операций

 

с

 

данными

 

в

 

СУБД

 

имеется

язык

 

манипулирования

 

данными

 — 

ЯМД

 (Data Manipulating Language

— DML). 

Этот

 

язык

 

может

 

быть

 

реализован

 

в

 

двух

 

вариантах

:

в

 

виде

 

расширения

 

базового

 

языка

 

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

 (

Ко

-

бола

Паскаля

Си

набором

 

библиотечных

 

функций

;

в

 

виде

 

самостоятельного

 

ЯМД

который

 

в

 

этом

 

случае

 

назы

-

вается

 

языком

 

запросов

.

Обеспечение

 

целостности

 

БД

 (database integrity). 

Целостность

(

непротиворечивость

данных

 — 

это

 

способность

 

данных

 

правиль

-

но

 

отражать

 

объект

Нарушения

 

целостности

 

могут

 

быть

 

из

-

за

 

оши

-

бок

 

человека

 (

например

где

-

то

 

сменили

 

название

 

объекта

а

 

где

-

то

забыли

или

 

из

-

за

 

машинных

 

сбоев

Обеспечение

 

целостности

 

дан

-

ных

 

дается

 

дорогой

 

ценой

В

 

частости

для

 

защиты

 

от

 

машинных

сбоев

 

в

 

хороших

 

СУБД

 

ведутся

 

журналы

 

учета

 

всех

 

обращений

по

которым

 

можно

 

восстановить

 

данные

 

при

 

авариях

.

Обеспечение

 

многопользовательского

 

доступа

 (multiuser

access). 

Иногда

 

с

 

одной

 

БД

 

одновременно

 

работают

 

сотни

 

и

 

тысячи

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

например

в

 

системах

 

резервирования

 

билетов

круп

-

ных

 

банках

СУБД

 

должна

 

навести

 

порядок

 

в

 

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

 

об

-

ращениях

обеспечить

 

в

 

тяжелых

 

этих

 

условиях

 

сохранение

 

целост

-


background image

225

ности

 

БД

.

Защита

 

данных

 

от

 

несанкционированного

 

доступа

Могут

 

за

-

щищаться

 

отдельные

 

поля

записи

блоки

 

данных

для

 

чего

 

исполь

-

зуются

 

разнообразные

 

ключи

пароли

шифры

 

и

 

т

п

.

Основные

 

типы

и

 

история

развития

 

СУБД

Из

 

сказанного

 

ясно

что

 

СУБД

 

представля

-

ет

 

собой

 

чрезвычайно

 

сложную

  

программ

-

ную

 

систему

сравнимою

 

по

  

сложности

 

с

ОС

 

или

 

даже

 

превышающую

 

ее

Разработ

-

ка

 

новой

 

крупной

 

СУБД

  —

событие

а

 

новой

 

концепции

 — 

эпо

-

хальное

 

событие

пр

 

иэтом

 

СУБД

 

относятся

 

к

 

долгоживущим

 

про

-

дуктам

время

 

их

 

жизни

 

около

 15 

лет

.

Несмотря

 

на

 

кажущиеся

 

разнообразие

основных

 

типов

 (

архи

-

тектурных

 

концепций

всего

 

три

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

сетевая

 

и

 

реляци

-

онная

.

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

 

СУБД

  

появились

 

раньше

 

других

они

 

основа

-

ны

 

на

 

простейшей

 

структуре

 

данных

 

в

 

виде

 

дерева

в

 

котором

 

каж

-

дый

 

дочерний

 

элемент

 

данных

 

имеет

 

только

 

одного

 

родителя

Пер

-

вая

 

крупная

 

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

 

СУБД

 

под

 

названием

 IMS — Information

Management System 

была

 

создана

 

фирмой

 IBM 

для

 

системы

 IBM

360 

в

 1968 

году

 

в

 

рамках

 

проекта

 

полета

 

человека

 

на

 

Луну

 «

Апол

-

лон

», 

за

 

долгие

 

годы

 

эксплуатации

 

она

 

с

 

лихвой

 

окупила

 

вложен

-

ные

 

в

 

ее

 

разработку

 

гро

-

мадные

 

деньги

.

Сетевые

 

СУБД

в

отличие

 

от

 

иерархичес

-

ких

сначала

 

были

 

скон

-

струированы

 

на

 

бумаге

.

Рабочая

 

группа

 

по

 

язы

-

кам

 

обработки

 

данных

CODASYL (

та

 

самая

ко

-

торая

 

в

 1960 

году

 

пред

-

ложила

 

Кобол

с

 1965

года

 

работала

 

над

 

теоре

-

Университет

Факультет

информатики

Физический

факультет

Группа

1401

Группа

1402

Иванов

Петров

Сидоров

Пример

 

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

структуры

 

данных


background image

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

Иванов

Петров

Сидоров

Студент

Член

клуба

Староста