Читаем Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ полностью

Помимо набора символов различные страны, языки и даже культурные группы, применяющие то же самое распределение символов, используют различные последовательности для определения "алфавитно-цифрового порядка" для сортировки и сравнений. Следовательно, для большинства наборов символов Firebird предоставляет множество последовательностей сортировки. Некоторые последовательности сортировки также учитывают пары прописные/строчные буквы для решения задачи упорядочивания, не чувствительного к регистру. Предложение COLLATE используется в отдельных контекстах, где важна последовательность сортировки, хотя оно и не объявляется на уровне базы данных.

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

<p>Набор символов клиента</p>

Что по-настоящему имеет значение в отношении наборов символов - это взаимодействие между сервером и клиентом. Клиентская библиотека Firebird должна передавать атрибут набора символов как часть параметров запроса на соединение.

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

Это делает возможным хранение текстов в различных объектах, которые имеют наборы символов, отличные от набора символов базы данных по умолчанию.

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

Более подробную информацию об ошибках транслитерации и их исправлении см. в разд. "Транслитерация " далее в этой главе.

Приложения, подключающиеся к базе данных, должны передавать набор символов базы данных в API через блок параметров базы данных (Database Parameter Block, DPB) в параметре isc_dpb_ic_ctype. Приложение ESQL - включая утилиту isql - должно выполнить оператор SET NAMES непосредственно перед оператором CONNECT. Команда SET NAMES <набор-символов> используется для установки набора символов в утилите isql. Графический интерфейс инструментов администратора обычно предоставляет возможность выбора или явного указания клиентского набора символов.

Если вам нужно использовать язык, отличный от английского, потратьте некоторое время на изучение доступных наборов символов и выбора того, который наиболее соответствует вашим требованиям к вводу, хранению и выводу текстов. Не забудьте включить этот набор символов в атрибуты базы данных при создании базы данных. Синтаксис см. в разд. "Обязательные и необязательные атрибуты" главы 15. Список наборов символов, распознаваемых Firebird, см. в приложении 8.

<p>Переопределение набора символов</p>

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

! ! !

ВНИМАНИЕ! Когда столбцы используют значение набора символов по умолчанию для базы данных, изменение набора символов по умолчанию для базы данных повлияет только на вновь создаваемые столбцы и домены. Существующие столбцы сохранят имеющееся значение набора символов.

. ! .

<p>Наборы символов Firebird</p>

Firebird поддерживает увеличивающееся количество интернациональных наборов символов, включая 2- и 3-байтовые наборы Unicode. Во многих случаях возможен выбор последовательности подбора (сортировки). В этом разделе мы рассмотрим:

* происхождение наборов символов;

* глобальные наборы символов по умолчанию для базы данных;

* альтернативные наборы символов и последовательности сортировки для доменов и столбцов;

• последовательности сортировки для:

• текстовых значений в операциях сравнения;

• предложений ORDER BY и GROUP BY;

• как указать серверу необходимость трансляции вводимых данных в конкретный набор символов.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных