SQL (Structured Query Language)
Պատմություն
SQL-ի բաղկացուցիչ հիմնական մասերը
Աղյուսակ
Հաճախ օգտագործվող տիպեր
Պարզ հարցումներ
Տվյալների պրոյեկցիա
Տողերի ընտրություն
Տողերի դասավորում
Տողերի համեմատում
Առանց կրկնությունների
Միաջակայք
Արժեքները բազմությունից
Null արժեքներ
Տվյալների հենքերի օրինակներ
Համակարգիչներ վաճառող կազմակերպություն
Համաշխարհային պատերազմին մասնակցած նավեր
Օդանավակայան
Խնդիրներ
1.39M
Категория: ПрограммированиеПрограммирование

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_to
FROM 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.doc

21. Խնդիրներ

1.
Գտնել չվերթի համարը, ամսաթիվը, ուղևորի համարը, որը
թռել է 13/04/2003թ․-ից մինչև 25/04/2003թ․ ընկած
ժամանակահատվածում:
2.
Գտնել գտնել նավերի դասերը, որ կառուցել է USA կամ
Gt.Britain-ը:
3.
Ships աղյուսակից գտնել նավերի անունները, դասերը և ջուր
իջեցման տարին: Կարգավորել տողերը ըստ դասի և ջուր
իջեցման տարեթվի աճման կարգով:
English     Русский Правила