Мліметпен амалдар орындау

SQL ТІЛІНІ ЫСАША ТАРИХЫ. SQL КОМАНДАЛАРЫНЫ ТИПТЕРІ. ДЕРЕКТЕР ОРЫ ОБЪЕКТІЛЕРІН БАСАРУ

 

1. Деректер орыны негізгі тсініктері.

MS Оffice бадарламасыны азіргі жадайы апараттандыру технологиясында жоары дамуда. ажетті жаттарды алу, тапсырмаларды шешу шін бадарламаны классикалы мні бадарлама болып табылады. Біріншіден жат, ал бадарлама бл оны блімі. Бадарламашыны масаты, бадарлама ру емес, шыыс жаттарыны функциялы спекторыны наты кеінен алыптасуын кадаалау. Пайдаланушы бадарламамен емес, жаттармен жмыс істейді. “жат” термині маынасы згеруде. Енді жат объект ретінде бадарламалы баыт-бадарлама ретінде арастырылады. жатты ру жйесі MS OFFICE арасында офистік бадарлама деп аталады. жат трі, яни берілгенді тіркеуге, жмыс істеуге, айырбастауа анализдеуге т.б. болады. жат жне бадарлама компоненттері бірігіп-жоба райды, жаттын блігі болып табылады жне одан блек рылмайды.

SQL тілі (сраныстарды рылымды тілі) 70 жылды басында ЭЕМ фирмасында делген. Бл берілген базамен жмыс істеу шін арналан жаа тсіл берілген базада олданылады (ру, іздеу, згерту, жанарту, берілген хабар).

SQL тілі Американы лтты стандарттау институты мен Халыаралы стандартау йымында компьютерлік спецификадан туелсіз берілген базалар шін ресми стандарттау негізінде бекітілген.

SQL тілі командаларыны типтері

SQL тілі командалардан трады. Наты іс-рекеттерді орындау берілген база жмысын басару шін, SQL командасыны рекет ету объектісі бір кесте жне де кестелер тобынан труы ммкін. MS ACCESS автоматты трде эквиваленттік команданы рады, SQL конструктуры режимінде сраныс уаытында жасалады. SQL командасы (нсау, операторы) 2 топа блінеді:

Топ.

Cr ate Table - жаа кесте ру.

Cr ate Index – жаа индекс ру.

Alter Table – кестедегі индексті немесе жаа алады толытыру.

Топ.

Select – берілген базаа дейінгі сраныс; жазбаларды жинау трінде берілгендеге айта сраныс;

Select Info – берілген базаа дейінгі сраныс; сраныс берілгенде жаа кесте трінде айтарады.

Update – бірігуге сраныс; сраныс кесте алаынын маынасын згертеді;

Delete – бір немесе бірнеше кестедегі сраныс жазбаларды жою.

SQL тіліні екі формасы бар:

Интерактивтік жне арама-арсы интерактивтік SQL тікелей белгілі деректер базасы іс-рекеті берілгені шін олданылады. Белгілі команда орындалан со, шыу дерегі сол жерде енгізіледі.

Тізбектелген (Встроенный) SQL – бл SQL тіліні командасына осылу бадарламасы, баса жобалау тілінде жазылан.

Мысалы Pascal. Берілген кітапта интерактивті SQL, экономист-програмистерге тиімді жне жазылан. р команда зіне сйкес тізім параметірін тадау шін осады, топтастырып жне жинатап жазады, бір немесе бірнеше кестені. р команданы з пішіні бар. (синтаксис).

Басты терминдер:

Тйінді сз- бл нсау, яни SQL-да арнайы маынаны береді. Кітапта сз тйіні жазумен блінген.

Команда- бл нсау. SQL-де деректер базасында берілген. Команда бір немесе бірнеше логикалы ртрлі блімдерден трады. сыныс сз тйінінен басталады жне бдан баса аргументтер болан.

Мысала: WHERE fio=астрогикалы; ай жерде fio = “астрогикалы”- аргумент : WHERE- сз тйіні; Мысал;- деректер базасынын рылымы (кесте, сраныс, тілі т.б.). айсысы таырыптанады жне жадында саталады.

Синтаксистік командаа келісу [] - трт брышты жаша - команда рамы ажетінде оны жіберуге болады. ( ) дгелек жаша рушы онымен анша болса да айталауа болады. < >- сз брышты жашада жабылан- арнаулы терминдер шыару млшерінде тсіндіріледі.

SELEST командасы деректер базасында кестені немесе бірнеше кестелерді табады, оны параметірінде крсетілгендей, баандаы берілгенді тадайды.

Жолдарды тадау сйкестігіне байланысты бледі, жолдар нтижесінде берілген ретіне арай срыптайды жне топтастырады. SELEST командасынын орындалуы берілген деректер базасындаы деректерді згертпейді.

Тадалан баандар кестеден жойылмайды, олардан тек ана деректер шыарып алынады. Синтаксис (формат) команда SELEST.

SELEST [предикат ] {*/кесте [кесте ] ала 1.

[AS жасалан ат1], [кесте] ала 2 .

[AS жалан ат2] [, . . . ]

FROM лпет [. . .] [/N сырты дерек базасы] [WHERE “іріктелген жадай”]

[GROUP BY “топтастырылан ала тізімі]

[HAVING] топтасан жадай

[ORPER BY” ала-1[ASC/ DESC] ала-2 [ASC/ DESC ]. Предикат айтарылан жазуа шектеу береді.

ALL- яни шектеусіз.

DISTINCT- барлы жазулар оларды айталанбауы.

Кесте- аты –айнар, яни барлы жазуды алынуы.

Ала- 1, ала- 2....

Ала аттары жазуды алынуы, алан ат-1, жалан ат-2 ...- аттар, яни баанда таырыбы болады, бірге шыыс баандарыны аттары кестеде;

Топтастыу жадайы-мнер анытайтын андай топтастырылан жазуды бейнелеу;

1 ала, 2 ала – сраныс нтижесінде срыпталан жазу маынасына арай.

ASC- суіне арай; DESC-азаюына арай ;

FROM- міндетті параметрі. Мысал ; Деректер базасын олдануын сынамыз.

Барлы студенттер тізімін растыру керек.

Фамилия Курс Топ

 

SELEST fio , Kurs , grupa FROM Spisok;

Осы команда бойынша баан таырыбы кіргізіледі жне барлы млімет (ала мні Fio kurs, grupa) Spisok кестесі бойынша орытындылады.

SQL объектісі, яни деректер базасы атрибутын, кестелерді, аладарды, индекстерді жне сатау деректері шін олданылады.

Кестенін жасалуына GREATE TABLE командасы рылымына арай бейнеленеді. Мына команда бойынша:

· Бос кесте рылады.

· Бос кестеге ат ойылады

· Баана (алаа) ат беріледі жне рет-ретімен ат беріледі.

· Тр жне млшеіне арай рбір ал орналастырылады.

Млімет символды трде “млшер” міндетті трде крсетіледі,CREATE TABLE командасы бойынша “тізім” кестесі келесі рылымда жазылады:

факультет курс топ фамилия Степендия(ны) сталуы

1) кесте рылымын жасау, яни керекті талап тізімін анытау жне олады зара арым-атынасын анытау.

2) Тадалан ала атын беру

3) р ала трін анытау (символды, санды, логикалы т.б.)

4) ала млшерін беру.

Осыдан кейін кестені жасалуына кшеміз. Файл рылым алаына ажетті алан атын крсету, оны трі, зындыы, ал санды мліметіне-жне цифр санына онды нктеден кейін, егер бл ажет болса.

CREATE TABLE Spisok

Fakultet char (4),

Kurs char (1),

Grupa char (4),

Fio char (15),

Stip decimal (7,2),

Uderzana decimal (6,2);

Srip жне Uderzana ала онды ретінде жазылан, ала зындыына байланысты. (field width) 7жне6 онды цифр жне натылы (белгі сандары тірден кейін цифрлы аладар). Бл команданы бір жола жазуа болады. CREATE TABLE Spisok.

Тйінде крсетілген айсы бір сілтеу баса кестеде сырты деп аталады. Манипулау шін кесте жайына индекс арналан. Индексерлеу- бл тйінді жазуды реттеу. (алфавиттік, хронологиялы су кему ретімен). Тізім маынасы бойынша индекс алаы рылады. Бл кестеде млімет жолы реттелмеген. Тйін алады іздеу берілгенмаына бадарлама бойынша барлы кестедегі жазбаны р жолды арайсын маыналы берілген алады жазу маынасын тез табады.Индекс мына команда бойынша ылады:

CREATE INDEX <индекс аты> ON <кесте аты> <баана аты><баан аты>

Мысалы: Spisok кестесі бойынша алан бойынша фамилия индексі руы. CREATE INDEX fio on SPISOK (fio); Индекстер кестесі CREATE INDEX командасы бойынша рылан, олданушылар шін крінбейді. Кесте индексіне SQL зі автоматты трде ажетіне арай сранады.

Корректиовка таблицасы баандарды жою, оларды клемдеін згерту жне т.б. ALTER TABLE командасы келесі пішінде орындалады.

ALTER TABLE <кесте аты>

ADD <баан аты> <млімет трі>, <лшем>:

Жаа баан осы команда бойынша кестеде соында трады ; бан NULL- маына кіргізіледі. Деректер базасын блдіріп алмау шін, бл команда ептілікті ажет етеді. Кестені жою. Тек бос кестені ана жою керек. Сондытан алдын ала берілген мліметті жою керек.

Пішім командасы. DROP TABLE <кесте аты>

Мліметпен амалдар орындау.

DML командасын басару шін кесте жне манипулдау берілген.

INSERT (ендірме) UPDATE (жаарту) DELETE (жою) осы командаларды кмегімен алаа енгізіледі жне шыарылады.

Кесте маына алнына енгізу.

INSERT командасына жаа мліметтер осылады.

INSERT командасына жаа млімет осу олдану шін енгізу, рамында біо немесе бірнеше жаа жол крсетілген кесте немесе сраныс.

Жеілдету пішім командасы.

INSERT INTO <”кесте аты”>

VALUES (<маына>, <маына>...);

INSERT командасында кесте аты INSERT командасы орындаланы аныталуы керек. CREATE TABLE командасында маына тізімінде (<маына>..) млімет тиісті маынада болу, баана кестесіне лайыты болу керек. Маана кестеге реттік баана мнінде енгізілген.

Программа олданушылара жазуды осыланы хабарлайды.

Мысал: барлы кесте жолы Spisok 1-ші курсты Spisok1 кестесіне

INSERT INTO Spisok1

FROM Spisok

WHERE kurs = s1;

Ала маынасынын згеруі:

UPDATE командасында бірнеше немесе барлы маыналы жолда згертуге болады.

Мысала: Ректорды бйрыымен барлы степендия алаты студенттерге 500 сом таайындады.

Бл шін мынадай команда беріледі:

UPDATE Spisok

SET stip =50000

UPDATEкомандасында WHERE сзін жаартып тек арнаулы жолдада беруге болады.

Мысал: UPDATE Spisok

SET stip =500

WHERE kurs =1;

SET сйлемінде UPDATE командасын тір арылы кез келген санды маына баандаын крсетуге болады.

Тек ана UPDATE командасында бірнеше кестені згертуге болмайды. UPDATE командасы. SET сйлемінде склерный выражение ала мнін олдануа болады. Айталы , барлы студенттер степендия млшерін 25% сірілді, згеріс енгізу керек.

UPDATE Spisok

SET stip = (*25) \100 яни, UPDATE командасы кестедегі мніні згеріс енгізуге олайлы.

Кестедегі жолды жою:

DELETE командасымен аландаы блек мн емес, толы жолдар жойылады. DELETE командасы орындалннан кейін барлы кестелерде бос болады, мысалы: DELETE FROM Spisok; наты крсетілген жолды жою шін предикатты олдануа болады.

DELETE FROM Spisok WERE stip = немесе бір жазуды жою шін алашы кілт маынасын крсету керек.

DELETE FROM Spisok WHERE fio = “позняк” INSERT, DEKETE, UHDATE командасындаподзапросты олдануа болады.

Сраныс ру (SELEST командасы).

SQL тілі структуралы тіл сранысы болады. Бл сраныс оталыы- бл команда кмегімен, олданушы тапсырысты СУБД-а рады.

СУБД командасын орындааннан кейін крсетілген сраныс информациясын олданушыа сыну керек.

SQL- ді барлы сранысы SELEST командасыны кмегімен рылады, базада берілген кестедегі информацияларды анытап істестіру басталады.

Мысал СПИСОК кестесі барлы жазулармен кестені шыару шін келесі тр арылы алынады:

 

Фамилия Степендия

Команда беріледі:

SELEST fio, stip FROM Spisok;

Команданы орындалан нтижесі 15.2 суретте крсетілген.

SELEST командасы 15.2 сур.

SELEST- сз кілті, СУБД хабарлайды, команда сраныста екендігін.

Fio, stip-ала аттарыны тізімі, информация жне жаа кестені алыптасуын тадауа тиісті.

FROM Spisok;FROM- бастау сзі, рбір сраныста болуа тиісті;

Spisok- сраныса берілген деректі кестелер аты.

Нкте мен тірді символы (;)- команданы аяталан белгісі жне оны орындауа зірлігі.

SELEST деректі сзінен кейін ашы алан жер. рі арай тір арылы тадау ала аттары атап тіледі.

Базада берілген шыару ала тізімдерін балы баан кестелерінде крсетілмейді, оны “жлдызша” (*) символымен ауыстыру керек.

SELEST FROM Spisok;

SELEST командасымен кез келген жйе арылы ауыстыруа болады. Бл жйелі тізімдегі баан аты.SELEST командасы арылы беріледі. Мысал: баандаы шыу кестесінде

SELEST, kurs, grupa, fio from spisok; критериялы тадау. WHERE-ні сынысымен SELEST командасымен кестедегі жазуды тадау шарты беріледі; предикатты абылдауа болады маынаны “аиат немесе “жалан” екендігін.

Мысал SELEST командасы таблицадан СПИСОК студенттерді топты тандау шін керек.

SELEST Grupa, fio from spisok

WHERE grupa = ФФ1;

Бадарлама СПИСОК кестесіндегі барлы жазуларды арайды, оларды райсысын grupa =фф1; предикатыны аиаттылыын тексереді. Бл сранысты орындалу нтижесі 15.3 суретінде крсетілген.

SELEST командасы WHERE сынысымен.

Ескерту. Баан, WHERE сынысын пайдалану шін (grupa мысалымен) демалыс деректерін олдану шарт емес.

Шыару маынасын айталау.

DISTINCT предикаты SELEST командасында айталанан жазуды шыару, тадалан алада айталанан маынанын мазмнын шыарады. Маына рбір алада уникальный болуы тиіс. Шамаласа, Spisok кестесі бойынша футбол командасын тізімін жасау талап етіледі. Командаа р топтан бір-бір студенттен енгізу керек.

SELEST fio, grupa

DISTINCT futbol

FROM sport;

DISTINCT предикаты тексереді, тізімде андай маына шыарылды жне айталанан маына шыуын алып тастау керек.

Осылайша, SELEST командасы негізгі кестеге рсат етеді. Керекті информацияны кілдегідей трде берілген деректі алу.

Салыстырмалы операторлар.

SQL-да екі маына арасындаы типтік салыстыруа операторлар тапсырманы салыстыруды олданады. = (те),

Мысалы студентер фамилиясын сайлап алу керек, айсысы степендия алатындарын, 90 руб. Ктерілетін.

SELEST*

FROM Spisok

WHERE stip>90

Булевы операторы. AND операторы екі мнерді салыстырады-A ANDB-длелдеме ретінде жне шынайы беру нтижесі, тек екеуіні шынайы болан жадайда ана беріледі.

OR операторы екі нтижені салыстырады –A OR B- длелдеме ретінде жне нтижесін тек шынайы ана арай, егер оларды бірейі шынайы болса.

NOT операторы жалыз талдайды.

NOTA мнері делелдеме ретінде жне оны маынасы арама-арсы згертеді

Мысалы: ФФ1 тобынан SPISOK кестесіненбарлы студентерді сайлап алу керек, 90 руб. Степендия алатындады.

SELEST*

FROM SPISOK

WHERE grupa=ФФ 1 anp stip<90)

Сранысты алыптасуы шін арнайы IN, BETWEEN, IS NULL арнайы операторлар олданылады. IN операторы кптеген элементтерді сайлап алуа рсат етеді.

Мысалы; SPORT кестесінен барлы студентерді сайлап алу, 150 жне 200 руб. Клемінде арнайы степендия алатындарды.

SELEST*

FROM SPORT

WHERE stip IN

BETWEEN оператоторында сас.

Онда бастауыш шекара жне соы кптеген мне беріледі, ал оларды арасында ANP сз екеуінінарасындаы.

Мысалы; SPISOK кестесінен барлы студенттер жазуын алу керек, фамилиясы яни Е рпімен М рпімен басталатын.