Дипломного проекта  разработка серверной части веб 



жүктеу 0,72 Mb.
Pdf просмотр
бет11/22
Дата22.05.2018
өлшемі0,72 Mb.
#16329
түріДиплом
1   ...   7   8   9   10   11   12   13   14   ...   22

41 

 

Идентификаторлар  мен  кілттік  сөздер  әріппен  (a-z,  алайда  латындық 



емес  әріптер  мен  диакритиктік  белгілермен  әріптер  жіберіледі)  немесе 

астынғы белгілеуден (_) басталу керек. Идентификатор немесе кілттік сөздегі 

келесі  таңбалар  әріпттер,  сандар  (0-9),  доллар  белгісі  ($)  немесе  астынғы 

белгілеу  болуы  мүмкін.  Байқалайтын  нәрсе,  SQL  әріп  стандартын  қатаң 

қаралса, доллар белгісін идентификаторда қолдануға болмайды, сол себептен 

олардың қолдануы құрылым ұтқырдығына зиян келтіреді.  SQL стандартында 

кепілді  түрде  сандары  бар  және  астынғы  белгілеумен  бітетін  кілттік  сөздер 

болмайды,  сол  себептен  осындай  түрдегі  идентификаторлар  болашақтағы 

мүмкін 

кеңейтулермен 



болатын 

қақтығыстардан 

қорғалған. 

Жүйе 


идентификаторларға  NAMEDATALEN-1  аспайтын  байт  орын  береді,  ал 

ұзынырақ  аттар  қысқартылады.  Әдепкі  бойынша,  NAMEDATALEN  64  тең, 

сондықтан  идентификатор  максималды  ұзындығы  63  байтқа  тең.    Егер 

жеткіліксіз  болған  жағдайда,  бұл  шекті  src/include/pg_config_manual.h. 

файлында  NAMEDATALEN  константасын  өзгертіп  көбейтуге  болады. 

Бағыдағы  кілттік  сөздер  мен  идентификаторлар  жүйемен  регистр  есебінсіз 

қабылданады.  

Осылайша: 

UPDATE MY_TABLE SET A = 5; 

жазбасы келесі жазбаға тең: 

uPDaTE my_TabLE SeT a = 5; 

Кілттік  сөздерді  үлкен  әріптермен  жазу  жиі  ресми  емес  келісілген,  ал 

аттарды кіші әріптенмен: 

UPDATE my_table SET a = 5; 

Идентификаторлардың басқа типі бар: бөлінген идентификаторлар мен 

бағымдағы  идентификаторлар.  Олар  қарапайым  таңбаларды  екі  бағымға  (") 

алған  жағдайда  пайда  болады.  Осындай  түрдегі  идентификаторлар  әрдайым 

идентификатор  ретінде  саналады,  бірақ  кілттік  сөз  ретінде  емес.  Осылай 

"select"  баған белгілеуі немесе «select» кестесі ретінде қолдануға болады, ад 

бағымсыз  select  кілттік  сөз  ретінде  қабылданады  және  команданы 

бөлшектегенде кесте немесе баған аты күтілетін жерде қателікке алып келеді. 

Дәл  сол  мысалды  келесі  түрде  бағымдағы  идентификатормен  қайта  жазуға 

болады: 


UPDATE "my_table" SET "a" = 5; 

Бағымдағы идентификаторларда тек 0 кодты таңбадан басқа кез келген 

таңба болуы мүмкін. (Осындай идентификаторға бағым қосу үшін оны көшіру 

керек.  )  Бұл  басқа  жолмен  мүмкін  болмаған  аттары  бар  кестелер  мен 

бағандарды  құруға  мүмкіндік  жасайды,  мысалы,  бос  орындары  немесе 

амперсандар  бар.  Сонымен  қатар  ұзындық  шектеуі  сақталады.  Бағымдағы 

идентификатордың  тағы  бір  нұсқасы  Unicode  таңбаларын  коды  бойынша 

қолдануға мүмкіндік береді.  Осындай идентификатор U& (кіші немесе үлкен 

U  және  амперсанд)  таңбасынан  басталады,  және  содан  кейін  бірден  бос 

орынсыз екі бағым кетеді, мысалы U&"foo". Айта кететін нәрсе, осы жағдайда 

&  операторымен  белгісіздік  пайда  болады.  Оның  алдын  алу  үшін  бұл 



42 

 

операторды  бос  орынмен  қоршау  керек.  Содан  кейін  бағым  ішіне  Unicode 



таңбаларын  екі  тәсілмен  дазуға  болады:    кері  қиғаш  сызық  ,  ал  одан  кейін 

оналтылық сандардың төртеуінің  таңба коды, немесе кері қиғаш сызық, қосу 

таңбасы,  кейін  оналтылық  саннан  тұратын  код.  Мысалы,  "data" 

идентификаторын келесі түрде жазуға болады: 

U&"d\0061t\+000061" 

Келесі  тривиалды  емес  мысалда  кирилицада  жазылған  «слон»  сөзі 

кодталған: 

U&"\0441\043B\043E\043D" 

Егер  кері  қиғаш  сызықты  қолдану  қиындық  тудырса,  басқа  арнайы 

таңбаны  қолдануға  болады.  Оны  қатардан  кейін  UESCAPE  жаза  отырып 

көрсетуге болады,  мысалы: 

U&"d!0061t!+000061" UESCAPE '!' 

Арнайы символ ретінде тек оналтылық сандар, қосу таңбасы, апостроф, 

бағым мен бос орын таңбаларынан басқа кез келген таңбаны таңдауға болады. 

Арнайы  таңба  екі  бағымға  (")  алынбайды,  олар  апострофқа  алынады. 

Апостроф  таңбасын  арнайы  таңбаға  жасау  үшін  оны  екі  рет  жазу  керек. 

Unicode 

  формат  сервер  кодтауы  UTF8  болған  жағдайда  ғана  толық 



қолданылады.  Басқа  қодтау  қолданған  жағдайда  тек  ASCII-таңбалар  (\007F 

дейінге дейін кодтармен) көрсетілімі жіберіледі. Төрттік формада, оналтылық 

формада да UTF-16 суррогаттық жұп жазуға болады және осылайша U+FFFF 

үлкен кодпен таңбалар жасалынады. Алайда оналтылық форманың бар болуы 

техникалық  жағынан  бұл  тәсілді  керексіз  етеді.  Суррогаттық  жұптар  тікелей 

сақталмайды,  ал  бір  таңбаға  біріктіреледі,  кейін  ол  таңба  UTF-8  кодталады. 

Бағымға  алынған  идентификатор  регистрға  тәуелді  болып  қалайды,  ал 

бағымсыз  идентификатор  төменгі  регистрге  ауыстырылады.  Мысалы,  FOO, 

foo  және  "foo"  идентификаторлары  PostgreSQL  бірдей  болып  есептелінеді, 

бірақ  "Foo"  мен  "FOO"  бір

бірінен  және  алдынғы  үшеуінен  айырмашылығы 



бар.  PostgreSQL  жолы  бойынша  аттарды  бағымсыз  жазып  төменгі  регистрге 

алып  келу  SQL  стандартымен  сыйыспайды;  ол  стандарт  аттар  жоғарғы 

регистрге келу керектігін көрсетеді, яғни стандарт бойынша foo эквивалентті 

"FOO",  "foo"  эквивалентті  емес.  Сондықтан  тасымалданатын  құралымдар 

жасауда  белгісі  бір  аттарды  ғана  бағымға  алу  керек  немесе  бағымға  мүлдем 

алмау керек.  

 

5.1.2 Константалар 

 

PostgreSQL үш түрлі  меңзелу типті константалар бар: қатарлар, биттік 



қатар  және  сандар.  Константаларды  типтарын  анық  көрсетіп  жазуға  болады; 

бұл оларды дәл ұсынуға және тиімдірек өңдеуге мүмкіндік береді.  

 

 

 



 


жүктеу 0,72 Mb.

Достарыңызбен бөлісу:
1   ...   7   8   9   10   11   12   13   14   ...   22




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау