Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lecture_SBD.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.2 Mб
Скачать

11 Дәріс. Деректер қорының тұтастығы және қауіпсіздігі. Қатынаумен басқару.

Транзакциялар, фиксация жіне сырғыту. Деректер қорындағы өзгерістер пайдаланушылар, ендірме қорытындысы модификация және жойылу біржолата фиксация жасау керектігін анық көрсетпейінше сақталмайды. Оған дейін өзгеріс кейінге қалдыру жағдайында болады және басқада кедергілер машинаның апаттық жағдай қабылдауына тиісті, өзгерістерді өңдейді.

Транзакция- бір немесе бірнеше SQL операторларынан тұратын элементарлы жұмыс бірлігі; Транзакцияның барлық қорытындысы толығымен сақталады (фиксерленеді) немесе толығымен кейінге қалдырады. Транзакция фиксациясы өзгерістерді деректер қорына апарып біржолата жасайды және транзакция фиксирленгеннен кейін өзгертулер жойыла алмайды. Сырғыту барлық ендірмені кейінге қалдырады. Транзакцияда жасалынған модификация мен өшірулер; транзакция сырғытуынан кейін оның өзгерісі фиксирленбеуі мүмкін. Транзакция фиксация процесі SGA КЭШ тізіміне орналасқан дисктегі оперативті тізімді файлдар өзгеріс жазбасы жобаланады. Егер бұл дисктік кіріс/шығыс жақсы болса, мәтін жақсы аяқталған фиксация транзакциядан хабар алады ( хабар мәтіні инструментальді өзгереді). Фондық процесс DBWR буферлік SGA КЭШ дерекқорына Oracle актуальды берілген блоктарды кейінірек жазуы мүмкін. Кедергі жағдайында Oracle жүйесі тізім файлынан өзгерістерді автоматты түрде қайталауы мүмкін, тіпті егер Oracle нақты блоктары кедергі алдында деректер қорының файылына жазылмаған болса да.

Oracle сондай-ақ сырғыту идеясын оператор деңгейінде өңдейді. Егер оператор орындау барысында бір ғана кедергі болса, барлық оператор жақсы аяқталмайды. Егер оператор транзакция бөлімінде нақты болмаса, басқа транзакция операторлар ауытқытылған жағдайда болады және фиксирленуі керек немесе сырғытылуы керек. Барлық транзакциямен алынған блакировкалар транзакция фиксирленгенде немесе сырғытылғанда, немесе фондық процесс PMON транзакцияны қабылдамаған жағдайда автоматты түрде босатылады. Бұдан басқа, басқа ресурстар жүйесі (сырғыту сегменті сияқтылар) басқадай транзакциямен қолдану үшін босатылады. Сақтау нүктесі транзакция ішінде маркерлер орналастыруды рұқсат етеді және ол транзакцияда жасалған жұмыс бөлігін ғана қабылдамайтын мүмкіндік тәрізді жасалынады. Анықталған оператор үшін өзгерістерді қабылдамау мүмкіндігі үшін, сақталу нүктесін ұзын және күрделі транзакцияларда қолданады. Бірақ бұл қосымша ресурстар жүйесінің шығынын қанағаттандырады оператор жұмысын орындайды, ал өзгеріс содан қабылданбайды. Негізгі тексеру жиынын ізінде жетілдіру - өңдеу логикасында көбіне оптимальді шешім болып табылуы мүмкін. Oracle қабылданбаған операторлармен алынған блакировкаларды босатады. Деректердің бүтіндігі деректер қорымендің кепілдіктің ақиқаттан тексеру ережесін анықтаумен байланысты,яғни жарамсыз деректер қорымен кестеге түспейтінін. Oracle бұл ережені деректер қорының объектілері үшін сақтауға және анықтауға мүмкіндік береді, яғни өзіне қатысты, осындай үлгімен, яғни оларды бір рет қана кодтау керек. Өзгерістің бір түрі кестеде жүріп жатқанда қай программада қойылымды орындап жатқанына қарамастан модификация мәндеріне өшіруіме, олар бірнеше рет активтеледі. Бұл контроль деректер қорының триггерлерімен және шек бүтіндігі түрінде жүргізіледі.

Шектік тұтастығы деректер қоры деңгейінде бизнес-ережелерді орналасады, кесте жүйесі үшін тексеру жиынын анықтай отырып. Бұл тексерулер кестеде берілген модификация және жойылу, қою операторы шақырылғанда бірнеше рет автоматты түрде орындалады. Егер қандайда бір шектеулі бұзылса, оператор керек етілмейді. Транзакцияның басқа операторлары ауытқытылған жағдайда қалады және логикалық мәнге сәйкес фиксирленуі немесе алынып тасталуы мүмкін.

Негізгі әдебиеттер [1], бет 376-381

Қосымша әдебиеттер [2], бет 145-165

Бақылау сұрақтары

1. Транзакция деген не, ол қалай түрленеді?

2. “Мәлімет бүтіндігі” сущьность?

3. Бүтін деректер қорыменді шектеу деген не?

4. “Мәлімет бүтіндігінің ” негізгі ережесін анықтап бер?

5. Бүтін деңгелік ереже деген не?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]