1-mavzu. Ma’lumotlar bazasi obyektlarini yaratish



Download 0,87 Mb.
bet23/48
Sana23.06.2022
Hajmi0,87 Mb.
#694675
1   ...   19   20   21   22   23   24   25   26   ...   48
Bog'liq
мавзулар MBDM

Atomarlik xususiyati ma`lumotlar bazasidagi ma`lumotlarni o`zgartiradigan va tranzaksiyaning bir qismi bo'lgan instruksiyalar to'plamining bo'linmasligini ta'minlaydi. Bu shuni anglatadiki, tranzaksiyada ma`lumotlardagi barcha o`zgarishlar amalga oshiriladi yoki biron bir xato bo'lsa, amalga oshirilgan barcha o`zgarishlar bekor qilinadi.
Mutanosiblik xususiyati ma`lumotlar bazasida tranzaksiya natijasida bir-biriga mos kelmaydigan ma`lumotlarning yo`qligini ta'minlaydi. Boshqacha qilib aytganda, tranzaktsiya orqali amalga oshirilgan ma`lumotlar o`zgarishlari ma`lumotlar bazasini bir muvofiq holatdan ikkinchi muvofiq holatga o`tkazadi.
Izolyatsiya xususiyati barcha bir vaqtning o`zida amalga oshiriladigan operasiyalarni bir-biridan ajratib turadi. Boshqacha qilib aytganda, faol tranzaksiya parallel tranzaksiya va tugatilmagan tranzaksiyalardagi ma`lumotlar o`zgarishlarini ko`ra olmaydi. Izolyatsiyani ta'minlash uchun ba'zi operasiyalarni orqaga qaytarish kerak bo’ladi.
Chidamlilik xususiyati ma`lumotlar bazasining eng muhim talablaridan birini taqdim etadi: ma`lumotlarning doimiyligi. Boshqacha qilib aytganda, tranzaksiya effekti tizim xatosi yuz bergan taqdirda ham effektli bo'lishi kerak. Shu sababli, operasiyani bajarish paytida tizimda xatolik yuzaga kelsa, u holda ushbu tranzaktsiyaning barcha bajarilgan o’zgarishlari bekor qilinadi.

Transact-SQL tranzaksiya operatorlari va instruksilari


BEGIN TRANSACTION instruksiyasi tranzaktsiyani boshlaydi. Ushbu instruksiyasi uchun sintaksis quyidagicha:
BEGIN TRANSACTION [ {transaction_name | @trans_var }
[WITH MARK ['description']]]

Transaction_name parametri faqat BEGIN TRANSACTION / COMMIT yoki BEGIN TRANSACTION / ROLLBACK instruksiyalarida ishlatilishi mumkin bo'lgan tranzaksiya nomini belgilaydi. @Trans_var parametri tranzaktsiyaning haqiqiy nomini o`z ichiga olgan foydalanuvchi tomonidan aniqlangan o`zgaruvchini belgilaydi. WITH MARK xossasi operasiyani jurnalda belgilash kerakligini belgilaydi. description argumenti - bu belgini tavsiflovchi satr. WITH MARK xossasi qo`llanilganda tranzaksiya nomi ko`rsatilishi kerak.


COMMIT WORK instruksiyasi BEGIN TRANSACTION instruksiyasi bilan boshlangan tranzaksiyani muvaffaqiyatli yakunlaydi. Bu shuni anglatadiki, tranzaksiya natijasida amalga oshirilgan o`zgarishlar domiy diskka saqlanadi. COMMIT WORK instruksiyasi ushbu instruksiyasi standart shakli hisoblanadi. WORK bandini yozilmasa ham bo’ladi.
Transact-SQL shuningdek funktsional jihatdan COMMIT WORK instruksiyasiga teng bo'lgan COMMIT TRANSACTION instruksiyasini qo`llab-quvvatlaydi, faqat foydalanuvchi tomonidan belgilangan tranzaksiya nomini qabul qiladi.
COMMIT WORK instruksiyasidan farqli o'laroq, ROLLBACK WORK instruksiyasi muvaffaqiyatsiz tranzaksiya haqida xabar beradi. Dasturchilar ma`lumotlar bazasida xatolik yuz berishi mumkin deb o'ylaganda ushbu instruksiyadan foydalanadilar. Bunday holda, tranzaksiyadagi instruksiyasilar tomonidan amalga oshirilgan barcha o`zgarishlar bekor qilinadi. ROLLBACK WORK instruksiyasi ushbu instruksiyaning standart shakli hisoblanadi. WORK bandi yozilmasa ham bo’ladi. Transact-SQL shuningdek funktsional jihatdan ROLLBACK WORK instruksiyasiga teng bo'lgan ROLLBACK TRANSACTION instruksiyasini qo`llab-quvvatlaydi, faqat foydalanuvchi tomonidan belgilangan tranzaksiya nomini qabul qiladi.
SAVE TRANSACTION instruksiyasi tranzaksiya ichida saqlash nuqtasini o'rnatadi. Saqlash nuqtasi(Savepoint) tranzaktsiyaning shunday nuqtasini belgilaydiki, natijada ushbu nuqtadan keyingi barcha o`zgarishlarni butun tranzaksiyani bekor qilmasdan bekor qilish mumkin. (ROLLBACK instruksiyasi butun operasiyani bekor qilish uchun ishlatiladi.) SAVE TRANSACTION instruksiyasi haqiqatan ham biron bir ma`lumot o`zgarishlarini amalga oshirmaydi. U faqat keyingi ROLLBACK instruksiyasi uchun belgi(metka) yaratadi.
SAVE TRANSACTION instruksiyasi foydalanish quyidagi misolda keltirilgan:
USE SampleDb;

BEGIN TRANSACTION;


INSERT INTO Department (Number, DepartmentName)
VALUES ('d4', 'Skidki');
SAVE TRANSACTION a;
INSERT INTO Department (Number, DepartmentName)
VALUES ('d5', 'Issledovaniye');
SAVE TRANSACTION b;

INSERT INTO Department (Number, DepartmentName)


VALUES ('d6', 'Menedjment');
ROLLBACK TRANSACTION b; -- joriy holatdan b qismgacha bo’lgan barcha o’zgarishlar
-- bekor qilinadi

INSERT INTO Department (Number, DepartmentName)


VALUES ('d7', 'Podderjka');

ROLLBACK TRANSACTION a; -- joriy holatdan a gacha bo’lgan o’zgarishlar bekor qilinadi


COMMIT TRANSACTION;

Ushbu misolda ishlaydigan yagona instruksiya - bu birinchi INSERT instruksiyasi. Uchinchi INSERT instruksiyasi o`zgarishlari “ROLLBACK TRANSACTION b” bilan bekor qilinadi va qolgan ikkita INSERT instruksiyalari o`zgarishlari “ROLLBACK TRANSACTION a” (aslida bu “ROLLBACK TRANSACTION b” instruksiyasining ishini ham bajaradi, ya’ni uni hozirgi holatda yozish shart emas)bilan bekor qilinadi.


Agar bazaga ulanish uchun yashirin tranzaktsiya rejimi o'rnatilsa va ulanishda tranzaktsiya ishlatilmasa, quyidagi instruksiyalarning birontasi bajarilishi tranzaksiyani boshlaydi:

  • ALTER TABLE;

  • FETCH;

  • REVOKE;

  • CREATE TABLE;

  • GRANT;

  • SELECT;

  • DELETE;

  • INSERT;

  • TRUNCATE TABLE;

  • DROP TABLE;

  • OPEN;

  • UPDATE.




Download 0,87 Mb.

Do'stlaringiz bilan baham:
1   ...   19   20   21   22   23   24   25   26   ...   48




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish