Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информационные системы базы данных.DOC
Скачиваний:
101
Добавлен:
02.05.2014
Размер:
839.68 Кб
Скачать

Запросы к бд

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

простые;

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

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

    1. А(Е) qi V,

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

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

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

Тип

Формулировка запроса

Пример

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.18

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

    1. 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 () посредством ЯМД делает, например, запрос (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) будут иметь обратные направления.

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

ПП1

ППn

БД ПС

БД С

БД СХ

РОПП1

ДРВЗПП1

СБ

БлДП

ЯС

ИРВЗ

ОС ПК

БД

14

1

2

3

4

5

6

7

8

9

10

11

12

13

Рис. 0.19

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

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

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

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

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

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

Централизованная обработка данных

Централизованная обработка реализует операции по манипулированию данными на базе одного центра, называемого файл-сервером. Централизация обработки данных устраняет ряд проблем информационных систем, к которым относятся:

избыточность данных;

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

несвязность данных.

При централизации комплексно стандартизируется представление данных, эффективно решается паролирование доступа и т.п.

Важными факторами централизации являются:

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

пользователям во всех подразделениях необходимы одни и те же данные, причем они часто обновляются;

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

большой объем данных общего назначения;

защита данных.