• Segment, ekstent, blok. Ma’lumotlar bazasi ob’ektlari, misol uchun jadvallar, indekslar oracle ning tablespace
  • Ma’lumot fayllari(data files)




    Download 166.99 Kb.
    bet3/3
    Sana17.04.2023
    Hajmi166.99 Kb.
    #51957
    1   2   3
    Bog'liq
    3-ma\'ruza
    Mustaqil ish, Лермонтов М, Д1, 10. Aldegidlar va ketonlar shaxsiy, 2-kurs-3-jil-kunduz-tabiat-ishchi-lot, portal.guldu.uz-Multimediya vositalari, O‘RINOVA , 1442828, portal.guldu.uz-HISOBLASH USULLARI (1), 454879, file, aholi-o-rtasida-yod-tanqisligini-oldini-olish, TC93JeBf946lhN3Jg4idRo9agxDBnRwkRd4HNtlX
    Ma’lumot fayllari(data files).

    Oracle da ma’lumotlar bazasini saqlash uchun ajratilgan joylar logik qismlarga bo’lingan. Bu qismlar jadvallar joyi(tablespace) deyiladi. Odatda bitta baza uchun bir nechta tablespace lar hosil qilinadi. Har bir joyda birnecha data file lar mavjud bo’ladi.


    Segment, ekstent, blok.
    Ma’lumotlar bazasi ob’ektlari, misol uchun jadvallar, indekslar oracle ning tablespace degan qismida segment ko’rinishida saqlanadi. Har bir segment bitta yoki bir necha ekstentdan tashkil topgan bo’ladi. Ekstent bo’lsa, siqilgan bir necha bloklardan tashkil topgandir. SHuning uchun har bir ekstent faqatgina bitta data file da saqlanishi lozim.

    Oracle ma’lumotlar bazasining eng kichik o’lchov birligi blok hisoblanadi.
    Blok o’lchami ma’lumotlar bazasi hosil qilinayotganda o’rnatiladi. 8K o’lcham blok uchun eng normal o’lcham hisoblanadi va ko’p bazalar shu o’lcham asosida yaratiladi.
    Agar ma’lumotlar bazasi katta jadvallar va katta xajmdagi indekslar bilan ishlash uchun mo’ljallanayotgan bo’lsa, blok o’lchamini katta o’rnatish ishlab chiqarishda foyda keltirishi mumkin.
    Agar ma’lumotlar bazasidagi jadvallarga murojaatlar tez tez amalga oshirilsa, u holda bloklar uchun 2K hajmdan foydalanish mumkin bo’ladi(tavsiya etilmaydi). Blokning maksimal o’lchov kattaligi operatsion tizimgabog’liq, minimal o’lchov kattaligi 2K qilib belgilangan. Har xil tablespace lar uchun blok o’lchamini har xil qilib o’rnatish mumkin, bu hol tablespace larni ko’chirib yurish lozim bo’lgan ma’lumotlar bazasi uchun ishlatiladi.
    Oracle ma’lumotlar bazasida har xil dasturlash tillari bilan ishlashni taminlaydigan protsessor ham mavjud. Jumladan java bilan ishlashga mo’ljallangan java protsessori, va yana PL/SQL protsessori ham mavjud.
    PL/SQL ma’lumot bazasi bilan maxkam integrallashgan. Buni quyidagi chizmada ko’rish mumkin:



    Oracle ni serveri ma’lumot bazasini asosiy protsessori hisoblanadi. U ma’lumot bazasiga bo’ladigan barcha murojaatlarni tartiblaydi. Agar dastur serverga PL/SQL kodini bajarish uchun so’rov yuborsa Orace MB ga kompilyatsiya qilingan kodni xotiraga yuklaydi. Shundan so’ng PL/SQL va SQL protsessorlari uni bajaradi.



    2. O’zgaruvchilar va ma’lumot toifalari.


    PL/SQL tilida quyidagi toifadagi o’zgaruvchilar ishlatiladi: VARCHAR2, NUMBER, DATE, BOOLEAN.
    O’zgaruvchilarga qiymat berish barcha dasturlarda muhim o’rin egallaydi. Bu amal dasturni ixtiyoriy bo’limida kelishi mumkin. E’lon qilish bo’limida qiymat berish odatda konstantalarni aniqlash yoki ularni dasturda ishlatishdan oldin, ularga boshlang’ich qiymat berishda ishlatiladi. Bunda DECLARE qismida qiymat berishda quyidagi formadan foydalanamiz:
    O’zgaruvchi_nomi O’zgaruvchi_toifasi:=qiymat;
    PL/SQL dasturini asosiy qismida yoki EXCEPTION qismida o’zgaruvchiga qiymat tayinlash quyidagicha amalga oshiriladi:
    O’zgaruvchi_nomi:=qiymat;
    Ushbu ko’rinishda sikl schotchigi oshkormas holda yaratiladigan indeksli o’zgaruvchi.
    Quyi chegara va yuqori chegara iteratsiyalar sonini ko’rsatadi. Operatorlar ketma-ketligi sikl mazmunini yoki sikl tanasini tashkil qiladi. Sikl chegaralari bir marta hisoblanib umumiy qaytarilishlar sonini aniqlaydi. Schotchik quyi chegaradan yuqori chegaragacha 1 qo’shib o’zgaradi.
    Sikl schotchigi oshkormas holda binary_integer toifasida deb e’lon qilinadi.
    Sikldan oldin uni e’lon qilish shart emas.
    Kursorlar
    PL/SQL tilida muhim tushunchalardan biri kursor tushunchasi hisoblanadi. Kursor tanlashda birorta fikserlangan sondagi satrni o’z ichiga olgan nomlangan so’rovdir.
    Mohiyati jihatdan kursor darcha(oyna) bo’lib, u orqali foydalanuvchi ma’lumotlar bazasi axbrotlariga murojaat qiladi. Kursor xususiy holda dastur o’zgaruvchilariga aniq qiymat tayinlash uchun ishlatilishi mumkin. PL/SQL ma’lumotlar bilan manupulyatsiya qiluvchi barcha SQL ifodalarga oshkormas holda kursor e’lon qiladi. Sessiya uchun yetarli sondagi kursorlarni fayl parametrlarida OPEN-CURSOR initsializatsiya parametri bilan o’rnatiladi.
    CREATE TABLE Tab1(At1 number, At2 varchar2(10));
    Insert into Tab1 Value(1,’A’)
    Insert into Tab1 values(2,’b’)
    Insert into Tab1 values(3,’C’)

    3 ko’rinishdagi kursor mavjud:


    1. Oshkormas.
    2. Oshkor.
    3. FOR siklli kursor.
    Oshkormas kursor avtomatik ravishda SELECT … INTO ko’rinishdagi operatorni bajarishda yaratiladi. Bajarish jarayonida kursor ochiladi. Shundan so’ng undagi ma’lumotlar olinadi va u yopiladi.
    Bu barcha qadamlar server tomonidan bitta qadam bilan bajariladi.
    Agar oshkormas kursor bittadan ortiq satr chiqarsa , unda oldindan aniqlangan TO_MANY_ROWS vaziyati vujudga keladi.
    Kursordagi ma’lumotlarni joylashtiruvchi o’zgaruvchilar to’plamini aniqlashni eng oson yo’li kursor tipiga asoslangan o’zgaruvchini RECORD toifasiga (yozuviga) tegishli deb e’lon qilishdir. U holda select ifoda o’zgarsa unda uning maydoni ham o’zgaradi.
    Protseduralar, funksiyalar va paketlar
    Protsedura- bu aniq funksiyani bajarishga mo’ljallangan birgalikda ishlatiladigan SQL va PL/SQL tillarining operatorlar to’plamidan iborat dastur. Funksiya ham protsedura kabi operatorlar to’plami bo’lib, protseduradan doim chaqiruvchi dasturga qiymat qaytarish bilan farq qiladi. PL/SQL da yagona maqsadga tayinlanib bog’langan protsedura va funksiyalar, o’zgaruvchilar va SQL operatorlaridan iborat paketlarga birlashtiriladi. Protsedura vafunksiyalarning asosiy xususiyati shundan iboratki protsedura va funksiyalar MB si obyekytlari bo’lib keladi, ya’ni ularni tavsifi ma’lumot lug’atida saqlanadi.
    PL/SQLda standart funksiyalar kabi qism programmalar ishlatiladi. PL/SQL da yagona maqsadga tayanilib bog’langan protseduralar , funksiyalar, o’zgaruvchilar, paketlarga birlashtiriladi. Funksiyalar va’lumot baza obyektlari bo’lib keladi. Ya’ni ularni tavsifi ma’lumotlar lug’atida saqlanadi. Ularni kodi esa fayl tizimida emas bevosita ma’lumotlar bazasida saqlanadi.
    Funksiyalar bajariluvchi kodi ma’lumotlar bazasida kmpilyatsiya qilingan shaklda saqlanadi. Shuning uchun birorta ilova bilan ishlaganda amallarni bajarishni funksiya ko’rinishida rasmiylashtirish maqsadga muvofiqdir.
    Funksiyalar ma’lumot baza obyektlari bo’lganligi uchun ular CREATE komandasi bilan yaratiladi. DROP komandasi bilan o’chirib tashlanadi.
    Funksiyalarni yaratishda ma’lumot obyekti nomlari parametrni toifalari va ro’yxati va PL/SQL tilida kodlangan dasturni ishlash mantiqi berilgan bo’lishi kerak.
    Yangi funksiyani nomini aniqlagandan so’ng uning toifasini va parametrlarini ko’rinishini berish kerak. Har bir parametr uchun odatda uni ko’rinishi ko’rsatiladi.
    Ko’rinishlar quyidagi kalit so’zlar bilan ifodalanadi:
    IN, OUT, INOUT.
    IN ko’rinishidagi parametr qiymati dasturga murojaat qilmaganda aniqlanadi va shu dasturni o’zgartirmaydi. IN parametrni qiymatini dastur tanasida o’zgartirish xatolik haqida axborot chiqarishga olib keladi.
    OUT prametri dasturni ishlash jarayonida parametr qiymatini o’zgartirish mumkinligini anglatadi. Ya’ni OUT ko’rinishidagi parametr u qaytaruvchi parametr hisoblanadi.
    INOUT shunday parametrki, uni chaqirishda qiymat berilib tayinlanadi va u dastur qismida o’zgartirilishi mumkin.
    Oracle da funksiyani aniqlash operatori quyidagi ko’rinishga kelgan.
    CREATE [ OR REPLACE ] FUNKTION funksiya_nomi { parametr_nomi [{ IN/OUT/INOUT}] ma’lumotlar_toifasi [,..]}] RETURN ma’lumotlar_toifasi { IS/AS} PL/SQL da_dastur.
    Package
    Package esa stored procedure larni bir «papka»ga birlashtirib turadi. Bu bilan dasturchiga dasturni tushunishga yordam beradi. Masalan: Foydalanuvchi ro'yhatdan o'tishi, profilini tahrirlashi, paroilni o'zgartirishi, parolni tiklashi kabi amallar bir «oila»ga tegishli amallar bo'lib, ullarni bitta package ga joylashtirish mumkin. Packagelar ikki qismdan SPEC va BODY qismidan tashkil topadi. Spec qismida tashqaridan chaqirilishi lozim bo'lgan stored procseduralat e'lon qilinsa body qismida o'sha proceduralarning o'zi yoziladi.



    Download 166.99 Kb.
    1   2   3




    Download 166.99 Kb.