Скачиваний:
8
Добавлен:
27.11.2023
Размер:
2.27 Mб
Скачать

5.3. Indeksler

Indeks bul maǵlıwmatlar bazanıń ishinde izlewdi asırıw ushın arnalǵan, maydanlardaǵı sortlanǵan mánisler dizimi bolıp esaplanadı.

Bizlerdi kóbinese unikal indeksler qızıqtıradı. Unikal indeks-bul mánisleri qaytalanbaytuǵın dizim bolıp esaplanadı. Mısal ushın, pasport haqqında maǵlıwmatlardı saqlawshı kestede «pasport nomeri» maydanı boyınsha unikal indeks jaratıwımız múmkin, sebebi bul nomerler hesh qashan qaytalanbawı kerek. Al tuwılǵan sánesi bolsa unikal emes bolıp, bul maydanǵa unikal indeks qoyılsa qáte bolıp esaplanadı. Forum maǵlıwmatlar bazasına qaytatuǵın bolsaq, aytıp ótiwimiz kerek bul jerde xabardı jiberiw sánesi unikal bolıp esaplanbaydı, sebebi bir waqıtta bir neshe forum paydalanıwshıları xabar beriwi múmkin.

Dáslepki giltler

Dáslepki gilt (primary key)-bul unikal indekslerge bir mısal bolıp, kestedegi jazıwlardı unikal identifikatsiyalaw ushın qollanıladı. Kestedegi hesh qanday eki jazıw birdey dáslepki gilt mánisine iye bolıwı múmkin emes. Dáslepki gilt ádette qısqasha etip PK (primary key) dep jazıladı.

Aldın aytıp ótkenimizdey, relyatsion bazalarda kesteler derlik barlıq waqıtta bir-biri menen logikalıq qatnasta boladı. Dáslepki giltler usı qatnaslardı jalǵız mánili túrde shólkemlestiriw ushın qollanıladı.

Mısal ushın, Forum maǵlıwmatlar bazasında themes hám posts kesteleri bir-biri menen tómendegishe qatnasta boladı:

Themes kestesinin dáslepki gilti id_theme, al posts kestesinin dáslepki gilti – id_post. Itibar qaratıń, id_theme maydanı posts kestesinde de bar. Posts kestedegi bul maydannıń hár bir mánisi sırtqı gilt bolıp esaplanadı (berilgen jaǵdayda bul themes kestesiniń dáslepki gilti ushın sırtqı gilti). Sırtqı giltler qısqa etip FK (foreign key) dep kórsetiledi. Kórip turǵanıńızday, sırtqı gilt themes kestesiniń dáslepki giltine silteme berip, themes hám posts kestelerdegi jazıwlar arasında jalǵız mánili logikalıq qatnas ornatadı. Еger posts kestesinde PK=1 bolǵan jazıw (xabar) ushın sırtqı gilti 1 ge teń bolsa, demek bul themes kestesiniń PK=1 bolǵan temaǵa tiyisli ekenligin bildiredi.

5.3. MySql serverine baylanısıw

Usı bólimde mysql klient programması menen islesiwdı, hám SQl-sorawlardı orınlap olardıń nátiyjesin kórip shıǵıwdı úyrenemiz. Bunıń ushın, siziń kompyuterińizde mysql utilitası ornatılǵan hám MySQL serveri menen baylanıs ornatılǵan bolıwı kerek. MySQL serverdi ornatıw ushın Denwer (), OpenServer() yamasa XAMPP() programmalarınan paydalanıwıńız múmkin. Mysql utilitası ádette serverdegi mysql/bin papkasında jaylasqan boladı.

MySQL serverge qosılıwı ushın mysql programmasında paydalanıwshınıń atın hám parolın kiritiwimiz shárt:

shell> mysql -h host -u user –p

Еger MySQL serverge parol ornatılǵan bolsa, parol kiritiwińiz kerek boladı, bolmasa ekranda mysql dıń buyrıqlar qatarı usınıs etiledi (mysql>_):

Demek MySQL buyrıqlardı orınlawǵa tayar. Server menen baylanıs úzip taslaw ushın QUIT buyrıǵın terseńiz boladı.

Serverge qosılǵanıńızdan keyin, buyrıqlardıń sintaksisın úyreniw ushın bir neshe sorawlardı orınlap kóriń. Tómende kórsetilgen ápiywayı buyrıq server versiyasın hám házirgi waqıttı ekranǵa shıǵarıp beredi:

mysql> SELECT VERSION(), CURRENT_DATE;

MySQL tómendegishe keste kórinistegi juwap qaytarıp beredi:

Usı sorawdı orınlaǵanımızda MySQL dıń tómendegishe ózgesheliklerin kóriwimiz múmkin:

  • Serverge jónetilgen buyrıqlar nuqta-útir belgisi menen tamamlanatuǵın SQL-ańlatpasınan ibarat. Bul qaǵıydadan bir neshe ayrıqshalıqları bar, mısalı ushın, aldın kórsetilgen QUIT buyrıǵı;

  • MySQL soraw nátiyjelerin keste kórinisinde shıǵarıp beredi;

  • Keste nátiyjelerinen keyin mysql shıǵarılǵan qatarlar sanın hám soraw orınlanıw waqtın kórsetedi. Bul server hám sorawdıń tezligin hám ónimdarlıǵın bahalawda júdá qolaylı;

  • Еń sońında MySQl taza qatarda mysql> jazıwdı shıǵarıp beredi, bul keyingi buyrıqlarǵa tayar ekenligin bildiredi.

Еskertip ótemiz, MySQL buyrıqları registrge seziwsheń emes, sonıń ushın tómende kórsetilgen buyrıqlar birdey bolıp esaplanadı:

mysql> select version(), current_date;

mysql> SELECT VERSION(), CURRENT_DATE;

mysql> Select Version(), Surrent_DATE;

MySQL bir qatarǵa bir neshe buyrıqlardı jaylastırıwǵa imkaniyat beredi, hár bir buyrıq noqatlı útir ; belgisi menen ajıratılıwı kerek. Mısalı ushın:

mysql> SELECT VERSION(); SELECT NOW();

Bul sorawǵa juwap tómendegishe:

Biraq buyrıqlardı bir qatarǵa jaylastırıw shárt emes:

mysql> SELECT USER(),

-> CURRENT_DATE;

Hámde nátiyje:

Itibar beriń, taza qatar baslanǵannan soń, buyrıqlar qatarındaǵı belgi -> belgisine ózgerdi. Demek bul soraw ele tamamlanbaǵanlıǵın kórsetedi hám mysql serveri sorawdıń dawamın kútip atırǵanlıǵın bildiredi. Bul júdá qolaylı belgi, sebebi ayrım qátelerden qutılıwǵa járdem beredi. Mısalı ushın, eger sorawdıń aqırında nuqtalı-útir (;) belgisin qoyıwdı umıtsańız, MySQL -> belgisin shıǵarıp, sizge eskertiw beredi.

Еń sońında sizge MySQL di ápiywayı kalkulyator sıpatında qalay paydalanıwdı kórsetemiz:

mysql> select cos(pi()/10), (2*5)-5;

Соседние файлы в предмете Программирование для Web