Основные концепции СУБД Oracle
Play

Основные концепции СУБД Oracle

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

Сервер ORACLE обеспечивает эффективные и действенные решения для основных средств баз данных:

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

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

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

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

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

- ORACLE удовлетворяет промышленно принятым стандартам по языку доступа к данным, операционным системам, интерфейсам с пользователем и сетевым протоколам. Это "открытая" система, которая защищает инвестиции заказчика. Сервер ORACLE7 был сертифицирован Национальным институтом стандартов и технологий США как 100%-совместимый со стандартом ANSI/ISO SQL89. ORACLE7 полностью удовлетворяет требованиям правительственного стандарта США FIPS127-1 и имеет "маркировщик" для подчеркивания нестандартных применений SQL. Кроме того, ORACLE7 был оценен Правительственным национальным центром компьютерной безопасности (NCSC) как совместимый с критериями защиты Оранжевой книги; сервер ORACLE7 и Trusted ORACLE7 отвечают соответственно как уровням C2 и B1 Оранжевой книги, так и сравнимым с ними европейским критериям защиты ITSEC.

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

- ORACLE автоматически поддерживает целостность данных, соблюдая "организационные правила", которые диктуют стандарты приемлемости данных. Как следствие, устраняются затраты на кодирование и сопровождение проверок в многочисленных приложениях базы данных.

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

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

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

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

Физическая и логическая структура ORACLE

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

Физическая структура базы данных ORACLE определяется файлами операционной системы, из которых состоит база данных. Каждая база данных ORACLE составляется из файлов трех типов: одного или нескольких файлов данных, двух или более файлов журнала повторения работы и одного или нескольких управляющих файлов.

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

Логическая структура базы данных ORACLE определяется:

- одним или несколькими табличными пространствами;

- объектами схем базы данных (таблицами, обзорами, индексами, кластерами, последовательностями, хранимыми процедурами).

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

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

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

СУБД Oracle имеет собственный язык PL/SQL

PL/SQL - это принадлежащее фирме Oracle процедурное языковое расширение языка SQL. PL/SQL сочетает легкость и гибкость SQL с процедурными возможностями языка структурного программирования, такими как IF. THEN, WHILE и LOOP.

При написании приложения базы данных разработчик должен рассмотреть преимущества использования хранимых подпрограмм PL/SQL:

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

- Благодаря хранимому коду PL/SQL можно контролировать доступ к данным. При этом методе пользователи PL/SQL могут обращаться к данным лишь так, как это предусмотрено разработчиком приложения (если не предоставлен иной маршрут доступа). - Блоки PL/SQL могут пересылаться приложениями к базе данных, что позволяет выполнять комплексные операции без избыточной нагрузки на сеть.

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

Процедуры и функции представляют собой совокупности предложений SQL и PL/SQL, сгруппированных в единицу для решения специфической проблемы или выполнения множества взаимосвязанных задач. Процедура создается и сохраняется в базе данных в откомпилированной форме, и может выполняться (вызываться) любым пользователем или приложением. Процедуры и функции похожи друг на друга, с той разницей, что функция всегда возвращает вызывающей программе единственное значение, тогда как процедура не возвращает значения.

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

Триггеры базы данных ORACLE позволяет вам писать процедуры, которые выполняются автоматически в результате обновления, вставки или удаления из таблицы. Такие процедуры называются триггерами базы данных. Триггеры базы данных могут использоваться самыми разнообразными способами для информационного управления вашей базой данных. Например, их можно использовать для автоматизации генерации данных, аудита модификаций данных, введения в действие комплексных ограничений целостности или организации сложных процедур обеспечения защиты.

Многопользовательские системы баз данных, такие как ORACLE, включают средства защиты, которые контролируют обращения к базе данных и использование данных. Например, механизмы защиты выполняют следующее:

- предотвращают несанкционированный доступ к базе данных

- предотвращают несанкционированный доступ к объектам схем

- контролируют использование дисков

- контролируют использование системных ресурсов (таких как время процессора)

- осуществляют аудит действий пользователя

Защита базы данных может быть классифицирована по двум различным категориям: защита системы и защита данных. ЗАЩИТА СИСТЕМЫ включает механизмы, контролирующие доступ к базе данных и ее использование на уровне системы.

Например, защита системы включает:

- действительные комбинации имен пользователей и паролей;

- уполномочен ли пользователь присоединяться к базе данных ;

- объем дисковой памяти, доступный объектам пользователя ;

- лимиты ресурсов для пользователя ;

- активность или неактивность аудита базы данных ;

-какие системные операции разрешено выполнять пользователю .

Защита данных включает механизмы, контролирующие доступ к базе данных и ее использование на уровне объектов.

Например, защита данных включает:

- какие пользователи имеют доступ к конкретному объекту схемы и какие типы действий разрешены каждому пользователю на этом объекте (например, пользователь SCOTT может выдавать для таблицы EMP предложения SELECT и INSERT, но не предложения DELETE) ;

- какие действия подлежат аудиторскому отслеживанию для каждого объекта схемы.

ORACLE управляет защитой базы данных, используя несколько различных средств, среди которых:

📎📎📎📎📎📎📎📎📎📎