FROM ПРОДАВЦЫ
WHERE номер_продавца <> ANY
(SELECT номер_менеджера
FROM МАГАЗИНЫ)
ALL тексерісінде алты салыстыру операторларының біреуінің көмегінің тексерілетін мəн
кезекпен ішкі сұраныспен іріктеліп алынған бағандағы əрбір элементпен салыстырылады. Егер
барлық салыстырулар TRUE нəтижесін берсе, онда ALL тексерісі TRUE мəнін қайтарады.
Жоспарлы сатылым көлемімен əрбір сатушыға нақтылы сатылым көлемі 50 пайызға
дүкен жоспарынан асатын дүкендер тізімін шығару:
SELECT город, план_объем
FROM МАГАЗИНЫ
WHERE (0.50*план_объем) < ALL
(SELECT продажа
FROM ПРОДАВЦЫ
WHERE магазин=номер_магазина)
Егер ішкі сұраныс HAVING ұсынысында болса, онда ол жолдар тобын таңдауға қатысады.
БЕЛ (Белоруссия) жасаған қосалқы бөлшектерге тапсырыстар құны тапсырыстардың
жалпы орташа құнынан үлкен болатын сатушылар тізімін шығару:
SELECT фамилия, AVG(стоимость)
FROM ПРОДАВЦЫ, ЗАКАЗЫ
WHERE номер_продавца=продавец
AND изг='БЕЛ'
GROUP BY фамилия, номер_продавца
HAVING AVG(стоимость) >=
(SELECT AVG(стоимость)
FROM ЗАКАЗЫ
WHERE продавец=номер_продавца)
Тапсырмаларды орындауға қажетті əдістемелік нұсқаулар:
Оқулық материалды жəне түсіну кезінде негізгі түсініктемелерді ұғу жəне материалды
бекіту арқылы жүргізілу керек. Тақырып бойынша терминдердің сөздігін құрастыр.
8 Деректер қорына өзгерістер енгізу
Сұрақтар:
1. Жою инструкциясының бағыныңқы сұранысында сыртқы сілтемелер қалай
орындалады?
2. Жаңарту кезінде таңдау шартына тексеру нəтижесінің мəні қандай болады?
3. Қандай инструкция іздеуші деп аталады?
4. SET ұсынысындағы меншіктеу операциясының өрнегі?
5. Қай инструкция позициялық деп аталады?
Тапсырмалар:
1. Қосу сұранысы.
2. Жою сұранысы.
3. Жаңарту сұранысы
Жұмысқа жаңа сатушы Малахов келесідей деректермен алынды делік:
Фамилия Малахов
Идентификатор 311
Должность менеджер
Магазин Караганда
(дүкенің идентификаторы 52)
Дата приема 05.03.2010 ж.
Личный план бекітілмеген
Объем продаж 0.00
Сатушы Малахов жайлы деректер қорына ақпарат қосатын INSERT инструкциясын
келтірейік:
INSERT INTO ПРОДАВЦЫ (фамилия, номер_продавца, магазин, должность, нач_раб,
продажа)
VALUES ('Малахов', 311,52,'менеджер',2010-03-05, 0.00)
Жою сұранысы. Реляциялық деректер қорынан жолды жою, осы жолмен көрсетілген
объектінің «сыртқы əлемнен» жоғалған кезінде жүзеге асады. Жолды жою мақсаты - деректер
қоры нақты өмірдің дəл моделі болып қалуы. Реляциялық деректер қорынан ең аз ақпарат
бірлігін жою бір жол болып табылады.
DELETE
FROM <кесте_аты > [ WHERE <таңдау_шарты>]
FROM ұсынысында жоюға қажетті жолдары бар кесте көрсетіледі. WHERE ұсынысында
жойылуы тиіс жолдарды сұрыптау критерийі көрсетіледі.
Жақында жұмысқа алынған Малахов компаниядан кетпекші болды деп жорамалдайық.
Сатушы Малахов жайлы ақпаратты деректер қорынан жою:
Жаңарту сұранысы. Деректер қорында сақталған ақпаратты жаңарту «сыртқы əлемдегі»
сəйкес өзгерістер болғанда қажет. Жаңартудың кіші бірлігі бір жолдағы бір баған мəні болып
табылады.
UPDATE <кесте_аты>
SET баған_аты = <өрнек> [,…n]
[WHERE <таңдау_шарты>]
UPDATE инструкциясы бір кестеде таңдалған жолдағы бір немесе бірнеше бағандардың
мəнін жаңартады. Инструкцияда өзгертілетін мақсатты кесте көрсетіледі, оған қоса
қолданушының кестені толықтыруға, нақты бағанды жаңартуға рұқсаты болуы керек. WHERE
ұсынысы жаңартылатын кесте жолдарын іріктейді. SET ұсынысында жаңартылатын бағандар
көрсетіліп, оларға жаңа мəндер беріледі.
КАМАЗ компаниясы үшін несие лимитін 60000 үлкейту жəне оны Джанзаковаға бекіту
(идентификатор 309):
UPDATE инструкциясы сұрыптау шартына сəйкес бірнеше жолды бір уақытта жаңарта
алады.
Астанадағы барлық сатушыларды (идентификатор 51) Қарағандыға (идентификатор
52) ауыстыру жəне олардың жеке жоспарларын 10 пайызға төмендету:
Сұрыптау шарты орындалатын жолдар жаңартылады, ал сұрыптау шарты орындалмайтын
жолдар жаңартылмайды. Берілген типтегі UPDATE инструкциясы кестеде жолдарды іздейді,
кейде ол іздеуші деп аталады.
Тапсырмаларды орындауға қажетті əдістемелік нұсқаулар:
Оқулық материалды жəне түсіну кезінде негізгі түсініктемелерді ұғу жəне материалды
бекіту арқылы жүргізілу керек. Тақырып бойынша терминдердің сөздігін құрастыр.
9 Деректердің тұтастығын қамтамасыз ету
Сұрақтар:
1. Алғашқы кілт дегеніміз не?
2. Сыртқы кілт дегеніміз не?
3. Мəндер ерекшеліктеріне аңықтама беріңіз.
4. Деректердің тұтастығын қамтамасыз ететін стандартты механизмдерді атаңыз.
5. FOREIGN KEY мен CHECK шектеулері мүмкін болатын мəндерді анықтаңыз.
Тапсырмалар:
1. Деректердің бар болуы
2. Мəннің шарты
3. Кестенің тұтастығы
4. Сілтемелі тұтастық
Мəннің шарты. Деректер қорындағы əрбір бағанда өзінің домені бар, ол - берілген
бағанда сақталуына рұқсат етілетін мəндер жиынтығы. ДҚБЖ-ге нақты бір диапазонға
кірмейтін мəн жазбасы мұндай бағандарда мүмкін емес. Кесте құру кезінде əрбір бағанға нақты
бір типті дерек бекітіледі, бағанға осы типті деректер енгізілуін ДҚБЖ қадағалайды. SQL Server
деректер дұрыстығына тексерісті қамтамасыз етеді, қолданушыға көрсетілген бағанға қандай
деректерді енгізуге болатынын анықтайтын ереже құруына мүмкіндік береді.
Бұл ереже бағанға теріс сандар жоспарын, 500000 асатын сандарды енгізуге тыйым
салады. Ережелердің деректер қорындағы бағандарға немесе басқа объектілерге рұқсаты жоқ.
SQL2 стандарты деректер дұрыстығын тексеруде кеңейтілген қолдау көрсетеді, екі
қосымша амал береді – баған мəніне шектеме жəне домендер.
Егер бағанға шектеме қойылса, онда əрбір қосылуда немесе жолдарының өңделуіне осы
баған мəніне шектеме орындалуын ДҚБЖ аутоматты түрде тексереді. Баған шектеме кесте
құру кезінде CHECK кілті сөзімен беріледі:
CREATE TABLE ПРОДАВЦЫ
Достарыңызбен бөлісу: |