Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Firebird Π Π£ΠšΠžΠ’ΠžΠ”Π‘Π’Π’Πž Π ΠΠ—Π ΠΠ‘ΠžΠ’Π§Π˜ΠšΠ БАЗ ДАННЫΠ₯Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 40

Автор Π₯Π΅Π»Π΅Π½ Π‘ΠΎΡ€Ρ€ΠΈ

Помимо Π½Π°Π±ΠΎΡ€Π° символов Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ страны, языки ΠΈ Π΄Π°ΠΆΠ΅ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π½Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΎ ΠΆΠ΅ самоС распрСдСлСниС символов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для опрСдСлСния "Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ порядка" для сортировки ΠΈ сравнСний. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π½Π°Π±ΠΎΡ€ΠΎΠ² символов Firebird прСдоставляСт мноТСство ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ сортировки. НСкоторыС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сортировки Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠ°Ρ€Ρ‹ прописныС/строчныС Π±ΡƒΠΊΠ²Ρ‹ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ упорядочивания, Π½Π΅ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊ рСгистру. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ COLLATE ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… контСкстах, Π³Π΄Π΅ Π²Π°ΠΆΠ½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сортировки, хотя ΠΎΠ½ΠΎ ΠΈ Π½Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π‘Π΅Ρ€Π²Π΅Ρ€Ρƒ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ Π½Π°Π±ΠΎΡ€ символов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ памяти ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ характСристики сортировки для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ упорядочивания, сравнСния, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° символов Π² Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΈ Π½ΠΈΠΆΠ½ΠΈΠΉ рСгистры ΠΈ Ρ‚.Π΄. Помимо этого, ΠΎΠ½ Π±Π΅Π·Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ ΠΊ символам Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ тСкста.

Набор символов ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

Π§Ρ‚ΠΎ ΠΏΠΎ-настоящСму ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Π½Π°Π±ΠΎΡ€ΠΎΠ² символов - это взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСром ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Firebird Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Π½Π°Π±ΠΎΡ€Π° символов ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² запроса Π½Π° соСдинСниС.


Если сСрвСр ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ установлСнным для ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π½Π°Π±ΠΎΡ€ΠΎΠΌ символов ΠΈ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹ΠΌ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ автоматичСски Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° трансляция - "транслитСрация" - Π² ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ входящиС ΠΊΠΎΠ΄Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌΠΈ для клиСнтской ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ страницы. ВходящиС ΠΊΠΎΠ΄Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² ΠΊΠΎΠ΄Ρ‹, ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ для ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… символов Π² Π½Π°Π±ΠΎΡ€Π΅ символов ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° хранСния.

Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ тСкстов Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π°Π±ΠΎΡ€Ρ‹ символов, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚ Π½Π°Π±ΠΎΡ€Π° символов Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Если Π½Π°Π±ΠΎΡ€Ρ‹ символов ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅, Ρ‚ΠΎ сСрвСр ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Π΅ ΠΈΠΌ ΠΊΠΎΠ΄Ρ‹ ΠΈΠ· этого Π½Π°Π±ΠΎΡ€Π° символов, ΠΈ сохраняСт ΠΈΡ… Π±Π΅Π· измСнСния. НСприятности Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚, Ссли Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠΌΠΈ, ΠΊΠ°ΠΊ ΠΎΠ± этом сообщил ΠΊΠ»ΠΈΠ΅Π½Ρ‚. Когда Π΄Π°Π½Π½Ρ‹Π΅ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ, ΠΎΡ‚Ρ‹ΡΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ послС Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования, это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкам транслитСрации.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… транслитСрации ΠΈ ΠΈΡ… исправлСнии см. Π² Ρ€Π°Π·Π΄. "ВранслитСрация " Π΄Π°Π»Π΅Π΅ Π² этой Π³Π»Π°Π²Π΅.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ символов Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² API Ρ‡Π΅Ρ€Π΅Π· Π±Π»ΠΎΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Database Parameter Block, DPB) Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ isc_dpb_ic_ctype. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ESQL - Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ isql - Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ SET NAMES нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ CONNECT. Команда SET NAMES <Π½Π°Π±ΠΎΡ€-символов> ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для установки Π½Π°Π±ΠΎΡ€Π° символов Π² ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ isql. ГрафичСский интСрфСйс инструмСнтов администратора ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ»ΠΈ явного указания клиСнтского Π½Π°Π±ΠΎΡ€Π° символов.

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ язык, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚ английского, ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΡŒΡ‚Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Π½Π° ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ доступных Π½Π°Π±ΠΎΡ€ΠΎΠ² символов ΠΈ Π²Ρ‹Π±ΠΎΡ€Π° Ρ‚ΠΎΠ³ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ соотвСтствуСт вашим трСбованиям ΠΊ Π²Π²ΠΎΠ΄Ρƒ, Ρ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Ρƒ тСкстов. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ этот Π½Π°Π±ΠΎΡ€ символов Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ создании Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Бинтаксис см. Π² Ρ€Π°Π·Π΄. "ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹" Π³Π»Π°Π²Ρ‹ 15. Бписок Π½Π°Π±ΠΎΡ€ΠΎΠ² символов, распознаваСмых Firebird, см. Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 8.

ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡ€Π° символов

ИмСя Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ символов ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈ нСобходимости Π² дальнСйшСм ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Π½Π°Π±ΠΎΡ€Π° символов ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π΄ΠΎΠΌΠ΅Π½Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡ€Π° символов ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ для Π΄ΠΎΠΌΠ΅Π½Π° ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ столбца.


! ! !

Π’ΠΠ˜ΠœΠΠΠ˜Π•! Когда столбцы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡ€Π° символов ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡ€Π° символов ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… повлияСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° вновь создаваСмыС столбцы ΠΈ Π΄ΠΎΠΌΠ΅Π½Ρ‹. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ столбцы сохранят ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π΅ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡ€Π° символов.

. ! .

Наборы символов Firebird

Firebird ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π΅ΡΡ количСство ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π½Π°Π±ΠΎΡ€ΠΎΠ² символов, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ 2- ΠΈ 3-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹ Unicode. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π²Ρ‹Π±ΠΎΡ€ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎΠ΄Π±ΠΎΡ€Π° (сортировки). Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ рассмотрим:

* происхоТдСниС Π½Π°Π±ΠΎΡ€ΠΎΠ² символов;

* Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹ символов ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…;

* Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹ символов ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сортировки для Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² ΠΈ столбцов;

β€’ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сортировки для:

β€’ тСкстовых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² опСрациях сравнСния;

β€’ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ORDER BY ΠΈ GROUP BY;

β€’ ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ сСрвСру Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ трансляции Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ символов.

Набор символов являСтся собраниСм символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚, ΠΏΠΎ мСньшСй ΠΌΠ΅Ρ€Π΅, ΠΎΠ΄ΠΈΠ½ Ρ€Π΅ΠΏΠ΅Ρ€Ρ‚ΡƒΠ°Ρ€ символов. Π Π΅ΠΏΠ΅Ρ€Ρ‚ΡƒΠ°Ρ€ символов являСтся Π½Π°Π±ΠΎΡ€ΠΎΠΌ символов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π΅ для ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΉ, письмСнной ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ - Π² контСкстС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… - для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°. НапримСр, ISO Latin 1 являСтся Π½Π°Π±ΠΎΡ€ΠΎΠΌ символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ английский (А, Π’, Π‘ ... Z) ΠΈ французский (А, А, А, Π’, Π‘, Q, D ... Z) Ρ€Π΅ΠΏΠ΅Ρ€Ρ‚ΡƒΠ°Ρ€Ρ‹, Π΄Π΅Π»Π°ΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ для ΠΎΠ±ΠΎΠΈΡ… сообщСств.


ИмСнованиС Π½Π°Π±ΠΎΡ€ΠΎΠ² символов

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π½Π°Π±ΠΎΡ€ΠΎΠ² символов Firebird ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π½Π° основании стандартов ΠΈ ΠΈΡ… ΠΈΠΌΠ΅Π½Π° Π±Π»ΠΈΠ·ΠΊΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ этим стандартам. НапримСр, Microsoft опрСдСляСт Windows 1251, a Firebird Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ ΠΊΠ°ΠΊ WIN1251. Набор символов ISO8859_1 являСтся "Π½Π°Π±ΠΎΡ€ΠΎΠΌ символов, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π² стандартС ISO 8859-1, ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ значСниями, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π² стандартС ISO 8859-1, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ прСдставлСно ΠΎΠ΄Π½ΠΈΠΌ 8-Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌ Π±Π°ΠΉΡ‚ΠΎΠΌ".


Алиасы

ИмСна алиасов Π½Π°Π±ΠΎΡ€ΠΎΠ² символов ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π² ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ стандартов ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ. НапримСр, Ссли Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ WIN 1251 для Π½Π°Π±ΠΎΡ€Π° символов WIN1251, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ алиас, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π² систСмной Ρ‚Π°Π±Π»ΠΈΡ†Π΅ RDB$TYPES, ΠΊΠ°ΠΊ описано Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅.


Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡ€ΠΎΠ² символов ΠΈ алиасов

Наборы символов Π² настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ "Π·Π°ΡˆΠΈΡ‚Ρ‹" Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΅Π΅ создания. Одной ΠΈΠ· систСмных Ρ‚Π°Π±Π»ΠΈΡ†, создаваСмых автоматичСски, являСтся RDB$CHARACTER_SET. Для отобраТСния ΠΈΠΌΠ΅Π½ Π½Π°Π±ΠΎΡ€ΠΎΠ² символов с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ сортировки ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ запрос:


SELECT

RDB$CHARACTER_SET_NAME,

RDB$DEFAULT_COLLATE_NAME,

RDB$BYTES_PER_CHARACTER

FROM RDB$CHARACTER_SETS

ORDER BY 1 ;


Если трСбуСтся, алиасы ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² RDB$TYPES- Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, которая Ρ…Ρ€Π°Π½ΠΈΡ‚ список алиасов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… сСрвСром Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Для просмотра всСх алиасов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ установлСны Π²ΠΎ врСмя создания Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ RDB$TYPES для просмотра Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠΌΠ΅Π½ Π½Π°Π±ΠΎΡ€ΠΎΠ² символов:


SELECT

Π‘. RDB$CHARACTER_SET_NAME,

T.RDB$TYPE_NAME

FROM RDB$TYPES T

JOIN RDB$CHARACTER_SETS Π‘

ON C.RDB$CHARACTER_SET_ID = T.RDB$TYPE

WHERE T.RDB$FIELD_NAME = 'RDB$CHARACTER_SET_NAME'

ORDER BY 1 ;


! ! !

ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π•. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€Ρ‹ символов, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚ NONE, ASCII, OCTETS ΠΈ UNICODE_FSS, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ fbintl Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /intl ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Firebird.

. ! .


ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ хранСния

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ваш Π²Ρ‹Π±ΠΎΡ€ Π½Π°Π±ΠΎΡ€Π° символов влияСт Π½Π° Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π²Π°ΠΌΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ для Π΄Π°Π½Π½Ρ‹Ρ…. Π’ случаС столбцов CHAR ΠΈ VARCHAR Firebird ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ объСм памяти хранСния любого поля Π² столбцС значСниями 32 767 ΠΈ 32 765 соотвСтствСнно. На самом Π΄Π΅Π»Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ΅ фактичСскоС количСство ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сильно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ.

НСиндСксируСмыС столбцы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сортировки ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ (количСство символов)*(количСство Π±Π°ΠΉΡ‚ΠΎΠ² Π½Π° символ) для Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, VARCHAR(32765) с Π½Π°Π±ΠΎΡ€ΠΎΠΌ символов ISO_8859_1 ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 32 765 символов, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ символов UNICODE_FSS (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Ρ€ΠΈ Π±Π°ΠΉΡ‚Π° Π½Π° символ) максимальноС количСство 10 291 символ.

Если столбСц прСдполагаСтся ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ/ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ COLLATE, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ количСство "запасных" Π±Π°ΠΉΡ‚ΠΎΠ². Π”Π°ΠΆΠ΅ Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ индСкс - ΠΎΠ΄ΠΈΠ½ столбСц VARCHAR, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ символов ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сортировки ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ - ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 252 Π±Π°ΠΉΡ‚Π° для Firebird вСрсии 1.5 ΠΈ Π²Ρ‹ΡˆΠ΅. Для столбцов с ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ символов количСство символов мСньшС, Ρ‡Π΅ΠΌ 252 / (количСство Π±Π°ΠΉΡ‚ΠΎΠ² Π½Π° символ). ΠœΠ½ΠΎΠ³ΠΎΡΡ‚ΠΎΠ»Π±Ρ†ΠΎΠ²Ρ‹Π΅ индСксы Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ большС Π±Π°ΠΉΡ‚ΠΎΠ², Ρ‡Π΅ΠΌ одностолбцовыС, Π° Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сортировки Π½Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π΅Ρ‰Π΅ большС.


Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠ± этих эффСктах см. Ρ€Π°Π·Π΄. "ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сортировки ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ индСкса" Π΄Π°Π»Π΅Π΅ Π² этой Π³Π»Π°Π²Π΅.


! ! !

Π‘ΠžΠ’Π•Π’. ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ столбцов всСгда рассматривайтС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ трСбования с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния использования Π½Π°Π±ΠΎΡ€Π° символов, индСксирования ΠΈ ΠΊΠ»ΡŽΡ‡Π°. ВсСгда Π΄Π΅Ρ€ΠΆΠΈΡ‚Π΅ "Ρ‡Π΅Ρ€Π½ΠΎΠ²ΡƒΡŽ" Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… для тСстирования ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ индСксов ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

. ! .


Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ столбцов BLOB, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ индСксируСмыми, Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ограничиваСтся использованиСм Π½Π°Π±ΠΎΡ€Π° символов.