Ma’lumotlar bazasi bu tartiblangan ma’lumotlarni saqlovchi va qayta ishlovchi axborot modeli hisoblanadi

Muhammad Al-Xorazmiy nomidagi
Toshkent axborot texnologiyalari universiteti
2-amaliy ish
Ma’lumotlar bazasini boshqarish
Guruh: 215-21guruh
Bajardi: Mahmudjonov Jasurbek
Tekshirdi: Sodiqov Vali
Ma’lumotlar bazasi bu — tartiblangan ma’lumotlarni saqlovchi va qayta ishlovchi axborot modeli hisoblanadi. Soddaroq qilib aytganda, bir hil turdagi axborotlarni o‘zida saqlovchi va berilgan so‘rovlar orqali ularni taqdim etuvchi model. Misol uchun, kitoblar javoni, bu ma’lumotlar bazasi hisoblanadi, ya’ni bir hil turdagi (kitoblarni) ob’yektlarni o‘zida saqlaydi, yoki bo‘lmasa telefon raqamlar yozilgan kitobcha, bu yerda ism, telefon raqam kabi bir hil tipdagi ma’lumotlar saqlanadi, bu ham ma’lumotlar bazasi.
Ma’lumotlar bazasini boshqarish tizimi — bu ma’lumotlar bazasini hosil qiluvchi, ma’lumotlarni qayta ishlovchi va qidiruvchi tizim hisoblanadi. Qisqa qilib aytganda, MBBT barcha jarayonlarni amalga oshiradi. Ma’lumotlar bazasi faqat ma’lumotlarni saqlaydi, qolgan barcha ishlarni MBBT bajaradi.
Ma’lumotlar bazasidagi ma’lumotlar, SQL so‘rov tillari orqali boshqariladi, bu tilda MBBT’ga so‘rov beriladi, bu so‘rov u yerda qayta ishlanib, natija olish uchun ma’lumotlar bazasiga murojaat qiladi, u yerdan so‘rovga mos ma’lumotni olib, so‘rovga javob beradi:
So‘rov berish:
SQL so‘rov -> MBBT -> Ma’lumotlar bazasi
natija olish:
Ma’lumotlar bazasi -> MBBT — > So‘rovga javob
Quyidagi dasturlar MBBT’ga misol bo‘la oladi:
— Oracle;
— MySQL;
— Microsoft Office Access;
— MariaDB;
— Microsoft SQL Server;
Hulosa shuki, siz o‘ylagan bu dasturlar, ma’lumotlar bazasi emas, balki MBBT hisoblanadi. Ma’lumotlar bazasi MBBT’ning bir qismidir, demak bu dasturlarni ishlatganda «ma’lumotlar bazasi sifatida Oracle’ni tanladim» emas, balki «Ma’lumotlar bazasini boshqarish tizimi sifatida Oracle’ni tanladim» to‘g‘ri bo‘ladi.
PostgreSQL da saqlangan protseduralar va triggerlar orqali ishlashning bir nechta yo'llari mavjud. Bu funksiyalar orqali ma'lum bir ehtiyojni bajarish, ma'lum bir holatda avtomatik amalga oshirish, ma'lum bir holat bo'yicha ma'lumotlarni o'zgartirish va boshqa xizmatlarni bajarish mumkin.
Saqlangan proseduralar (Stored Procedures):
PostgreSQL da saqlangan proseduralar SQL dilida yozilgan funksiya yoki protseduralar to'plami hisoblanadi. Bu proseduralar SQL-ning tarkibiy qismi bo'lishi mumkin va ma'lum bir vazifani bajarish uchun qo'llaniladi. Saqlangan proseduralarni yaratish uchun CREATE FUNCTION buyrug'i ishlatiladi. Quyidagi misol saqlangan prosedura yaratishni namoyish etadi:
CREATE FUNCTION calculate_total_price(quantity INT, price DECIMAL)
RETURNS DECIMAL AS $$
BEGIN
RETURN quantity * price;
END;
$$ LANGUAGE plpgsql;
```
Ushbu misolda `calculate_total_price` nomli saqlangan prosedura yaratilgan. Uning parametrlari `quantity` va `price` bo'ladi. Prosedura soni va narxini olib, umumiy narxni hisoblaydi va natijani qaytaradi.
Saqlangan prosedurani chaqirish uchun `SELECT` operatoridan foydalaniladi:
````sql
SELECT calculate_total_price(5, 10.50);
```
Ushbu misolda `calculate_total_price` saqlangan prosedurasi 5 ta miqdor va 10.50 narx uchun chaqirilgan.
Triggerlar:
Triggerlar PostgreSQL da ma'lum bir holat yuz berishi bilan avtomatik ravishda amalga oshiriladigan funksiyalardir. Triggerlar ma'lum bir jadvalda (INSERT, UPDATE yoki DELETE amallarida) amalga oshirilishi kerak bo'lgan har qanday tadbirni amalga oshirish uchun foydalaniladi.
Trigger yaratish uchun CREATE TRIGGER buyrug'i ishlatiladi. Quyidagi misol trigger yaratishni namoyish etadi:
sql
CREATE TRIGGER update_stock
AFTER INSERT ON purchases
FOR EACH ROW
EXECUTE FUNCTION update_stock_quantity();
```
Ushbu misolda `update_stock` nomli trigger yaratilgan. Trigger `purchases` jadvalida yangi yozuvi (`INSERT`) amalga oshirilganda faollashtiriladi. Har bir yozuv uchun `update_stock_quantity` nomli funksiya bajariladi.
Triggerlarni boshqarish uchun `ALTER TRIGGER` yoki `DROP TRIGGER` buyruqlaridan foydalanish mumkin.
PostgreSQL da protseduralar va triggerlar haqida batafsil ma'lumotlarni PostgreSQL rasmiy hujumida topishingiz mumkin:
- [PostgreSQL Docs: Stored Procedures](https://www.postgresql.org/docs/current/plpgsql.html)
- [PostgreSQL Docs: Triggers](https://www.postgresql.org/docs/current/triggers.html)
|