SQL va NoSQL o'rtasidagi farqlar
SQL ma'lumotlar bazasi - bu Relational Database va tuzilgan ma'lumotlar bazasi, NoSQL tuzilishga qaraganda ko'proq hujjatlashtirilgan va taqsimlangan ma'lumotlar bazasi. Nisbiy ma'lumotlar bazasi, odatda jadvallar deb nomlanadigan ma'lumotlarni saqlash uchun satrlar va ustunlar to'plamiga bo'lingan munosabatlarni qat'iyan bajaradi, ammo hech qanday aloqasi bo'lmagan ma'lumotlar bazasi hujjat yo'naltirilgan yoki taqsimlangan saqlashga ega bo'lib, hech qanday jadval tuzilishini talab qilmaydi. NoSQL ma'lumotlar bazasida hujjat turi yoki tuzilmagan ma'lumotlarning dinamik sxemasi mavjud, SQL ma'lumotlar bazasida esa oldindan aniqlangan sxemasi mavjud. SQL ma'lumotlar bazalari vertikal ravishda kengaytirilishi mumkin, NoSQL ma'lumotlar bazalari esa gorizontal ravishda kengaytirilishi mumkin. SQL ma'lumotlar bazasini uning apparati kuchini kengaytirish orqali o'lchashingiz mumkin. Xuddi shunday, NoSQL ma'lumotlar bazalari haqida gap ketganda, siz ma'lumotlarning bazasini serverlar sonini kamaytirish uchun aktivlar fonida kengaytirishingiz mumkin. SQL ma'lumotlarni aniqlash uchun tuzilgan so'rovlar tilidan foydalansa ham, NoSQL UnQL (Strukturalanmagan so'rovlar tili) nomi bilan ham tanilgan hujjatlar to'plamidan foydalanadi. NoSQL ma'lumotlarning ierarxik saqlanishidan foydalanadi va SQL uchun ma'lumotlar ierarxik saqlanadigan joy yo'q. Biz yangi ma'lumotlarni NoSQL-ga oldingi qadamlarni talab qilmasdan osongina qo'shishimiz mumkin.
SQL esa ma'lumotlarni qayta to'ldirish, sxemalarni o'zgartirish kabi ba'zi o'zgarishlarni talab qilishi mumkin. SQL tili relyatsion MB sxemasini aniqlaydi va ma'lumotlar ustida (manipulyatsiya) ish yuritadi. Unda MB ob'ekti nomlariga (relyatsion MB uchun – jadval nomi va uning ustunlari) o’zgartirishlar kiritish SQL tili kompilyatori yordamida amalga oshiriladi. Bundan tashqari uning ichki identifikatorlariga o’zgartirishlar kiritishni ham amalga oshiradi. MBBT ning ichki qismi (yadrosi) jadval nomlari va uning ustunlari bilan umuman ishlamaydi. SQL tili o’z ichiga MB butunlik chegarasini aniqlashning maxsus vositasini oladi. MBning butunligini tekshirishni ta'minlaydi. MBni modifikatsiya qilish uchun kompilyatsiya vaqtida SQL kompilyatori mos dasturiy kodni generatsiya qiladi. SQL tilining maxsus operatorlari MB «ko’rinish»lari deb ataladigan jadvallarni aniqlashga imkon beradi. Bu «ko’rinish»lar MB da nomlangan ustunlardan iborat so’rovlar shaklida saklanadi (relyatsion MB ga nisbatan ixtiyoriy so’rovning natijasi jadval bo’ladi). Foydalanuvchi uchun «ko’rinish», xuddi MB saqlanadigan ixtiyoriy bazaviy jadvaldek, jadvaldir, lekin «ko’rinish»lar yordamida konkret foydalanuvchi uchun MB ko’rinishini chegaralash yoki kengaytirish mumkin. «Ko’rinish»larni ko’llash SQL tili darajasida ham amalga oshiriladi. MB obektiga avtorizatsiya ruxsati SQL tilining maxsus opreatorlar to’plami yordamida amalga oshiriladi. MB ob'ektlariga ostuplar SQL operatorlarining maxsus tuplami asosida yaratiladi. Bu erdagi goya, xar xil foydalanuvchilar turli polnomochiyalarga ega bulishi kerak. MB sining jadvalini yaratgan foydalanuvchi, shu jadval bilan ishlash polnomochiyalarini tulik tuplamiga ega. Bu tuplamga boshka foydalanuvchilarga barcha yoki ba'zi polnomochiyalarni berish xam kiradi, xudi shunday polnomochiyalarni berish polnomochiyasi xisobga olgan xolda. Foydalanuvchi polnomochiyalari maxsus jadval-kataloglarda yozilgan buladi va ularning kontroli SQL tili darajasida xam amalga oshiriladi. NoSQL qisqartmasi 1998-yilda yaratilgan. Ko'p odamlar NoSQL-ni SQLda siqib chiqarish uchun yaratilgan kamsitish atamasi deb hisoblashadi. Aslida, atama faqat SQL emas. Ushbu g'oya shundan iboratki, har ikkala texnologiya ham birlashishi mumkin va ularning har biri o'z o'rnini egallaydi. NoSQL-harakati so'nggi bir necha yil ichida yangiliklar bo'ldi, chunki Web 2.0 rahbarlarining ko'pchiligi NoSQL texnologiyasini qabul qildilar. Facebook, Twitter, Digg, Amazon, LinkedIn va Google kabi kompaniyalar hech qanday tarzda NoSQL-dan foydalana olmaydi. Ma'lumotni saqlash: Dunyoning saqlangan raqamli ma'lumotlari eksabaytda o'lchanadi. Exabyte bir milliard gigabayt (GB) ma'lumotga teng. Internet.com saytiga ko'ra, 2006 yilda qo'shilgan saqlangan ma'lumotlar hajmi 161 ta exabayt edi. Faqat 4 yil o'tib, 2010 yilda saqlangan ma'lumotlar miqdori deyarli 1000 ExaBytes bo'lib, bu ko'rsatkich 500% dan oshadi. Boshqacha aytganda, dunyoda ko'plab ma'lumot saqlanmoqda va uning o'sishi davom etmoqda. Bir- biriga bog'langan ma'lumotlar: Ma'lumotlar yanada ulangan bo'lib qolmoqda. Ko'priklarda bloglar yaratilgani, bloglarda pingbacks bor va har bir yirik ijtimoiy tarmoq tizimida narsalarni bir-biriga bog'laydigan teglar bor. Katta tizimlar bir-biri bilan bog'lanish uchun qurilgan. Murakkab ma'lumotlar tarkibi: NoSQL ierarxik ichki ma'lumotlar tuzilmalarini osongina boshqarishi mumkin. SQLda xuddi shu narsani bajarish uchun barcha turdagi kalitlarga ega bo'lgan ko'plab relatsion jadvallarga ega bo'lishingiz kerak. Bundan tashqari, ishlash va ma'lumotlar murakkabligi o'rtasidagi munosabatlar mavjud. Ijtimoiy tarmoq ilovalari va semantik veb-da talab qilinadigan katta hajmdagi ma'lumotlarni saqlab turadigan bo'lsak, an'anaviy RDBMS-da ishlashi kamayishi mumkin. SQL emas va u munosabatlar emas. Nomidan ko'rinib turibdiki, bu RDBMS-ni almashtirish emas, balki uni maqtaydi. NoSQL keng tarqalgan ma'lumotlar ehtiyojlari uchun tarqatilgan ma'lumotlar do'koni uchun mo'ljallangan. Terabits ma'lumotlarini har kuni to'playdigan o'zining 500 million foydalanuvchisi yoki Twitter bilan Facebook haqida o'ylang. NoSQL ma'lumotlar bazasida biron-bir sobit sxema va qo'shilish yo'q. RDBMS tez va tezroq apparat va xotira qo'shib, "kengayib boradi". Boshqa tomondan NoSQL, "scaling out" dan foydalanishlari mumkin. O'lchov miqdori ko'plab tovar sistemalarida yukni yoyishni anglatadi. NoSQL komponenti bu katta ma'lumotlar to'plamlari uchun arzon yechim hisoblanadi.
Hozirgi NoSQL dunyosi 4 asosiy toifaga to'g'ri keladi.
Kalit-qiymatlar do'koni , asosan, 2007 yilda yozilgan Amazonning Dynamo Paper- ga asoslanadi. Asosiy g'oya ma'lum bir ma'lumot elementi uchun noyob kalit va ko'rsatgich bo'lgan xash jadvali mavjudligidir.
Ushbu xaritalar odatda ishlashni maksimal darajada oshirish uchun kesh mexanizmlari bilan birga keladi.
Ustun oilaviy do'konlar ko'plab mashinalarga tarqatilgan juda ko'p miqdorda ma'lumotlarni saqlash va qayta ishlash uchun yaratilgan. Tugmachalar mavjud, biroq ular bir nechta ustunlarga ishora qiladilar. BigTable (Google'ning ustunli oilasi NoSQL modeli) holatlarida satrlarni saralab qo'yilgan kalitlar bilan belgilash va ushbu kalit bilan saqlangan qatorlar aniqlanadi. Ustunlar ustunlar oilasi tomonidan joylashtirilgan.
Hujjatlar bazasi Lotus Notes dan ilhomlangan va kalit-qiymat do'konlariga o'xshash. Model asosan boshqa kalit-qiymatlar to'plamlari to'plamlari bo'lgan versiyalangan hujjatlardir. Yarim tuzilgan hujjatlar JSON kabi formatlarda saqlanadi.
Grafik bazalari n tugunlar, yozuvlar orasidagi aloqalar va düğümlerin xususiyatlari bilan qurilgan. Satrlar va ustunlar jadvallari va SQLning qattiq tuzilishi o'rniga, ko'plab mashinalar bo'ylab tarqaladigan moslashuvchan grafika modeli qo'llaniladi.
NoSQL-ning asosiy o'yinchilari
NoSQL-ning asosiy ishtirokchilari asosan ularni qabul qilgan tashkilotlar tufayli paydo bo'lgan. NoSQL ning eng yirik texnologiyalari quyidagilardan iborat: NoSQL ma'lumotlar bazasini so'rov qilish masalasi, ko'pchilik ishlab chiquvchilarni qiziqtiradi. Axir, katta ma'lumotlar bazasida saqlanadigan ma'lumotlar sizni qabul qila olmaysiz va oxirgi foydalanuvchilarga yoki veb-xizmatlarga ko'rsatmasangiz yaxshi bo'lmaydi. NoSQL ma'lumotlar bazalari SQL kabi yuqori darajali deklarativ so'rovlar tili bilan ta'minlamaydi. Buning o'rniga, ushbu ma'lumotlar bazalarini so'rov qilish ma'lumotlar modeli uchun o'ziga xosdir. NoSQL-ning ko'pgina platformalari ma'lumotlarni RESTful interfeyslariga imkon beradi. Boshqa takliflar APIsi. Bir nechta NoSQL ma'lumotlar bazalarini so'rov qilish uchun ishlab chiqilgan so'rovlar vositasi mavjud. Ushbu vositalar odatda bitta NoSQL kategoriyasida ishlaydi. Masalan, SPARQL. SPARQL grafik ma'lumotlar bazalari uchun mo'ljallangan deklaratsiya so'rovining spetsifikatsiyasi. Muayyan bloggerning URL manzilini (IBM mulohazasi) olgan SPARQL so'rovining misoli: Katta ma'lumot saqlash talablariga ega tashkilotlar NoSQL-ga jiddiy qarashmoqda. Ko'rinib turibdiki, kontseptsiya kichik tashkilotlarda juda ko'p qiyinchiliklarga duch kelmayapti. Information Week tomonidan o'tkazilgan so'rovda IT-mutaxassislarning 44% NoSQL haqida eshitmagan. Bundan tashqari, respondentlarning atigi 1 foizi NoSQLning strategik yo'nalishlarining bir qismi ekanini aytdi. Ko'rinib turibdiki, NoSQL bizning dunyomizda o'z o'rnini egallaydi, lekin ko'pchilikning fikricha, ommaviy e'tirozni olish uchun rivojlanishga davom etish kerak.
Dastlabki MBBT larga quyidagilar kiradi:
Invertirlangan ro’yxatlar asosidagi tizimlar
Ierarxik tizimlar.
Tarmoqli tizimlar
Nisbatan yangi MBBT lar:
Relyatsion
Ob’ektga -mo’ljallangan
Yuqoridagi ikkitasi aralashmasi.
Ma’lumotlarni saqlashni tashkil qilinishi va ma’lumotlar bazasiga murojat usuliga qarab MB va MBBT ni quyidagi turlarga ajratiladi:
1. lokal (personal) – MB va MBBT bitta kompyuterda joylashadi va tarmoqda ishlash imkoniga ega emas;
2. tarmoq (integrallashgan) – MB va MBBT lar tarmoqda serverda joylashadi, murojat qiluvchi ilova esa foydalanuvchi kompyuterida joylashadi;
3. taqsimlangan ma’lumotlar bazasi – MB tarmoqdagi turli kompyuterlarda joylashadi, MBBT esa ular ustidan nazoratni olib boradi. Foydalanuvchilar kompyuteridagi ilovalar esa MBBT ga so’rovlar yuborib natijalarni oladi. Ma’lumotlar bazasini boshqarish tizimi (MBBT) – bu dasturiy va til vositalari bo’lib, ko’p sonli foydalanuvchilar tomonidan hamkorlikda ma’lumotlar bazasini yaratish, ishlatish va foydalanish ishlari uchun mo’ljallangan.
1. Ma’lumotlarni saqlash joyi va metama’lumotlar
2. xotira menedjeri
3. Tranzaksiyalar menedjeri
Sxemaning pastki qismida – ma’lumotlarni saqlash joyi. Qabul qilinganidek sxemaning disk shaklidagi komponentlari ma’lumotlarni saqlash joyini bildiradi.
Joriy xolda bu komopnent faqat ma’lumotlarni emas, balki ma’lumotlar strukturasi xaqidagi informatsiyani tashkil qiluvchi metama’lumotlarni ham o’z ichiga oladi. Masalan, agar u relyatsion MBBT bo’lsa metama’lumotlar tarkibiga munosabatlar (jadval) nomlari, munosabatlardagi atributlar nomlari kiradi. Ko’pincha MBBT ma’lumotlar indeksini qo’llab quvvatlaydi. Indeks– bu ma’lumotlar strukturasi bo’lib ma’lumot elementini tez topishga imkon beradi. Masalan, xisob raqami va balansini saqlovchi munosabat xisob – raqam indeksiga ega bo’lishi mumkin. Bu xisob raqami ma’lum bo’lganda balansni tez topish imkonin beradi. Indekslar – saqlanadigan ma’lumotlar qismi, tavsif esa qaysi atributlar indekslarga egaligini ko’rsatadi.
SQL tilining vazifalari
3. SQL ma’lumot toifalari
4. SQL tilining SELECT (tanlash) operatori va uning parametrlari
Ma’lumotlar bilan ishlash uchun mo’ljallangan MBBTichki tili ikki qismdan tashkil topgan:
DDL tili ma’lumotlar baza sxemasini aniqlash uchun ishlatiladi.
DML tili bazada saqlanayotgan ma’lumotlarni o’qish va tiklash uchun ishlatiladi. Bu tillar ma’lumotlarni qism tillari yuqori darajali dasturlash tillari deyiladi, chunki ularni tarkibida barcha xisoblarni bajarish uchunzarur bo’lganda bo’ladigan til kostruksiyalari bo’lmaydi (shartli o’tish amallari, yoki sikl operatori).
Ma’lumot bazasi ishlaydigan ixtiyoriy til foydalanuvchiga quyidagi imkoniyatlarni berishi kerak:
- Ma’lumot bazasi va jadvallarni tuzilishi va tafsifini yarata olish
- ma’lumotlar bilan manipulyatsiya qilishni asosiy amallarini jumladan jadvalga ma’lumotlarni kiritish,( qo’shish),ularni takomillashtirish, jadvaldan ma’lumotlarni olib tashlash
-oddiy va murakkab so’rovlarni bajarish
SQL TILINING VAZIFASI. Ma’lumotlar bazasi bilan ishlash tillari ko’rsatilgan masalalarni foydalanuvchi kim kuch sarf qilib еchishi imkoniyatini berishi kerak. Tilning komandalarini tuzilishi va sintaksisi еtarli darajada sodda va o’rganishga oson bo’lishi kerak. Bundan tashqari u universal bo’lishi kerak. Ya’ni qandaydir standart talablariga javob berishi kerak. Bu esa uni komanda strukturasini va sintaksisini (yozilishini) bir qancha MBBTishlatishini imkonini beradi. SQL-(STRUSTURE QUERY LANGUAGE) (STRUKTURALAShGAN SO’ROVLAR TILI) SQL ma’lumotlarni almashtirish tili bo’lib xisoblanadi, ya’ni u jadvallar bilan ishlash mo’ljallangan bo’lib, kiruvchi ma’lumotlar talab etilgan chiquvchi ko’rinishga ega xolga aylantirib beradi.
SQL tili ikkita asosiy komponentga ega:
-DDL tili (DATA DEFINITION LANGUAGE ma’lumotlar aniqlash tili) bu ma’lumotlar ba’zi strukturasini aniqlash va ma’lumotlarga murojaatni boshqarish uchun mo’ljallangan.
DML tili (DATA MANIPULATION LANGUAGE) ma’lumotlarni manipulyatsiyalash tili. Ma’lumotlarni ajratish va tiklash uchun mo’ljallangan. bu til noprotsedura tili ,shuning uchun unga qanday axborot olishi kerakligi ko’rsatiladi, lekin axborotni qanday olish emas. Boshqacha aytganda SQL tili ma’lumotlarga murojaat usulini ko’rsatishni talab etmaydi. SQL operatori xizmatchi so’zlar va foydalanuvchi qo’llaydigan so’zlardan tashkil topadi. NOSQL da atribut kiymatlari noma’lum bulgan utkazibi yuborilgan yoki mavjud bulmaganlarini NULL bilan yoziladi. NULL kiymat oddiy tushunchada kiymat kiymat xisoblanmaydi. U fakat atributni xakikiy kiymati tushib koldirilgan yoki noma’lumligini anglatadi. NULL ni ishlatishda kuyidagilarga e’tibor berish kerak: Agregat funksiyalar ishlatilganda birorta atributni kiymatlar tuplami buyicha xisoblashlar bajarilganda aniklikni ta’minlash maksadida NULL kiymat xisobga olinmaydi. shartli operatorlarda TRUE, FALSE dan tashkari UNKOWN paydo bulsa natija NULL kiymatda chikadi. bu kiymatni tekshirish uchun IS NULL yoki IS NOT NULL lardan foydalanamiz. almashtirish fuknsiyalari xam argument sifatida NULL bulsa natija NULL ga teng buladi.
Ma'lumotlar bazasi rivojlanishining asosiy xususiyatlaridan biri bu tayyor echimlar va algoritmlarning etishmasligi hisoblanadi. Har bir ma'lumotlar bazasi, u ishlab chiqilgan vazifaga muvofiq. Ushbu ma'lumotlar bazasining odatiy dasturlarini ishlab chiqishdan ajratib turadi, chunki qaysi algoritmlar va dizayn shablonlari uzoq vaqt davomida ishlab chiqilgan va hech narsani ixtiro qilish shart emas. Albatta, ma'lumotlar bazasi dizayni texnikalari barcha ilovalar uchun odatiy holdir. Yuqorida aytib o'tilganidek, ma'lumotlarning eng keng tarqalgan modeli - bu modeldir. Biroq, boshqalarni boshqalarga ko'ra, boshqa modelning ko'rinishi bundan oldin Ierarxik model 1960-yillarda IBM tomonidan etkazib berilgan DBMSda keng qo'llanilgan. Asosiy g'oya shundaki, bunday ma'lumotlar bazasiga kirish bir nechta "filiallar" va bitta "ota-onasi" bo'lishi mumkin. Umuman olganda, bu shubhali kabi shubhali fayl tizimi.
Bunday ma'lumotlar bazasiga kirish uchun ko'pincha daraxt bo'ylab o'tish kerak. Tarmoq modeli bir xil yondashuvning yanada moslashuvchan versiyasi. Bu sizga bir nechta "ota-onalar" ni olish imkonini beradi. 1970 yillarning boshlarida paydo bo'lgan ushbu model keng tarqalgan emas va tez orada ular model tomonidan joylashtirilgan. 1970 yilda Edgar Cocd (IBM xodimi) ma'lumot bazasida ma'lumotlarni topish vazifasini bajarishga unchalik moslashtirgan modelni taklif qildi. Siz ma'lumotlar bazasida "satrlar" yozuvi bo'lgan "jadvallar" deb bilish modeli haqida o'ylashingiz mumkin. Ma'lumotlar bazasidagi munosabatlar, shuningdek, o'zaro narsalar va yozuvlar guruhlari ("jadvallar", munosabatlar (munosabatlar). Qisqa modeli aloqa ierarxik va tarmoq modellariva o'z-o'zidan jadvalga mos keladigan ulanishlarni qo'shdi. Kodeksning takliflariga binoan, 70-yillarning o'rtalariga kelib, RHMMS tizimi ishlab chiqilgan va oxirida SQL so'rov tilini qo'llab-quvvatlagan. 1980 yilda ob'ektga yo'naltirilgan dasturlash bilan qabul qilingan ob'ektlarni qabul qilish tobora qiyinlashib bormoqda. Oxir-oqibat, bu NOSQL paydo bo'lishiga olib keldi va NewsQLning yaqinlashishi bu lahzada Faqat rivojlanadi. NOSQL yondashuviga misollar shunchaki deb nomlanishi mumkin. XML asosida qurilgan hujjatlarga yo'naltirilgan ma'lumotlar bazalari. Nosqlning asosiy afzalligi - bu yuqori gorizontal jihatdan katta imkoniyatlar, i.e. Serverlarni qo'shish orqali hosildorlikni oshirish imkoniyati. Adventim bilan bulutli texnologiyalar No sql ayniqsa, talabga ega bo'ldi. Shunga qaramay, tegishli model eng keng tarqalgan bo'lib qolmoqda, shuning uchun uni batafsil ko'rib chiqaylik. Qisqa modeli yozuvlar, atributlar va munosabatlar tushunchalari bilan ishlaydi. Nisbat ikki o'lchovli jadval shaklida tasavvur qilinishi mumkin, keyin atributlar jadvalli ustunlar (aniqroq, ustunlarning ismlari) va yozuvlar jadval chizig'i. Qisqa model ma'lumotlar bazasida saqlanadigan ma'lumotlar tarkibini qat'iy belgilashni talab qiladi, ya'ni ushbu ma'lumotlar bazasi uchun munosabatlar va atributlar o'rnatilgan. NoSQL ma'lumotlar bazalari maxsus uchun maxsus yaratilgan ma'lumotlar modellari va zamonaviy dasturlarni yaratish uchun moslashuvchan jadvallarga ega. NoSQL ma'lumotlar bazalari rivojlanish qulayligi, funktsionalligi va ishlashi uchun keng tan olingan Katta ma'lumot. Ular hujjat, diagramma, kalit qiymati, xotira va qidirish kabi turli xil ma'lumotlar modellaridan foydalanadilar.
NoSQL (relaksatsiz) ma'lumotlar bazasi qanday ishlaydi?
Ma'lumotlarga kirish va boshqarish uchun NoSQL ma'lumotlar bazalarida hujjatlar, jadvallar, kalit qiymatlar, xotirada saqlash va qidirish kabi turli xil ma'lumotlar modellari qo'llaniladi. Ushbu turdagi ma'lumotlar bazalari, shuningdek, ma'lumotlarning katta hajmini, past kechikish va moslashuvchan ma'lumotlar modellarini talab qiladigan dasturlar uchun maxsus optimallashtirilgan. Bunga biz, xususan, boshqa ma'lumotlar bazalari tanish bo'lgan ba'zi bir ma'lumotlarning barqarorligini cheklash orqali erishamiz. DBTMS ishlab chiqaruvchilari SQL standartini qo'llab-quvvatlaydilar, ammo ba'zida individual sintakseps o'zgarishi. Deyarli barcha DBMS tarkibida ma'lum bir SQL kengaytmalari mavjud. Shuning uchun, SQL tilini o'rganish uchun biron bir aniq zarbani bilmasdan, uni faqat nazariy jihatdan namoyon etish mumkin. Ushbu modulning maqsadlaridan beri (I.E., amalda olingan bilimlarni qo'llash qobiliyati), demo-misollarni va amaliy modul vazifalarini buzish uchun ishlatiladigan har qanday maxsus DBMS-ni to'xtatish kerak Bunday DBMS, global bozorda eng keng tarqalgan Oracle tanlandi. Oracle DBMS uchun SQL Dialect-da standartdan og'ishlar minimaldir. Bo'limda keltirilgan misollar SQL * Plus mijozning 10G serverida mijozlar konsolidan foydalangan holda amalga oshirildi. 2003 yil SQL-ning 2003 yil SQL-dan kamida Oracle sintaksisining kichik og'ishi bo'lgan buyruqlar tavsifi hamma joyda alohida-alohida kelishib olinadi. Ushbu DBMS-ning keng tarqalishi Microsoft SQL serveri, MySQL va boshqa bir qatorlar sifatida, ba'zan muzokaralar olib boriladi. SQL operatorlari bepul yozish formati. Qaerda kosmik yoki tinish belgilari bo'lsa, yangi satrga har qanday bo'sh joy yoki o'tish joylari kiritilishi mumkin. SQL * Plus konsolida ishlashda ishlaganda, belgi ishlatiladi; (Ma'lumot nuqi) so'rov tugashining belgisi sifatida - nuqta-vergul bilan yakunlangan so'rov matni darhol amalga oshirish uchun serverga yuboriladi. Biroq, vergul SQL buyrug'ining bir qismi emas, shuning uchun ma'ruzalarda ma'ruzalarda ma'ruzalarda bo'lmaydi. Tilni tasvirlashda biz har bir buyruqning to'liq sintaksisini rasmiy shaklda (Bakusa-Naura shaklida yoki sintaktik shaklda) berish, sintaksisning soddaligi va nisbiy soddaligini keltirib chiqarmaslikka imkon berdik til lahjalarida standart va standart va o'zgaruvchanlikni o'z-o'zidan pozitsiyaning o'zgaruvchanligi. Buyruqlarning sintaksisi norasmiy ravishda, ba'zi mayda-chuyda, bizning nuqtai nazarimizdan, tuzilishimizdan, ammo etarlicha qat'iyroq:
· Tilning barcha kalit so'zlar kapital harflarda qayd etiladi va foydalanuvchilar tomonidan shakllangan nomlar chiziqli, garchi SQL tilining nuqtai nazaridan, belgilar registridagi tafovutlar ahamiyatsiz; Hamma jamoaning ixtiyoriy elementlari kvadrat qavslarda;Bo'shliqni noaniq talqin qilish mumkin bo'lgan hollarda, u belgilangan belgisi bilan almashtiriladi; Agar buyruqning bir qismi o'tilganda, nuqta ishlatiladi. Ta'rifga norasmiy yondashuvning mumkin bo'lgan kamchiliklari ko'plab misollar va qo'shimcha og'zaki sharhlar bilan qoplanadi. DBTSning ba'zi mahalliylashtirilgan versiyasi AQSh tomonidan ishlab chiqarilgan nomlar, milliy alifbo ramzlari, ammo ushbu imkoniyatni haddan tashqari ehtiyotkorlik bilan qo'llashni tavsiya etamiz. Kalit tilining ramzlari nom sifatida ishlatilishi mumkin emas - bu xatolarning aksariyati kompilyatsiya paytida aniqlanmaydi, ammo noyob holatlarda xatolar, xatolar oldindan aytib bo'lmaydi, ayniqsa milliy alifbo ramzlaridan foydalanish nuqtai nazaridan. SQL (tuzilgan so'rovlar tili) - ma'lumotlar bazalarida ma'lumotlarni yaratish va qayta ishlash uchun vositalarni ta'minlaydigan tuzilgan so'rovlar tilining qisqartirilgan nomi. Kompyuter texnologiyalarining o'ziga xos xususiyatlari, shuningdek, ma'lumotlar bazasi texnologiyasi sohasidagi SQL sanoatidagi rahbarlarni qo'llab-quvvatlash, bu asosiy ma'lumotlar bazasi asosiy ma'lumotlar bazasini yaratdi. Ko'plab DBMS uchun ishlab chiqilgan ma'lumotlar bazalari paydo bo'lishidan oldin yaratilgan barcha ma'lumotlar bazasi paydo bo'lishi Lisik fayl yozuvlari ko'rinishida keltirilgan ma'lumotlarni uzatish bo'yicha uzatilgan. Albatta, bu foydalanuvchidan saqlashni tashkillashtirish va jiddiy harakatlarni tashkil etishning batafsil ma'lumotlarini talab qildi, ularda qaysi ma'lumotlar kerakligini va ularni qanday olish kerakligini ko'rsatadi. Ko'rib chiqilayotgan SQL Til ma'lumot uzatish operatsiyalariga yo'naltirilgan. Mantiqiy bog'liqlik bilan bog'liq bo'lgan munosabatlar ko'rinishida taqdim etiladi. Ushbu til tuzilmalarining eng muhim xususiyati ushbu ishlov berish tartibi to'g'risida emas, balki ma'lumotlarni qayta ishlash natijasiga yo'naltirishdir. SQL o'zi ma'lumotlar, indekslar va hatto natijalarni olish uchun eng samarali ketma-ketliklar mavjudligini aniqlaydi, shuning uchun ma'lumotlar bazasi so'rovida ushbu qismlarni ko'rsatmang.
Ma'lumotlar bazasi nazariyasining ko'rinishi ikki sinfga tegishli bo'lgan qator tillarni ishlab chiqishga sur'atda keltirdi: albatbraik tillar munosabatlarga qo'llaniladigan ixtisoslashtirilgan operatorlar orqali so'rovlarni ifodalashga imkon beradi; mavjud bo'lgan munosabatlar to'plamidan yangi munosabatlarni belgilaydigan ifoda yozish qoidalari to'plamidir. Shuning uchun, predektsiyalarni hisoblash - bu ma'lumotlar bazasida mavjud bo'lgan munosabatlar to'g'risidagi so'rovga javob berish maqsadida mavjud bo'lgan munosabatlarni aniqlash usuli. 1987 yilda SQB professional qonunchilik dBMS uchun tillar standartiga aylandi va barcha umumiy tizimlarga kiritila boshlandi. Bu keyingi lahzalar bilan bog'liq. Tezlikning doimiy o'sishi, shuningdek, energiya sarfi, o'lchamlari va narxi ularning sotilishi uchun mumkin bo'lgan bozorlarni keskin kengayish, ularning sotuvlari, foydalanuvchilar doirasi, turlari va narxlarining keskin kengayishiga olib keldi. Tabiiyki, turli xil dasturiy ta'minotga bo'lgan talab kengaydi. Xaridor uchun kurashda dasturiy ta'minot ishlab chiqaradigan firmalar tobora aqlli, shuning uchun dasturiy ta'minot komplekslarini qurishni boshladilar. Ularni sotib olish orqali. Ko'pgina tashkilotlar va individual foydalanuvchilar ko'pincha o'z kompyuterlarida ularni sig'dira olishmadi. EKM tarmoqlari ma'lumot almashish va uni umumlashtirish dasturlari va ma'lumotlar maxsus fayl serverlarida joylashtirilishini boshlagan. Fayl serverlari bilan ishlaydigan DBMS turli xil kompyuterlarning bir-biridan juda ko'p, bir xil ma'lumotlar bazasiga kirishga imkon beradi. Bu ko'plab xodimlar yoki talabalar umumiy ma'lumotlardan foydalanishlari va ish paytida yaratilgan ma'lumotlarni almashish uchun turli xil tizimlarni avtomatlashtirilgan boshqaruv tizimlarini soddalashtirishni soddalashtiradi. Biroq, ushbu yondashuv bilan, dasturlardan yoki terminallardan kelgan barcha so'rovlarni ko'rib chiqish, hatto oddiy so'rovni amalga oshirish uchun barcha fayllarni fayl serveridan o'qish kerak va u mojaro holatlariga olib keladi va Tarmoqni haddan tashqari yuklash, ushbu kamchiliklarni bartaraf etish uchun mijoz / server texnologiyasi tomonidan taklif qilindi, ammo sizga server bilan bitta aloqa tili kerak - va SQL o'z sifatida tanlangan. SQL-da ma'lumotlar yo'naltirilgan operatsiyalar kontseptsiyasini amalga oshirish kichik takliflar to'plami bilan ixcham tilni yaratishga imkon berdi. SQL so'rovlar uchun ham, dastur dasturlarini qurish uchun ishlatilishi mumkin.
Bundan tashqari. SQL ushbu takliflarda bajarish qobiliyatini beradi:
Arifmetik hisob-kitoblar, shu jumladan turli funktsional o'zgarishlar, matnli satrni qayta ishlash va arifmetik iboralar va matnlarning qiymatlarini taqqoslashni amalga oshirish; Qator yoki displey ekranini namoyish etganda qatorlar yoki ustunlarni soddalashtirish; Foydalanuvchilarga ma'lumotlar bazasida hajmini oshirmasdan ma'lumotlarni izohlashsiz ma'lumotlarni yaratish; So'rovda ko'rsatilgan jadvalni tejash, boshqa jadvalda bir nechta jadval yoki qarashlar; Amaliyotlarning ushbu guruhlariga ma'lumot va amaliyotga qo'llash, masalan, o'rtacha, maksimal, minimal elementlar soni va boshqalar kabi operatsiyalar va boshqalar. SQL sterdarti Ansi (Amerika standartlari bo'yicha Milliy standartlar instituti) tomonidan belgilanadi va shu vaqtda Iqqa (Xalqaro standartlashtirish uchun) tomonidan qabul qilinadi. Biroq, ma'lumotlar bazasi tijorat dasturlari SQL-ni Ansi haqida xabardor qilib, ushbu tilda turli xil xususiyatlarni qo'shib, ushbu tilda turli xil xususiyatlarni qo'shib, juda foydali bo'ladi. Ba'zan u standart tilni buzadi, ammo yaxshi g'oyalar rivojlanmoqda va tez orada me'yorlarga aylanadi. SQL tili ko'plab DBMS asosidir, chunki Diskdagi jismoniy tuzish va yozuv ma'lumotlari, shuningdek diskdan jismoniy o'qish ma'lumotlari uchun ma'lumot va boshqa DBMM komponentlari va foydalanuvchilari tomonidan SQL so'rovlarini olish imkonini beradi. Shunday qilib, SQL - bu foydalanuvchilarga, dasturlar va hisoblash tizimlarini materiallar bazalarida keltirilgan ma'lumotlarga taqdim etadigan kuchli vositadir. SQL Tilning asosiy afzalliklari quyidagicha yotadi: SQL tili standarti - yuqorida aytib o'tilganidek, uning dasturlarida foydalanish xalqaro tashkilotlar tomonidan standartlashtirilgan; Mustaqil DBMS bo'yicha mustaqillik - umumiy DBMS SQL-dan foydalanadi, chunki Qisqa ma'lumotlar va dasturlar bitta DBM-dan boshqasiga minimal o'zgartirishlar bilan o'tkazilishi mumkin; Men bitta hisoblash tizimidan uzatishni turli xil hisoblashlar o'tkazish imkoniyati turli xil, hisoblash tizimlariga yo'naltirilishi mumkin, ammo SQL-dan foydalanib yaratilgan dasturlarga mahalliy ma'lumotlar bazalariga ham, katta multiplayer tizimlariga ham foydalanishga imkon bering; Tilning tegishli asoslari - SQL - ma'lumotlar bazalari tili, shuning uchun ma'lumotni taqdim etish modeli mashhur bo'lib kelganida, ommabop bo'lib kelgan. Ma'lumotlar bazasining jadval tuzilishi yaxshi, shuning uchun SQL tili sodda va o'rganish oson; Interfaol so'rovlarni yaratish qobiliyati foydalanuvchilarga ma'lumotlarga ega bo'lgan holda va interfaol rejimda bir necha qisqa vaqt davomida so'rov natijalarini taqdim etishingiz mumkin. Ma'lumotlar bazasiga dasturiy ta'minotni olish imkoniyati - SQL Tili Ma'lumotlar bazasiga murojaat qilishingiz kerak bo'lgan ilovalarda osongina ishlatiladigan bo'lishi mumkin. Xuddi shu SQL operatorlari interfaol va dasturiy ta'minot uchun ham ishlatiladi, shuning uchun ma'lumotlar bazalari tarkibidagi dasturlarning bir qismi birinchi navbatda interfaol rejimda tekshirilishi va keyin dasturga joylashtirilgan. Boshqa ma'lumotlar taqdimotini ta'minlash - SQL-dan foydalanish, ma'lum bir foydalanuvchi turli xil ma'lumotlar ko'rinishini ko'radigan bunday ma'lumotlar tuzilishini ta'minlashingiz mumkin. Bundan tashqari, ma'lumotlar bazasining turli qismlari bo'lgan ma'lumotlar birlashtirilishi va foydalanuvchiga bitta oddiy jadval shaklida taqdim etilishi mumkin, demak, qarashlar ma'lumotlar bazasini himoya qilish va uning muayyan talablari uchun konfiguratsiyani amalga oshirish uchun ishlatilishi mumkinligini anglatadi foydalanuvchilar; DB dB tarkibini jadal ravishda o'zgartirish va kengaytirish qobiliyati, shuningdek, ma'lumotlar bazasi tarkibida boshqariladigan tarkibda ham SQL tili. Bu statik ma'lumotlar ta'rifining tuzilishini taqiqlovchi statik ma'lumotlar ta'rifining katta ustunligi. Shunday qilib, SQL ma'lumotlar bazasi nuqtai nazaridan mos keladigan sub'ektlarga real vaqt rejimida amalga oshiradigan dasturning ishlashini to'xtatmasdan, ma'lumotlar bazasi moslashuvi nuqtai nazaridan moslashuvchanlikni ta'minlaydi; Mijoz / server arxitekturasini qo'llab-quvvatlash - SQL mijoz / server platformasi bo'yicha dasturlarni amalga oshirish uchun eng yaxshi vositalardan biri. Bunday holda, SQL mijoz tizimi va server tizimi bilan o'zaro aloqada bo'lib xizmat qiladi, ularning har biriga to'g'ridan-to'g'ri funktsiyalarini bajarishga imkon beradi. Aytish kerakki, SQL-ni oxirigacha ishlash vositasi sifatida paydo bo'lgan bo'lsa-da, oxirida u dasturchi vositasi bilan aylangan shunchalik qiyin bo'ldi. SQL-dan foydalanib, SQL-dan foydalanib ma'lumotlarni qayta ishlash bo'yicha ma'lumotlarni yaratish ushbu bob oxirida ko'rib chiqiladi.
SQL so'zning ikkita to'plamini aniqladi:
· SQL-DDL. (Ma'lumot ta'rifi tili) bu til ta'rifi va ma'lumotlar bazasi yaxlitligi cheklovidir. Bunga ma'lumotlar bazalarini yaratish va o'chirish buyruqlari kiradi; jadvallarni yaratish, o'zgartirish va o'chirish; Foydalanuvchi boshqarish va boshqalar.
· SQL-DML. (Ma'lumotlar Manipulyatsiyalash tili) - Ma'lumotlarni boshqarish Tili: Ma'lumot, tranzaktsiyalarni boshqarish va ajratish
Bu erda SQL-92 ning barcha xususiyatlarining qat'iy tavsifi berilmagan. Birinchidan, hech qanday DBMS ularni to'liq qo'llab-quvvatlaydi, ikkinchidan, ishlab chiqaruvchilar ko'pincha SQL-ning bir-biriga mos kelmaydigan kengaytmalarini taklif qilishadi. Shuning uchun biz uning o'ziga xos xususiyatlari va imkoniyatlari haqida umumiy tasavvur beradigan tilning ma'lum bir to'plamini ko'rib chiqamiz. Shu bilan birga, ushbu to'plam har qanday DBBM bilan mustaqil ish boshlash kifoya. SQL standartlari bo'yicha qo'shimcha ma'lumot soati SD Kuznetsova "SQL vizom tili" maqolasida ma'lumot beriladi: qisqa muddatli SQL standartining rus tilidagi tarjimasi bilan tanishadi Axborot texnologiyalari markazi serveri, "Sybase SQL server DBM serverlari, Sybase SQL serveri, Sybase SQL Server", Microsoft SQL Server, Microsoft SQL Server, M.Narnovskiy "SQL uchun amaliy qo'llanma", Kiev, dialektika, 1997 yil. Shuni ham ta'kidlash kerakki, tegishli modelni tavsiflashda ishlatiladigan "Terri" terminologiyasidan farqli o'laroq ( munosabat, atribut, zarb), adabiyotda, SQL-ni tavsiflashda "amaliy" terminologiya ko'pincha ishlatiladi (mos ravishda - stol, ustun, satr). Bu erda biz ushbu an'anaga amal qilamiz. Barcha misollar ma'lumotlar bazasiga nisbatan qurilgan nashrlar.Ushbu kurs mavzusiga tegishli nashrlar (bosma va elektron). Ushbu ma'lumotlar bazasining tuzilishi 5.4-bo'limda tasvirlanishi mumkin, unga amaliy mashg'ulotlar uchun foydalanish uchun Internet orqali foydalanish uchun Internet orqali foydalanish mumkin. DbMS (Real Algebra) yoki Postgresql DBMS orqali Internet orqali olish mumkin. (Sql tili). tuzilgan til So'rovlar. Ushbu til ma'lumotlar bazalarida saqlanadigan ma'lumotlarni yaratish, tahrirlash va o'chirish imkonini beradi, yangi ma'lumotlar bazalarini yaratadi. SQL - bu Ansi standarti (Amerika Milliy standartlari) va ISO (standartlashtirish uchun xalqaro tashkilotlar)
Birinchi xalqaro standart SQL Til 1989 yilda qabul qilingan, tez-tez SQL / 89 deb nomlanadi. Ushbu standartning kamchiliklari qatorida, u birinchi navbatda, u amalga oshirishda belgilangan ko'plab muhim xususiyatlarga ega. Bu yerdan juda ko'p tafovutlar bor edi tilni amalga oshirish Turli ishlab chiqaruvchilar. Bundan tashqari, da'volarni tilning amaliy jihatlari yo'qligi, masalan C dasturlash tilida joylash kabi ma'lumotlarning yo'qligi haqida bildirildi. Keyingi SQL standartining navbatdagi standartlari 1992 yil oxirida qabul qilindi va SQL / 92 deb nomlana boshladi. Bu SQL / 89 dan ko'ra aniqroq va to'liq bo'lib, kamchiliklar bo'lmagan. Hozirgi kunda aksariyat tizimlar ushbu standartni deyarli amalga oshiradilar. Biroq, bilasizki, taraqqiyot to'xtamaydi va 1999 yilda SQL3 deb nomlanuvchi SQL: 1999 yilda ham yangi SQL-SQL: 1999 yil paydo bo'ldi. SQL3 "Ob'ektga yo'naltirilgan SQL" deb tavsiflanadi va bir nechta ob'ektiv ma'lumotlar bazasini boshqarish tizimining asosidir (masalan, Oracle8 Oracle, Universal8 Oracle kompaniyasi va IBM). Ushbu standart shunchaki birlashuv SQL-92 va Ob'ekt texnologiyasi. Unda an'anaviy SQLning bir qator kengaytmalari mavjud bo'lib, hujjatning o'zi kelajakda standartlashtirish sohasida samaraliroq ishlarga erishish uchun tuziladi.
Foydalanilgan ;
Adabiyotlar Uslubiy qo’llanmalar , Google va SQL serveridan olingan malumotlarga tayanib tayorlangan.
Internet nashri www.ziyonet.uz
Do'stlaringiz bilan baham: |