O‘ZBЕKISTON RЕSPUBLIKASI OLIY VA
O‘RTA MAXSUS TA’LIM VAZIRLIGI
O‘ZBEKISTON MILLIY UNIVERSITETI
«AXBOROT XAVFSIZLIGI» KAFЕDRASI
“AXBOROT TIZIMLARI VA ULARNING XAVFSIZLIGI”
fanidan
Tekshirdi; O.N. BOZOROV
Bajardi; Batirov Shohruhxon
Mavzu: “Talabalar” uchun ma’lumotlar bazasini yaratish.
Birinchi bo’lib baza ochib olishdan boshlaymiz
Keyin esa jadval ochib ichiga ma’lumot joylab olamiz.
Ochilgan jadvallarni kerakli bo’lgan ma’lumotlar bilan to’ldirib
olamiz.
Har bir jadvalga shunaqa ma’lumotlarni kirgizib olamiz.
Endi bu diagrammalarni bir biriga bog’lab olamiz.
Endi jadval malumotldariga asoslanib view lar yaratamiz va uni saralashni ham ko’rib chiqamiz
Malumotlarni view xolatida korinishi
Malumotlar bazasini backup faylini olishni o’rganamiz ya’ni rezerv nusxasini olamiz
TRANZAKTSIYA:
Yashirin tranzaktsiyalar har bir DDL (CREATE, ALTER, DROP, TRUNCATE), DML (INSERT, UPDATE, DELETE) bayonotlari uchun SQL Server tomonidan amalga oshiriladi. Bu barcha T-SQL bayonotlari yashirin tranzaksiya ostida ishlaydi. Agar ushbu bayonotlarda alohida xatolik yuzaga kelsa, SQL Server to'liq bayonotni orqaga qaytaradi.
Aniq tranzaktsiyalar dasturchilar tomonidan belgilanadi. Aniq tranzaksiyada biz birlik sifatida bajarilishi kerak bo'lgan DML bayonotlarini o'z ichiga olamiz. Chunki SELECT iboralari ma'lumotlarni o'zgartirmaydi. Shuning uchun biz odatda tranzaktsiyaga Select bayonotini kiritmaymiz.
Tranzaktsiyalar misoli
JADVAL bo'limini yaratish
(
DeptID int ASOSIY kalit,
DeptName varchar(50) NULL,
Manzil varchar(100) NULL,
)
BOSH
JADVAL YARATISH Xodim
(
EmpID int ASOSIY kalit,
Varchar nomini (50) NULL,
Ish haqi NULL,
Manzil varchar(100) NULL,
DeptID in xorijiy Kalit havolalari bo'limi (DeptID)
)
--Endi ma'lumotlarni kiriting
INSERT INTO Departament(DeptID, DeptName, Location)VALUES(1,'IT','Dehli')
BOSH
INSERT INTO Xodim(Ishchi identifikatori,Ismi,ish haqi,Manzil,DeptID)QIYMATLAR(1,'Mohan',15000,'Dehli',1)
Bo'limdan * ni tanlang
Xodimdan * ni tanlang
BAGIN TRANSACTION trans
UYINING
INSERT INTO Departament (DeptID, DeptName, Location) VALUES(2,'HR','Dehli')
INSERT INTO Xodim(Ishchi identifikatori,Ismi,Ish haqi,Manzil,DeptID)QIYMATLAR(1,'Mohan',18000,'Dehli',1)
AGAR @@TRANCOUNT > 0
TANNOMANI BASHLASH trans
OXIRI
UYINING TUGASH
QO'SHLASHNI BOSHLASH
"Xatolik yuz berdi" chop etish
AGAR @@TRANCOUNT > 0
BAGIN ROLLACK TRANSACTION trans
OXIRI
QO'SHLASH
--Endi tranzaksiya ta'sirini ko'rish uchun ma'lumotlarni tanlang
Xodimdan * ni tanlang
Bo'limdan * ni tanlang
--Saqlash nuqtasi bilan tranzaksiya BEGIN TRANSACTION trans
UYINING
INSERT INTO Departament (DeptID, DeptName, Location) VALUES(2,'HR','Dehli')
AGAR @@TRANCOUNT > 0
BAGIN SAVE TRANSACTION trans;
OXIRI
INSERT INTO Departament(DeptID, DeptName, Location)VALUES(3,'Admin','Dehli')
INSERT INTO Xodim(Ishchi identifikatori,Ismi,Ish haqi,Manzil,DeptID)QIYMATLAR(1,'Mohan',18000,'Dehli',1)
AGAR @@TRANCOUNT > 0
TANNOMANI BASHLASH trans
OXIRI
UYINING TUGASH
QO'SHLASHNI BOSHLASH
"Xatolik yuz berdi" chop etish
AGAR @@TRANCOUNT > 0
BAGIN ROLLACK TRANSACTION trans
OXIRI
QO'SHLASH
--Endi tranzaksiya ta'sirini ko'rish uchun ma'lumotlarni tanlang
Xodimdan * ni tanlang
Bo'limdan * ni tanlang
Xulosa
Ushbu maqolada men Sql Serverda tranzaksiyalarni boshqarishni misol bilan tushuntirishga harakat qilaman. Umid qilamanki, ushbu, Sql Serverda tranzaktsiyalarni qanday boshqarishni bilib olasiz.
Do'stlaringiz bilan baham: |