Показать сообщение отдельно
  #17  
Старый 20.09.2009, 15:34
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Логические и физические структуры базы данных



Логические и физические структуры базы данных

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

Табличные пространства

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

Базы данных, табличные пространства и файлы данных

На слайде показаны взаимосвязи между базой данных, табличными пространствами и файлами данных. Каждая база данных логически делится на одно или несколько табличных пространств. Для каждого табличного пространства явно создается один или несколько файлов данных. В них хранятся данные всех логических структур, размещенных в табличном пространстве. Для временного (TEMPORARY) табличного пространства вместо файла данных создается файл временных данных (tempfile).

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

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

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

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

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

Последний раз редактировалось Marley; 20.09.2009 в 19:51.
Ответить с цитированием