1.3. SQL tili, SQL server berilganlar bazasini boshqarish tizimlari
Ma’lumotlar bazasi dunyosi tobora yagona bolib bormoqda. Bu jarayon har xil kompyuter muhitlarida faoliyat ko‘rsatuvchi axborot tizimlarini hosil qilishda qo'llanuvchi yagona standart til yaratishni talab qildi.
Buyruqlar to'plamini bilgan foydalanuvchilarga standart til, ular shaxsiy kompyuter tarmoq ishchi stansiyasida yoki katta EHM da ishlashidan qat'iy nazar, ma`lumot yaratish, izlash va uzatishga imkon beradi.
SQL (Structured Query Language, odatda “sikvel” deyiladi), ma’nosi — Tarkiblangan so'rovlar tili. Bu relyatsion ma’lumotlar bazalarida ishlashga imkon beradigan tildir. Bu til ifodalarining xususiyati shundan iboratki, ular ma’lumotlarni qayta ishlash protseduralariga emas, natijalariga yo‘naltirilgandir.
SQL o‘zi ma`lumotlar qayerda joylashgani, indekslar qandayligini va, hatto, amallarni qanday izchillikda qo’llasa bo`lishini aniqlaydi, bu tafsilotlarni ma’lumotlar bazasiga so‘rovlarda ko'rsatish kerak emas. SQL tili IBM kompaniyasida MBBT DB2 yaratish jarayonida ishlab chiqilgan va keng ko`lamda RISC protsessorli mashinalarda UNIX tizimlar asosida hamda meynfreymlarda, super kompyuterlar asosida qurilgan katta hisoblash tizimlarida qo`llanilgan. Shu bilan birga, u mustaqil bo`lmasdan, PL/SQL va Transact-SQL kabi ichki dasturlash
tillariga inkapsulyatsiya qilinadi. 1986-yilda ANSI (American National Standart Institute) SQL tilining rasmiy standartini ishlab chiqdi, 1992- yilda bu standart kengaytirildi.Butun til 30 ga yaqin operatorlarga ega bo’lib, ba’zi versiyalarida sal ko'proq, ba’zilarida sal kamroqdir. Har qanday MB har xil ob’ektlarga, ya’ni jadvallar, protseduralar, funksiyalar, tasavvurlar, ketma-ketliklar va hokazolarga ega.
“Kliyent-Server” texnologiyasiga ko'ra, foydalanuvchi EHM (Kliyent) lar so'rovlari maxsus ma’lumotlar serverlarida qayta ishlanadi, foydalanuvchi EHM larga faqat so'rovni qayta ishlash natijalari qaytariladi. Tabiiyki, Server bilan muloqot qilish uchun yagona til kerak va bunday til sifatida SQL tanlangan.
Shuning uchun hamma zamonaviy relyatsion MBBT versiyalarida (DB2, Oracle, Ingres, Informix, Sybase, Progress, Rdb) va, hattoki, norelyatsion MBBT versiyalarida (masalan, Adabas) “Klient-Server” texnologiyasi va SQL tilidan foydalaniladi. SQL tilida ma’lumotlarni jadval ko'rinishda tasvirlashga yo'naltirilgan amallar konsepsiyasi ko'p bo'lmagan (30 dan kam) ifodalardan iborat kompakt til yaratishga imkon berdi. Ikki xil: interaktiv va joylashtirilgan SQL mavjud. Ko'p hollarda ikkala forma bir xil ishlaydi, lekin ikki xil foydalaniladi. Interaktiv SQL ma’lumotlar bazasining o'zida faoliyat ko'rsatadi va buyurtmachi foydalanishi uchun chiqish hosil qilishda ishlatiladi. SQLning bu formasida buyruq kiritilsa, u darrov bajariladi va darhol natijani(agar u mavjud bo'lsa) ko'rish mumkin. Joylashtirilgan SQL boshqa tilda yaratilgan dasturga joylashtirilgan SQL buyruqlardan iborat.
SQLning interaktiv va joylashtirilgan formalarida ko'p sonli guruhlar yoki subbolimlar mavjud. Ular ANSI tomonidan e’tiborga olingan va konseptual darajada foydali, lekin ko'pchilik SQL dasturlar ularni alohida qayta ishlamaydi, shuning uchun ular aslida SQL buyruqlarining funksional kategoriyalaridir.
- DDL (Ma’lumotlarni Ta’riflash Tili) — ANSI da sxemani ta’riflash tili, obyektlarni (jadvallar, indekslar, tasavvurlar va hokazo) yaratuvchi buyruqlardan iborat.
- DSL (Ma’lumotlarni O'zgartirish Tili) — bu jadvallarda qanday qiymatlar saqlanishini istalgan daqiqada aniqlovchi buyruqlar majmuasi.
- DCL (Ma’lumotlami Boshqarish Tili) - foydalanuvchiga ma`lum obyektlar ustida malum ta’sir o'tkazishga ruxsat berish yoki bermaslikni aniqlovchi vositalardan iborat. SQL Standarti ANSI tomonidan aniqlangan va hozir IСО (Standartlashtirish bo'yicha xalqaro tashkilot) tomonidan qabul qilingan. Lekin kommersial ma’lumotlar bazalari dasturlari ANSI ni ogohlantirmasdan SQL ni kengaytiradilar, ya’ni o'zlari foydali deb hisoblagan har xil xossalarni qo'shadilar.
SQL so'rov tili — ma’lum talablar asosida berilganlar bazasiga murojaat qilib, undan so'rov talablariga javob beradigan natijalarni olish tili. Hozirgi paytda turli berilganlar bazasi va ularning sistemalari yaratilgan. Ammo relyatsion tipdagi barcha berilganlar bazasiga murojaat qilib, ulardan tegishli ma’lumotlarni olish SQL tilida ishlab chiqilgan.Bu tilda so'rovlar qanday vositalar yordamida tashkil qilinishiga to'xtalib o'tamiz.Shuni aytish joizki, ba’zi BBTS larda (masalan, Accessda) uni ishlatmasdan tanlashga so'rov yoki maxsus namuna bo'yicha so'rov blanki sifatida murojaat qilib tegishli ma’lumotlar olinadi, bunday so'rovlarni tashkil qilish uchun esa Базаданных — Создать (Berilganlar bazasi yaratish) buyrug‘idan foydalaniladi.So'rov natijasini javob sifatida jadval ko'rinishida olish mumkin.
SQL — interaktiv so’rovlar tili. Foydalanuvchilar SQL komandalari asosida ishlovchi ma’lumotlarni o’qish va ularni ekranga chiqarishga mo’ljallangan interaktiv dastur orqali berilganlar bazasi ma’lumotlaridan foydalanadilar. Bu esa maxsus so’rovlarnihosil qilishning qulay usulidir.
SQL — berilganlar bazasini dasturlash tili.Berilganlar bazasi bilan ishlashda dasturchilar o’zlarining dasturlarida SQL komandalaridan foydalanadilar.Bu uslub foydalanuvchi tomonidan yozilgan dasturda qo’llanilganidek berilganlar bazasining xizmatchi dasturlarida ham ishlatiladi.
SQL — berilganlar bazasida administratorlik qilish tilidir. Berilganlar bazasining administratori SQL tilidan berilganlar bazasi strukturasini aniqlashda va ulardan foydalanish huquqini boshqarishda foydalanadi.
SQL — klient — server texnologiyasi asosida dasturlarni tuzish tilidir.Shaxsiy kompyuterlar uchun tuzilgan dasturlarda SQL tili lokal tur orqali berilganlar bazasi serveri bilan aloqani tashkil etish uchun qo’llaniladi.Ko’pgina yangi dasturlarda klient —server arxitekturasi tarmoq trafigidan minumum darajada foydalanish hamda shaxsiy kompyuterlar singari berilganlar bazasi serverlari tezligini oshirish uchun ishlatiladi.
SQL — taqsimlangan berilganlar bazasi tili.Taqsimlangan berilganlar bazasi sistemalarini boshqarishda SQL bir necha o’zaro aloqa qiluvchi hisoblash sistemalari o’rtasida ma’lumotlarni taqsimlashga yordam beradi.Har bir sistemaning dasturiy ta’minoti SQL dan foydalanib boshqa sistemalar bilan aloqa qiladi, ularga so’rovlaruzatadi.
SQL — berilganlar bazasida shlyuzlar o’rnatish imkonini beruvchi tildir.Hisoblash tarmoqlarida SQL dan bir BBBTidan boshqa turdagi BBBT bilan bog’lash uchun foydalanadilar.
SQL tili birinchi navbatda so’rovlarni bajarishga mo’ljallangan.SQL so’rovlarini ko’rish uchun qo’llaniladigan SELECT operatori boshqa SQL operatorlariga nisbatan ancha keng imkoniyatli hisoblanadi.SELECT operatori berilganlar bazasidan ma’lumotlarni o’qiydi va so’rov natijalarini jadval ko’rinishida qaytaradi. SELECT оperаtоriMB jаdvаllаridаn nаtijаviy to‘plаm оlish uchun mo‘ljаllаngаn ifоdаdir. Biz SELECT оperаtоri yordаmidа so‘rоv berаmiz, u bo‘lsа mа’lumоtlаr nаtijаviy to‘plаmini qаytаrаdi. Bu mа’lumоtlаr jаdvаl shаklidа qаytаrilаdi. Bu jаdvаl keyingi SELECT оperаtоri tоmоnidаn qаytа ishlаnishi mumkin vа hоkаzо. SELECT operatori oddiy so’rovlar uchun ikkita zaruriy predlojeniyadan iborat bo’ladi. SELECT predlojeniyasida talab qilingan ustun nomlari keltiriladi. FROM predlojeniyasida esa bu ustunlarni saqlovchi jadvallar ko’rsatiladi.So’rov mantiqiy darajada FROM predlojeniyasida ko’rsatilgan jadvallarni satrma - satr ko’rib chiqish orqali bajariladi. Jadvalning har bir satridan natija sifatida chiqariladigan ustunlarning qiymatlari olinadi va so’rov natijasining bitta satri tuziladi. Shunday qilib oddiy so’rov natijalari jadvali berilganlar bazasi jadvalining har bir yozuvi uchun bitta berilganlar satri hosil qiladi.SELECT ifоdаsi o‘z ichigааlbаttаFROM ifоdаsini оlishi kerаk.Qоlgаn ifоdаlаr kerаk bo‘lsа ishlаtilаdi.
SELECT ifоdаsidаn so‘ng so‘rоvdа qаytаriluvchi ustunlаr ro‘yхаti yozilаdi.FROM ifоdаsidаn so‘ng so‘rоvni bаjаrish uchun jаdvаllаr nоmi yozilаdi.WHERE ifоdаsidаn so‘ng аgаr mа’lum sаtrlаrni qаytаrish lоzim bo‘lsа, izlаsh shаrti yozilаdi. GROUP BY ifоdаsi guruhlаrgааjrаtilgаn nаtijаviy so‘rоv yarаtishgа imkоn berаdi.HAVING ifоdаsidаn guruhlаrni qаytаrish shаrti yozilаdi vаGROUP BY bilаn birgа ishlаtilаdi. ORDER BY ifоdаsi mа’lumоtlаr nаtijаviy to‘plаmini tаrtiblаshyo‘nаlishini аniqlаydi.OFFICES jаdvаlidаgi hamma yozuvlаrni qаytаruvchi sоddа so‘rоv ko‘rаmiz:
|