Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по СУХТП.doc
Скачиваний:
65
Добавлен:
15.04.2019
Размер:
4.22 Mб
Скачать

3.3 Работа с субд

3.3.1 Принципы работы баз данных

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

Пример таблицы БД приведен на рисунке 3.10.

Н омер замера

Скважина

Дата

Время

Дебит

1001

958

02.07.2003

19:50:20

102

Рисунок 3.10

Функции БД:

- добавление новой информации;

- добавление новых таблиц;

- изменение информации в существующих таблицах;

- поиск информации;

- удаление информации;

- удаление таблиц.

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

СУБД выполняет функции:

- управление данными непосредственно в БД, находящейся на сервере;

- управление данными, находящимися в памяти компьютера – функция, связанная с тем, что СУБД работают с БД большого размера; в целях ускорения работы СУБД используется буферизация данных в памяти каждого компьютера;

- управление транзакциями – функция, которая производит ряд операций над БД как над единым целым. Транзакция – манипуляция над данными (добавление, изменение, удаление, запрос). Если транзакция успешно выполняется, то СУБД вносит соответствующие изменения в БД, в противном случае БД не изменяется;

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

- поддержка языков БД – для работы с БД используются специальные языки, наиболее распространенным из которых является SQL.

Рисунок 3.11

Для работы с БД, как правило, используется архитектура «клиент - сервер» [41]. Основу СУБД составляет сервер БД – программа, осуществляющая комплекс действий по управлению данными. В качестве клиента БД может выступать другая программа, работающая на том же компьютере, что и сервер, либо на другом, связанном с компьютером-сервером посредством сети. Таким образом, данная архитектура включает, как минимум, три компонента:

- сервер БД, который, собственно, и является СУБД;

- клиенты БД – программы или компьютеры с соответствующими программами, выполняющие запросы к серверу;

- сеть или коммуникационное программное обеспечение (рисунок 3.11).

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

На практике наибольшее распространение получили т.н. реляционные БД, представляющие собой набор таблиц, связанных отношениями. При этом в каждой таблице имеется одно или несколько полей, называемых первичными ключами и однозначно определяющих конкретную запись в таблице. Зная значение первичного ключа, всегда можно определить конкретную запись в таблице и, следовательно, значения остальных полей записи. Например, первичными ключами могут служить номер технологического объекта (уникальный), табельный номер оператора, номер паспорта работника и т.д. Фамилия работника, тип установки и т.д. первичными ключами являться не могут, т.к., например, на предприятии могут работать несколько работников с одинаковыми фамилиями или функционировать несколько однотипных установок. Т.е. первичный ключ должен быть уникальным и, по возможности, целочисленным. Первичный ключ может состоять из нескольких полей (составной первичный ключ).

Связи между таблицами осуществляются посредством первичных ключей. На рисунке 3.12 приведен пример БД, состоящей из трех таблиц («Технологические объекты», «Датчики» и «Измерения»). Обозначены поля: N_об – номер технологического объекта, N_дтч – номер датчика.

Связи (отношения между таблицами) могут быть идентифицирующие и неидентифицирующие. Если запись в таблице-потомке однозначно определяется своей связью с таблицей-родителем, то отношение между этими таблицами является идентифицирующим. В этом случае первичный ключ таблицы-родителя становится первичным ключом (или частью первичного ключа) таблицы-потомка. Например, отношение «производят» на рисунке 14 является идентифицирующим для таблицы-родителя «Датчики» и таблицы-потомка «Измерения», поэтому первичный ключ таблицы-родителя (поле «N_дтч») становится частью составного ключа таблицы-потомка. Отношение «содержат» является неидентифицирующим, поэтому первичный ключ таблицы-родителя «Технологические объекты» (поле «N_об») становится обычным полем таблицы-потомка «Датчики».