8
1-BOB. MIJOZ-SERVER ARXITEKTURASINING NAZARIY ASOSLARI
1.1. SQL standart so‘rovlar tili
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 muхitlа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 bilgа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.
SQL (Structured Query Language) – Bu so‘rov tili ko‘p operatorlardan tashkil
topgan bo‘lib, bu operatorlar orqali foydalanuvchilar va dasturlar Oracle (MBBT)
dagi ma’lumotlar bazasiga murojaatni amalga oshirishi mumkin.
Oracle utililari
yoki har xil dasturlar SQL operatorlarisiz bazaga murojaatni amalga oshirishi
mumkin, lekin so‘rovlarni amalga oshirishda bu so‘rov tilidan foydalanmaslikning
iloji yo‘q.
1970 yil iyun oyida E.F. Kodd o‘zining “A Relational Model of Data for
Large Shared Data Banks” maqolasini ommaga taqdim etdi. Bu maqola
“Communications of the ACM” jurnalida chop etildi. Hozirgi kunda Koddning bu
modeli “relyastion ma’lumotlar bazasini boshqarish tizimi (RMBBT)” ning yakuniy
modeli deb qabul qilindi. Kodd ning modelni yo‘lga qo‘yish maqsadida IBM firmasi
SEQUEL (Structured English Query Language) tilini ishlab chiqdi. Keyinchalik bu
til SQL tiliga o‘zgartirildi, lekin haligacha “sikvel” deb ham yuritilmoqda. 1979 yil
Relational Software (hozirgi vaqtdagi Oracle) korporatsiyasi
SQL ning birinchi
tijoriy ishlanmasini ommaga taqdim etdi. Hozirgi kunda SQL tili RMBBTning
standart tili hisoblanadi.
SQL tili so‘rov-natija ko‘rinishida ishlaydi. So‘rovlar har bir element uchun
emas, butun bir guruh uchun beriladi va natija olinadi. SQL uchun ma’lumotlar
bazasidagi ma’lumotlar qay shaklda, qay tartibda joylashganini umuman ahamiyati
yo‘q, foydalanuvchilar ham bu ma’lumotlarni bilishi shart emas. Faqatgina
operatorlarni to‘g‘ri yozish orqali istalgan ma’lumotlarni chiqarish mumkin bo‘ladi.
9
SQL tili barcha ma’lumotlar bazasini boshqarish tizimlari uchun umumiy
standart til hisoblanadi.
Bundan kelib chiqadiki, agar siz bu tilni bir marotaba
o‘rganib olsangiz, istalgan MBBT lari bilan ishlay olasiz. Bitta MBBT da yaratilgan
biror sql operatorlar yig‘indisi (kichik so‘rov dasturi)ni, istalgan MBBT ga
ko‘chirish mumkin bo‘ladi.
SQL operatorlari orqali quyidagi vazifalarni bajarish mumkin:
1. Ma’lumotlarni so‘rov orqali olish.
2. Jadvalning qatorlariga ma’lumot qo‘shish, qatorlarini o‘chirish va
yangilash.
3. Ob’ektlarni yaratish, o‘zgartirish va o‘chirish.
4. Ma’lumotlar bazasi va ob’ektlarga ruxsatlarni o‘rnatish.
5. Ma’lumotlar bazasi foydalanuvchilarini hosil qilish va baza xafsizligini
ta’minlash.
2 xil turdagi SQL mavjud: interaktiv va o‘rnatilgan (встроенный). SQL ning
bu 2 turi ishlashi bir hil, lekin har xil joyda ishlatiladi.
Interaktiv SQL deganda — ma’lumotlar bazasiga so‘rov orqali murojaat qilib,
shu zahoti natijani olish tushuniladi. Ya’ni bunda ketma-ketlik asosida jarayon sodir
bo‘ladi. So‘rov-natija rejimda ishlaydi.
O‘rnatilgan SQL deganda – so‘rovlar yig‘indisi
biror dasturlash tilida
ishlatilishi tushuniladi. Pascal, Delphi, Java tillarida bazaga murojaat qilib, natijani
biror o‘zgaruvchiga yuklab qo‘yamiz va kerakli joyda bu natijani ishlatamiz. Ya’ni
bunda so‘rov berib, darhol natijani ololmaymiz. Natija faqat dasturning davom etishi
uchun olinadi va talab etilgan joyda ishlatiladi.
SQl operatorlari bir necha guruhlarga bo‘lingan. Bu bo‘linish operatorlarning
bajarilish vazifasi asosida bo‘lingan. Ular quyidagilar:
DDL (Data Definition Language), ANSI bu guruh SDL(Schema Definition
Language) deb ataladi. Bu guruhga ma’lumotlar bazasida ob’ektlar (jadvallar,
indekslar) ni hosil qiluvchi operatorlar kiradi.
10
DML (Data Manipulation Language) – ma’lumotlarni manipulyatsiya
qiluvchi operatorlar yig‘indisi guruhi. Istalgan vaqtda jadval ichida qanday
ma’lumotlar saqlanayotganini aniqlovchi operatorlar.
DCL (Data Control Language) – ma’lumotlarni boshqaruvchi operatorlar.
ANSI
ning ruxsati bilan, DCL DDL ning bir qismi sifatida qaraladi. Bu
guruhlarni aralashtirmaslik zarur. Bular alohida tillar emas, balki SQL
operatorlarining guruhlaridir.