Смекни!
smekni.com

Управление информацией (стр. 2 из 4)

Схемы и объекты схем

СХЕМА - это коллекция объектов. ОБЪЕКТЫ СХЕМЫ - это логические структуры, непосредственно относящиеся к данным базы данных

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

Таблицы

ТАБЛИЦА - это основная единица хранения данных в базе данных ORACLE. Таблицы базы данных хранят все данные, доступные пользователям.

Данные таблицы хранятся в виде СТРОК и СТОЛБЦОВ. Каждая таблица определяется с ИМЕНЕМ ТАБЛИЦЫ и набором столбцов. Каждому столбцу дается ИМЯ СТОЛБЦА, ТИП ДАННЫХ (такой как CHAR, DATE или NUMBER), а также ШИРИНА (которая может быть предопределена типом данных, как в случае DATE) или МАСШТАБ и ТОЧНОСТЬ (только для типа данных NUMBER). После того, как таблица создана, в нее могут быть вставлены строки действительных данных. После этого строки таблицы можно опрашивать, удалять или обновлять.

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

Обзоры ОБЗОР - это настроенное по заказу представление данных из одной или нескольких таблиц. Обзор можно рассматривать как "хранимый запрос".

Обзоры в действительности не содержат данных; вместо этого они доставляют данные из тех таблиц, на которых они основаны (так называемых БАЗОВЫХ ТАБЛИЦ обзоров). Базовые таблицы, в свою очередь, могут быть как таблицами, так и обзорами.

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

Широкое применение обзоров обусловлено следующими их свойствами:

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

· Обзоры позволяют скрыть сложность данных. Например,единственный обзор может служить для построенияСОЕДИНЕНИЯ, которое является отображением взаимосвязанныхстолбцов или строк из нескольких таблиц. Однако такойобзор скрывает тот факт, что эти данные на самом делепринадлежат разным таблицам

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

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

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

Последовательности

ПОСЛЕДОВАТЕЛЬНОСТЬ генерирует уникальные порядковые номера, которые могут использоваться как значения числовых столбцов таблиц базы данных. Последовательности упрощают прикладное программирование, автоматически генерируя уникальные числовые значения для строк одной или нескольких таблиц.

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

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

Программные единицы

ПРОЦЕДУРА или ФУНКЦИЯ - это совокупность предложений SQL и PL/SQL, сгруппированных вместе как выполнимая единица, исполняющая специфическую задачу.

Процедуры и функции сочетают легкость и гибкость SQL с процедурными возможностями языка структурного программирования

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

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

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

Синонимы

СИНОНИМ - это алиас (дополнительное имя) для таблицы, обзора, последовательности или программной единицы. Синоним не есть объект, но он является прямой ссылкой на объект. Синонимы используются для:

· маскировки действительного имени и владельца объекта

· обеспечения общего доступа к объекту

· достижения прозрачности местоположения для таблиц,обзоров или программных единиц удаленной базы данных

· упрощения кодирования предложений SQL для пользователейбазы данных

Синоним может быть общим или личным. Индивидуальный пользователь может создать ЛИЧНЫЙ СИНОНИМ, который доступен только этому пользователю. Администраторы баз данных чаще всего создают ОБЩИЕ СИНОНИМЫ, благодаря которым объекты базовых схем становятся доступными для общего пользования всем пользователям базы данных.

Индексы, кластеры и хэшированные кластеры

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

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

Индексы создаются по одному или нескольким столбцам таблицы

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

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

КЛАСТЕРЫ предоставляют необязательный способ хранения данных таблиц. Кластер - это группа из одной или нескольких таблиц, физически хранящихся вместе, так как они имеют общие столбцы м часто используются совместно. Ввиду того, что взаимосвязанные строки хранятся физически близко друг от друга, время дискового доступа сокращается.

Взаимосвязанные столбцы таблиц в кластере называются КЛЮЧОМ КЛАСТЕРА. Ключ кластера индексируется, так что строки кластера могут извлекаться с минимальными затратами на ввод-вывод

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

Кластеризованные таблицы: Некластеризованные таблицы:

Связанные данные хранятся Связанные данные хранятсявместе, более эффективно отдельно, занимая больше места

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

Как и индексы, кластеры не влияют на проектирование приложений

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

ХЭШИРОВАННЫЕ КЛАСТЕРЫ похожи на обычные, индексированные, кластеры. Однако в хэшированных кластерах строки записываются не на основе ключа кластера, а на основе значения ФУНКЦИИ ХЭШИРОВАНИЯ, применяемой к ключу кластера. Все строки с одинаковым значением такого хэш-ключа хранятся на диске вместе.

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