Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Oracle - MS Server / OracleМП / Lab1 / отчёт.docx
Скачиваний:
40
Добавлен:
17.04.2018
Размер:
2.21 Mб
Скачать

Лабораторная работа №1

Контрольные вопросы

  1. Какие основные объекты входят в базу данных Oracle?

Таблицы (Tables) составляют базу данных. Каждая таблица организована в столбцы и строки.

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

Индексы (Indexes). Индекс создается по столбцу или набору столбцов для ускорения поиска данных.

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

Синонимы (Synonyms) являются альтернативными именами для объектов в базе данных.

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

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

Процедуры (Procedures) ничем не отличаются от функций, за исключением того, что функции всегда возвращают значение, а процедуры — нет.

Пакеты (Packages). Пакетом, или модулем, называется коллекция процедур, функций, переменных и операторов SQL, которые сгруппированы вместе и хранятся в виде единого программного модуля.

Триггеры (Triggers). Триггер — это код (программа), который хранится в базе данных и вызывается (активизируется) событиями, происходящими при выполнении приложения.

  1. Какие логические структуры хранения данных используются в базе данных Oracle?

На логическом уровне Oracle поддерживает табличные пространства (tablespaces), схемы (schemas), блоки данных (data blocks) и экстенты/сегменты (extents/segments).

  1. Что означают понятия "пользователь" и "схема" в базе данных Oracle?

Пользователь (user) — это именованная учетная запись, определенная в базе данных, с помощью которой выполняется подключение и доступ к объектам. Схема — это именованная коллекция таких объектов, как таблицы, представления, кластеры и процедуры, связанных с определенным пользователем. Механизм схем и пользователей применяется администраторами баз данных (АБД) для управления защитой баз данных, в частности, для управления доступом к данным.

  1. Как взаимосвязаны объекты базы данных, файлы данных, табличные пространства, сегменты, экстенты и блоки данных?

Блок данных (data block) — самый маленький модуль памяти, который СУБД Oracle может использовать или распределять. Один блок данных соответствует конкретному числу байтов физического дискового пространства. Размер блока данных может устанавливаться для каждой базы данных СУБД Oracle при ее создании. Этот размер блока данных должен быть кратным размеру блока операционной системы (и не может быть больше действующего системного ограничения) во избежание излишних операций ввода и вывода. Экстент — это определенное количество смежных блоков данных, отведенных для хранения информации конкретного типа. Сегмент — это набор экстентов, отведенных для определенной логической структуры. Например, данные каждой таблицы хранятся в ее собственном сегменте данных, в то время как данные каждого индекса хранятся в его собственном индексном сегменте.

  1. Что содержится в словаре данных Oracle?

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

  1. Каким способом можно получить информацию из словаря данных?

Поиск таблиц

SELECT Table_Name, Comments

FROM DICT

WHERE Table_Name LIKE ‘%TABLES%’;

  1. На чем основан механизм защиты, предотвращающий несанк­цио­ни­рованный доступ к данным, в Oracle?

Этот механизм основан на использовании имен пользователей (username), а также предоставляемых пользователям привилегий и ролей.

  1. Что означают понятия "привилегия" и "роль" в базе данных Oracle?

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

Объектные привилегии

Привилегия

Table

View

Sequence

Procedure

ALTER - право изменять описание объекта

+

+

DELETE - право удалять строки из таблицы

+

+

EXECUTE - право выполнять процедуру

+

INDEX - право создавать индекс

+

INSERT - право вставлять в таблицу новые строки

+

+

REFERENCES - право ссылаться на столбцы указанной таблицы в описаниях требований поддержки целостности данных

+

SELECT - право выбирать данные из таблицы или последовательности

+

+

+

UPDATE - право изменять данные в таблице

+

+

Роль группирует несколько привилегий и других ролей, позволяя назначать или отменять всю группу одновременно. Для создания роли используется оператор CREATE ROLE языка SQL. Кроме того, в СУБД Oracle предусмотрен ряд предопределенных ролей (например, CONNECT и RESOURCE). Назначение ролей пользователю и отзыв ролей у пользователя осуществляется посредством упомянутых ранее операторов GRANT и REVOKE соответственно.

В словаре данных имеется ряд представлений, содержащих сведения о привилегиях и ролях, например:

USER_SYS_PRIVS - системные привилегии, предоставленные текущему пользователю;

USER_TAB_PRIVS - объектные привилегии, предоставленные текущему пользователю;

USER_TAB_PRIVS_MADE - все объектные привилегии, предоставленные текущему пользователю для объектов, которыми он владеет;

USER_ROLE_PRIVS - роли, назначенные текущему пользователю.

Соседние файлы в папке Lab1