вторник, 19 апреля 2011 г.

Большие типы данных

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

Перед написанием статьи пробежался глазами по новостям – и нашел информацию про основателя компании Krull Corp и про еще одного человека. Чтобы не перепечатывать ту статью – просто сами перейдите и почитайте. А я пока продолжу на счет PL/SQL:


Тип данных BFILE:

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

Файлы BFILE доступны только для чтения: их нельзя изменять. Администраторы базы данных должны гарантировать, что соответствующий файл BFILE существует и сервер ORACLE имеет права на чтение этого файла. Целостность файлов поддерживается операционной системой.

Файлы BFILE не участвуют в транзакциях, они не могут быть восстановлены и реплицированы. Максимальное число одновременно открытых файлов BFILE устанавливается параметрами инициализации сервера ORACLE — SESSION_MAX_OPEN_FILES, значение которого зависит от Ос.

Тип данных BLOB:

Используется для хранения больших двоичных данных в базе данных (в строке или вне строки). Переменная типа BLOB содержит указатель, который указывает на большой двоичный объект.

Значения BLOB полноценно участвуют в транзакциях, их можно восстанавливать и  реплицировать. Изменения, вносимые при помощи пакета DBMS_LOB можно фиксировать и отменять (то есть — производить откат). Указатели BLOB могут одновременно участвовать в нескольких транзакциях (только для чтения), но не могут одновременно участвовать в разных сеансах.

Тип данных CLOB:

Используется для хранения больших блоков символьных данных в базе данных (в строке или вне строки). Поддерживаются кодировки как с фиксированной, так и с переменной длиной символов. Переменная типа CLOB содержит указатель на большой блок символьных данных.

Значения CLOB также, как и значения BLOB, полноценно участвуют в транзакциях, их можно реплицировать. Также — можно фиксировать или откатывать, одновременно (для чтения) участвуют в транзакциях, но — не в разных сеансах.

Тип данных NCLOB:

Используется для хранения больших блоков данных типа NCHAR в базе данных (в строке или вне строки). Поддерживаются кодировки с фиксированной или переменной длиной символов. Переменная типа NCLOB содержит указатель на большой блок данных типа NCHAR.

Также как и BLOB и CLOB — значения типа NCLOB участвуют в транзакциях, можно реплицировать, откатывать, одновременно могут участвовать в транзакциях, но — нельзя использовать одновременно в разных сеансах.

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

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

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