Navoiy innovatsiyalar universiteti


Download 265.5 Kb.
bet2/4
Sana22.11.2023
Hajmi265.5 Kb.
#1794011
1   2   3   4
Bog'liq
Tolqin13

SQL so'rov -> MOBT -> Ma'lumotlar ombori
natijaolish:
Ma'lumotlar ombori -> MOBT — > So'rovga javob
Quyidagi dasturlar MОBTga misol bo'la oladi:
— Oracle;
— MySQL;
Microsoft Office Access;
— MariaDB;
— Microsoft SQL Server;

Ma'lumotlar ombori (ma'lumotlar bazasi) haqida
Web saytga qandaydir ma'lumotlar kiritiladi, sayt qandaydir ma'luotlarni saqlaydi va qayta ishlaydi hamda so'rov asosida qandaydir ma'lumotlarni beradi. Web dasturchi shu ma'lumotlarni qayerda va qanday saqlash kerakligini o'ylab ko'rishi kerak bo'ladi.

Ma'lumotlar omborida barcha ma'lumotlar bir-biriga bog'langan holda saqlanadi. Ma'lumotlarOmboriniBoshqarish Tizimi (MOBT) bu omborga ma'lumotlarni yozadi, o'chiradi, o'zgartiradiva shunga o'xshashishlarniamalgaoshiradi. MOBT larijudako'p, biz ulardanbirinio'rganishvafoydalanishuchuntanlabolishimizkerakbo'ladi. Bu holatdameningfikrimmazkurkursuchunasosiyo'rinniegallaydi. Men bukursuchun MySQL MOBTnitanlaboldim. Albattanimauchun:



  • Aksariyat Web serverlar MySQL ni ham qo'llaydi;

  • MySQL nio'rgnishjudaoson;

  • PHP MySQL bilanosonmuloqotqilaoladi;

  • MySQL kiliyent/server texnologiyasiniqo'llaydi;

  • MySQL hozirda Web muhitdagiengommaviy MOBT laridanbiri;

  • MySQL niInternetdanosonginayuklabolishvafoydalanishmumkin;

  • MySQL Web muhitda ham judatezishlaydi.

Nega men MySQL nitanlaganimni Web saytyaratganingizdato'laroqtushinibolasizdeganumiddaman. MySQL nisistemangizgao'rnatibolishhaqidagapiribo'tirmayman, agar sizDENWERnio'rnatsangiz MySQL ham birgao'rnatiladi.


MySql – butezkor, ishonchli, ochiqtarqatiladigan MOBT hisoblanadi. MySqlboshqako’pchilik MOBT lar singari, «mijoz/server» modeliasosidaishlaydi. Bundakompyuterlarmijozyoki server rolinio’ynaydigantarmoqliarxitekturatushuniladi. 1.1 rasmdamijozkompyuterivaserverningqattiqdiskio’rtasidama`lumotuzatishsxemasiko’rsatilgan. 1.1 rasm. "Mijoz/server" arxitekturasidama`lumotlarniuzatishsxemasi. MOBT biryokibirnechtama`lumotlaromboriniboshqaradi. Ma`lumotlaromboriko’plikshaklidatashkilqilinganaxborotyig’indisidir. Har birko’pliko’zidaunifitcirlanganyozuvnisaqlaydi. Yozuvlaresamaydonlardantashkiltopgan. Odatdako’pliklarjadvallar deb yuritiladi, yozuvlaresa – jadvalsatrlari. Ma`lumotlarningmantiqiymodelishundaytashkiliqilingan. Barchama`lumotlaromboriqattiqdiskdabittafayldasaqlanishimumkin. MySql da har birma`lumotlaromboriuchunalohidakatalogyaratiladi, har jadvalgaesauchtafaylto’g’rikeladi. Boshqa MOBT lardama`lumotlarnijismoniysaqlashningboshqachaprintciplariqo’llanilishimumkin. Jadvalsatrlario’zaroquyidagiuchusuldanbiribilanbog’lanishimumkin.Engoddiymunosabat – ―birgabir‖. Bundayholdabirinchijadvalsatriikkinchijadvalningbitta yagona satrigamoskeladi. Diagrammalardabundaymunosabat 1:1 yozuvibilanifodalanadi. ―Ko’pgabir‖ munosabatibirjadvalningsatriboshqajadvalningbirnechtasatrigamoskeluvchivaziyatnianglatadi. Bu munosabatlarningengko’ptarqalganturidir. Diagrammalarda1:Nyozuvibilanifodalanadi. Nihoyat, ―ko’plikkako’plik‖ munosabatidabirinchijadvalsatrlariikkinchijadvaldagiixtiyoriysonlisatrlaribilanbohlanishimumkin. Bundaymunosabat N:M ko’rinishidayoziladi. MOBT Ma`lumotlaromboribilanishlaydigandasturchiushbuma`lumotlarqandaysaqlanishihaqida bosh qotirmaydi, hamda MOBT bilano’zarobog’liqholdaishlovchiilovalar, ma`lumotlarnidiskkayozishusulihaqidabilishmaydi. 5 ―Tashqaridan‖ faqatginama`lumotlarningmantiqiyobraziko’rinadi, buesailovalarkodigategmasdan MOBT kodinio’zgartirishiimkoniniberadi. Ma`lumotlarnibundayqaytaishlashto’rtinchiavlodtili (4GL) yordamidaamalgaoshiriladi, butildarholyoziladiganvabajariladiganso’rovlarniqo’llaydi. Ma`lumotlardolzarbliginitezyo’qotadi, shuninguchunulargakirishtezligimuhimdir. Bundantashqari, dasturchiyangiso’rovlarniishlashimkonigaegabo’lishizarur. Ularreglamentirlanmagan (ad hoc) deyiladi, chunkima`lumotlaromboriningo’zidasaqlanmaydiva tor mutaxassislikmaqsadlarigaxizmatqiladi. To’rtinchiavlodtilisxemalar – ma`lumotlarvaularorasidagimunosabatlarnianiqlashlarniyaratishgaimkonberadi. Sxemama`lumotlaromboriningbirqismisifatidasaqlanishivama`lumotlargazararetkazmaganholdao’zgartirilishimumkin. Sxemama`lumotlarbutunligininazoratqilishuchunmo’ljallangan. Agar, misoluchun, maydonbutunsonliqiymatlarnisaqlaydideyilganbo’lsa, u holda MOBT ungavergullisonlaryokisatrlarniyozmaydi. Yozuvlarorasidagimunosabatlar ham qattiqnazoratqilinadivakelishilmaganma`lumotlarkiritilmaydi. Operatciyalarni ―hammasiyokihechnarsa‖ printcipibo’yichabajariladigantranzaktciyalargaguruhlashmumkin. MOBT ma`lumotlarxavfsizliginita`minlaydi. Foydalanuvchilargaaxborotgakirishuchunma`lumhuquqlarberiladi. Ayrimfoydalanuvchilargaaxborotlarnifaqatko’rishgaruxsatberiladi, boshqalariesajadvaltarkibinio’zgartirishlarimumkin. MOBT ma`lumotlaromboriga parallel kirishniqo’llaydi. Ilovalarma`lumotlaromborigabirvaqtdamurojaatqilishimumkin, buesatizimningumumiysamaradorliginioshiradi. Bundantashqari, samaradorlikniyanadaoshirishuchunalohidaoperatciyalar ―parallellashi‖ mumkin. Nihoyat, MOBT ko’zdatutilmaganuzilishlaryuzbergandaaxborotniqaytatiklashmaqsadidafoydalanuvchilargasezdirmayma`lumotlarningzahiranusxalariniolibqo’yadi. Ma`lumotlaromborikontceptciyalari 6 FayllarniboshqarishtizimlariEngoddiyma`lumotlaromboriodatiyfayllarto’plamiko’rinishidatashkilqilingan. Ushbu model qutilardasaqlanadiganjildlarhamdabujildlargatikibqo’yilganbirnechtasahifalihujjatlarningkartotekalitashkilqilinishinieslatadi. Fayllarniboshqarishtizimlarini MOBT singaritoifalashmumkinemas, chunkiodatdaularoperatciontizimningbirqismihisoblanadivafayllarningichkitarkibihaqidahechnarsabilishmaydi. Bu narsafayllarbilanishlovchiamaliydasturlargakiritilgan. Misolsifatida /etc/passwd faylidasaqlanuvchi UNIX foydalanuvchilarjadvalinikeltirishmumkin. Ushbufaylgamurojaatqiluvchidasturlaruningbirinchimaydonidaikki nuqta bilantugallanadiganfoydalanuvchinomimavjudliginibilishadi. Agar ilovaushbuaxborotnitahrirlashikerakbo’lsa, u to’g’ridanto’g’rifaylniochishivamaydonlarnito’g’riformatlashhaqidaqayg’urishikerak. Ma`lumotlaromboriningbundaymodelijudanoqulay, chunki u uchinchiavlodtili (3GL) niqo’llashni talab qiladi. Natijadaso’rovlarnidasturlashvaqtioshadi, dasturchiesayanadayuqorikvalifikatciyagaegabo’lishikerak, chunki u ma`lumotlarnisaqlashningnafaqatmantiqiy, balkijismoniysaqlanishstrukturasini ham o’ylabchiqishikerak. Bu shunga olibkeladiki, ilovavafaylorasidamustahkamaloqayuzagakeladi. Jadvallarmaydonlarihaqidagibarchainformatciyailovadakodlashtirilgan. Shu faylgamurojaatqiladiganboshqailovamavjudkodniikkilashikerak. Ilovalarsonioshishigaqarabma`lumotlaromboriniboshqarishmurakkabligi ham ortibboradi. Ma`lumotlarsxemasio’zgarishi har birdasturkomponentiga, agar uninguchunbuzarurbo’lsa, o’zgartirishkiritishgaolibkeladi. Yangiso’rovlarnishakllantirishshunchalikko’pvaqtnioladiki, ba`zanbuma`nogaegabo’lmaydi. Fayllarniboshqarishtizimlariaxborotninusxasiniko’paytirishgato’sqinlikqilaolmaydi. Yanadayomoni, ma`lumotlarkelishilmaganliginingoldinioluvchimexanizmlarningmavjudemasligidir. Faraz qiling, kompaniyaningbarchaxodimlarito’g’risidafayl bor. Har birsatrdaboshliqnomiyozilganmaydon 7 mavjud. Bir boshliqqo’lostidabirnechtaishchiishlaydi, shusababliuningnomidoimtakrorlanadi. Agar qaerdadirbu ism noto’g’riyozilganbo’lsa, rasmanbuxodimningboshqaboshlig’ibo’ladi. Boshliqnialmashtirgandauningisminibutunma`lumotlaromboribo’ylabqidirishkerakbo’ladi. Oddiyfayllarxavfsizligioperatciontizimorqalinazoratqilinadi. Alohidafayl u yokibufoydalanuvchitomonidanko’rishyokimodifikatciyaqilishuchunbloklangan, ammo bufaqatoperatciontizimdarajasidabajariladi. Ma`lumbirvaqtdafaqatbittailovafaylgayozuvkiritishimumkin, buesaumumiysamaradorliknipasaytiradi. Tarmoqlima`lumotlaromboriTarmoqli model ko’plikyozuvlarorasidagialoqaniguruhlashgaimkonberuvchiierarxikmodelnikengaytiradi. Mantiqiyjihatdanolibqaralganda, aloqa – buyozuvningo’ziemas. Aloqalarfaqatginayozuvlarorasidagimunosabatnibildiradi. Ierarxikmodeldagisingari, aloqalaronayozuvdanqizyozuvgaolibboradi, lekinbu gal ko’plikqo’llabquvvatlanadi. CODASYL spetcifikatciyasigamosholda, tarmoqli model DDL (Data Definition Language — ma`lumotlarnianiqlashtili) va DML (Data Manipulation Language — ma`lumotlarniqaytaishlashtili) niqo’llaydi. Bu maxsustillarbo’lib, ma`lumotlaromborituzilishinianiqlashvaso’rovlartuzishuchunmo’ljallangan. Ularningmavjudligigaqaramasdan, dasturchiavvalgidekma`lumotlaromborituzilishinibilishilozim. Tarmoqlimodelda ―ko’plikkako’plik‖ munosabatiruxsatetiladi, yozuvlaresabirbirigabog’liqemas. O’chirilgandayozuvlarvauningbarchaaloqalario’chiriladi, biroqbog’liqyozuvlarningo’zio’chirilmaydi. Tarmoqlimodeldabutunliknisaqlashvanusxalashgayo’lqo’ymaslikmaqsadidaaloqalarningmavjudyozuvlarorasidao’rnatilishi talab qilinadi. Ma`lumotlarnimosjadvallardaizolyatciyaqilishvaboshqajadvallardagiyozuvlarbilanbog’lashmumkin. Dasturchima`lumotlarnidiskdaqandaysaqlanishihaqidaqayg’urishishartemas. Bu ilovalarvama`lumotlartobeliginisusaytiradi. Ammo tarmoqlimodelda 8 dasturchiso’rovlarnishakllantirayotgandama`lumotlarstrukturasiniyoddatutishi talab qilinadi. Ma`lumotlaromborining optimal strukturasinishakllantirishosonemas, tayyortuzilmanialmashtirishesaqiyin. Agar jadvalko’rinishiko’po’zgartirilsa, boshqajadvallarbilanbarchabog’liqliklarma`lumotlarbutunliginibuzilmasligiuchunqaytadano’rnatilishikerak. Ushbumasalaningmurakkabligi shunga olibkeladiki, dasturchilarilovalarnisoddalashtirishmaqsadidabutunlikningba`zicheklovlariniinkoretadilar. MySqlasosiyxarakteristikalariMySqlmijoz dasturi o’zidabuyruqsatrningutilitasininamoyonqiladi. Ushbudasturservergatarmoqbo’yichaulanadi. Server tomonidanbajariladiganbuyruqlarodatdaqattiqdiskdagima`lumotlarnio’qishvayozishbilanbog’liq. Mijozdasturlarnafaqatbuyruqsatrirejimidaishlaydi. Grafikklientlar ham mavjud, masalanMySql GUI, PhpMyAdmin va b. Ammo ular – boshqakursmavzusi. MySqlma`lumotlaromboribilan SQL (Structured Query Language – tuzilmaviyso’rovlartili) deb nomlanadigantilda harakat qiladi. SQL relyatcionma`lumotlaromboriniboshqarishtizimlari (RDBMS) da saqlanuvchima`lumotlarnimanipulyatciyaqilishuchunmo’ljallangan. SQL da ma`lumotlarniolish, tartiblash, yangilash, o’chirishvaqo’shishimkoniniberuvchibuyruqlarmavjud. SQL tilistandartlarini ANSI (American National Standards Institute) aniqlaydi. Hozirgivaqtda 2003 yildaqabulqilinganstandartamalqiladi (SQL-3). SQL ni RDBMS MySql, mSQL, PostgresSQL, Oracle, Microsoft SQL Server, Access, Sybase, Ingres kabilarbilanishlatishmumkin. RDBMS ningbutizimlarini SQL ningbarchamuhimvaumumiyqabulqilinganoperatorlariqo’llaydi, ammo ularning har birio’ziningxususiypatentlangan operator vakengliklarigaega. SQL turlitipdagibirnechama`lumotlaromborlariuchunso’rovlarningumumiytilihisoblanadi. MazkurkursMySqltiziminiko’ribchiqadi, u 9 MySql.com saytidayuklashmumkinbo’lganochiqyakuniykodli RDBMS hisoblanadi. MySqlniuningyaratuvchilariquyidagichaizohlashadi. MySql – buma`lumotlaromboriniboshqarishtizimi. Ma`lumotlaromborima`lumotlarningtuzilmaviyyig’indisinibildiradi. Bu ma`lumotlarturlichabo’lishimumkin – sotibolinishikerakbo’lganmollaroddiyro’yxatidantortibsuratlargalereyasidagieksponatlarro’yxatiyokikorporativtarmoqdagiko’pmiqdordagiaxborotgachabo’lishimumkin. Kompyuterningma`lumotlaromboridasaqlanadiganma`lumotlarniyozish, tanlashvaqaytaishlashuchun PO MySqlkabima`lumotlaromboriniboshqarishtizimizarur. Kompyuterlarkattamiqdordagima`lumotlarniqaytaishlashniyaxshiuddalashinihisobgaolsak, hisoblashlardama`lumotlaromboriniboshqarishasosiyo’rinniegallaydi. Bundayboshqaruvturlichaamalqilishimumkin – alohidautilitako’rinishidayokiboshqailovalartarkibigakiruvchikodko’rinishidabo’lishimumkin. MySql – burelyatcionma`lumotlaromborlariniboshqarishtizimi. Relyatcionombordama`lumotlaralohidajadvallardasaqlanadi, shuninghisobidantezlikvaqayishqoqlikdayutuqqaerishishmumkin. Jadvallaro’zaromunosabatlaryordamidabog’lanadi, shuninghisobigaso’rovnibajargandabirnechtajadvaldagima`lumotlarnibirlashtirishimkoniyatita`minlanadi. SQL niMySqltiziminingbirqismisifatidaquyidagichaxarakterlashmumkin: tuzilmaviyso’rovlartiliplyusma`lumotlaromborigakirishuchunfoydalaniladigankengtarqalganstandarttil. MySqldasturiyta`minoti – buochiqkodli DT. Ochiqkodli DT uni har birkishiqo’llashivamodifikatciyaqilishimumkinliginianglatadi. Bunday DT ni Internet dan olishvabepulishlatishmumkin. Bunda har birfoydalanuvchiyakuniykodnio’rganishivaunio’ziningehtiyojlarigamosravishdao’zgartirishimumkin. MySql MOBT ningtexnikimkoniyatlari 10 MySql DT mijoz – server tizimihisoblanadi, uningtarkibidako’poqimli SQL-server mavjudbo’lib, bu server ma`lumotlaromboriningturlihisoblashmashinalariniqo’llashni, shuningdekbirnechtaturlixilmijozdasturlarvakutubxonalar, ma`muriyvositalarvadasturiyinterfeyslar (API) ningkengspektrita`minlaydi. XavfsizlikXavfsizliktizimichetdagikompyuterverifikatciyasiimkonimavjudparolvaimtiyozlargaasoslangan, buninghisobigaqayishqoqlikvaxavfsizlikta`minlanadi. Parollartarmoqbo’yichauzatilganda server bilanbog’langandashifrlanadi. MijozlarMySqlga TCP/IP, Unix soketlaridanyokinomlangankanallar (named pipes, pod NT) dan foydalanibbog’lanishlarimumkin. Ma`lumotlarsig’imiJadvallarningyangitipiniqo’llaydiganMySql 3.23 versiyasidanboshlab, jadvalningmaksimalqiymati 8 million terabayt (263 bytes) gaetgan. Lekinshunita`kidlashzarurki, operatciontizimlarfaylrazmerlarigao’zcheklovlariniqo’yadi. Quyidabirqanchamisollarkeltirilgan: - 32-razryali Linux-Intel – jadvalrazmeri 4 Gb. - Solaris 2.7 Intel - 4 Gb - Solaris 2.7 UltraSPARC - 512 Gb - WindowsXP - 4 Gb Ko’rinibturibdiki, MySqlma`lumotlaromboridajadvalrazmeriodatdaoperatciontizimbilanlimitlanadi. Jimlikqoidasigabinoan, MySql-jadvallartaxminan 4 Gb gatengmaksimalrazmergaega. Ixtiyoriyjadvaluchununingmaksimalrazmerinianiqlash/tekshirish SHOW TABLE STATUS yokimyisamchk -dv table_namebuyruqlarirdamidaamalgaoshiriladi. Agar kattajadvalfaqato’qishuchunmo’ljallanganbo’lsa, birnechtajadvalnibirlashtirishvakichraytirishuchunmyisampack dan foydalanishmumkin. Odatdamyisampackjadvalniko’pibilan 50 % gasiqishimumkin, shuningnatijasidajudakattajadvallarniolishmumkin.

Ma'lumotlaromborinitayyorlaymiz


Birinchibo'lib yii2basic nomlima'lumotlarombriyarating, chunkiundansiz web ilovadanma'lumotlarniqabulqilasiz. Ma'lumotlaromborinisiz SQLite, MySQL, PostgreSQL, MSSQL yoki Oracle da yaratishingizmumkin, chunkiYiidaaytibo'tilganbarchama'lumotlaromboribilanishlayoladi. Soddalikuchunkeyinchalik, ma'lumotlaromborimisoluchunMYSqlhaqida gap boradi.
Endiesama'lumotlaromborida country deganjadvalyaratingvaungaozginamisoluchunma'lumotlarqo'shing. Sizquydagi SQL-buyruqnibajarishingizmumkinyuqoridaaytilganamalarnibajarishuchun:
CREATETABLE`country` (
`code`CHAR(2) NOTNULL PRIMARY KEY,
`name`CHAR(52) NOTNULL,
`population`INT(11) NOTNULLDEFAULT'0'
) ENGINE=InnoDBDEFAULTCHARSET=utf8;

INSERTINTO`country`VALUES ('AU','Australia',24016400);
INSERTINTO`country`VALUES ('BR','Brazil',205722000);
INSERTINTO`country`VALUES ('CA','Canada',35985751);
INSERTINTO`country`VALUES ('CN','China',1375210000);
INSERTINTO`country`VALUES ('DE','Germany',81459000);
INSERTINTO`country`VALUES ('FR','France',64513242);
INSERTINTO`country`VALUES ('GB','United Kingdom',65097000);
INSERTINTO`country`VALUES ('IN','India',1285400000);
INSERTINTO`country`VALUES ('RU','Russia',146519759);
INSERTINTO`country`VALUES ('US','United States',322976000);
Hozirdasizda yii2basic deganma'lumotlaromboribo'lishikerakvaunda 3 ta ustundaniborat country deganjadvalbo'lishikerak, o'ntasatrdaniboratma'lumotbilan.

Ma'lumotlaromboridabilanaloqanisozlaymiz


Ishniboshlashdanoldinsizda PDO kengaytmasio'rnatilganigaaminbo'lingva PDO-boshqaruvchisima'lumotlaromboribilanboshqaraolishingizuchun(misoluchun, pdo_mysql MYSqluchun). Bu sizaloqalima'lumtolaromboribilanishlashingizuchunassosiytalablardir. Endiesa, hammasinio'rnatibbo'lganingizdanso'ng, config/db.php ochingvasozlamalarnio`zingiznima'lumotlaromboringizsozlamalarigao'zgartiring. Boshlanishsozlamalarquydagichadir:


return [
'class' =>'yii\db\Connection',
'dsn' =>'mysql:host=localhost;dbname=yii2basic',
'username' =>'root',
'password' =>'',
'charset' =>'utf8',
];
Fayl config/db.php — oddiy sozlamalar vositasidir, faylardaassoslangan. Quydagisozlamafayli yii\db\Connection klassnusxasiniolishuchunkerakbo'lganassosiytalablargajavobberadigansozlamalardaniboratdir, undanesasiz SQL-buyruqlarnima'lumotlaromborigajonatishingizmumkin.
Ma'lumotlaromborigayuqoridagisozlamalarsozlabbo'lgandanso'ngulanish, undanfoydalanishuchun Yii::$app->db orqaliamalgaoshiriladi.

Download 265.5 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




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