O‘zbekiston respublikasi oliy va o‘rta maxsus ta’lim


Download 0.71 Mb.
bet1/5
Sana15.08.2020
Hajmi0.71 Mb.
#126390
  1   2   3   4   5
Bog'liq
Ma'lumotlar bazasini dasturlash


O‘ZBEKISTON RESPUBLIKASI OLIY VA O‘RTA MAXSUS TA’LIM VAZIRLIGI

O‘RTA MAXSUS, KASB-HUNAR TA’LIMI MARKAZI

Sh. Nazirov, A. Ne’matov, R. Qobulov

MA’LUMOTLAR BAZASINI DASTURLASH CHUQURLASHTIRILGAN KURSI


Axborot-kommunikatsiya texnologiyalari sohasidagi kasb-hunar kollejlarining «Axborot-kommunikatsiya tizimlari (3521916)» mutaxassisligi o‘quvchilari uchun o‘quv qo‘llanma

«SHARQ» NASHRIYOT-MATBAA AKSIYADORLIK KOMPANIYASI BOSH TAHRIRIYATI TOSHKENT — 2007

N16

Mazkur o‘quv qo‘llanma Germaniya texnikaviy hamkorlik tashkiloti



(GTZ) hamda Germaniya taraqqiyot banki (KfW) ishtirokidagi «Axborot- kommunikatsiya texnologiyalari sohasida kasb-hunar ta’limini rivojlan- tirishga ko‘maklashish» loyihasi doirasida ishlab chiqilgan.

O‘zbekiston Respublikasi Oliy va o‘rta maxsus ta’lim vazirligi O‘rta maxsus, kasb-hunar ta’limi markazi tomonidan axborot-kommunikatsiya texnologiyalari sohasidagi kasb-hunar kollejlari uchun tavsiya etilgan.


M u a l l i f l a r:

Sh. Nazirov — f.m.f.d., professor

A. Ne’matov — f.m.f.n., TATU dotsenti

R. Qobulov — f.m.f.n., TATU dotsenti

M a s’ u l m u h a r r i r



Sh. A. Nazirov

fizika-matematika fanlari doktori, professor T a q r i z c h i l a r:



M. Aripov

O’zMU professori, fizika-matematika fanlari doktori



M. E. Zaynutdinova

Mirzo Ulug‘bek nomidagi informatika kasb-hunar kolleji «Informatika va dasturlash»

kafedrasi mudiri, maxsus fan o‘qituvchisi

Nazirov Sh.

Ma’lumotlar bazasini dasturlash chuqurlashtirilgan kursi: Kasb- hunar kollejlarining «axborot-kommunikatsiya tizimlari (3521916)» mutaxassisligi o‘quvchilari uchun o‘quv qo‘l. / Sh. Nazirov, A. Ne’- matov, R. Qobulov; Mas’ul muharrir Sh. Nazirov; O‘zbekiston Respublikasi Oliy va o‘rta maxsus ta’lim vazirligi, O‘rta maxsus, kasb- hunar ta’limi markazi. T.: Sharq, 2007. 136 b.

I. Ne’matov A. II Qobulov R.

BBK 32.937-018ya722
ISBN 978-9943-00-235-7

© «Sharq» nashriyot-matbaa aksiyadorlik kompaniyasi Bosh tahririyati, 2007.


MUNDARIJA

Kirish 4

  1. SQL, PHP và MySQL xususiyatlari 5

  2. SQL asîslàri 14

    1. SQL tilida jàdvàllàr bilàn ishlash 14

    1. Jàdvàllàr uchun cheklànishlàr 17

    2. Maydonlarni kiritish, o‘chirish va o‘zgartirish 23

    3. SELECT so‘rîv operàtîri 25

    4. Màntiqiy operàtîrlàr 28

    5. Bir nechà jàdvàllàr bilàn ishlàsh 33

    6. So‘rîvlàrdà guruhlàsh funksiyalàr 43

    7. Fîydàlànuvchilàr và ulàrning imtiyozlàri 49

    8. Tàrmîqdà mà’lumîtlàr bàzàlàri àrõitekturàsi 54

    9. Obyektgà yo‘nàltirilgàn murîjààt ODBC 57

    10. CGIdan foydalanib dasturlash 60

Nazorat savollari 65

  1. PHP asîslàri 67

    1. PHP tili asîslàri 67

    2. PHP tilining operàtîrlàri 72

    3. Màssivlàr 82

    4. PHP funksiyalàr 94

    5. Fàyllàr bilàn ishlàsh 99

Nazorat savollari 111

  1. MBBT MySQL asîslàri 112

    1. MySQL serveri bilan ishlash 112

    2. Mà’lumîtlàr bàzàsigà murîjààt huquqini berish 114

    3. MBBT MySQL dà SQL tilining reàlizàtsiyasi 119

Nazorat savollari 134

Àdàbiyotlar 135
KIRISH
Mà’lumîtlàr bàzàsi dunyosi tîbîrà yagînà bo‘lib bîrmîqdà. Bu jàràyon har õil kîmpyuter muhitlàridà fàîliyat ko‘rsàtuvchi àõbîrît tizimlàrini yaràtishdà qo‘llànuvchi yagînà stàndàrt til yaràtishni tàlàb qildi. Stàndàrt til bir kîmàndàlàr to‘plàmini bil- gàn fîydàlànuvchilàrgà ulàrni shàõsiy kompyuter, tàrmîq ishchi stàntsiyasi yoki katta EHM dà ishlàshlàridàn qàt’iy nàzàr mà’lumîtni yaràtish, izlàsh và uzàtishgà imkîn beràdi.

Internetga asoslanuvchi ma’lumotlar bazalarini yaratish hozirgi davrda keng rivojlanib bormoqda. Ushbu qo‘llànmàda SQL tili asoslari, PHP tili hamda MySQL MBBT si haqida to‘liq ma’lumotlar berilgan. Qo‘llànmà to‘rt qismdan iborat bo‘lib, birinchi qismda SQL, PHP va MySQL xarakteristikalari va tarixi keltirilgan.

Ikkinchi qismda SQL tili asoslari, DDL va DML koman- dalari, màntiqiy îperàtîrlàr, bir nechà jàdvàllàr bilàn ishlàsh, so‘rîvlàrdà guruhlàsh và funksiyalàrdan foydalanish ko‘rib chiqilgan. Bundan tashqari ushbu qismda, fîydàlànuvchilàr và ulàr imtiyozlàri, tàrmîqdà mà’lumîtlàr bàzàlàri àrõitekturàsi va ODBC interfeysi haqida ma’lumotlar keltirilgan.

Uchinchi qism PHP tiliga bag‘ishlangan bo‘lib, PHP tilining îperàtîrlàri, PHP dà màssivlàr va funksiyalàr hamda, fàyllàr bilàn ishlàsh k o‘rib chiqilgan. Amaliy misollarda dinamik WEB sahifalar yaratish ko‘rsatilgan.

To‘rtinchi qismda MySQL serveri bilan ishlash, murojaat shartlarini tekshirish va PHP bîshqàriluvchi so‘rîv yaratish haqida ma’lumotlar keltirilgan.

Ushbu o‘quv qo‘llànmà kàsb-hunàr kîllåjlàri o‘qituvchilari va o‘quvchilari uchun mo‘ljallangan bo‘lib, shu bilan birga oliy o‘quv yurtlari professor o‘qituvchilari va talabalari hamda hamma shu sohaga qiziquvchilar tomonidan foydalanilishi mumkin.



      1. SQL, PHP VÀ MySQL XUSUSIYATLARI

SQL
SQL (Structured Query Language, îdàtdà «sikvel» deyilàdi) mà’nîsi Tàrkiblàngàn so‘rîvlàr tili. Bu relyatsiîn mà’lumîtlàr bàzàlàridà ishlàshgà imkîn beràdigàn tildir. Bu til ifîdàlàrining õususiyati shundàn ibîràtki, ulàr mà’lumîtlàrni qàytà ishlàsh prîtseduràlàrigà emàs, nàtijàlàrigà yo‘nàltirilgàndir. SQL o‘zi mà’lumîtlàr qàyerdà jîylàshgàni, qàndày indekslàr và hatto àmàllàrning eng effektiv ketmà-ketligini qo‘llàsh keràkligini àniqlàydi; bu detàllàrni mà’lumîtlàr bàzàsigà so‘rîvlàrdà ko‘rsàtish keràk emàs.

SQL tilining o‘zi IBM kîmpàniyasidà MBBT DB2 yaràtish jàràyonidà ishlàb chiqilgàn và keng ko‘làmdà RISC prîtsessîrli màshinàlàrdà UNIX tizimlàr àsîsidà, hamdà meynfreymlàrdà, superkompyuterlàr àsîsidà qurilgàn kàttà hisoblàsh tizimlàridà qo‘llànilgàn.

Shu bilàn birgà mustàqil bo‘lmàsdàn PL/SQL, và Transact- SQL kàbi ichki dàsturlàsh tillàrigà inkàpsulyatsiya qilinàdi. 1986-yildà, ANSI (American National Standart Institute) SQL tilining ràsmiy stàndàrtini ishlàb chiqdi, 1992-yil bu stàndàrt kengàytirildi. Butun til 30 gà yaqin îperàtîrlàrgà egà bo‘lib, bà’zi versiyalàridà sàl ko‘prîq, bà’zilàridà sàl kàmrîq. Har qàndày MB har õil îbyektlàrgà egà, Ya’ni jàdvàllàr, prîtse- duràlàr, funksiyalàr, tàsàvvurlàr, ketmà-ketliklàr và hîkàzî.

«Klient-Server» teõnîlîgiyasigà ko‘rà, fîydàlànuvchi EHM (Klient) làr so‘rîvlàri màõsus mà’lumîtlàr serverlàridà (Server) qàytà ishlànàdi, fîydàlànuvchi EHM làrgà fàqàt so‘rîvni qàytà ishlàsh nàtijàlàri qàytàrilàdi.

Tàbiiyki Server bilàn mulîqît qilish uchun yagînà til keràk và bundày til sifàtidà SQL tànlàndi. Shuning uchun hamma zàmînàviy relyatsiîn MBBT versiyalàri (DB2, Oracle, Ingres, Informix, Sybase, Progress, Rdb) và hattoki nîrelyatsiîn MBBT versiyalàri (màsàlàn, Adabas) «Klient-Server» teõnîlîgiyasi và SQL tilidàn fîydàlànàdilàr.

SQL tilidà mà’lumîtlàrni jàdvàl ko‘rinishdà tàsvirlàshgà yo‘nàltirilgàn àmàllàr kîntsepsiyasi ko‘p bo‘lmàgàn (30 dàn kàm) ifîdàlàrdàn ibîràt kîmpàkt til yaràtishgà imkîn berdi.

Ikki õil SQL màvjud: Interàktiv và Jîylàshtirilgàn. Ko‘p hîllàrdà ikkàlà fîrmà bir õil ishlàydi, lekin ikki õil fîydàlà- nilàdi:



Interàktiv SQL mà’lumîtlàr bàzàsi o‘zidà fàîliyat ko‘rsàtà- di và buyurtmàchi fîydàlànishi uchun chiqish hîsil qilish uchun ishlàtilàdi. SQL bu fîrmàsidà, siz kîmàndà kiritsàngiz, u dàrîv bàjàrilàdi và siz dàrhîl nàtijàni(àgàr u màvjud bo‘lsà) ko‘rishi- ngiz mumkin.

Jîylàshtirilgàn SQL bîshqà tildà yaràtilgàn dàsturgà jîylàshtirilgàn SQL kîmàndàlàrdàn ibîràt.

SQL interàktiv và jîylàshtirilgàn fîrmàlàridà ko‘p sînli guruhlàr yoki subbo‘limlàr màvjud. Ulàr ANSI tîmînidàn e’tibîrgà îlingàn và kînseptuàl dàràjàdà fîydàli, lekin ko‘pchi- lik SQL dàsturlàr ulàrni àlîhidà qàytà ishlàmàydi, shuning uchun ulàr àslidà SQL kîmàndàlàrining funksiînàl kàtegîriya- làridir.



  • DDL (Mà’lumîtlàrni Tà’riflàsh Tili ) ANSI sõemàni tà’riflàsh tili, îbyektlàrni (jàdvàllàr, indekslàr, tàsàvvurlàr và hîkàzî) yaràtuvchi kîmàndàlàrdàn ibîràt.

  • DML (Mà’lumîtlàrni O‘zgàrtirish Tili) — bu iõtiyoriy dàqiqàdà jàdvàllàrdà qàndày qiymàtlàr sàqlànishini àniqlîvchi kîmàndàlàr màjmuàsidir.

  • DCD (Mà’lumîtlàrni Bîshqàrish Tili) fîydàlànuvchigà mà’lum îbyektlàr ustidà mà’lum tà’sir o‘tkàzishgà ruõsàt berish yoki bermàslikni àniqlîvchi vîsitàlàrdàn ibîràt.

  • SQL Stàndàrti ANSI tîmînidàn àniqlàngàn và hîzirdà ISO tîmînidàn qàbul qilingàn. Lekin kîmmersiàl mà’lumîtlàr bàzàlàri dàsturlàri ANSI ni îgîhlàntirmàsdàn SQL ni kengàyti- ràdilàr, ya’ni fîydàli hisoblàgàn har õil õîssàlàr qo‘shàdilàr.

PHP
PHP/FI.

PHP bîshqà mahsulot, PHP/FI rivîjlàntirilishi nàtijàsidà yaràtildi. PHP/FI 1995-yildà Rasmus Lerdorf tîmînidàn o‘zi- ning online-rezyumesigà murîjààtni kuzàtish uchun Perl- scriptlàr sîddà to‘plàmi sifàtidà yaràtildi.

U bu scriptlàr to‘plàmini ‘Personal Contents Page Tools’ deb àtàdi. Kàttà funksiînàllik tàlàb qilingàni uchun, Rasmus mà’lumîtlàr bàzàsi bilàn ishlàsh imkînigà egà bo‘lgàn C kengàytirilgàn reàlizàtsiyasini yaràtdi và fîydàlànuvchilàrgà

sîddà dinàmik Web-ilîvàlàr yaràtish imkînini berdi. Rasmus har bir fîydàlànuvchi kengàytirish và o‘zgàrtirish imkîniyatigà egà bo‘lishi uchun PHP/FI kîdini keng îmmàgà e’lîn qildi.

PHP/FI, Personal Contents Page / Forms Interpreter, hîzir- gi PHP àsîsiy funksiînàlligigà egà edi. U Perl kàbi o‘zgàruvchilàr, fîrmà o‘zgàruvchilàri àvtîmàtik interpretàtsiyasi và HTML gà qo‘llàngàn sintàksisgà egà edi. Sintàksis o‘zi Perl ni eslàtàrdi, fàqàt cheklàngàn, sîddàlàshtirilgàn và to‘là bo‘lmàgàn.

1997-yildà PHP/FI 2.0, C-reàlizàtsiya ikkinchi versiyasi, butun dunyo bo‘yichà bir nechà ming muõlislàrgà egà bo‘lib, tàõminàn 50,000 dîmenlàrgà o‘rnàtilgàn edi. Bu hamma Internet dîmenlàrning 1% ini tàshkil qilàr edi. Ko‘p îdàmlàr o‘zlàrining kîd blîklàrini bu loyiha uchun tàklif qilgànlàri bois u bir kishining loyihasi bo‘lmày qîldi.

PHP/FI 2.0 ràsmiy ràvishdà fàqàt 1997-yil nîyabridà chiqàrildi. Ungàchà u àsîsàn beta-relizlàr shàklidà màvjud edi. Shundàn so‘ng ko‘p o‘tmàsdàn birinchi alphà PHP 3.0 pàydî bo‘ldi.


PHP 3.

PHP 3.0 bugungi PHP gà o‘õshàgàn birinchi versiya edi. Uni Andi Gutmans và Zeev Suraski 1997-yildà to‘là qàytàdàn yozilgàn til sifàtidà yaràtdilàr, chunki ulàr PHP/FI 2.0 tilini o‘zlàrining eCommerce-ilîvàlàrini yaràtish uchun yetàrli imkîniyatgà egà emàs deb tîpdilàr. Kuchlàrni birlàshtirish uchun, Andi, Rasmus và Zeev PHP 3.0 ni PHP/FI 2.0 ràsmiy vîrisi sifàtidà yaràtdilàr và e’lîn qildilàr. Nàtijàdà PHP/FI 2.0 rivîjlànishi to‘õtàdi.

PHP 3.0 eng kuchli tîmînlàridàn biri uni kengàytirish imkîni edi. Chekli fîydàlànuvchilàrgà har õil mà’lumîtlàr bàzàlàri, prîtîkîl và API làr uchun mustàhkàm infràstruk- turà, hamdà kengàytirish imkîniyatini yaràtgàni uchun, o‘nlàb fîydàlànuvchilàrni yangi kengàygàn mîdullàr yaràtish- gà undàr edi. Bàlkim PHP 3.0 o‘tà màshhurligi sàbàbi shundàdir. PHP 3.0 àsîsiy õusuiyatlàridàn biri îbyektgà yo‘nàltirilgàn sintàksis edi.

Tilgà PHP: Hypertext Preprocessor deb nîm berildi.

1998-yil îõirigà kelib PHP o‘n minglàb fîydàlànuvchilàr và yuz minglàb Web-sàytlàr uchun àsîs bo‘lib qîldi. Eng màshhur bo‘lgàn pàytdà PHP 3.0 tàõminàn Internet Web-serverlàrining 10% igà o‘rnàtilgàn edi .

PHP 3.0 ràsmiy ràvishdà 1998-iyunidà 9 îylik îshkîrà testlàshdàn so‘ng chiqàrilgàn edi.


PHP 4.

1998-yil qishidà PHP 3.0 ràsmiy e’lîn qilingàndàn so‘ng, Andi Gutmans va Zeev Suraski kàttà àmàliy dàsturlàr bilàn ish- làshdà unumdîrligini îshirish và PHP kîdli bàzàsi mîdulligini îshirish màqsàdidà PHP yadrîsini qàytà ishlàshgà kirishdilàr. Bundày Àmàliy dàsturlàr yaràtish PHP 3.0 dà mumkin edi, lekin PHP 3.0 muràkkàb kîmpleksli àmàliy dàsturlàrgà õizmàt qilish uchun yaràtilmàgàn edi.

Yangi màshinà, «Zend Engine» (yaràtuvchilàr nîmlàri àsîsidà — Zeev và Andi), bu màsàlàlàrni muvàffàqiyatli hàl qildi và 1999-o‘rtàsidà pàydî bo‘ldi. Bu màshinàgà àsîslàngàn và ko‘pchilik yangi imkîniyatlàrgà egà bo‘lgàn PHP 4.0, ràsmiy ràvishdà 2000-yil màyidà, PHP 3.0 dàn ikki yil keyin chiqàrildi. Ànchà îshgàn unumdîrlikdàn tàshqàri bu versiyadà PHP

4.0 quyidàgi imkîniyatlàrni kiritdi: kàttà sîndàgi Web-server- làr, HTTP-sessiyalàrni qo‘llàsh, chiqàrishni buferlàsh, fîy- dàlànuvchi kiritishi bilàn õàvfsiz ishlàsh usullàri và tilning turli yangi kînstruksiyalàri.

PHP 4 hîzirdà PHPning îõirgi versiyasidir. Zend Engineni PHP 5.0 gà integràtsiya qilish uchun yaõshilàsh và mîdifikàtsiya qilish ustidà ish bîshlàngàn.

Hîzirgi kundà PHP yuz minglàb dàsturchilàr tîmînidàn fîydàlànilàdi và bir nechà milliîn sàytlàr uning o‘rnàtilgàni haqida mà’lumît beràdilàr, bu esà Internet dîmenlàrning 20% idàn îrtiqdir.



PHP yaràtuvchilàri kîmàndàsi o‘nlàb dàsturchilàrdàn hamdà PHP bilàn bîg‘liq PEAR và õujjàtlàsh loyihalàri kàbi loyihalàr ustidà ishlîvchilàrdàn ibîràt.
MySQL

Mà’lumîtlàr bàzàsi và WWW.

Mà’lumîtlàr bàzàsi o‘tà tez rivîjlàngàn hamdà MySQL và mSQL o‘zini ko‘rsàtgàn soha, Internet uchun dàsturlàr yaràtishdir. Internet uchun muràkkàb và ishînchli dàsturlàrgà ehtiyoj îshgàn sàri mà’lumîtlàr bàzàsigà ehtiyoj ham îshib bîr- mîqdà. Server mà’lumîtlàr bàzàsi Internetdà ko‘p funktsiyalàrni qo‘llàshi mumkin. Har qàndày veb- sahifa mà’lumîtlàr bàzàsi tîmînidàn bîshqàrilishi mumkin.

Misîl tàriqàsidà o‘z katalîgini WWW dà e’lîn qilmîqchi bo‘lgàn và Internet îrqàli buyurtmàlàr qàbul qilmîqchi bo‘lgàn katalîg bo‘yichà sîtuvchini ko‘ràylik.

Àgàr katalîgni HTML-fàyllàr shàklidà e’lîn qilinsà yangi tîvàr qo‘shilgàndà yoki nàrõ o‘zgàrgàndà kimdir katalîgni tahrirlàshi lîzim bo‘làdi. Àgàr buning o‘rnigà katalîg mà’lumîtlàrini relyatsiîn mà’lumîtlàr bàzàsidà sàqlànsà katalîgdàgi o‘zgàrishlàrni mà’lumîtlàr bàzàsidàgi tîvàr yoki nàrõ haqidagi mà’lumîtlàrni o‘zgàrtirish yo‘li bilàn reàl vàqt màsshtàbidà e’lîn qilish imkîniyati tug‘ilàdi.

Bundàn tàshqàri katalîgni màvjud buyurtmàlàrni qàytà ish- làsh elektrîn tizimlàri bilàn integràtsiya qilish imkîniyati tug‘ilàdi. Shundày qilib bundày veb-sàytni bîshqàrish uchun mà’lumîtlàr bàzàsidàn fîydàlànish sîtuvchigà ham, îluvchigà ham qulàyliklàr tug‘diràdi.

Shu tàrzdà veb-sahifa mà’lumîtlàr bàzàsi bilàn bîg‘lànàdi. Mà’lumîtlàr bàzàsi sizni veb-serveringizdà yoki sizni serveringiz mà’lumît àlmàshishi mumkin bo‘lgàn bîshqà màshinàdà jîylàshgàn bo‘lishi mumkin. (Yaõshi MBBT bundày vàzifàlàrni tàqsimlàshni îsîn tàshkil qilà îlàdi). Siz o‘zingizning veb-sahi- fangizgà fîrmà jîylàshtiràsiz và fîydàlànuvchi uzàtish keràk bo‘lgàn so‘rîv yoki mà’lumîtni shu fîrmàgà kiritàdi. Fîrmàni servergà uzàtgàndàn so‘ng, server siz yozgàn dàsturni ishgà tushiràdi và bu dàstur fîydàlànuvchi uzàtgàn mà’lumîtlàrni àjràtib îlàdi. Bu dàsturlàr ko‘pinchà CGI-ssenàriylàr yoki Java dà server dàsturlàri shàklidà yaràtilàdi, lekin dàsturni HTML- sahifagà to‘g‘ridàn to‘g‘ri jîylàshtirish ham mumkin.

Endi sizning dàsturingiz fîydàlànuvchigà qàndày mà’lu- mîtlàr keràk và u mà’lumîtlàr bàzàsigà nimà kiritmîqchiligini bilàdi. Dàstur mà’lumîtlàrni tànlàsh yoki o‘zgàrtirish uchun SQL kîmàndà yaràtàdi, mà’lumîtlàr bàzàsi bo‘lsà qîlgànini bàjàràdi. Mà’lumîtlàr bàzàsidàn îlingàn nàtijàlàrni sizning dàs- turingiz yangi HTML-sahifa shàkligà keltirib qàytàdàn fîy- dàlànuvchigà yubîràdi.
mSQL tàriõi.

Tî 1994-yilgàchà SQL qo‘llîvchi RMBBT sîtib îlish uchun ànchà ko‘p pul ketkàzishgà to‘g‘ri kelàr edi. Bîzîrdà Oracle, Sybase và Informix hîkimlik qilàr edi.Bu mà’lumîtlàr bàzàsini bîshqàrish tizimlàri muràkkàb bîg‘lànishlàrgà egà bo‘lgàn kàttà hàjmdàgi mà’lumîtlàrni qàytà ishlàsh uchun mo‘ljàllàngàn edi.

Ulàr katta quvvàtgà và imkîniyatlàrgà egà bo‘lib, kàttà hisoblàsh resurslàrini tàlàb qilàr edilàr và narxi qimmàt edi. U pàytdà 2000$ gà 200-MHz Pentium li server sîtib îlish mumkin emàs edi. Bundày MBBT uchun keràkli resurslàr o‘ng minglàb dîllàr turàr edi.

Kàttà kîrpîràtsiyalàr và yirik universitetlàr uchun bundày serverlàr kîmplektlàri và MBBT làr uchun bir nechà milliîn dîllàr sàrflàsh muàmmî tug‘dirmàs edi.

Kichik tàshkilîtlàr và õususiy fîydàlànuvchilàr îjiz kichik amàliy dàsturlàrdàn fîydàlànishgà màjbur edilàr. Bir nechtà àrzîn klient/ server àrõitekturàli MBBT làr o‘shà pàytdà màvjud edi, lekin ulàrning hech biri so‘rîvlàr tili sifàtidà SQL dàn fîydàlànmàs edi. Eng ko‘zgà ko‘ringànlàridàn biri Ingres kîmmertsiàl mà’lumîtlàr bàzàsi bilàn bittà àjdîdgà egà bo‘lgàn Postgres edi. Lekin bàõtgà qàrshi kîmmertsiàl ànàlîglàri kàbi resurslàrni tàlàb qilàrdi và SQL dàn so‘rîvlàr tili sifàtidà fîydàlànish imkîniyatini bermàs edi. O‘shà pàyt- dà Postgresdà QUEL tilining ko‘rinishi bo‘lgàn PostQUEL tilidàn fîydàlànàrdi.
Devid Õyuz.

Devid Õyuz (David Hughes) (yanà Bamby sifàtidà mà’lum) Àvstràliyadà Bînd Universitetidà yozgàn dissertàtsiyasining bir qismi mînitîring tizimini yaràtish và tizimlàr guruhini bir yoki bir nechà jîydàn bîshqàrishgà bàg‘ishlàngàn edi. Loyiha Minerva Network Management System deb nîmlàngàn edi. Minerva àsîsiy elementi tàrmîqdàgi hamma kompyuterlàr haqidagi mà’lumîtlàrni sàqlîvchi mà’lumîtlàr bàzàsi edi. Universitet tàlàbàsi bo‘lgàni và kàttà kîmmertsiàl mà’lumîtlàr bàzàlàri ishlàydigàn serverlàrgà murîjààt qilish imkîniyati yo‘q bo‘lgàni uchun, Õyuz uning tàlàblàrigà Postgres — jàvîb beràdi degàn qàrîrgà keldi.

Uning hamkàsblàri SQL tilidàn Minerva uchun stàndàrt so‘rîvlàr tili sifàtidà fîydàlànishni tàklif qilishdi. SQL gà àsîs- làngàn hîldà Minerva dunyoning SQL ni qo‘llîvchi MBBT màvjud iõtiyoriy nuqtàsidà qo‘llànishi mumkin edi. Bîshqàchà qilib àytgàndà Postgres fîydàlànuvchilàri bilàn chegàràlàb qo‘ygàn PostQUEL gà nisbàtàn SQL Minerva uchun kengrîq fîydàlànuvchilàr bilàn ishlàshgà imkîn beràr edi. Îõiri kelib hatto Postgres ham bugun SQL ni qo‘llàydi.

Bir tîmîndàn SQL stàndàrtidàn fîydàlànish istàgi và

bîshqà tîmîndàn SQLni qo‘llîvchi mà’lumîtlàr bàzàsigà murîjààt qilish imkîniyati yo‘qligi, Õyuzni qiyin ahvolgà sîlib qo‘ydi. Àgàr Minervadà SQLgà àsîslàngàn so‘rîvlàr tilidàn fîy- dàlànilsà, mîs ishlàsh meõànizmigà egà MBBT tîpib bo‘lmày- di. Qimmàt RMBBT sîtib îlish imkîniyatigà egà bo‘lmàgàn Õyuz màsàlàning àjîyib echimini tîpdi: SQL so‘rîvlàrni PostQUEL so‘rîvlàrigà trànslyatsiya qiluvchi dàstur yaràtish lozim edi. Bu dàstur Minervagà uzàtilgàn SQL so‘rîvlàrni ilib îlishi, PostQUELgà àylàntirishi và nàtijàni Postgresgà uzàtishi keràk edi. Õyuz shundày dàstur yaràtdi và uni miniSQL yoki mSQL deb àtàdi.
PostQUEL trànslyatîridàn RMBBT gà.

Bir nechà dàvr mîbàynidà bu kînfiguràtsiya Õyuzni qànîàtlàntiràr edi. Minerva uchun àgàr SQLni tushunsà qàndày MBBT dàn fîydàlànishning fàrqi yo‘q edi và u Postgres SQLni tushunàdi deb hisoblàr edi, chunki o‘rtàdà PostQUELgà trànslyatsiya qiluvchi mSQL jîylàshgàn edi. Bàõtgà qàrshi Minerva o‘sishi bilàn uning ishi qiyinlàshib bîrdi. Àniq bo‘ldiki, nà Postgres, nà bîshqà kàttà RMBBT Minerva uchun keràk bo‘lgàn chekli resurslàr àsîsidà kàm sînli imkîniyatlàrni qo‘llày îlmàs edi. Màsàlàn, Minerva uchun bir vàqtning o‘zidà bir nechà mà’lumîtlàr bàzàsigà ulànish tàlàb qilinàr edi. Buning uchun Postgres bir vàqtning o‘zidà mà’lumîtlàr bàzàsi serveri bir nechà nusõàsini ishgà tushirishni tàlàb qilàr edi. Bundàn tàshqàri bir nechà pîtensiàl loyiha qàtnàshchilàri undà qàtnàshà îlmàs edilàr, chunki Postgres ulàrning tizimlàrini qo‘llàmàs edi, ulàr bo‘lsà SQLgà àsîslàngàn qimmàt RMBBT sîtib îlishgà imkîn- làri yo‘q edi.

Bu muàmmîlàrgà duch kelgàndàn so‘ng Postgresgà munîsàbàtini o‘zgàrtirdi. O‘zining kàttàligi và muràkkàbligi bilàn Minerva tàlàblàridàn yuqîri edi. Minerva tîmînidàn generàtsiya qilinàdigàn so‘rîvlàr àsîsàn INSERT, DELETE và SELECT sîddà îperàtîrlàridàn ibîràt edi. Postgres dà màvjud và unumdîrlikni kàmàytiruvchi qîlgàn hamma imkîniyatlàr Minerva uchun keràk emàs edi.

Õyuzdà SQLgà trànslyatsiyani àmàlgà îshiruvchi mSQL màvjud edi. Ungà tàlàblàrigà jàvîb beruvchi mà’lumîtlàr bàzàsi serverini yaràtish uchun mà’lumîtlàr îmbîri và mà’lumîtlàrni àjràtib îlish imkîniyatini qo‘shish qîlgàn edi. Bu evîlyutsiya bugungi kundà màvjud mSQL gà îlib keldi.



MySQL tàriõi.

MySQL ni fàqàt mSQL kàmchiliklàrigà jàvîb sifàtidà qàràsh nîto‘g‘ridir. Uning iõtirîchisi Màykl Videnius (yanà Monty sifàtidà mà’lum) shved kîmpàniyasi TsÕ õîdimi, mà’lumîtlàr bàzàsi bilàn 1979-yildàn beri ishlàydi. Yaqin pàytgàchà Videnius TsÕ dà fàqàt dàsturchi edi. 1979-yildà firmà ichidà fîydàlànish uchun UNIREG nîmli mà’lumîtlàr bàzàsini bîshqàrish vîsitàsini yaràtdi. 1979-yildàn so‘ng UNIREG bir nechà tillàrdà yozildi kàttà mà’lumîtlàr bàzàlàrini qo‘llàsh uchun kengàyti- rildi.

Bittà dàstur bàjàrilàyotgàn har bir jàràyon bu dàstur nusõàsi deyilàdi, chunki õuddi o‘zgàruvchi nusõàsi kàbi õîtiràdàn jîy îlàdi.

1994-yildà TsÕ WWW uchun Àmàliy dàsturlàr yaràtà bîsh- làdi và bu loyihani qo‘llàshdà UNIREG dàn fîydàlàndi. Bàõtgà qàrshi, UNIREG katta haràjàtlàr tàlàb qilgàni uchun, undàn veb-sahifalàrni dinàmik generàtsiya qilish uchun muvàffàqiyatli fîydàlànib bo‘lmàdi. TsÕ shundàn so‘ng SQL và mSQL gà murîjààt qildi. Lekin o‘shà pàytdà mSQL fàqàt 1.x relizlàri shàklidà màvjud edi. Yuqîridà àytgànimizdek mSQL 1.x ver- siyalàri hech qàndày indekslàrni qo‘llàmàs edi shuning uchun UNIREG dàn unumdîrligi pàst edi.

Videnius mSQL muallifi Õyuz bilàn bîg‘làndi và mSQL ni UNIREG dàgi V+ ISAM qàytà ishlîvchisigà ulàsh fikri bilàn qiziqtirmîqchi bo‘ldi. Lekin Õyuz shu pàytgà kelib mSQL2 yaràtish yo‘lidà ànchà ilgari ketgàn và indekslàr bilàn ishlàsh vîsitàlàrini yaràtgàn edi. TsÕ o‘z tàlàblàrigà ko‘prîq mîs keluv- chi mà’lumîtlàr bàzàlàri serverini yaràtishgà qàrîr qildi.

TsÕ õîdimlàri yangidàn velîsiped iõtirî qilib o‘tirmàdilàr. Ulàr UNIREG ni àsîs qilib îldilàr và sîni îshib bîràyotgàn o‘zgà dàsturchilàr utilitàlàridàn fîydàlàndilàr. O‘z tizimlàri uchun bîshidà mSQL uchun yaràtilgàn API bilàn deyarli ustmà- ust tushuvchi API yaràtdilàr. Nàtijàdà yangi, kengrîq imkîni- yatgà egà TsÕ mà’lumîtlàr bàzàsigà o‘tmîqchi bo‘lgàn mSQL fîydàlànuvchisi o‘z kîdigà judà kàm o‘zgàrtirish kiritishi tàlàb qilinàrdi. Shu bilàn birgà Yangi mà’lumîtlàr bàzàsi kîdi to‘là îriginàl edi.

1995-yil mày îyigà kelib TsÕ kîmpàniya ichki tàlàblàrini qànîàtlàntiruvchi mà’lumîtlàr bàzàsi — MySQL 1.0 gà egà edi. Firmà biznes-pàrtneri Detron HB dàn Dàvid Àksmàrk (David Axmark) TsÕ o‘z serverini Internetdà ko‘rsàtishni tàklif qildi.

Serverni Internetdà ko‘rsàtishdàn màqsàd — birinchi bo‘lib Àlàddin Peter Deych (Aladdin Peter Deutsch) qo‘llàgàn biznes mîdeldàn fîydàlànishdir. Nàtijàdà MySQLni mSQL gà nis- bàtàn «tekinrîq» qiluvchi o‘tà mîslàshuvchàn mualliflik huquqlàri îlindi.

Nîmigà kelgàndà Videnius bu haqida shundày deydi:

«MySQL nîmi qàyerdàn kelib chiqqàni hîzirgàchà nîmà’lum. TsÕ dà àsîsiy katalîg hamdà bibliîtekàlàr và utilitàlàr ko‘p qismi bir nechà o‘n yildàn beri «mu» prefiksigà egà. Shu bilàn birgà mening qizimning ismi ham Mày (My). Shuning uchun bu ikki mànbàning qàysi biri MySQL nîmini bergànligi haligàchà sir».

MySQL ni Internetdà e’lîn qilingàndàn beri u ko‘pginà UNIX-tizimlàrgà, Win32i OS/2 gà ko‘chirildi. TsÕ kompaniyasi fikrichà, MySQL ni 500 000 yaqin serverlàr ishlàtàdi.


      1. SQL ÀSÎSLÀRI



    1. SQL TILIDA JÀDVÀLLÀR BILÀN ISHLÀSH

SQL tilida mà’lumîtlàr turlàri.

SQL tilidà quyidàgi àsîsiy mà’lumîtlàr turlàri ishlàtilib, ulàrning fîrmàtlàri har õil MBBT làr uchun fàrq qilishi mumkin:




INTEGER

— butun sîn (îdàtdà 10 tàgàchà qiymàtli ràqàm và ishîrà).

SMALLINT

— «qisqà butun» (îdàtdà 5 tàgàchà qiymàtli ràqàm và ishîrà).

DECIMAL(p,q)

— o‘nli sîn, p ràqàm và ishîràdàn ibîràt (0

< p < 16). O‘nli nuqtàdàn so‘ng ràqàmlàr sîni q îrqàli berilàdi (q < p, àgàr q = 0 bo‘lsà, tàshlàb yubîrilishi mumkin).

FLOAT

— haqiqiy sîn 15 tà qiymàtli ràqàm và butun dàràjàdàn ibîràt. Dàràjà MBBT tipi bilàn àniqlànàdi (màsàlàn, 75 yoki 307).

CHAR(n)

— uzunligi o‘zgàrmàs, n gà teng bo‘lgàn simvîlli qàtîr (0 < n < 256).

VARCHAR(n)

— uzunligi o‘zgàruvchi, n simvîldàn îsh- màgàn simvîlli qàtîr (n > 0 và har õil MBBT làrdà har õil, lekin 4096 dàn kàm emàs).

DATE

— màõsus kîmàndà îrqàli àniqlànuvchi fîr- màtdàgi sànà; sànà màydînlàri bizning eràmizdàn îldin bir nechà mingyilliklàrdàn bîshlànuvchi và bizning eràmiz beshinchi- o‘ninchi mingyilligi bilàn cheklàngàn haqiqiy sànàlàrni o‘z ichigà îlishi mumkin.

TIME

— màõsus kîmàndà îrqàli àniqlànuvchi fîr- màtdàgi vàqt (ko‘zdà tutilgàn bo‘yichà hh.mm.ss).

DATETIME

— sànà và vàqt kîmbinàtsiyasi.

MONEY

— màõsus kîmàndà îrqàli àniqlànuvchi fîr- màtdàgi pul.

Jàdvàllàrni yaràtish.

Jàdvàllàr CREATE TABLE kîmàndàsi bilàn yaràtilàdi. Bu kîmàndà qàtîrlàrsiz bo‘sh jàdvàl yaràtàdi. CREATE TABLE kîmàndàsi jàdvàl nîmini jàdvàl o‘zini mà’lum tàrtibdà ko‘rsàtilgàn ustunlàr nîmlàri ketmà-ketligi tà’rifi ko‘rinishidà àniqlàydi. U mà’lumîtlàr tiplàri và ustunlàr o‘lchîvini àniqlàydi. Har bir jàdvàl judà bo‘lmàgàndà bittà ustungà egà bo‘lishi keràk.

CREATE TABLE kîmàndàsi sintàksisi: CREATE TABLE ( type>[()],

[()], ... )
Àrgument qiymàti kàttàligi mà’lumît turigà bîg‘liqdir. Àgàr siz màõsus ko‘rsàtmàsàngiz, tizim àvtîmàtik qiymàtni o‘rnàtàdi.

Bundàn buyon quyidà keltirilgàn 3 tà jàdvàldàn ibîràt mà’lumîtlàr bàzàsini ko‘ràmiz.

Sîtuvchilàr jàdvàli (Salepeople):


Snum

Sname

City

Comm

11

Peel

London

0.12

12

Serres

San Jose

0.13

14

Motika

London

0.11

SNum — har bir sîtuvchi unikàl nîmeri, SName — sîtuvchi nîmi,

City — sîtuvchi àdresi ( shàhar ),

Comm — sîtuvchilàrning o‘nli shàkldàgi kîmissiîn fîy- dàsi.

Buyurtmàchilàr jàdvàli (Customers):




Cnum

Cname

City

Rating

SNum

21

Hoffman

London

100

11

22

Giovanni

Rome

200

13

23

LiuSan

Jose

200

12

CNum — har bir buyurtmàchi unikàl nîmeri, CName — buyurtmàchi nîmi,

City — buyurtmàchi àdresi ( shàhar ),

Rating — buyurtmàchining bîshqàlàrdàn ustunlik dàràjàsini ko‘rsàtuvchi kîd (reyting),

SNum — shu buyurtmàchigà tàyinlàngàn sîtuvchi nî- meri.

Buyurtmà jàdvàli (Orders):




ONum

AMT

ODate

CNum

SNum

38

4723.00

1990/10/05

26

11

310

1309.95

1990/10/06

24

12

Download 0.71 Mb.

Do'stlaringiz bilan baham:
  1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling