КНИГА
11.04.01

Предыдущая часть

Краткое практическое руководство разработчика информационных систем на базе СУБД Oracle

© 2000 А.И. Власов
С.Л. Лыткин
кафедра "Конструирование и технология производства электронной аппаратуры" МГТУ им.Н.Э.Баумана
В.Л. Яковлев
кафедра "Автоматизированные информационные системы" МГТУ им.Н.Э.Баумана

Эта книга была размещена на сайте www.citforum.ru

2.3.2 Компоненты системы управления реляционной базой данных (RDBMS).

2.3.2.1 Ядро системы управления реляционной базой данных (RDBMS).

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

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

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

На рис.31. показаны основные подсистемы ядра Oracle, управляющего базой данных.

Рис.31. Структура ядра СУБД Oracle.

Итак, база данных - собрание данных, между которыми существуют (смысловые) связи. Физическое расположение и реализация базы данных прозрачны для прикладных программ; физическую базу данных можно перемещать и реорганизовывать и это не окажет влияния на работоспособность программ.

Физически база данных Oracle - не более чем набор файлов где-то на диске. Расположение этих файлов несущественно для функционирования (хотя важно для производительности) базы данных.

Логически база данных - это множество пользовательских разделов Oracle, каждый из которых идентифицируется именем пользователя (с паролем), уникальным в данной БД. На рис.29. показана архитектура Oracle.

Существуют три основные группы файлов на диске, составляющие базу данных.

  1. Файлы базы данных
  2. Управляющие файлы
  3. Журнальные файлы

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

После инсталляции СУБД (об этапах установки подробно написано в [ ]) администратор имеет возможность войти в СУБД используя учетные записи SYS или SYSTEM, с парролем: master или manager, для создание учетных записей других пользовтаелей, при этом пароли учетных записей SYS и SYSTEM необходимо сразу же изменить.

Для работы с файлами базы данных на машине должны существовать системные процессы Oracle и один (или больше) пользовательский процесс.

Системные процессы Oracle (их называют фоновыми) обеспечивают функционирование пользовательских процессов - выполняют функции, которые иначе пришлось бы выполнять пользовательским процессам непосредственно.

Дополнительно к фоновым процессам Oracle в простейшем случае на одно подключение к базе данных должен существовать один пользовательский процесс. Пользователь должен подключиться к базе данных прежде чем он сможет обратиться к какому-либо объекту. Если один пользователь регистрируется в Oracle, используя SQL*Plus, другой пользователь выбирает Oracle Forms, а еще один пользователь открывает электронную таблицу Excel, значит имеется три пользовательских процесса для работы с этой базой данных - по одному для каждого подключения.

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

  1. разделяемая память, которая используется всеми процессами, работающими с базой данных,
  2. локальная память для каждого пользовательского процесса.

Системная память.

Системная память. Oracle для всей базы данных называется SGA (system global агеа - системная глобальная область или shared global агеа - разделяемая глобальная область). Данные и управляющие структуры в SGA являются разделяемыми, и все фоновые процессы Oracle и пользовательские процессы могут к ним обращаться.

Память пользовательского процесса. Для каждого подключения к базе данных Oracle выделяет PGA (process global агеа - глобальную область процесса или program global агеа - глобальную область программы) в памяти машины и, кроме того, - PGA для фоновых процессов. Эта область памяти содержит данные и управляющую информацию одного процесса и между процессами не разделяется.

2.3.2.2 Типы обрабатываемых данных

Типы данных обрабатываемых СУБД Oracle представлены в таблице.

Таблица 2. Типы обрабатываемых данных.

Тип данных Описание
СНАR(size) Символьная строка фиксированной длины, имеющая максимальную длину size символов. Длина по умолчанию 1, максимальная -255.
СНАRАСТЕR(size) То же, что и CHAR.
DATE Правильные даты в интервале от 1 января 4712 года до н.э. до 31 декабря 4712 года.
LONG Символьные данные переменной длины до 2 Гигабайт.
LONG RAW Двоичные данные переменной длины вплоть до 2 Гигабайт или 231-1.
MLSLABEL Используется в Trusted ORACLE.
NUMBER(p,s) Число, имеющее p значащих цифр и масштаб s. р может быть от 1 до 38. s может принимать значения от -84 до 127.
RAW(size) Двоичные данные длиной size байт. Максимальное значение для size - 2000 байт. Параметр те для RAW обязателен.
RAW MLSLABEL Используется в Trusted ORACLE.
ROWID Значения псевдостолбца ROWID.
VARCHAR2(size) Символьная строка переменной длины, имеющая максимальную длину size символов. Длина по умолчанию 1, максимальная - 2000.
VARCHAR(size) То же что и VARCHAR2.

Извлекать данные можно также и из псевдостолбцов (табл.3), которые похожи на столбцы таблиц, но их значения нельзя изменять при помощи операторов DML.

Таблица 3. Псевдостолбцы.

Название столбца Возвращаемое значение
sequence.CURRVAL Текущее значение sequence в данном сеансе (sequence.NEXTVAL должен быть выбран).
sequence.NEXTVAL Следующее значение sequence в текущем сеансе.
[table.]LEVEL 1 - для корня дерева, 2 - для узлов второго уровня и так далее. Используется в операторе SELECT в иерархических запросах.
[table.]ROWID Значение, которое идентифицируют строку в таблице table уникальным образом. Значения псевдостолбца ROWID имеют тип данных ROWID, а не NUMBER и не CHAR.
ROWNUM Порядковый номер строки среди других строк, выбираемых запросом. ORACLE выбирает строки в произвольном порядке и приписывает значения ROWNUM, прежде чем строки будут отсортированы предложением ORDER BY.

Требования к именам объектов базы данных

Имена, которые всегда заключены в двойные кавычки, могут нарушать, приведенные ниже правила. В противном случае, имена

Различие между прописными и строчными буквами учитывается только в именах, заключенных о двойные кавычки.

Операции и их приоритеты

Арифметические операции

Символьные операции

Логические операции

Операции сравнения

+ - (один операнд)

| |

NOT

=

* /

 

AND

!= ^= ~= <>

+ - (два операнда)

 

OR

> >= < <=

     

IN

     

NOT IN

     

ANY, SOME

     

ALL

Продолжение статьи

Дополнительную информацию Вы можете получить в компании Interface Ltd.

Обсудить на форуме Oracle
Отправить ссылку на страницу по e-mail


Interface Ltd.

Ваши замечания и предложения отправляйте автору
По техническим вопросам обращайтесь к вебмастеру
Документ опубликован: 11.04.01