9-Ma’ruza: Ma’lumotlar manipulyatsiya qilishda oddiy so‘rovlar yaratish


Select * from SUBJECT Order by Semester Group by Subj-name


Download 150.21 Kb.
bet4/13
Sana19.06.2023
Hajmi150.21 Kb.
#1602179
1   2   3   4   5   6   7   8   9   ...   13
Bog'liq
9-ma\'ruza

Select * from SUBJECT Order by Semester Group by Subj-name;
SQL tili bitta so‘rov ichiga ikkinchi so‘rovni joylashtirib ishlatish imkonini beradi. Misol uchun birorta talabani familiyasi bo‘yicha uning idsini topish talab etilsa va bu talabani barcha baholari haqidagi ma’lumotni ko‘rmoqchi bo‘lsak quyidagi so‘rovni yozish mumkin.
Select * from exam_marks Where talaba_ID=(select talaba_I From talaba where surname= ‘Petrov’);
Jadvallar bilan ishlaganda ba’zan ustun va jadval nomlarini qayta aniqlashga yoki qayta nomlashga to‘g‘ri keladi. Bunday masalalar ko‘pincha birorta ifodalarni hisoblaganda, virtual ustunga joylashganda unga nom qo‘yish yoki ba’zan natija jadvali ustunini nomlashda kerak bo‘ladi.
Select name as Name_ talaba, 2* stipend AS yangi St from talaba;

Name_ talaba

yangi St

Ivanov

150

Petrov

200

Xuddi shuningdek biz ustun nomlarini ham o‘zgartirishimiz mumkin.


EXITS operatori
SQLda ishlatiladigan EXITS operatori mantiqiy ifoda kabi rost va yolg‘on qiymatlar qabul qiladi. Bu operator argument sifatida qism so‘rovlarini ishlatadi. Agar qism so‘rov birorta qiymati rost, aks holda yolg‘on bo‘lishi mumkin. Misol uchun imtixonlar jadvalidan hech bo‘lmaganda talaba haqidagi ma’lumotni olgan talaba haqidagi ma’lumotni chiqarish uchun quyidagi so‘rov yoziladi.
Select distinct talaba_ID From exam_marks A where Exits (select * from EXAM-MARKS B) where mark<3 and B Talaba_ID= A talaba_ID;
Ma’lumotlar bazasi jadvallardan tashkil topadi. Jadvallar alohida fayl ko‘rinishida yoki birorta faylni bo‘lagi bo‘lishi mumkin.
Ma’lumki, Select operatori yordamida virtual jadvallar yaratish, ya’ni vaqtinchalik jadvallar yaratish mumkin. Bunday jadvallar vaqtinchalik bo‘lib, yaratgan foydalanuvchi o‘zi undan foydalanishi mumkin.
Tasavurlar ham vaqtinchalik jadvallar bo‘lib, ular ko‘p foydalanuvchilar murojaat qilishi mumkin va u ma’lumot bazasidan majburan olib tashlangunicha mavjud bo‘ladi.
Tasavurlar MB oddiy jadvallariga o‘xshash bo‘lib, ma’lumotlar saqlovchi fizik ob’yekt hisoblanmaydi. Tasavurlarda ma’lumotlar jadvallardan tanlab olinadi. Tasavurlar foydalanuvchilardan jadvallarni ba’zi ustunlarini yashirish uchun yoki ko‘pincha foydalanuvchiga kerakli bo‘lgan bir nechta jadvaldan bitta yaratish kerak bo‘ladi. Misol sifatida 3 ta jadvaldan tashkil topgan oddiy ma’lumot bazasini qarab chiqamiz.
Tovarlar ( ID -tovar , nomi, narxi, tavsifi);
Mijozlar(ID - mijoz, ismi, manzili, telefon);
Sotish(ID- tovar,soni, mijoz).
Tashkil qilish nuqtai nazaridan bu ma’lumot bazasi yomon loyihalanmagan. Lekin ba’zi masalarni yechishda foydalanuvchini mijoz va tovar identifikatorlari qiziqtirmaydi. Aniqroq aytganada unga bitta jadval kerak bo‘ladi. Masalan bu jadval “sotish_taxlili (tovar, soni, bahosi, narxi, mijoz)”. Bu jadvalni berilgan uchta jadvaldan quyidagi so‘rov yordamida hosil qilish mumkin.
SELECT Tovarlar.Nomi AS Tovar, Sotish.Soni*Tovarlar.Bahosi AS Narxi, Mijoz.Ismi || ‘.Manzil: ‘ || Mijoz.Manzil || ‘. tel. ‘ || Mijoz.Telefon AS Mijoz FROM Sotish, Tovarlar, Mijozlar WHERE Sotish.ID_mijoz= Mijozlar.ID_mijoz AND Sotish.ID_tovar = Tovarlar. ID_tovar;
Ko‘rib chiqilgan so‘rov uchta jadvalni birlashtirishidan iborat bo‘lib, ularga narx va mijoz ustunlari qo‘shilgandir. Agar bu jadval SELECT operatorini natijasi emas, tasavur bo‘lganda edi, unga oddiy ma’lumot bazasini oddiy jadvali kabi murojat qilinar edi. Ko‘p hollarda esa MB uchta jadvaldan iborat ekanligini hisobga olmay, bitta tasavur bilan ishlanar edi.
Tasavurlar yaratish uchun CREATE VIEW komandasi ishlatiladi
Uni sintaksisi quyidagicha:

Download 150.21 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   13




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