FOREIGN KEY (продавец)
REFERENCES ПРОДАВЦЫ,
FOREIGN KEY (изг, запчасть)
REFERENCES ЗАПЧАСТИ);
Кестелерді құрғаннан кейн оларға деректерді енгізу керек.
Тапсырмаларды орындауға қажетті əдістемелік нұсқаулар:
Оқулық материалды жəне түсіну кезінде негізгі түсініктемелерді ұғу жəне материалды
бекіту арқылы жүргізілу керек.
3 Қарапайым сұраныстар
Сұрақтар:
1. Сұрыптаудың өсу ретін қалай ұйымдастыруға болады?
2. Таңдау шарттарын атап бер.
3. Құрылымдық таңдау шарттарын қалай құруға болады?
4. SELECT қайталанатын жолдарымен қалай жұмыс істейді болады?
Тапсырмалар:
1. SELECT инструкциясы.
2. FROM инструкциясы.
3. WHERE инструкциясы.
4. ORDER BY инструкциясы.
Келесі сұраныстарды қарастырайық:
Барлық дүкендер тізімін шығару:
SELECT *
FROM МАГАЗИНЫ
Жұлдызша (*) ретіне қарай барлық бағандарды шығарады. Қажетті тəртіп бойынша
бағандарды қоюға болады.
Есептелетін бағандар. Есептелетін бағанды алу үшін қайтарылатын бағандар тізімінде
өрнекті көрсету қажет. Өрнектер жақшалардан, қосу, алу, көбейту жəне бөлу амалдарынан
тұруы мүмкін. Арифметикалық өрнекке қатысатын бағандар сандық деректерден тұруы керек;
əйтпесе қате жайлы хабарлама шығады.
Егер əрбір сатушыға сатудың жоспарлық көлемін өзінің сату көлемінен 3 пайызға
көтерсе, не шығады?
SELECT фамилия, план, (план+(0.03*продажа))
FROM ПРОДАВЦЫ
Көптеген ДҚБЖ-де қосымша арифметикалық амалдар SQL өрнектерінде қолдануға
болатын орнатылған функциялар жəне символдар жолдарына қолданатын амалдар іске
асырылған.
Барлық сатушылардың фамилияларын жəне жұмысқа алынған жылы мен ай тізімін
шығару:
SELECT фамилия, MONTH(нач_раб), YEAR(нач_раб)
FROM ПРОДАВЦЫ
Қайталанатын жолдар. Сұрыптауға қайтарылатын бағандар тізімінде кестенің алғашқы
кілтін көрсетсе, онда сұраныс нəтижесінің əрбір жолы бірегей болады (себебі, алғашқы кілт
мəндері барлық жолдарда əртүрлі). Егер алғашқы кілт көрсетілмесе, сұраныс нəтижесі
қайталанатын жолдардан тұруы мүмкін.
Дүкендердің барлық менеджерлерінің идентификаторлар тізімін шығару:
SELECT номер_менеджера
FROM МАГАЗИНЫ
Егер SELECT инструкциясында қайтарылатын бағандар тізімінің алдында DISTINCT
предикатын көрсетсе, сұраныс нəтижесінің кестесіндегі қайталанатын жолдарды жоюға
болады.
Менеджері 308 идентификаторлы сатушы болмайтын, дүкендер тізімін шығару:
SELECT город, номер_менеджера
FROM МАГАЗИНЫ
WHERE номер_менеджера<>308
Диапазон. Таңдау шартының келесі басқа түрі - мəннің диапазонға тиістілігін тексеру
болып табылады. Бұл Between … end операторы арқылы орындалады.
2009 жылдың соңғы кварталында жасалған барлық тапсырыстарды табу:
SELECT номер_заказа, дата_заказа, изг, запчасть, стоимость
FROM ЗАКАЗЫ
WHERE дата_заказа BETWEEN '2004-10-01'
AND '2009-12-31'
Жиынға тиістілік. IN операторы берілген мəндер тізіміндегі кейбір мəндерді салыстыру
үшін қолданылады, бұл жерде тексерілетін мəннің деректер типі тізімде көрсетілген мəндердің
деректер типімен салыстырмалы болуы керек.
Астанада, Қарағандыда жəне Қостанайда жұмыс істейтін сатушылар тізімін шығару:
SELECT фамилия, продажа, план
FROM ПРОДАВЦЫ
WHERE магазин IN (51,52,62)
Үлгіге (шаблонға) сəйкестік. LIKE операторының көмегімен өрнекті берілген үлгімен
салыстыруға болады, бұл жерде алмастыру-символдарын қолдануға рұқсат етіледі:
% символы – бұл символ орнына кез-келген символдардың санын кез-келген қоюға
болады.
_ символы – жолдың бір символын алмастырады.
[ ] – жол символының орнына осы шектеулерде көрсетілген мүмкін символдардың біреуі
қойылады.
[^] – жолдың сəйкес символының орнына шектеулерде көрсетілгеннен басқа барлық
символдар қойылады.
КАМАЗ сатып алушыға несие лимитін ұсыну:
SELECT название, кредит
FROM ПОКУПАТЕЛИ
WHERE название LIKE 'КА%'
NULL мəніне теңдік. NULL мəні таңдау шартында үш мəнді логиканы қолдануға
мүмкіндік береді. Кез-келген берілген жол үшін сұрыптау шартын қолдану нəтижесі TRUE,
FALSE немесе NULL болуы мүмкін. NULL – кез-келген мəннің жоқтығын көрсететін арнайы
мəн. NULL – ол бос орын белгісі емес (бос орын – мүмкін белгі) немесе ноль (0-мүмкін сан)
белгісі емес; NULL нольдік ұзындық жолынан да өзгеше (бос жол). Кейде бағандар мəнін
NULL-ге теңестіруіне тексеру жəне оларды тікелей өңдеу қажетті болады. Ол үшін SQL-де
арнайы IS NULL арнайы тексеруі бар.
Дүкенге əлі бекітілмеген сатушыны табу:
SELECT фамилия
FROM ПРОДАВЦЫ
WHERE магазин IS NULL
Тапсырмаларды орындауға қажетті əдістемелік нұсқаулар:
Оқулық материалды жəне түсіну кезінде негізгі түсініктемелерді ұғу жəне материалды
бекіту арқылы жүргізілу керек. Тақырып бойынша терминдердің сөздігін құрастыр.
4 Реляциялық алгебра
Сұрақтар:
1. R⊆
F
S тета – қатынасының анықтамасын бер.
2. Эквиваленттік бойынша R⊆⊂=S қосылуының анықтамасын бер.
3. R⊆⊂S табиғи қосылуына анықтама бер.
4. R⊃⊂S; R⊆⊃S сыртқы қосылуына анықтама бер.
5. R⊆
F
S жартылай қосылуына анықтама бер.
Тапсырмалар:
1. Таңдау жəне проекция операциялары.
2. Декарттық көбейтінді.
3. Екі қатынас бойынша қосылу жəне бірігу операциялары.
4. Қатынастардың қиылысу, айырма жəне бөлу операциялары.
Сатылған қосалқы бөлшектер тұралы ақпаратты шығару:
SELECT *
FROM ЗАКАЗЫ, ЗАПЧАСТИ
WHERE ЗАКАЗЫ.запчасть = ЗАПЧАСТИ.шифр_запчасти
немесе
SELECT *
FROM ЗАПЧАСТИ INNER JOIN ЗАКАЗЫ
ON ЗАПЧАСТИ.шифр_запчасти = ЗАКАЗЫ.запчасть
Екі басқа кестенің бірігуіне үшінші кестені қосып ішкі бірігуді құруға болады.
Қосалқы бөлшектер, тапсырыс күні жəне сатып алушылар жайлы мəліметтер алу:
SELECT ЗАПЧАСТИ.название,
ЗАКАЗЫ.дата_заказа, ПОКУПАТЕЛИ.название
FROM ПОКУПАТЕЛИ INNER JOIN
(ЗАПЧАСТИ INNER JOIN ЗАКАЗЫ
ON ЗАПЧАСТИ.шифр_запчасти=ЗАКАЗЫ.запчасть)
ON ПОКУПАТЕЛИ.номер_покупателя
=ЗАКАЗЫ.покупатель
Бағандарды идентификациялау үшін кестелердің жалпы атауларын қолдану олардың
үлкендігінен қолайсыз. Əрбір кестеге қандай да бір қысқа атау, жалған ат (псевдоним) беруге
болады.
Қосалқы бөлшектер, тапсырыс күні жəне сатып алушылар жайлы мəліметтер алу.
Сұраныста кестенің жалған аттары қолданылады:
SELECT T.название, C.дата_заказа, K.название
FROM ПОКУПАТЕЛИ AS K INNER JOIN (ЗАПЧАСТИ
AS T INNER JOIN ЗАКАЗЫ AS C
ON T.шифр_запчасти=C.запчасть)
ON K.номер_покупателя=C.покупатель
Ішкі қосылу сыртқы қосылуға ұксас, бірақ басқа кестенің жазбаларының бос жиынымен
бірігетін қосылудың жетекші кестесінің жазбалары да деректердің шешуші жиынтығына енеді.
Кестенің қайсысы жүргізуші болатынын қосылу түрі анықтайды. LEFT – сол жақ сыртқы
қосу, жетекші болып қосылу түрінің сол жағында орналасқан кесте болады, RIGHT – оң жақ
сыртқы қосу, жетекші кесте қосылу түрінің оң жағында орналасқан кесте болады.
Тапсырмаларды орындауға қажетті əдістемелік нұсқаулар:
Оқулық материалды жəне түсіну кезінде негізгі түсініктемелерді ұғу жəне материалды
бекіту арқылы жүргізілу керек. Тақырып бойынша терминдердің сөздігін құрастыр.
5 Қорытынды сұраныс
Сұрақтар:
1. Агрегатты функцияларды атап бер.
2. MIN( ) жəне MAX( )функцияларын қолдану барысында сандық, жолдық жəне
күні\уақыты мəндерінің салыстырулары қалай жүргізіледі?
3. Агрегатты функцияларда NULL мəнін өңдеудің қандай ережелері бар?
Достарыңызбен бөлісу: |