ПОӘК 042-18-12.1.89/03-2013
№ 1 басылым
18.09.2013ж.
40 беттің 24-сі
деректердің сақталуын, қандай деректер қажеттігін, олардың қайда орналасқанын
және қалай алу жолдарын білу талапді етеді.
Қарастырылып отырған SQL тілі логикалық байланысқан кесте-қатынастар
жиынтығы түрінде берілген деректермен операциялар жүргізуге бағытталған. Осы
тілдің құрылымының ерекшелігі өңдеу процедурасына емес, деректерді өңдеудің
соңғы нәтижесіне бағытталуында. SQL деректердің, индекстердің қайда
орналасқанын, және нәтиже алу үшін қандай операциялар тізбегін пайдалану
керектігін өзі анықтайды, сондықтан бұларды МҚ-на сұранымдарда көрсетудің
қажеті жоқ.
Реляциялы МҚ теориясының пайда болуы екі кластарға бөлуге болатын,
сұранымдар тілінің қатарын өндіруге түрткі болды:
Қатынастарға қолданылатын, сұранымдарды арнайы операторлармен
бейнелеуге мүмкіндік беретін алгебралық тілдер;
Предикаттарды санау тілдері, берілген қатынастар жиынтығынан жаңа
қатынасты анықтайтын, ережелер жиынтығы. Яғни, МҚ-ғы сұранымға жауап
ретінде алынатын қатынастарды анықтау әдісі.
SQL – тілі кестелрмен және кестелердегі деректермен әрекет үшін арналған.
Бұнда есептек процесін басқару операторлары жоқ (ауысу, бұтақталу, циклдар). SQL
тілінде жазылған программаны SQL – сұраныс деп аталады.
SQL – тілі Delphi жүйесіне ендірілген. SQL операторларымен жұмыс үшін
ADOQuery компоненті қолданылады. SQL тілінің сұранысының екі түрі бар:
статистикалық және динамикалық. Статистикалық сұраныс қосымшаны жасау
барысында құрылады және де оны орындау кезінде өзгермейді.
Динамикалық SQL – сұраныстың мәтіні қосымшаны орындау барысында
құрылады немесеөзгертіледі, сонымен қатар сұраныс парамертлері көмегімен.
SQL – тілінің өзінің көптеген диалектері және бірнеше стандарттары бар. SQL
–92 стандарты Американдық стандарттар институтымен бекіиілген. (ANSI –
American National Standarts Organization), сондықтан оны ANSI стандарты немесе
ANSI/ISO дейді.
SQL – де келесі негізгі оператолар жиынтығын ерекшелеуге болады:
деректерді анықтау, деректерді өңдеу, деректерге жол ашуды басқару және
транзакцияларды басқару.
SQL тіліне басқа операторлармен қоса мыналар да кіреді:
SELECT – іріктеудің берілген критериі бойынша іріктеу үшін;
CREATE TABLE– жаңа кесте құру;
DROPTABLE – бар кестені жою;
ALTER TABLE – кесте модификациясы;
CREATE INDEX – жаңа индекс құру;
DROP INDEX – индексті жою;
UPDATE
–
берілген
критериді
қанағаттандыратын
жазуларды
модификациялау;
INSERT – берілген критериді қанағаттандыратын жазуды қосу;
DELETE – берілген критерий бойынша жазуларды өшіру.
Delphi – де SQL – сұраныс мәтіні оның SQL қасиетінің мәні болып табылады.
Ол қосымшаны жасау немесе орындау кезінде құрылады. ADOQuery компоненті
ПОӘК 042-18-12.1.89/03-2013
№ 1 басылым
18.09.2013ж.
40 беттің 25-сі
SQL орындалуын және қажетті деректер жинағын алуды қамтамасыз етеді.
Деректер
жинағын
құру
ADOQuery
компонентін
Open
әдісімен
активацияландырғанда және оның Active=True қасиетін орнатқанда орындалады.
Кейде SQL - сұранысты орындағанда деректер жиынтығын алу қажеттігі
туындамайды (мысалы, жазуды өшіру, қою немесе модификациялау кезінде). [3]
SQL тілінде өріс массивтерімен жұмыс үшін төмендегі функциялар
қолданылады:
AVG ( ) – орта мән;
MAX ( ) – максимальді мән;
MIN ( ) – минимальді мән;
SUM ( ) –барлық элементтер қосындысы;
COUNT ( ) –мәндер саны;
COUNT (*) – нөлдік емес мәндер саны;
Жолдармен жұмыс функциялары:
UPPER (str) – Str символдарын жоғары регистрге түрлендіру.
LOWER( ) – Str символдарын төменгі регистрге түрлендіру.
TRIM ( ) – Str жолдың басындағы және соңындағы бос орынды жою.
SUBSTRING (Str FROM n1 TO n2) – n1 ден n2 нөмерге дейінгі символдан
бастап Str-ден жолшаны (подстрока) бөлу.
1. Кестенің жеке өрістеріне деректер енгізу
Кестеге деректер қосқанда барлық өрістерін емес, кейбіреулерін ғана толтыруға
болады. Бұл жағдайда INSERT операторының келесі синтаксистік формасы
пайдаланылады:
INSERT INTO имя_таблицы (имя_поля_1.имя_поля_2…имя_поля_N)
VALUES (значение_1.значение_2…значение_ N)
Мысалы, СТУДЕНТЫ кестесіне жаңа студент туралы ақпарат қосқанда,
студенттің толық аты туралы ақпаратты көрсетсе болғаны. Бұл жағдайда келесі
операторды пайдалануға болады:
INSERT INTO Студенты (Номер_зач_книжки.Имя. Фамилия.Отчество)
VALUES (234.’Абылгазина’.’Айнур’.’Кадыровна’)
Бұл оператор орындалғанда басқа барлық өрістерге NULL мәні енгізіледі.
Кесте атынан кейін жақша ішінде көрсетілмейтін өрістердің NOT NULL шектеуі
болмайды, әйтпесе INSERT операторын орындау талабы табыссыз аяқталады.
2. Басқа кестедегі деректерді кестеге енгізу
Кейде бір кестедегі ақпаратты екінші кестеге тасымалдау қажет болады. Бұл
типтегі операцияларды INSERT опареторымен SELECT деректерді таңдау
операторының комбинациясының көмегімен орындауға болады.
INSERT және SELECT операторын біріктіріп, басқа кестеге сұраныс
орындалуы нәтижесінде алынатын деректерді кестеге қогсуға болады. Бұл жағдайда
INSERT операторының синтаксисі келесі түрде болады:
INSERT INTOимя_таблицы(имя_поля_1.имя_поля_2…имя_поля_N)
FROM имя_таблицы
WHERE условие.