49
амал навигациялық деп аталады.
Мұнда біз нақты бағдарламалау тілінде,
нәтижені алу үшін қажетті, процедураны – әрекеттер тізбегін сипаттаймыз.
Мұндай амалдар қолданылатын, тілдер процедуралық деп аталады. Сұраныс
күрделілігі өскен сайын процедура күрделілігі де өсетіні және демек,
бағдарлама мәтінінің көлемі де өсетіні анық.
Ақпараттық жүйелермен жұмыс
жасау кезінде қолданушы өзінің,
қолданбалы бағдарламалар бағдарламалаушыларының көмегімен жасақталған,
деректер қорына сұраныстарын жүзеге асырады. Навигациялық амал кезінде
барлық мүмкін сұраныстар бағдарлануы қажет. Алдын ала барлық
сұраныстарды білу және оларды бағдарламалау мүмкін еместігі анық.
Қолданушылардың басым көпшілігі бағдарламалау дағдыларына ие емес. Бұл,
олардың әрекеттерінің көлемі жазылған бағдарлама шеңберінде шектеледі, ал
дәлірек айтқанда,
алдын ала қарастырылған, сұраныстарды жүзеге асыру
есебінен. Сонымен қатар «клиент – сервер» архитектурасының шеңберінде
өзара әрекеттесу механизмі есептке алынуы қажет. Қолданушы бағдарламасы
клиент-компьютерінде орындалады. Деректер қорына сұраныс сервер-
компьютерімен жүзеге асады. Клиенттің қолданушы бағдарламасында
сервердің деректер қорына сұранысын құру механизмі қажет.
Бұл жағдайда
навигациялық амал тиімсіз.
Осыған байланысты, деректер қорымен жұмыс
жасау үшін, сұраныс тілдерін қолдануға негізделген, қажетті әрекеттер
тізбегін емес, ал нәтижені қанағаттандыратын, шарттарды беретін, басқа
амал жасалды және қолданылуда
(бағандарды қосу,
жазбаларды іріктеу,
жабаларды қосу және т.б. кезінде). Мұндай амал барлық үш жоғарыда аталған
мәселелерді шешеді.
Осы мақсатпен барлық деректер қорында SQL сұранысының арнайы
тілі жасақталды және белсенді қолданылуда.
Ерекше атап өтетін жәйт, тілдің
негізі реляциялық алгебра операциялары болып табылады.
SQL тілі (Structured Query Language – құрылымданған тіл қолданушының
реляциялық деректер қорымен түсінісуі үшін қолданылады
және үш бөліктен
тұрады
[11.2]:
1)
DDL (Data Definition Language) – деректерді анықтау тілі. Деректер
қорын құруға (кестелерді, индекстерді және т.б.) және оның сұлбаларын
түзетуге арналған.
2)
DCL (Data Control Language) – деректерді басқару тілі. Деректер қоры
нысандарына қолданушы рұқсаттарын шектеуге
арналған операторлардан
тұрады.
3)
DML (Data Manipulation Language) – деректерді өңдеу тілі. Деректер
қоры кестелерінің мазмұнына өзгерістер енгізуге арналған операторлардан
тұрады.
Жоғарыда жазылғандардан көріп отырғанымыздай, SQL қолданушыға,
алгоритмнің құрылымын жасаумен және оның жоғарғы деңгейдегі
бағдарламалау тілдерінде сипатталуымен байланыспаған, деректерге рұқсаттың
қарапайым және түсінікті
механизмін бере отырып, алдында қарастырылған
барлық сұрақтардың шешімін табады. Осылай, қалай әрекет ету қажет екендігін
көрсетудің орнына, қолданушы SQL операторларының көмегімен, оған не істеу
50
керек екендігін, ДҚБЖ түсіндіреді. Әрі қарай ДҚБЖ өзі сұраныс мәтінін
талдайды және оны қалай орындау керек екенін анықтайды.
«Клиент – сервер» архитектурасында SQL тілі өте маңызды орынды
алады. Тек өзі, алшақтатылған компьютерде орналасқан,
серверлік ДҚБЖ бар
клиенттік бағдарламалық жасақтаманың сұхбаттасу тілі ретінде қолданылады.
Осылай, клиент серверге SQL тілінде сұраныс жібереді, ал сервер оны
саралайды, түсіндіреді, орындалу жоспарын таңдайды, сұранысты орындайды
және клиентке нәтижесін жібереді.
SQL тілінде, түсу мерзімі бойынша студенттерді іріктеу туралы есепті
шешетін, сұраныстың түрі қалай болатынын қарайық.
SELECT Тегі
FROM
Студент
WHERE Түсу мерзімі > "01.06.2006"
SQL тілінің пайда болуы жоғарғы деңгейдегі бағдарламалау тілдерінің
баламалы таңдауы болып табылады, деген жалған ой қалыптасуы мүмкін. Бұл
ақиқатқа сәйкес келмейді. Сұраныстың SQL құралдарымен орындалуы бәрі бір
жеке жазбалармен жұмысқа алып келеді және одан ешқайда кете алмаймыз.
SQL тілінің пайда болуы, ең көп деген де, екі жаңа мүмкіндікті бергенін түсіну
маңызды:
1)
Қолданушы мен ДҚБЖ арасындағы абстракцияның жаңа деңгейі пайда
болды. Бұл деңгей, жоғары деңгейдегі бағдарламалау тілдеріне қарағанда,
қолданушыға жақындау, бұл қолданушы мамандықтарына талаптарды
төмендетеді.
2)
Деректер қорымен жұмыс жасаған кезеде пайда болатын және бұрында
әр
бағдарламалаушылармен
өзінше
шешіліп
жүрген
(жиі
басқа
бағдарламалаушының әрекеттерін қайталай отырып),
көптеген типтік есептер
SQL тілін жүзеге асыру арқылы шешілді. Осылайша, сәйкес тәсілмен ДҚБЖ
шешілген, көптеген мәселелерді өз бетімен шешу қажеттілігі жойылды. SQL
тілі ДҚБЖ осы типтік мүмкіндіктеріне рұқсат үшін құралдарды ұсынады.
Достарыңызбен бөлісу: