Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы-ответы (БД экзамен).docx
Скачиваний:
297
Добавлен:
25.05.2018
Размер:
2.35 Mб
Скачать

26. Третья нормальная форма (3нф).

Отношение находится в 3 НФ форме тогда и только тогда, когда оно находится 2 НФ и не содержит транзитивных зависимостей.

Пример

27. Сурбд Oracle. Конфигурации Oracle. Архитектура Oracle (физический и логический уровень).

Основные понятия и условные сокращения.

Прежде, чем мы начнем изучение Oracle, необходимо, чтобы всем были ясны термины, которые будут встречаться в тексте. В каждом выпуске рассылки будет раздел "Основные понятия", чтобы читатели не тратили свое время на поиск определений незнакомых слов.

  • БД (DB) – База Данных. Совокупность данных, специально организованных для упрощения их извлечения. База данных - это действительные данные.

  • СУБД (DBMS) – Система Управления Базами Данных. Программное обеспечение Oracle - это СУБД.

  • СУРБД (RDBMS) – Система Управления Реляционными Базами Данных. Внутренний доступ к данным осуществляется реляционным способом. Oracle – это СУРБД.

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

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

  • Блок (Block) – самая маленькая единица хранения данных в СУБД Oracle. Содержит заголовочную информацию и сам блок (данные или PL/SQL-код). Размер блока конфигурируется от 2 до 16Kb.

  • Узкое место (Bottleneck) – компоненты, ограничивающие производительность или эффективность системы.

  • Словарь данных (Data Dictionary) – набор таблиц, используемых для поддержания информации о БД.

  • Контрольная точка (Checkpoint) – операция, приводящая к тому, что все измененные данные (блоки данных в памяти) записываются на диск. Это ключевой фактор в проблеме быстрого восстановления базы данных после сбоя.

  • Схема (Schema) – коллекция объектов БД.

  • SGA (System Global Area) – разделяемая область памяти, используемая для хранения данных и управляющей информации экземпляра Oracle. SGA размещается в памяти при запуске экземпляра Oracle, и освобождается при завершении работы. SGA составляют буферы данных, буфер журнала изменений и разделяемый пул (shared pool). Это одно из самых важных понятий, и мы рассмотрим его более подробно позднее.

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

В базе данных Oracle есть два уровня представления данных: физический и логический. Физический уровень включает файлы баз данных, которые хранятся на диске, а логический уровень включает в себя табличное пространство, схемы пользователей. Рассмотрим эти уровни более подробно.

Физический уровень базы данных.

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

Файлы базы данных.

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

  • Файлы данных. В этих файлах хранятся собственно сами данные в виде таблиц, индексов, триггеров и прочих объектов. Файлы данных являются наиболее важными во всей базе данных. В стандартной базе должно присутствовать минимум два файла данных: для системных данных (табличное пространство SYSTEM) и для пользовательских данных (табличное пространство USER). В табличном пространстве SYSTEM хранятся пароли всех пользователей в зашифрованном виде.

  • Файлы журнала повторного выполнения (redo logs). Файлы журнала повторного выполнения очень важны для базы данных Oracle. В них записываются все транзакции базы данных. Они используются только для восстановления данных в самой базе при сбое экземпляра. В журналах повторного выполнения можно обнаружить множество критичной информации, о существовании которой рядовой администратор мог и не задуматься, в том числе и пароли пользователей.

  • Управляющие файлы. В этих файлах определено местонахождение файлов данных и другая информация о состоянии базы данных. Управляющие файлы должны быть хорошо защищены. Наиболее важным является файл параметров инициализации экземпляра, потому что без него не удастся запустить экземпляр. Остальные файлы, такие как LISTENER.ORA, SQLNET.ORA, PROTOCOL.ORA, NAMES.ORA и пр., связаны с поддержкой сети и так же очень важны. В этих файлах можно обнаружить множество полезной информации для проникновения в СУБД.

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

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

Как видно, с точки зрения безопасности каждый приведенный выше тип файлов имеет большое значение.

Логический уровень базы данных.

На логическом уровне находятся табличные пространства и схема БД, состоящая из таблиц, индексов, представлений, хранимых процедур и пр.

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

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

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

Конфигурации Oracle.

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

  • OLTP (Online Transaction Processing) – оперативная обработка транзакций. Это самая распространенная конфигурация. OLTP-система состоит из пользователей, которые взаимодействуют с системой. Эти системы обычно используются для оперативного ввода первичной информации (заполнение контрактов, проверка номеров кредитных карт, асинхронные транзакции и др.).

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

  • DSS (Decision Support System) – системы поддержки принятия решений, используются в процессах принятия решений. Эти решения могут быть основаны на такой информации, как интенсивность продаж в определенных регионах, выборка покупателей определенного продукта, сортированный список электронных адресов и др. Характерные черты DSS: долго выполняющиеся запросы в противовес большим объемам данных. Пользователи DSS-систем вынуждены ждать ответа на запрос минуты, часы, а иногда и несколько дней. Данные обычно собираются из разных источников, а затем происходит их обработка. DSS-система сопряжена с интенсивным процессом чтения (процессы записи происходят гораздо реже).

  • Хранилище данных (Data Warehouse) – это крупномасштабная система, которая состоит как из OLTP, так и из DSS. Эти системы, как правило, работают с сотнями гигабайт данных и обслуживают огромное количество пользователей.

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

  • Информационная лавка (Data Mart) – это уменьшенная версия хранилища данных (ориентирована на решение узко специализированных задач), при этом сохраняет многие особенности Data Warehouse.

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

  • Видео-сервер: позволяет поддерживать большое количество видео потоков. Эти видео потоки могут использоваться по заказу, в качестве развлечения и как обучающие курсы.

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

  • Веб-сервер: предназначен для работы со статическими и динамическими веб-страницами. Эти страницы могут быть как очень простыми, так и комплексными, генерируемыми из базы данных. Веб-сервер Oracle, как правило, используется для коммерческих веб-приложений. Такие приложения позволяют покупателям просматривать каталоги, которые содержат изображения товаров и даже видео иллюстрации. Покупатель может приобрести понравившийся товар.

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

  • OLAP(Online Analytical Processing) – аналитическая обработка в реальном времени. Обычно используется вместе с многомерными данными. OLAP-пользователи – это финансовые аналитики или маркетинговый персонал, работающий с данными на глобальном уровне.

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