DBMS-də cədvəllər

Bir verilənlər bazası sistemində bir çox əməliyyat emalına sahib ola bilərik. Əlaqəli əməliyyatlar bir-birinin ardınca işlənəcəkdir. Paralel olaraq bəzi əməliyyat əməliyyatları var. Bəzi əməliyyatlar birlikdə qruplaşdırıla bilər.

Bəzi əməliyyatlar eyni vaxtda həyata keçirilə bilər. Bu o deməkdir ki, bir əməliyyat əsas yaddaşdakı məlumatları yeniləyir, digər əməliyyat isə ikinci yaddaşdakı / diskdəki məlumatları alır və ya yeniləyir. Bu, əməliyyatın giriş / çıxışını artıracaqdır. Burada heç bir əməliyyat digər əməliyyatın tamamlanmasını gözləmək məcburiyyətində deyil. Beləliklə əməliyyatın performans / cavab müddəti artır.

Ancaq bu paralel giriş səhv məlumatların oxunmasına səbəb olacaqdır. Məsələn, bir əməliyyat birincil yaddaşdakı məlumatları yeniləyir, digər əməliyyat isə hələ yeni məlumatlarla yenilənməmiş ikinci dərəcəli yaddaşdan eyni məlumatları oxumağa çalışır. Bu səbəbdən ikinci əməliyyatın səhv dəyəri olacaqdır. Beləliklə, məlumatlara paralel girişin sistemdə uyğunsuzluq yaratmadığından əmin olmaq üçün paralel nəzarət mexanizmi tətbiq olunur. Bu mexanizm hər bir əməliyyatın təcrid olunaraq yerinə yetirilməsini və DB-də uyğunsuzluq yaratmamasını təmin edir. Həm də əməliyyatları cədvəllə təyin olunan müəyyən bir qaydada icra etmək üçün bir qayda müəyyənləşdirir.

A cədvəl əməliyyatları birinə qruplaşdırmaq və əvvəlcədən təyin olunmuş qaydada icra etməkdir. Bir verilənlər bazasında bir cədvəl tələb olunur, çünki bəzi əməliyyatlar paralel olaraq həyata keçirildikdə, əməliyyatın nəticəsinə təsir göstərə bilər - bir əməliyyat digər əməliyyatın əldə etdiyi dəyərləri yeniləyirsə, bu iki əməliyyatın sırası nəticəni dəyişdirəcəkdir ikinci əməliyyatın. Beləliklə, əməliyyatları icra etmək üçün bir cədvəl yaradılır. Cədvəl çağırılır serial cədvəli, cədvəldəki əməliyyatlar bir-birinin ardınca icra ediləcəyi təqdirdə.

Əməliyyatları planlaşdırarkən də, müstəqil olduqları təqdirdə paralel olaraq iki əməliyyat edə bilərik. Ancaq hər hansı bir şansdan asılıdırlarsa, nəticələr dəyişəcəkdir. Məsələn, bir əməliyyatın bir tələbənin bir mövzuda qiymətlərini yeniləməsi olduğunu söyləyin; bu vaxt başqa bir əməliyyat eyni tələbənin ümumi qiymətlərini hesablayır. Birinci əməliyyat tamamlandıqdan sonra ikinci əməliyyat həyata keçirilsə, hər iki əməliyyat da düzgün olacaqdır. Bəs ikinci əməliyyat əvvəlcə başlasa nə olar? Səhv cəmi işarəsi olacaq.

Bu növ əməliyyatın səhv işlənməsi sistemdə həll edilməlidir. Verilənlər bazasında əməliyyatın paralel icrasına yalnız əməliyyatlar arasında hər hansı bir ekvivalentlik münasibəti olduqda icazə verilir. Əməliyyatlar arasında üç növ ekvivalentlik münasibəti mövcuddur - Nəticə, baxış və Münaqişə Ekvivalentliyi.

Nəticə bərabərliyi

İki əməliyyat yerinə yetirildikdən sonra eyni nəticə verərsə, nəticə ekvivalentliyi adlanır. Məsələn, bir əməliyyat Tələbə X-in qiymətlərini yeniləyir və digər əməliyyat yeni bir tələbə daxil etməkdir. Burada hər iki əməliyyat tamamilə müstəqildir və icra qaydaları heç bir əhəmiyyət daşımır. Hansı sifariş yerinə yetirilirsə, nəticə eynidır. Buradan nəticə ekvivalentliyi əməliyyatları adlanır.

Ekvivalentliyə baxın

Bir cədvəldəki əməliyyat digərində olduğu kimi iki cədvəlin görünüş ekvivalentliyi olduğu deyilir. Bu o deməkdir ki, hər iki cədvəldə edilən əməliyyatlar eyni vəzifələri yerinə yetirir. Məsələn, cədvəl1 -in yeni tələbələri TƏLƏBƏ cədvəlinə daxil etmək üçün əməliyyatı var deyin və ikinci cədvəl köhnə tələbə qeydlərini OLD_STUDENT adlı yeni bir cədvəldə saxlamaq üçün əməliyyata malikdir. Hər iki cədvələ tələbə təfərrüatları daxil edilir, lakin fərqlidir masaları (eyni cədvəlin olması vacib deyil). Bu cür proqramlara baxış ekvivalentliyi cədvəli deyilir.

Münaqişələrin bərabərliyi

Bu vəziyyətdə, hər iki cədvəldə fərqli əməliyyat dəsti olacaq, lakin eyni məlumatlara daxil olacaqlar və cədvəllərdən biri qeydləri daxil etmək / yeniləmək olacaqdır. Bu ekvivalentlikdə hər iki cədvəl ziddiyyətli əməliyyat dəstinə sahib olacaqdır. Bir tələbənin qiymətlərini bir əməliyyatla yeniləməyin və eyni zamanda ümumi qiymətləri hesablamanın yuxarıdakı nümunəsi ziddiyyətli bir ekvivalentdir.

Bütün bu hallarda əməliyyat seriyalaşdırılıbsa, məsələlər həll edilə bilər. Bu barədə sonrakı məqalələrdə daha çox müzakirə edək.

Translate »