Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Основные типы данных Oracle

Основные объекты Oracle

 

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

Пользователь (USER) – объект, обладающий возможностью создавать и использовать другие объекты Oracle. С пользователем Oracle связана схема (SCHEMA), которая является логическим набором объектов базы данных таких, как таблицы, последовательности, хранимые программы, принадлежащих этому пользователю. Схема имеет только одного пользователя-владельца, ответственного за создание и удаление этих объектов. При создании пользователем первого объекта неявно создается соответствующая схема, которая автоматически получает тоже имя, что и имя пользователя. При создании им других объектов они по умолчанию становятся частью этой схемы.

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

Таблица (TABLE) является базовой структурой СУБД Oracle. Полное имя таблицы в базе данных состоит из имени схемы и собственно имени таблицы, разделенных символом точка, например, USER1.PROJECT или USER2.DEPARTMENT.

Таблицы состоят из множества поименованных столбцов, в Oracle их называют колонками (columns). Множество допустимых значений колонки называют доменом значений или просто доменом. Таблицы могут быть связаны между собой отношениями ссылочной целостности. Ссылочная целостность данных (referential integrity) – соответствие ключевых значений (первичных и внешних ключей) в связанных таблицах.

Таблица может быть пустой (т.е. не содержать ни одной строки) или состоять из одной или более строк.

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

 

 

Рис. 17. Формат идентификатора ROWID

 

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

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

Рассмотрим другие виды объектов, которые поддерживаются СУБД Oracle.

Синоним (SYNONYM) – это альтернативное имя или псевдоним объекта Oracle, который позволяет пользователям базы данных иметь доступ к данному объекту.

Например, для таблицы PROJECT можно создать синоним с именем PR. Тогда при выполнении команды выборки данных из объекта PR будет автоматически происходить выборка данных из таблицы PROJECT.

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

Для повышения эффективности доступа к данным СУБД Oracle поддерживает объекты, называемые индексами.

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

Для эффективного управления разграничением доступа к данным в СУБД Oracle поддерживаются объекты типа роль.

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

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

Процедура (PROCEDURE) – это именованный набор конструкций языка PL/SQL, предназначенный для решения конкретной задачи.

Функция (FUNCTION) – это именованный набор конструкций языка PL/SQL, предназначенный для решения конкретной задачи и возвращающий значение.

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

Триггер (TRIGGER) – это процедура, которая автоматически выполняется тогда, когда происходит связанное с триггером событие. Обычно события связаны с выполнением операторов вставки, модификации и удаления данных, хранящихся в таблицах.

 

Основные типы данных Oracle

 

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

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

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...