SQL (Structured Query Language)
1. SQL (Structured Query Language)
ԿԱՌՈՒՑՎԱԾՔԱՅԻՆ ՀԱՐՑՈՒՄՆԵՐԻ ԼԵԶՈՒ2. Պատմություն
1970 –ական թվականների սկզբներին IBMում իրականացվել է փորձնական SEQUEL(Structured English Query Language)
տվյալների հենքերի ղեկավարման
համակրգը`ՏՀՂՀ (DBMS). 1981 թվականին
IBM-ը հայտարարեց իր առաջին SQL-ի
վրա հիմնված ծրագրային փաթեթի մասին:
Այժմ գոյություն ունեն SQL-ի բազմաթիվ
բարբառներ: Գոյություն ունի հիմնական 3 ստանդարտ
ANSI`American National Standards Institut-մշակված 1987-89թթ.
SQL2-1992թ.
SQL3-1999թ.
3. SQL-ի բաղկացուցիչ հիմնական մասերը
Հարցումների լեզու, որը մոտ է ռելացիոն հանրահաշվին:Տվյալների մշակման լեզու ` DML (Data Manipulation Language )
Տվյալների սահմանման լեզու`DDL (Data Definition Language)
4. Աղյուսակ
SQL-ի հիմնական հասկացություններից է աղյուսակը`table (տեսության մեջ անվանում են հարաբերություն).
SQL-ի աղյուսակները կարելի է գրաֆիկորեն պատկերել երկչափ
աղյուսակի միջոցով, որի առաջին տողում լրացվում են սյան
աննուները(ատրիբուտներ): Յուրաքանչյուր սյան
համապատասխանում է որոշակի տիպ և այդ սյան արժեքները
պետք է լինեն համապատասխան տիպի:
5. Հաճախ օգտագործվող տիպեր
Տիպի անվանումՏիպի արժեքի օրինակ
Նկարագրություն
Int
40145
Ամբողջ տիպ (4 բայթ)
smallint
1207
Ամբողջ տիպ (2 բայթ)
tinyint
25
Ամբողջ տիպ (0-255) (2 բայթ)
bit
0 (1)
բիթ (0 կամ 1)
Decimal,numeric
-23.002
Սահող կետով թվեր (- 10^38 +1 մինչև
10^38 - 1)
Float, real
123.1
Սահող կետով թվեր (2 բայթ)
Money,
smallmoney
125.00
Ստորակետից հետո 4 ճշտությամբ
(8 և 4 (2 բայթ))
Char, nchar
‘Roma’, N’Roma’
Ֆիքսած երկարությամբ տող(8000)
Varchar, nvarchar
‘David’, N‘David’
Փոփոխական երկարությամբ
տող(8000)
Text, ntext
‘AAA’, N’AAA’
Փոփոխական երկարությամբ
տող(2^31)
6.
Դիտարկենք Trip աղյուսակը, որը օրինակ լրացված էհետևյալ տվյալներով.
trip_no
…
ID_comp
plane
town_from
town_to
1100
4Boeing
Rostov
Paris
14:30:00
17:50:00
1101
4Boeing
Paris
Rostov
8:12:00
11:45:00
1123
3TU-154
Rostov
Vladivostok
16:20:00
3:40:00
1124
3TU-154
Vladivostok
Rostov
9:00:00
19:50:00
1145
2IL-86
Moscow
Rostov
9:35:00
11:23:00
1146
2IL-86
Rostov
Moscow
17:55:00
20:01:00
1181
1TU-134
Rostov
Moscow
6:12:00
8:01:00
1182
1TU-134
Moscow
Rostov
12:35:00
14:30:00
1187
1TU-134
Rostov
Moscow
15:42:00
17:39:00
…
…
…
…
time_out
…
time_in
…
7. Պարզ հարցումներ
SELECT *FROM Trip
8. Տվյալների պրոյեկցիա
SELECT ID_Comp, town_from, town_toFROM Trip
trip_no ID_comp plane
1100
4 Boeing
1101
4 Boeing
1123
3 TU-154
1124
3 TU-154
1145
2 IL-86
1146
2 IL-86
1181
1 TU-134
1182
1 TU-134
1187
1 TU-134
…
…
…
town_from
Rostov
Paris
Rostov
Vladivostok
Moscow
Rostov
Rostov
Moscow
Rostov
…
town_to
Paris
Rostov
Vladivostok
Rostov
Rostov
Moscow
Moscow
Rostov
Moscow
…
time_out
time_in
14:30:00 17:50:00
8:12:00 11:45:00
16:20:00 3:40:00
9:00:00 19:50:00
9:35:00 11:23:00
17:55:00 20:01:00
6:12:00 8:01:00
12:35:00 14:30:00
15:42:00 17:39:00
…
…
9. Տողերի ընտրություն
SELECT *FROM Trip
WHERE trip_no
> 1124
SELECT *
FROM Trip
WHERE town_from = 'Moscow
and
town_to = 'Rostov'
trip_no ID_comp plane
1100
4 Boeing
1101
4 Boeing
1123
3 TU-154
1124
3 TU-154
1145
2 IL-86
1146
2 IL-86
1181
1 TU-134
1182
1 TU-134
1187
1 TU-134
…
…
…
town_from
Rostov
Paris
Rostov
Vladivostok
Moscow
Rostov
Rostov
Moscow
Rostov
…
town_to
Paris
Rostov
Vladivostok
Rostov
Rostov
Moscow
Moscow
Rostov
Moscow
…
time_out
time_in
14:30:00 17:50:00
8:12:00 11:45:00
16:20:00 3:40:00
9:00:00 19:50:00
9:35:00 11:23:00
17:55:00 20:01:00
6:12:00 8:01:00
12:35:00 14:30:00
15:42:00 17:39:00
…
…
trip_no ID_comp plane
1100
4 Boeing
1101
4 Boeing
1123
3 TU-154
1124
3 TU-154
1145
2 IL-86
1146
2 IL-86
1181
1 TU-134
1182
1 TU-134
1187
1 TU-134
…
…
…
town_from
Rostov
Paris
Rostov
Vladivostok
Moscow
Rostov
Rostov
Moscow
Rostov
…
town_to
Paris
Rostov
Vladivostok
Rostov
Rostov
Moscow
Moscow
Rostov
Moscow
…
time_out
time_in
14:30:00 17:50:00
8:12:00 11:45:00
16:20:00 3:40:00
9:00:00 19:50:00
9:35:00 11:23:00
17:55:00 20:01:00
6:12:00 8:01:00
12:35:00 14:30:00
15:42:00 17:39:00
…
…
10. Տողերի դասավորում
SELECT *FROM Trip
WHERE town_from = 'Moscow' and
ORDER BY plane asc,time_out asc
Դասավորում է աճման կարգով:
Կարելի է գրել նաև
ORDER BY plane,time_out
town_to = 'Rostov'
11.
Նվազման կարգով դասավորելու համարպետք է գրել
SELECT *
FROM Trip
WHERE town_from = 'Moscow' and
town_to = 'Rostov'
ORDER BY plane desc,time_out desc
12. Տողերի համեմատում
SELECT *FROM Trip
WHERE plane like 'TU%’
Գտնում է այն չվերթները, որոնք իրականացվում են «TU»-ով սկսվող
ինքնաթիռով։
“%” կամայական թվով կամայական սիմվոլ
“_” մեկ հատ կամայական սիմվոլ
13. Առանց կրկնությունների
SELECT distinct town_from,town_to
FROM Trip
Ուղությունները՝ քաղաքների զույգերը, որոնց միջև կա թռիչք․
Յուրաքանչյուր ուղղություն մեկ անգամ։
14. Միաջակայք
select *from Trip
where time_out between '08:00' and '10:00’
Գտնում 08:00 -ից 10:00 (ներառյալ) չվերթները
15. Արժեքները բազմությունից
select *from Trip
where town_from in ('Paris','London','Moscow')
16. Null արժեքներ
select *from Classes
where displacement is null
Դասերը, որոնց displacement-ը որոշված չէ
17. Տվյալների հենքերի օրինակներ
oՀամակարգիչներ վաճառող կազմակերպությունoՀամաշխարհային պատերազմին մասնակցած նավեր
oՕդանավակայան
18. Համակարգիչներ վաճառող կազմակերպություն
19. Համաշխարհային պատերազմին մասնակցած նավեր
20. Օդանավակայան
Օրինակների մասին մանրամասն նայել Sxems_Arm.doc21. Խնդիրներ
1.Գտնել չվերթի համարը, ամսաթիվը, ուղևորի համարը, որը
թռել է 13/04/2003թ․-ից մինչև 25/04/2003թ․ ընկած
ժամանակահատվածում:
2.
Գտնել գտնել նավերի դասերը, որ կառուցել է USA կամ
Gt.Britain-ը:
3.
Ships աղյուսակից գտնել նավերի անունները, դասերը և ջուր
իջեցման տարին: Կարգավորել տողերը ըստ դասի և ջուր
իջեցման տարեթվի աճման կարգով: