DeepEdit!

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

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Структура хранимых изменяемых массивов

Изменяемый массив можно использовать в качестве типа для столбца базы данных. В этом случае весь массив хранится в одной строке базы среди других столбцов. В разных строках содержатся разные изменяемые массивы. Рассмотрим следующие объявления:
Внимание
[ Данные изменяемого массива, которые занимают больше 4 Кбайт, в действительности хранятся отдельно от остальных столбцов таблицы в LOB. Можно определить параметры хранения LOB отдельно в операторе CREATE TABLE. Дополнительная информация о LOB приводится в главе 12, а об операторе CREATE TABLE- в "SQL Reference Guide".
В таблице содержатся номера книг, обязательных для чтения в данной группе. Этот список хранится как столбец типа изменяе­мого массива. Тип любого столбца-изменяемого массива должен быть из­вестен в базе данных и должен храниться в словаре данных, поэтому требуется оператор CREATE TYPE. Область хранения classjnaterial (с некоторыми данными) представлена на рис. 8.1. Отметим, что весь изме­няемый массив (который может содержать до десяти элементов) хранит­ся в одном столбце базы данных required_reading.
Структура хранимых вложенных таблиц
Как и изменяемые массивы, вложенные таблицы могут храниться в виде
столбцов базы данных. В каждой строке таблицы базы данных может со­держаться отдельная вложенная таблица. В качестве примера смоделиру­ем каталог библиотеки. Сделаем это с помощью следующих определений:
В таблице library_catalog четыре столбца, в том числе столбец номе­ров книг, являющийся сборной конструкцией, и вложенная таблица с
идентификаторами студентов, получивших экземпляры книг. По поводу хранения вложенных таблиц следует сказать несколько слов:
• Табличный тип используется в определении таблицы точно так же, как и объектный или встроенный тип столбца. Это должен быть тип уровня схемы, создаваемый оператором CREATE TYPE.
Для каждой вложенной таблицы в конкретной таблице базы данных необходимо использовать предложение NESTED TABLE, которое определяет имя таблицы хранения.

Таблица хранения (store table) — это таблица, которая создается систе­мой и используется для хранения фактических данных вложенной табли­цы. В отличие от изменяемых массивов данные вложенной таблицы хранятся отдельно, а не среди остальных столбцов таблицы. Реально в столбце checked_out будет содержаться ссылка (REF) на таблицу co_tab, в которой и находится список идентификаторов студентов. Область хране­ния таблицы library_catalog представлена на рис. 8.2. Для каждой строки таблицы library_catalog в столбце checked_out содержится ссылка (REF) на соответствующие строки таблицы co tab.

 


Бани из бруса под ключ недорого







jAntivirus