Идентификаторлар және өрнектер



Дәріс 4. TSQL мәліметтерімен жұмыс істеу негіздері.

Жоспар
1. Идентификаторлар және өрнектер
2. Басқаратын конструкциялар
3. SELECT, INSERT, UPDATE, DELETE инструкциялар
4. SQL предикаттары және үштік қисын
5. Тұрақтылар, функциялар және өрнектер
6. Агрегаттық функциялар

1. Идентификаторлар және өрнектер
SQL Server-мен жұмысы үшін Transact-SQL деп аталатын SQL тілінің диалекті қолданылады. SQL алғашқы тілімен салыстырғанда Transact-SQL-да қосымша кілттік сөздер енгізілген.
Негізгі операторлар INSERT, DELETE, UPDATE, SELECT және басқа операторларда SQL тілінің синтаксисі қолданылады. Transact-SQL қосымша мүмкіндіктері ақпараттың көлемін басқарауына байланысты.
SQL Server барлық объектілерінде өз атаулары бар. Уақытша объектілерді белгілеу үшін арнайы символдар қолданылады: @ - уақытша айнымалылар немесе параметрлер, # - уақытша кесте не сақталатын процедура. Уақытша объектілер бір сеанс не транзакция уақытында бар болып, содан кейін өшіріледі. Аумақты айнымалыларды белгілеу үшін келесі символдар қолданылады: @@[атауы], ##[атауы] . Шектеулерді шектеу үшін объект атауын квадрат жақшаларына не тырнақшаға алады.

Өрнектер функция, амалдар, тұрақталыр идентификаторларының жинағы ретінде көрсетіледі. Өрнек сақталатын процедураның командаларында аргумент ретінде қолданылады. Келесі операторлар SQL Server-де анықталады:
Унарлық
+, -
Меншіктеу
=
Арифметикалық
+, -, *, /, %
Жолдық
+
Салыстыру
<, >, =, <=, >=, <>, !=, !<, !>
Қисын
ALL, AND, ANY, BEETWEN, EXISTS, IN, LIKE, NOT, OR, SOME
Биттік
&,, ^
Қисын операторлар сұратуларды жазғанда не мәліметтерді өзгерту командаларында қолданылады.
ALL - скалярлық өрнектің барлық ішкі сұраныстың қайтаратын мәндерімен салыстыруы орындалады. Егер қисын шарты орындалса, сонда ғана барлық шарттар орындалды деп айтуға болады.

Синтаксисі:
<өрнек>{=, <>, !=, >, >=, !<, <=, !<} ALL (<ішкі сұраныс>)
ANY - ішкі сұраныстың қайтаратын мәндерінің әрқайсысымен скалярлық өрнектің салыстыруын орындайды. Және ақиқатты қайтарады, егер ішкі сұраныстың мәндерінің бірі жұмыс істесе.
Синтаксисі:
< өрнек >{=, <>, !=, >, >=, !<, <=, !<} ANY (<ішкі сұраныс >)
BEETWEN - оператор ақиқат мәнін қайтарады, егер өрнек мәні анықталатын диапазонына кірсе. Егер NOT қисын операторы ақиқатты қайтарады егер мән диапазонға кірмесе.
Синтаксисі:
< өрнек > [NOT] BEETWEN <жоғарғы табалдырық> AND <төмеңгі табалдырық >
IN - оператор ақиқатты қайтарады, егер ішкі сұраныстың қайтаратын мәндерімен өрнек мәндері сәйкес келсе. Мәндер тізімі үтір арқылы саналады. Оператордың жалпы форматы:
< өрнек > [NOT] IN (<ішкі сұраныс > <мәндер тізімі>)
EXISTS - бар болу операторы ақиқатты қайтарады, егер ішкі сұраныс бір жолды қайтарса, ал ішкі сұраныстың нәтижесі бос болса, онда жалған мәні қайтарылады.

2. Басқаратын конструкциялар
1) BEGIN … END - бір блокқа екі не одан көп командаларды топтау амалын жүргізеді. transact SQL кейбір командалары басқа командалармен орныдалмайды, сондықтан олар берілген конструкцияға кірмейді.
2) If <қисын өрнек >
<команда 1>
[ Else
<команда 2>]
IF кілттік сөзден кейін шарт болады. Есептеу нәтижесі ақиқат, жалған, не белгіссіз болу мүмкін. Егер жалған не белгіссіз болса, онда ELSE кілттік сөзден кейін болатын инструкция орындалады.
3) CASE … END - жиын таралымы, басқа өрнектерде айнымалы ретінде қолданылатын функция болады.
4) COALESCE - мәндер тізімінен нөлдік емес бірінші мәнді қайтарады.
COALSCE (<мәндер тізімі >)
5) WHILE циклінің инструкциясы
WHILE <шарт>
< цикл денесі>

3. SELECT, INSERT, UPDATE, DELETE инструкциялар
SQL SELECT инструкциясы бір не бірнеше кестелерден жолдарды шығарады. SELECT инструкциясында қажет мәліметтермен бағандар тізіміні береді. Сонымен қатар, бұл инструкцияда сізге қажет мәліметтерді топтау не сұрыптау амалдарын белгілеуге болады. Мынадай түрде SELECT инструкциясының базалық құрылымы болады:
SELECT бағандар_тізімі
FROM кесте_тізімі
WHERE таңдау _шарты
GROUP BY топтау _үшін_бағандар
HAVING таңдау _шарты
ORDER BY сұрыптау _үшін_бағандар
Ал, мына түрі SELECT инструкциясының қарапайым түрін көрсетеді:
SELECT * FROM Table1

SELECT сөзінен кейін келетін (*) жұлдызша символы «барлық бағандар» дегенді білдіреді.
FROM сөйлемінде бір кесте не көрініс беріледі. Берілген мысалда кесте Table1.
Кестеден қайталанатын жолдарды шектеу үшін SELECT инструкциясына WHERE сөйлемін қосу керек.
WHERE сөйлеміндегі таңдау шарты бірнеше предикаттардан тұру мүмкін. Бұл предикаттар AND және OR операторлармен біріккен. Болдырмау шарты NOT қисын операторы арқылы беріледі.
ORDER BY сөйлемі қортынды кестені SELECT инструкциясы арқылы сұрыптау үшін қолданылады.

Мынадай түрде INSERT инструкциясының базалық құрылымы болады: INSERT INTO кесте_атауы (бағандар_тізімі) VALUES (бағандар _мәндер_ тізімі) Кесте атуынан кейін INSERT инструкциясында жақшаға алынған бағандар тізімі, содан кейін осы бағандардың мәндер тізімі бар VALUES сөйлемі кездеседі. INSERT инструкциясында екі тізімде қатаң бір-біріне сәйкес болу керек, яғни мәндер бағандар тізіміне сәйкес белгіленуі керек. Бағандар тізімін белгілемеуге де болады, ол үшін кестенің барлық баған мәндері берілуі керек. INSERT инструкциясында жүйе анықта алмайтын мәдердің барлық бағандары берілу керек. IDENTITY атрибутымен бағанды анықтауға қажет емес, себебі мәні үнсіз келісім бойынша беріледі. Егер қалып қойған баған үшін мәні үнсіз келісім бойынша берілсе, онда осы бағанға ол да жүктеледі. IDENTITY және rowversion бағандарына автоматты түрде сәйкес идентификаторлар меншіктеледі, ал қалған бағандарға NULL мәні беріледі. Бұдан басқа, INSERT инструкциясында DEFAULT кілттік сөзі жалғасады, себебі оған үнсіз келісім мәні не NULL меншіктеледі.
INSERT инструкциясы кестеге жаңа жолды қосу үшін қолданылады.

UPDATE инструкциясы кестедегі бар жолдарды жаңарту үшін қызмет етеді
UPDATE инструкциясының базалық құрылымы келесі түрде болады:
UPDATE кесте _атауы
SET меншіктеу_амалы
WHERE таңдау _шарты
SET кілттік сөзінен кейін осындай синтаксиспен бір не бірнеше амалдар беріледі:
баған _атауы = өрнек
WHERE сөйлемінде жаңартылатын кесте жолдарын таңдау шарты беріледі. Егер WHERE сөйлемі берілмесе, онда кестенің барлық жолдары жаңартылады.
Кестеден жолды өшіру үшін DELETE инструкциясы беріледі:
DELETE FROM кесте _атауы
WHERE таңдау _шарты
Кездейсоқ жағдайда кестеде барлық жолдарды өшіріп тастауға болады - WHERE сөйлемсіз DELETE инструкциясын жүктесе. Бірақ кестенің өзі базада қалады.

4. SQL предикаттары және үштік қисын
SQL предикаты - бұл қарапайым қисын өрнек, оның мәні ақиқат, жалған не белгіссіз болу мүмкін. Жалпы алғанда, нәтижесі келесі типке және ANSI стандартына сәйкес
өрнек1 = өрнек2
егер, өрнек1, өрнек2 не екеуіде NULL тең болса. Бұл ереже салыстыру операторына қарамайды, ол өрнекте тең, тең емес, үлкен, кіші не т. б.
Предикатты болдырмау NOT операторы және екі предикаттарды біріктіру AND не OR операторлары жай емес екілік қисынды қолданады, ал үштік қисынның қызмет ету сызбасы кесте 2 берілген.

Кесте 2 - Предикаттар үшін үштік қисында қолдану
p
q
NOT p
p AND q
p OR q
TRUE
TRUE
FALSE
TRUE
TRUE
TRUE
FALSE
FALSE
FALSE
TRUE
TRUE
Белгіссіз
FALSE
Белгіссіз
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
FALSE
FALSE
TRUE
FALSE
FALSE
FALSE
Белгіссіз
TRUE
FALSE
Белгіссіз
Белгіссіз
TRUE
Белгіссіз
Белгіссіз
TRUE
Белгіссіз
FALSE
Белгіссіз
FALSE
Белгіссіз
Белгіссіз
Белгіссіз
Белгіссіз
Белгіссіз
Белгіссіз
TRUE
TRUE
FALSE
TRUE
TRUE

5. Тұрақтылар, функциялар және өрнектер
SELECT кілттік сөзінен кейін кездесетін қайтарылатын мәндер тізімінде бағандар атауларынан басқа, тұрақтылар, функциялар және өрнектер болады.
Сандық мәліметтер үшін SQL төрт стандартты арифметикалық амалдарды (+, -, * және /) қайтарады, сонымен қатар, модуль бойынша бөлу не бүтін сандық бөлуден қалдық алу (%) .
Transact SQL (+) операторы екі символдық жолды біріктіру үшін қолданылады.
SQL скалярлық функциялардың реті анықталған. Скалярлық функция литерал, баған не өрнек атауы болу мүмкін аргументтерді қабылдайды. Егер фукнцияда баған атауы берілсе, онда ол қалыптасқан кестедегі әр жолдың баған мәнінде қолданылады.
Үшінші кестеде SQL Server қамтамасыз ететін негізгі скалярлық функциялардың тізімі беріледі:

Кесте 3 - SQL Server-мен қамтамасыз етілетін функциялар
Типті алмастыру функ-ы
Жолдармен жұмыс істеу үшін қажет функциялар
Математикалық функциялар
Күн мерзіммен және уақытпен жұмыс істеу фу-ы
Қолданушы мен рөлдермен жұмыс істеу функциялары
CAST
ASCII (жол)
ABS (өрнек)
DATEADD
CURRENT_USER
CONVERT
CHAR (ASCII-код)
ACOS (өрнек)
DATEDIFF
IS_MEMBER (рөл)
STR
CHARINDEX (ішкі жол)
ASIN (өрнек)
DATENAME
IS_SRVROLEMEMB
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz