Біз транзакциялардың нұсқаулар жиынтығын білеміз және осы нұсқаулықтар дерекқордағы операцияларды орындайды. Бірнеше мәмілелер бір мезгілде іске қосылса, онда операциялар орындалатын бірізділік болуы керек, себебі бір уақытта дерекқорда бір операция орындалуы мүмкін. Бұл операциялар тізбегі Кесте деп аталады.
ДҚБЖ-да қандай кесте екенін түсіну үшін мысал келтірейік.
DBMS мысалын қараңыз
Операциялардың келесі тізбегі кесте болып табылады. Мұнда бір мезгілде іске қосылатын T1 және T2 операциялары бар.
Бұл кесте деректер базасында орындалатын операциялардың нақты тәртібін анықтайды. Бұл мысалда T1 транзакциясының барлық нұсқаулары T2 транзакциясының нұсқауларына дейін орындалады, бірақ бұл әрдайым қажет емес және біз осы мақалада талқылайтын әртүрлі кестелерге ие бола аламыз.
T1 T2 ---- ---- R (X) W (X) R (Y) R (Y) R (X) W (Y)
ДББЖ-дағы кестелер түрлері
ДББЖ-да әр түрлі кестелер бар. Оларды бір-бірімен талқылауға рұқсат етіңіз.
Сериялық кесте
Сериялық кестеде транзакция басқа транзакцияның орындалуын бастамас бұрын толығымен орындалады. Басқаша айтқанда, сериялық кесте бойынша, ағымдағы іске қосылған операция аяқталғанша транзакция орындалмайды деп айтуға болады. Транзакцияны орындаудың бұл түрі, сондай-ақ, өзара қосылмаған орындалу деп аталады. Жоғарыда көрсетілген мысал сериялық кесте.
Басқа мысал келтірейік.
Сериялық кесте мысалы
Мұнда R оқу үдерісіне жатады және W жазу әрекетін білдіреді. Бұл мысалда, T2 операциясы T1 операциясы аяқталғанша орындалмайды.
T1 T2 ---- ---- R (A) R (B) W (A) міндеттеме R (B) R (A) W (B) міндеттеме
Қатаң кестесі
Күрделі кестеде мәміленің жазу операциясы басқа операцияның қарама-қайшылық операциясына (Оқу немесе Жазу операциясы) дейін болса, онда мұндай мәміленің орындалуын тоқтату немесе тоқтату басқа транзакцияның қарама-қайшылық әрекетінен бұрын болуға тиіс.
Мысал келтірейік.
Қатаң күнтізбелік мысал
Айтыңызшы, бізде Ta және Tb екі мәміле бар. Транзакцияны жазу операциясы Tb транзакциясының оқу немесе жазу операциясына дейін орындалады, сондықтан транзакцияның орындалуын тоқтату немесе тоқтату Tb-ды оқу немесе жазудан бұрын болуы керек.
Ta Tb ----- ----- R (X) R (X) W (X) міндеттеме W (X) R (X) міндеттеме
Бұл жерде T (W) (X) жазу әрекеті Tb-ның қайшылық операциясы алдында (Tb-ны оқу немесе жазу операциясы) алдын-ала орындалады, сондықтан Tb-дың қайшылықты операциясы Ta-ның жұмысын күтуге тура келді.
Каскадсыз кесте
Каскадсыз кестеде, егер транзакция оқу үдерісін мән бойынша жүзеге асыратын болса, ол сол мән бойынша жазуды жүзеге асыратын транзакцияның орындалуын күтеді.
Каскадсыз Кесте мысалы
Мысалы, Ta және Tb екі мәміле бар деп айтуға болады. Tb Ta (X) дан кейін X мәнінен кейін X мәнін оқиды, содан кейін Tb транзакцияның X операциясын орындауын күтуге мәжбүр болады.
Ta Tb ----- ----- R (X) W (X) W (X) міндеттеме R (X) W (X) міндеттеме
Қалпына келтіру кестесі
Қалпына келтірілген кестеде, егер мәміле басқа транзакциямен жаңартылған мәнді оқып жатса, онда бұл мәміле құнды жаңартатын басқа операциядан кейін ғана жасалуы мүмкін.
Қалпына келтірілетін кесте мысалы
Мұнда Tb Х-та X-мен W (X) -дан кейін өзгерістер жасағаннан кейін X-дегі оқу амалын жасайды, сондықтан Tb тек Ta-ді орындаудан кейін ғана жұмыс істей алады.
Ta Tb ----- ----- R (X) W (X) R (X) W (X) R (X) міндеттеме міндеттеме
Пікір қалдыру Жауапты