218-21-guruh
Ermuxammedov Xondamir
Qabul qildi: Gaipnazarov Rustam
TOSHKENT-2023 Reja: 1.Saqlangan protseduralar va triggerlar bilan ishlash; 2. Tassavurlar, cheklovlar va sinonimlardan foydalangan holda dinamik so'rovlarni yaratish; 3.Ma'lumotlar bazasi ob'ektlaridan foydalangan holda murakkab so'rovlarni yaratish: indekslar (B-daraxt, noyob, Klaster indekslari), klasterlar 4.Xulosa Amaliyotning maqsadi: Ma'lumotlar bazasi serverida ishlaqydigan Postgresql MBBT asosida ma'lumotlar bazasini boshqarish va boshqarish sohasida nazariy bilimlarni shakllantirish, ma'lumotlar bilan unumdorlikni sozlashning ilg'or jihatlarini o'rganishdir. Malumotlar bazasi ustunlarini qayta ishlash , ularni saralash funksiya va triggerlardan foydalanish.
Saqlangan protseduralar va triggerlar bilan ishlash; Nazariy qism DML kodini ma'lumotlar bazasiga o'rnatish orqali siz ma'lumotlar bazasi bilan interfeysga o'rnatilishi mumkin bo'lgan bir nechta alohida ilovalarda ma'lumotlar bilan bog'liq kodning takroriy bajarilishini oldini olishingiz mumkin. Bu ma'lumotlarni tekshirish, ma'lumotlarni tozalash yoki ma'lumotlar auditi (ya'ni, o'zgarishlarni qayd qilish) yoki har qanday qo'ng'iroq qiluvchi ilovadan mustaqil ravishda yig'ma jadvalni yuritish kabi boshqa funktsiyalar uchun DML kodining izchil bajarilishini ta'minlaydi. Triggerlar va saqlangan funktsiyalardan yana bir keng tarqalgan foydalanish ko'rinishlarni yozilishi mumkin qilish, ya'ni murakkab ko'rinishlarga qo'shimchalar va/yoki yangilanishlarni yoqish yoki ma'lum ustun ma'lumotlarini ruxsatsiz o'zgartirishdan himoya qilishdir. Bundan tashqari, dastur kodida emas, balki serverda qayta ishlangan ma'lumotlar tarmoqni kesib o'tmaydi, shuning uchun ma'lumotlarning tinglash xavfi kamroq bo'ladi, shuningdek, tarmoq tiqilib qolishi kamayadi. Bundan tashqari, PostgreSQL-da saqlangan funktsiyalar ba'zi kuchli imkoniyatlarni tan oladigan sessiya foydalanuvchisiga qaraganda yuqoriroq imtiyozlar darajasida kodni bajarish uchun sozlanishi mumkin. Keyinchalik ba'zi misollarni keltiramiz.
Yuqorida ham funksiya va ham trigger yaratishga namuna keltrilgan .
Bu triggerni vazifasi quydagidan iborat :
Qachonki abc_tasks tabledagi biriro bir topshiriqning statusi ‘CONFIRMED’ ga almashganda shu taskning project_id siga teng bo’lgan abc_projects tablening state ni nolga almashtiradi yani agar topshiriq bajarilsa bu topshiriq projects table dan ham o’chirib tashlanadi qolgan firmalar uchun chiqmaydi.
Funksiya update bo’layotgan ustunning yangi qoiyamati agar confirmedga teng bo’lsa u holda projects table dagi state ni nolga almashtiradi.