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



жүктеу 0,72 Mb.
Pdf просмотр
бет5/22
Дата22.05.2018
өлшемі0,72 Mb.
#16329
түріДиплом
1   2   3   4   5   6   7   8   9   ...   22

22 

 

3  SQL тілі 



 

 

3.1   Кіріспе 

 

PostgreSQL  тілінің мүмкіндіктерінің кейбіреуі  стандарт  кеңейтілуі  бола 



тұра, SQL туралы,  melt93 және date97 қосқанда,  көптеген кітаптар жазылған. 

Келесі мысалдарда mydb деректер қоры құрылып және psql іске қосылды деп 

есептейміз. Басқа мысалдар PostgreSQL каталогындағы (src/tutorial/) бастапқы 

код пакетінде көруге болады.  

(PostgreSQL  орындаулы  код  дистрибутивтары  осы  файлдарды  қоспауы 

мүмкін.) 

Бұл файлдарды қолдану үшін каталогқа өтіп make жүзеге асыру керек:  

$cd ..../src/tutorial$make 

Осы амал орындалған кезде пайдаланушы типі мен функциялары бар С 

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

үшін келесі команданы орындау керек: 

$cd ..../tutorial$psql -s mydb...mydb=>\i basics.sql 

\i командасы берілген файлдан командаларды оқыйды және орындайды. 

Psql берілген – s параметрі серверге әрбір оператор жібергеннен кейін кідірген 

кезде  оны  қадамдық  режимге  ауыстырады.  Қолданған  командалар  basics.sql 

файлда орналасқан.  

 

3.2   Негізгі түсініктер 

 

PostgreSQL – деректер қорын басқарудың реляционды жүйесі (ДҚБРЖ). 



Бұл  деректер  қорын  басқару  жүйесі  қарым-қатынастар  ретінде  (relation) 

берілгенін  білдіреді.  Қарым-қатынас 

  кестенің  математикалық  анық 



белгілеуі.  Мәліметтерді  кестеде  сақтау  бүгінгі  таңда  кең  тараған,  деректер 

қорын  ұйымдастырудың  көптеген  тәсілдері  барына  қарамастан  бұл  айқын 

шешім  сияқты.  Мысалы,  Unix  сияқты  операциялық  жүйелерде  файлдар  мен 

каталогтар  иерархиялық  деректер  қорын  құрады,  ал  қазіргі  таңда  объектілі-

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

қатарлардан тұрады. Кестенің барлық қатарлары бірдей атаулы бағандары бар, 

тағы әрбір қатарға белгілі бір мәліметтер типін тағайындалады.  Бағандар реті 

қатарда тұрақталғанымен, SQL кестеде қатардардың ретін сақталуына кепілдік 

жасамайтынын  есте  сақтау  керек  (алайда  оларды  енгізу  кезінде  сұрыптауға 

болады).  

Кестелер деректер қорында бірлеседі, ал PostgreSQL сервер  данасының 

бірі басқаратын деректер қор жиынтығы деректер қор кластерін құрады.  

 

3.3 

 Кесте құру 

 

Кестенің атын, бағандарының аты мен типін тізіп кесте құруға болады.  




23 

 

CREATE TABLE weather ( 



city varchar(70), 

temp_lo int, -- тәуліктегі минималды температура 

temp_hi int, -- тәуліктегі максималды температура 

prcp real, -- жауын-шашын деңгейі 

date date 

); 


Жоғарыдағы  барлық  мәтінді  қатарды  таңба  ауыстырумен  psql  енгізуге 

болады. Psql команда ; жеткенге дейін жалғасатынын түсінеді. 

SQL  командаларында бос  орын таңбаларын  (бос орын,  табуляция  және 

жол  аудармалары)  еркін  қолдануға  болады.  Бұл  пайдаланушы  команданы 

басқаша  туралап  немесе  тіпті  бір  қатарда  орналастырып  енгізуге  болатынын 

білдеріді.  Екі  минус    («--»)  түсіндірме  басталғанын  білдіреді.  Осы  таңбадан 

кейін 

жазылғанның 



бәрі 

ескерілмейді. 

SQL 

кілтті 


сөздер 

мен 


идентификаторлар  кезінде  регистрге  сезімтал  емес,  бірақ  ерекшелік  ретінде 

бағамға алынған идентификаторлар алынады.  

varchar(70) 70 таңбаға жететін ұзындықты қарапайым таңбалық қатарды 

сақтайтын мәліметтер типін анықтайды. 

int  –  қарапайым  бүкілсандық  тип.  real  –  өзгермелі  нүктесі  бар  бір 

дәлдікті сандар сақтауға арналған тип. date – мезгіл типі.  (Ия, date типті қатар 

date деп аталады. Бұл ыңғаайлы болуы мүмкін немесе адастыруы да шамалы – 

қалай қарағанға байланысты.) 

PostgreSQL SQL стандартты типтерін қолдайды: int, smallint, real, double 

precision, char(N), varchar(N), date, time, timestamp и interval, және де басқа да 

әмбебап типтер мен геометриялық типтердің бай жиынтығы. Сонымен қатар,  

өздігінен жеке мәлімет типтер жиынтығын құрып PostgreSQL бағдарламасын 

кеңейтуге  болады.  Салдар  ретінде,  типтер  атауы  кілттік  сөздер  болып 

табылмайды,  алайда  ерекшелік  ретінде  арнаулы  SQL  стандарт  құрылымын 

іске асыруға талап етілген жағдайды атауға болады.  Келесі кесте мысалында 

қала және олардың географиялық орналасуы сақталады: 

CREATE TABLE cities ( 

name varchar(80), 

location point 

); 


Бұл жерде point -  PostgreSQL ерекше мәліметтер типінің типі. Соңында,  

қандай  да  бір  кесте  керек  емес  немесе  басқаша  қайта  құру  керек  болған 

жағдайда, кестені келесі команданы қолданып жоюға болады: 

DROP TABLE кесте_аты; 

 

3.4   Кестеге қатар қосу 

 

Кестеге қатар қосу үшін INSERT операторы қолданылады: 



INSERT INTO weather  VALUES ('Astana, 46, 50, 0.25, 2017-03-27'); 


24 

 

 



Айта кететін нәрсе, барлық мәліметтер типіне шамалы анық формат 

қолданылып  тұр.  Қарапайым  сандық  белгілерден  басқа  константалар,  осы 

мысал сияқты, әдетте апострофқа (') алынады. date типі шынында өте икемді 

және  әр  түрлі  форматты  алады.  Point  типі  координат  жұбын  енгізуді  талап 

етеді, мысалы осылай:  

INSERT INTO cities VALUES ('Astana', '(-194.0, 53.0)'); 

Көрсетілген синтаксис қатар ретін есте сақтауды талап етеді. Сондай-ақ 

қатарларды анық тізіп балама жазбаны қолдануға болады: 

INSERT INTO weather (city, temp_lo, temp_hi, prcp, date) 

VALUES ('Astana', 43, 57, 0.0, 2016-11-29'); 

Егер кейбір қатарларды қалдыру керек болса басқа ретпен тізуге болады

мысалы: 


INSERT INTO weather (date, city, temp_hi, temp_lo) 

VALUES (2016-11-29', 'Hayward', 54, 37); 

Көптеген  әзірлеушілер  кестедегі  ретіне  сену  орнына  кесте  қатарларын 

анық тізгенді қалайды.  

Пайдаланушы  үлкен  мәліметтер  көлемін  қарапайым  мәтіндік 

файлдардан  көшіре  алады;  ол  амал  үшін  COPY  командасы  қолданылады. 

Әдетте  осы  тәсіл  жылдамырақ,  өйткені  COPY  командасы  осындай  амалға 

оңтайландырылған,  алайда  INSERT  салыстырғанда  икемі  аздау.  Мысалы: 

оның мына түрде қолдануға болады: 

COPY weather FROM '/home/user/weather.txt'; 

Бұл  жерде  көрсетілген  файл  клиенттік  емес,    серверлік  процесс  жүріп 

жатқан  компьютерде  қолжетімді  екені  тұспалданады.  Содан  бері  көрсетілген 

файл тікелей серверде оқылады.  

 

3.5 



 Сұраныс орындау 

 

Кестедегі  мәліметтерді  алу  үшін  сұраныс  орындау  қажет.  Ол  үшін 



SELECT  SQL-операторы  арналған.  Оператор  бірнеше  бөлшектерден  тұрады: 

таңдамалар  (алынатын  қатарлар  тізімі  жазылады),  кестелер  тізімі  (бұнда 

мәліметтер  алынатын  кестелер  тізімі  жазылады)  және  міндетті  емес  шарттар 

(анықтайтын  шектеулер).  Мысалы,  weather  кестесіндегі  барлық  қатарды  алу 

үшін келесе жолды енгізу керек: 

SELECT * FROM weather; 

Бұл жерде * 

 «барлық қатар» дегеннің қысқаша белгілеуі. Осылайша ол 



төмендегі жазумен тепе-тең: 

SELECT city, temp_lo, temp_hi, prcp, date  

FROM weather; 

Нәтижесінде келесі жазба шығу керек: 

city | temp_lo | temp_hi | prcp | date 

---------------+---------+---------+------+------------ 

San Francisco | 46 | 50 | 0.25 | 1994-11-27 

San Francisco | 43 | 57 | 0 | 1994-11-29 




жүктеу 0,72 Mb.

Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   22




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

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