среда, 13 апреля 2011 г.

Типы данных для больших объектов

Вот опять пора публиковать статью про язык программирования PL/SQL. Я тут подсчитал на досуге – осталось мне опубликовать только лишь три статьи (не включая эту) про типы данных языка PL/SQL. Что-то эта тема заняла уж слишком много времени, но – надо ее закончить. Последние две статьи будут посвящены приведению типов данных, так что – очень даже хорошая и интересная тема, обязательно нужно будет о ней рассказать в статьях.

Сегодня я немного расскажу вам о типах данных для работы с большими объектами. Сначала расскажу о том, что же такое большие объекты, вкратце опишу те типы данных, которые существуют в языке PL/SQL для работы с этими типами. И в самом конце – расскажу о принципах работы с большими объектами в этом языке.

Предопределенные типы данных для больших объектов (LOB):

Типы данных для больших объектов (LOB) ссылаются на большие объекты, хранящиеся отдельно от других элементов данных, например – тексты, графические файлы, видеоролики и звуковые файлы. Типы данных LOB обеспечивают эффектный, произвольный и пофрагментный доступ к данным.

Да, пока не забыл – как я уже неоднократно говорил, мне нравятся путешествия. Можно множество моих фоток закинуть в какой-нибудь их типов данных для больших объектов – и сохранить в базе данных. Тем более – я скоро поеду в круиз вокруг европы, думаю – будет очень интересно. Если захотите – то зайдите на сайт и сами все прочитайте в подробностях (там и карта есть). Из этого путешествия фоток то и наберу.

В PL/SQL существуют следующие предопределенные типы данных для больших объектов (в таблице ниже):

Тип данных
Описание
Размер
BFILE
Используется для хранения больших двоичных объектов в файлах операционной системы (вне базы данных)
Не более 4 гигабайт
BLOB
Используется для хранения больших двоичных объектов в базе данных
От 8 до 128 терабайт
CLOB
Используется для хранения в базе данных больших блоков символьной информации
От 8 до 128 терабайт
NCLOB
Используется для хранения в базе данных больших блоков данных типа NCHAR
От 8 до 128 терабайт

Указатели LOB:

Тип данных LOB в языке PL/SQL хранит указатели LOB, которые являются ссылкой на большой объект, хранящийся во внешних файлах или в базе данных. Столбцы BLOB, CLOB, NCLOB или BFILE хранят указатели. Данные BLOB, CLOB, NCLOB хранятся в базе, в строке или вне строки, данные типа BFILE хранятся в файлах операционной системы вне БД.

В PL/SQL можно оперировать большими объектами с помощью указателей LOB. Например, когда из базы данных выбирается значение столбца типа BLOB, возвращается только указатель. Если PL/SQL возвращает указатель во время выполнения транзакции, то он будет включать в себя идентификатор транзакции, поэтому его нельзя использовать в другой транзакции для обновления данного объекта LOB. Также нельзя сохранить указатель LOB в одно сеансе, а затем использовать его в другом.

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

Комментариев нет:

Отправить комментарий