Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ



3.1. Функции и состав универсальной СУБД

Система управления базами данных (СУБД) представляет собой программный комплекс, предназначенный для выполнения операций по обработке данных с целью обеспечения пользователей информацией.

СУБД обеспечивает операции:

ввод структур данных;

ввод данных;

модификация и удаление данных;

формирование запросов и просмотр ответов по запросам;

генерирование отчетов, т.е. представление данных в требуемых выходных формах и печать.

На Рис. 0.1 отражены функции и состав универсальной СУБД. На первом уровне (в первом пунктирном квадрате) представлены описания, макеты, заявки, сообщения (диалог). На втором уровне (во втором пунктирном квадрате) представлены укрупненные программные средства для поддержки задач первого уровня. При этом взаимосвязь элементов первого и второго уровней указана посредством цифровых адресных меток с разделительными точками, которые размещены возле соответствующих стрелок. В адресной метке первая цифра указывает номер адресуемого уровня, а вторая – номер блока на этом уровне. На третьем уровне (в третьем пунктирном квадрате) приведены основные хранилища (базы) для различных видов данных.

Рассмотрим более подробно общую организацию и функции, выполняемые программами СУБД. Они представлены на втором уровне (см. рис.3.1) в блоках 2.1 - 2.9 (далее номера блоков будут использованы для нумерации соответствующих программ. Например, Пр.2.1 - это программа в блоке 2.1).

Для использования данных их необходимо предварительно ввести в БД. С этой целью сначала надо описать вводимые данные, а затем документы, с которых они вводятся. В СУБД эти функции выполняют программы Пр.2.1 и Пр.2.2.

Пр.2.1 «Ввод описаний информационных объектов» в описаниях информационных объектов отражает:

свойства типов данных;


 


 

 

Описание

входных

форм

 

Запросы на

вывод

данных

 

Макеты

выходных

форм

 

Описания

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

объектов

 

 

2.2

 

2.4, 2.6

 

2.5

 

2.1

 

 

 

Ввод, редактирование,

удаление данных

 

Запросы на преобразование информационных

объектов

 

Запросы на

организа-цию

внешних

массивов

 

Ведение

диалога

 

2.3, 2.7

 

2.8

 

2.4

 

2.9

 

 

1.Описания, макеты, запросы, сообщения

 

                                       

 

 

2.1

 

2.2

  2.3  

2.4

 

2.5

 

2.6

 

2.7

 

2.8

 

2.9

 

Ввод описа-ний объек-тов

 

Ввод описа-ний

вход.

форм

  Ввод дан-ных  

Реа-

лиза-

 ция

 зап-

 росов

 

Ввод

маке-

 тов

вых.

 форм

 

Вывод

дан-ных

 

Сло-

вар-

ная

сис-

тема

 

Модифика-

ция

объек

тов

 

Ве-

дение

диало-

га

 

    3.1

 

    3.2   3.1- 3.3, 3.6

 

3.1, 3.3-3.7

 

    3.5

 

3.1, 3.3- 3.6

 

  3.3 3.4

 

3.1, 3.3, 3.7

 

3.3,

3.4,

3.5

 
 

2.Программы

                                                       

 

  3.1   3.2

 

3.3

 

3.4

 

3.5

 

3.6

 

3.7

 

 
   Опи-сания объе-ктов  

Опи-

сания

форм

 

Данные

 

Запросы

 

Макеты

выход-х

форм

 

 Словарная

база

 

Внешние

массивы

данных

 

 

3.Базы

 
                                                     

Рис. 0.1

 

отношения между типами данных, которые присущи описываемому объекту.

Для описания информационных объектов, т.е. для их моделей, предназначается соответствующий язык описания информационных документов. На основании описаний информационных объектов реализуется загрузка данных в БД 3.3 и их извлечение из БД.

Пр. 2.1 выполняет две функции:

проверка каждого вводимого описания на соблюдение формальных правил языка информационных объектов, и при наличии ошибок сообщение о них;

загрузка описания в базу 3.1 «Описание информационных объектов».

Пр.2.2 Ввод описаний входных документов при рассмотрении данных в каких-либо документах может устанавливать две привязки:

к какому типу данных оно принадлежит;

с какими другими данными оно связано.

В памяти ЭВМ данные находятся в виде последовательностей, содержащих между каждым данным разделитель. Для того чтобы на основании последовательности установить для каждого ее данного две вышеописанные привязки, в СУБД и вводится специальное средство «Описание входного документа». Отметим, что в конкретных БД возможные типы данных и типы отношений введены в Пр.2.1.

Описание входного документа составляется в терминах языка описания документов. Кроме рассмотренных двух привязок, в описание могут вводиться условия для проверки правильности ввода совокупностей данных.

Пр.2.2 загружает описание входных документов в базу 3.2 «Описания входных документов».

После реализации Пр.2.1 и Пр.2.2 и загрузки баз 3.1 и 3.2 можно вводить данные в БД. Эту функцию реализует Пр.2.3 «Ввод данных». Данные вводятся с учетом объявленных в описаниях входного документа порядка данных и их разделителей. Для ввода необходимо:

инициировать программу «Ввод данных», указав:

а) имя описания информационного объекта;

б) имя описания входного документа;

 вводить массив данных.

Пр. 2.3 реализует:

проверку каждого вводимого данного на соответствие объекту;

проверку соответствия совокупностей данных условиям правильности, заявленным в описании входного документа;

размещение вводимых данных в БД;

редактирование данных (дополнение, исправление);

уничтожение данных.

Пр. 2.3 может оперировать с данными, которые вводятся с внешних носителей информации или уже находятся в памяти ЭВМ.

Пр.2.4 «Реализация запросов». При обращениях с запросами можно выделить три вида заявок:

немедленная печать данных или высвечивание в стандартном формате;

то же в желаемом формате;

организация массива данных желаемой структуры в памяти ЭВМ.

Первый вид заявок - экспресс-форма работы с БД, так как она наиболее быстрая, но данные выводятся в упрощенном стандартном формате.

При втором и третьем видах заявок пользователь первоначально должен подготовить макеты форм для размещения данных. Отметим, что в третьем случае массивы данных желаемой структуры размещаются в базе 3.7 и уже не будут принадлежать БД, хотя с помощью Пр.2.3 они могут быть вновь загружены в БД или переданы какому-либо алгоритму пользователя для обработки.

Для формулировки запросов предусмотрен язык запросов, который регламентирует их форму. Запрос, введенный в ЭВМ, обрабатывается Пр.2.4 и превращается в серию операций доступа к БД. Пр.2.4 ведет специальную базу запросов, представленную на Рис. 0.1 блоком 3.4 и обеспечивающую запоминание данных для часто повторяющихся запросов. Запросы могут запоминаться в статической и динамической формах. Во втором случае можно настраивать параметры запросов при извлечении их из базы запросов.

Данные, выдаваемые из БД по запросам пользователей, должны быть размещены в некоторой заданной форме (или документе). С этой целью предварительно должен быть определен макет выходного документа. Часто используемые макеты можно сохранять и накапливать в базе 3.5 «Макеты выходных документов» (см. Рис. 0.1 ). Функцию ввода макетов выполняет Пр.2.5. «Ввод макетов выходных документов».

Макет описывается в терминах языка описания документов и программой «Ввод макетов выходных документов» загружается в базу 3.5. В заявке на формирование выходного сообщения, адресуемой Пр. 2.6 «Вывод данных», необходимо указывать:

имя макета выходного документа;

печатающее устройство или дисплей;

запрос или имя запроса, если он лежит в базе запросов 3.4;

для случая вывода внешнего массива данных (база 3.7) необходимо указать имя массива.

Вывод данных по запросам в конкретной форме на принтер или видеотерминал обеспечивает программа Пр.2.6 «Вывод данных».

Для сокращения объема БД и ускорения поисковых операций в БнД реализуется сжатие БД. Это является главной функцией Пр.2.7 «Словарная система». Для каждого данного того типа, для которого есть указание о сжатии, словарная система формирует шифр и помещает его вместе с данными в словарную систему. В саму БД помещаются лишь шифры. На момент печати, высвечивания на дисплее или подготовки внешнего массива шифры автоматически заменяются на сами данные.

В процессе взаимодействия пользователей с БнД возникает задача преобразования информационных объектов. Это операция, при которой изменяется состав типов данных и изменяются отношения между типами данных, выполняется Пр.2.8 «Преобразование информационных объектов». Заявки на преобразование объекта представляются на языке преобразования информационных объектов и реализуются программными средствами преобразования информационных объектов.

Для общения с БнД на естественном объектно-ориентированном языке, т.е. языке терминов предметной области баз и банков данных, предназначена Пр.2.9 «Ведение диалога». Получая ответы от СУБД в виде фраз и уточняющих вопросов или новых меню, пользователь вводит требуемую информацию и данные либо указывает действия простым выбором из меню с помощью стрелок управления курсором. Это делает общение с системой простым и оперативным. Обучение обычного пользователя работе с системой реализуется на уровне описательного ознакомления без привлечения средств программирования.

3.2. Лингвистическое обеспечение СУБД

Лингвистическим обеспечением (ЛО) СУБД называются языковые средства для общения пользователей различного уровня с БнД. С помощью ЛО описываются различные компоненты БнД, внешние устройства, взаимодействующие с БнД, а также реализуются обращения к информационным ресурсам и отдельным системным устройствам БнД.

ЛО для различных задач общения включает различные языковые средства:

язык описания схем БД (ЯОС БД);

язык описания внешних моделей пользователей (или подсхем) БД (ЯОПС БД);

язык описания схемы хранения БД (ЯОСХ БД) (или описания физического размещения данных на внешних носителях);

язык манипулирования данными (ЯМД);

языки программирования.

Язык описания схем БД (ЯОС БД) предназначен для описания состава и логической организации БД. Он может быть реализован в виде:

a) расширения языка прикладного программирования;

б) самостоятельного языка;

в) набора операторов вызова в самой СУБД.

Эффективность этого языка в том, что при изменениях программного и технического обеспечения БнД можно не перерабатывать схему БД.

Язык описания внешних моделей пользователей (или подсхем) БД (ЯОПС БД) предназначен для описания данных пользователя и их связей. Он может быть реализован способами, указанными для ЯОС.

Язык описания схемы хранения БД (ЯОСХ БД) (или описания физического размещения данных на внешних носителях) должен определять:

а) буферизацию;

б) перемещение страниц памяти;

в) адресацию;

г) поиск;

д) индексирование;

е) цепочки связей полей.

Язык манипулирования данными (ЯМД) - это набор команд, обеспечивающий:

а) передачу команд или запросов от прикладных программ (ПП) пользователей в СУБД;

б) интерпретацию сообщений СУБД о результатах обработки запросов ПП в СУБД.

ЯМД может быть реализован способами, указанными для ЯОС.

Языки программирования. Обеспечивают создание новых прикладных программ (ПП) пользователей. Это могут быть:

языки СУБД;

алгоритмические языки: Pa, C, VBA и т.п.

В БнД в зависимости от способа реализации ЛО возможны 3 вида СУБД:

с включающим языком;

с базовым языком;

комбинированные.

В качестве включающего языка для СУБД выбирается один из стандартных алгоритмических языков: Pa, С, VBA и т.п. Написанная на включающем языке ПП может инициировать команды ЯМД одним из двух способов:

а) вызовом соответствующих специальных подпрограмм СУБД. В этом случае необходимое редактирование ПП выполняется стандартным образом средствами ОС ЭВМ;

б) использованием специальных операторов - команд ЯМД, включенных в состав операторов используемого алгоритмического языка. В этом случае используемый алгоритмический язык называется расширенным включающим языком.

Для СУБД с базовым языком разрабатывается собственный алгоритмический язык, позволяющий выполнять операции:

· манипулирования данными;

· арифметической обработки данных;

· ввода-вывода и др.

Комбинированные СУБД объединяют возможности СУБД с включающим и базовым языками.

3.3. Независимость прикладных программ от данных

В основе обеспечения независимости ПП от данных лежит то, что пользователь должен получать информационное содержание данных, не вникая в детали их представления и расположения в памяти системы. Независимость прикладных программ (или программ пользователей) (ПП) от данных в соответствии с трехуровневым представлением информационных объектов обеспечивается средствами СУБД.

В условиях существенных изменений в БД специальные средства СУБД при написании ПП призваны обеспечить:

· возможность исключить отслеживание:

· логики методов доступа,

· способов хранения данных,

· форматов их представления.

Это позволяет избежать необходимости коррекции исходных текстов ПП и их перекомпиляции:

· при развитии системы,

· при реализациях АБД мероприятий по увеличению эффективности обслуживания пользователей за счет изменения методов хранения данных в БД, путей доступа к данным, структуры и форматов данных, связей между ними.

В результате прикладные программисты освобождаются от необходимости постоянного обновления ПП для поддержания их в рабочем состоянии, что обеспечивает:

· сокращение вероятности ошибок,

· экономию ресурсов системы,

· исключение затрат времени и средств на дополнительные работы по программированию,

· повышение мобильности информационных систем.

Существующие СУБД обеспечивают различную степень независимости ПП от данных, хранимых в БД. Поэтому АБД при выполнении работ по изменению БД должен контролировать свои действия, ориентируясь на тот уровень независимости, который обеспечивается используемой СУБД.

3.4. Операции над данными

Главная задача БнД – это формирование информации из БД по запросам пользователей.

Запросом к БД называется обращение к БД с посредством языка запросов, являющегося подмножеством ЯМД выбранной СУБД, с целью получения в требуемой форме конкретной совокупности данных о состоянии предметной области на определенный момент времени.

Для решения этой задачи БнД наделяется определенными динамическими свойствами. Динамические свойства моделей данных определяются множеством операций, т.е. допустимых действий над некоторой реализацией БД с целью перевода ее из одного состояния в другое. Операции реализуются на основе языка манипулирования данными (ЯМД СУБД).

В БнД предусмотрены следующие виды операций, поддерживаемые средствами СУБД:

идентификация данных и определение его позиции в БД;

выборка (чтение) данных из БД;

включение (запись) данных в БД;

удаление данных из БД;

модификация данных в БД.

С помощью команд ЯМД реализуется навигация в БД, т.е. передвижение от одного данного к другому по соответствующим связям между ними, реализованным в БД. Эти связи определяются датологической моделью БД.

Реализация любой операции над данными включает два этапа:

селекция данных;

обработка данных, т.е. действие над данными, определяемое характером задания.


Селекция данных

Для селекции, т.е. выбора данных из БД возможно использование различных критериев:

по логической позиции данных;

по значениям данных;

по взаимосвязям данных.

Первый способ базируется на упорядочении данных в памяти системы. Это позволяет селектировать данное, находящееся на первой, следующей, предыдущей, n-й или последней позиции. Этот тип селекции называется еще селекцией посредством “текущей”. В качестве текущих используются специальные дополнительные объекты - “индикаторы текущего состояния”. СУБД при выполнении каждой ПП автоматически контролирует индикаторы текущего состояния. Количество и состав индикаторов определяется подсхемой, используемой ПП. Таким образом, функция индикатора - указание некоторого экземпляра записи в БД.

При селекции по значениям данных критерий селекции может формироваться на основе условий отбора или на основе операторов алгебры логики.

Если в МД имеются взаимосвязи данных, то возможна реализация селекции данных по этим связям. Например, в БД “Отдел” с записями:

 

(3.1)                                   Отдел(№Отдела, Корпус, НачальникОтдела)                      

(3.2)            Служащий(№Таб, ФИО, ГодРождения, Образование)   

(3.3) РаботаетВ(№Таб, №Отдела)                                   

 

между сущностями Отдел и Служащий реализована связь РаботаетВ. Тогда допускается селекция с использованием этой связи. В результате можно, например, селектировать места расположения тех отделов, в которых работают служащие, возраст которых не более 27 лет. При этом, естественно, используются имеющиеся в структурах записей соответствующие атрибуты.

Обработка данных

Обработка данных осуществляется на основе процедур БД. Процедурой БД называется последовательность операций, позволяющая реализовать определенный алгоритм обработки данных для получения искомого результата.

Процедура является единой, т.е. неделимой, макрооперацией. Возможность применения процедур существенно расширяет динамические свойства моделей данных.

Пример.

В БД (3.1)-(3.3) определить количество служащих в возрасте не более 27 лет.

Для решения этой задачи необходимо сначала выбрать требуемый контингент, а затем выполнить операцию сравнения.

 

Во многих процедурах алгоритмы обработки данных зависят от значений данных и управляются этими значениями.

Запросы к БД

Запросы бывают двух видов:

простые;

комбинированные (или сложные).

Простые запросы определяются формулой:

 

(3.4) А(Е) qi V,

 

где А - атрибут; Е - объект предметной области; V - значение атрибута, qi – оператор отношения между А и V. Оператор отношения qi может принимать значения из множества:

Q = {=, < >, < =, > =, <, > }.

 

В соответствии с формулой (3.4) возможны шесть типов простых запросов. Рассмотрим их на примере для БД из предметной области “Поставки комплектующих изделий ( КИ )”. Формулировки запросов приведены на

Рис. 0.2. БД “Поставки комплектующих изделий (КИ)” содержит объемы поставок на автопредпрятие по каждому КИ за каждый месяц года, т.е. ее атрибутами являются месячные поставки различных КИ.


 

Тип Формулировка запроса Пример
1 A(E)=? Каково значение атрибута А объекта Е? Каков объем поставок карбюраторов за май?
2 A(? )qi V Какой объект (или объекты) имеет значение атрибута А в отношении qi к значению V? Поставки каких КИ за март превысили 1000 штук?
3 ? (E) qi V Какой атрибут (или атрибуты) объекта Е имеет значение в отношении qi к значению V? За какие месяцы поставки поршней превысили 850 штук?
4 ? (E)=? Каковы значения всех атрибутов объекта E? Сообщить все атрибуты и их значения по поставкам радиаторов.
5 A(? )=? Каковы значения атрибута А всех объектов. Сообщить объемы поставок всех КИ за июль.
6 ? (? ) qi V Перечислить все атрибуты всех объектов, имеющих значение в отношении qi к значению V? Сообщить месяцы поставки и виды КИ, объемы поставок которых были более 800 штук.

 

Рис. 0.2

 

Комбинированные или сложные запросы - это запросы, в которых используется несколько различных условий, сформированных из совокупностей простых запросов, соединенных логическими операторами из множества LO:

(3.5) LO = {OR (или); AND (и); NOT (нет)}.

 

Пример.

ZS = (Z1) LO1 (Z2) LO2 (Z3) LO3 …,

 

где ZS – сложный запрос; Z1, Z2, Z3, … - простые запросы, определяемые формулой (3.4), LO1, LO2, LO3… - логические операторы из множества (3.5)

При реализации сложных запросов порядок выполнения операторов можно изменять круглыми скобками.

В заключение отметим, что сложные запросы могут формулироваться и по нескольким объектам.

3.5. Схема реализации запроса в БнД

В БнД посредством СУБД несколько пользователей могут одновременно обращаться с запросами к БД в соответствии со своими ПП. Допустим, некоторая ПП1 (

Рис. 0.3) посредством ЯМД делает, например, запрос (1) к СУБД на чтение записи. При этом одновременно сообщается имя программиста, затребовавшего эту запись, а также значение ключа записи.

Для реализации этого запроса СУБД вызывает в свое распоряжение (2) подсхему ПП1 из БД подсхем (БД ПС) и ищет в ней описания данных, на которые выдан запрос. Затем СУБД вызывает (3) из БД схем (БД С) в свое распоряжение схему БД и определяет по ней типы необходимых логических данных. После этого СУБД просматривает (6) описание физического размещения - схему хранения данных (БД СХ), определяет, какую физическую запись считать. В результате СУБД дополняет запрос от ПП1 соответствующей информацией из БД ПС, БД С и БД СХ.

Далее СУБД выдает ОС ПК команду чтения (5) требуемой записи. ОС обеспечивает (6) чтение записи из физической памяти ПК (БД) и передачу (7) искомых данных (8) в системный буфер (СБ) блока данных пользователей (БлДП). СБ используется одновременно несколькими ПП, обслуживаемыми СУБД, причем размер СБ определяет АБД. После этого СУБД сравнивает (9) подсхему ПП1 и схему БД, выделяя ту логическую запись, которая запрошена ПП1. При необходимости реализуется преобразование данных.

Затем инициируется (9) пересылка данных (10) из СБ в рабочую область ПП1 (РОПП1). Здесь СУБД формирует (11) данные результата выполнения запроса ПП1 (ДРВЗПП1). При этом полученные из БД данные обрабатываются средствами включающего или базового языка и используются (12) ПП1. Под управлением (13) СУБД информация о результатах выполнения запроса (ИРВЗ) вместе с сообщениями об ошибках через ячейку связи (ЯС) передается (14) в ПП1.

Данные, наряду с извлечением из БД, могут также и помещаться в нее. Этот процесс аналогичен рассмотренному, но информационные потоки (8) и (10) будут иметь обратные направления.

При необходимости реализовать операцию модификации записи СУБД считывает и модифицирует ее в рабочей области РО, а затем модифицированные данные записывает обратно в БД.

 

                                     
14
13
12
1
 
2
11
9
10
 
5
6
7
8

 


Рис. 0.3

 

3.6. Способы обработки данных

В информационных системах используется три варианта обработки данных:

Централизованная

распределенная

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

Рассмотрим их особенности.


Поделиться:



Последнее изменение этой страницы: 2019-06-08; Просмотров: 184; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.104 с.)
Главная | Случайная страница | Обратная связь