Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция МБ(кк).doc
Скачиваний:
0
Добавлен:
10.01.2024
Размер:
320 Кб
Скачать

§ 10. Sql сораўлар тили.

Сораўлар тили - белгили талаплар тийкарында МБға мирәт етип, оннан сораў талапларына жуўап беретуғын нәтийжелерди алыў тили. Ҳәзирги ўақытта түрли Мбсы ҳәм олардың системалары жаратылған. Бирақ барлық реляциялық түрдеги МБ-на мирәт етип олардан тийисли мағлыўматларлы алыўдың SQL(Structed Query Language – Структураластырылған сораўлар тили) тили ислеп шығылған. Бул тилде сораўлар қандай қураллар жәрдеминде жаратылыўына тоқтаймыз. Соны айтыўымыз керек, айырым МББСларында (мысалы, Accessте) оны ислетпестен таңлаўға сораў яки айрықша үлги бойынша сораў бланкасы ретинде мирәт еип тийисли мағлыўматлар алынады., бундай сораўларды дүзиў ушын База данных/Создать(Мағлыўматлар базасы/дүзиў) буйрығынан пайдаланылады. Сораў нәтийжесин жуўап ретинде таблица көринисинде алыў мүмкин.

10.1. Sql тилиниң буйрықлары ҳәм операторлары

SQL тили ҳәзир ықтыярый берилгенлер базасына мораў берип оннан жуўап алыўды тәмийнлеўши қурал болып есапланады. Бул толық табылатуғын мысал тийкарында көрип шығамыз. Керекли түсиниклер мүмкиншилиги барынша қаралып атырған жағдайларды түсиндириў ушын киритиледи.

Мысалы, төмендеги таблицада кәрхана хызметшилери ҳаққында мағлыўматлар келтирилген

Name

Dob

Pol

Los

Department

Salary

Telno

Barliqbay P.

Sailawbay K.

Jan’abay N.

Shayaxmet B.

Sag’alatdin T.

Kamal S.

Sarsenbay A.

Orazbay B.

Berdax N.

Bibi A.

Baxit C.

Baxtiyar A.

Genjebay G.

Rawaj F.

17/01/57

20/02/55

13/05/51

16/03/52

02/07/52

19/12/56

01/02/47

07/11/49

25/08/79

20/06/61

25/05/61

01/02/75

12/12/70

19/10/69

M

M

M

M

M

M

M

M

M

F

F

M

M

M

25

27

29

29

28

25

33

31

2

22

21

8

4

5

Admin

Admin

Worker

Worker

Worker

Worker

Account

Account

Technic

Technic

Sales

Sales

Servise

Servise

50000

65000

35000

45000

36000

29000

100000

70000

12000

11000

7500

7000

7500

8000

2236054

2238722

2243110

2232890

2243688

2236001

2236002

2236003

2236004

2236005

2236006

2236007

Усы таблица 7 бағана ҳәм 14 қатардан турады. Ҳәр бир бағана өз атына ийе.

Name - хызметшилер аты, Dob – туўылған күни, Pol – жынысы, Department –кәрханадағы хызметши ислеп атырған бөлим, Salary – хызметшилердиң айлығы, Telno – телефон номери. Жоқарыдағы бағаналар аты матрица атрибутлары атын алған. Ҳәр бир қатар анық хызметши хаққында мағлыўматларды өз ишине алады.

Ҳәр бир бағана ҳәр қыйлы узынлыққа ҳәм түрге ийе екенлигине итибар беремиз. Name бағанада максимал узынлығы 15 орынға ийе болған сөзлер – кәрхана хызметшилериниң атлары көрсетилген. Кейинги Dob бағана сәне түрине, басқа узынлыққа ийе ҳәм т.б.лар. Бағананың түри ҳәм узынлығы оның атрибутлары есапланады. Биринши бағанадан көринип турыпты, бул анықламалар ҳәр қыйлы ҳәм соның ушын таблицаны белгилеўде олар тийисли түрде анықланыўы керек.

Ақырында, бул таблицаны басқа таблицадан ажырата алыў ушын ол өзиниң атына ийе болыўы керек.

Ҳәр бир қатарда бир мәнисте анықлап бере алатуғын бағаналар ямаса бағаналар топары гилтли деп аталады. Олар таблицаны дүзиўде айрықша ажыратылыўы керек.

Енди таблицалардың жаратылыў усылын үйрениўге өтемиз. Таблицаны жаратыўда таблица атын, бағаналар атын, атрибутларының түри ҳәм узынлықларын бериў керек. SQL төмендеги өзгериўши – қатарлы, санлы, ўақыт, сәне ҳ. т. б. түрлердиң киритилиўине мүмкиншилик береди.

Қатарлы түр белги ҳәм санлардан дүзилген өзгериўшилерди билдириў ушын ислетиледи. Бунда биринши белги( символ) ҳәрип болыўы керек.

Char – узынлығы 254 байттан аспайтуғын қатарлы өзгериўшини билдириў ушын хызмет етеди.

Санлы өзгериўшилерди билдириўде Number гилтли сөзи қолланылады ҳәм ол -1.0E-100 ден 1.0E+100геше болған аралықта 22 қатарға ийе болатуғын санларды билдиреди.

Сәне ҳәм ўақытты билдириўде Date түри қолланылады ҳәм оның жәрдеминде:

  • ўақытты анықлайды(саат, минут, секунд стандартында мысалы 13.05.51).

  • сәнени аңлатыў ушын Европа стандартынан ямаса Америка стандартынан пайдаланылады.

Енди жоқарыдағы таблицаны жаратыў ушын төмендегилерди жазыўымыз мүмкин:

CREATE TABLE mical

(id NUMBER(5.0) PRIMARY KEY,

NAME CHAR(15) NOT NULL,

Los NUMBER (2,0),

Dept CHAR (15),

Salary NUMBER(7,2)

Telno CHAR(7));

Name бағана Notnull көмекши сөзин өз ишине алады. Бул оның бос қатарларды өз ишине алмайтуғынын билдиреди. Ҳәр бир SQL гәпиниң кейнинде ноқат үтир турыўы керек. Берилген гәп бойынша компьютер mical таблицасын жаратады, бирақ таблица оған мағлыўматлар киритилмегени себепли бос болады.

Стандарт SQL тилинде мағлыўматларды киритиў INSERT буйрығы тийкарында әмелге асырылады. Бул буйрық бир қатарды киритиўге мүмкиншилик береди, кейинги қатардың киритилиўи INSERT буйрығының қайтарылыўы жәрдеминде пайда болады.

INSERT INTO mical (Name, Dob, Pol, Los, Dept, Salary, Telno)

Valies (‘Jan’abay N.’,13.05.1951,’m’,29,’worker’,35000.29,’2243110’);

Барлық қатарлы өзгериўшилер апострафларға алыныўы керек.Егер биз қандай да бир өзгериўшиниң мәнисин билмесек, киритилгенде оны түсирип қалдырыўымыз мүмкин., компьютер автомат түрде оның орнын бослық пенен толтырады.

Мысалы:

INSERT INTO mical(Name, Dob, Pol, Los, Dept, Salary)

Valies (‘Sag’alatdin T.’,02.07.1952,’m’,28,’worker’,36000);

Бундай жағдайда Telnno орны компьютер жәрдеминде, тап олардың тәртиби анықланбағанша, пробел ҳәм ноллер менен толтырылады. Айырым мәнислер түсип қалған болса оларды Null менен толтырыў мүмкин.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]