Ma'lumotlarning yaxlitligini tashkil etish. Triggerlar
Ba'zi MS SQL buyruqlari, hatto aytish mumkinki- inshootlar nafaqat ma'lumotlar bilan ishlashni tashkil qilish va balki ularning yaxlitligini ta'minlashga imkon bera oladi. Bunday maqsadlar uchun tilda dasturchining o'zi tomonidan yaratilgan tizim konstruktsiyalari qo'llaniladi. Bu ma'lumotlarni boshqarishni ta'minlay oladiganlar- triggerlar deb ataladi.
Bu holda, shartlarni tekshirishni tashkil qilishimiz uchun standart SQL so'rov buyruqlari ishlatamiz. Triggerlarda biz ma'lumotlar bilan ishlashimiz uchun juda ko'p shartlar va cheklovlarni yaratishimiz mumkin, bu nafaqat ma'lumotlarga kirishni boshqarish, balki ma'lumotlarni yo'q qilishni, o'zgartirishni yoki kiritishni taqiqlashga yordam bera oladi.
Triggerda ishlatilishi mumkin bo'lgan SQL buyruqlarining turlari cheklanmagan bo'lib, keling, bir misolni birgalikda ko'rib chiqaylik.
Agar biz trigger yaratish mexanizmini tavsiflasak, bu erda SQL buyruqlarining turlari protsedura yaratishda bo'lgani kabi. Algoritmning o'zi quyida tavsiflanadi.
Avvalo, triggerlarni yaratishimiz uchun xizmat buyrug'ini tavsiflashimiz kerak:
Ma'lumotlarning qaysi biri ishlashi uchun ko'rsatamiz (bizning holatlarimizda, bu ma'lumotlarni o'zgartirish uchun operatsiya).
Keyingi qadam jadvallar va o'zgaruvchilarni belgilashdan iborat:
@ID int e'lon qiling. @Date smalldatetime @nID int. @nDatesmalldatetime
Kiritilgan-dan P_ID, P_BerthDay-ni tanlash uchun C1 kursorini e'lon qiling
O'chirilgan joydan P_ID, P_BerthDay-ni tanlash uchun C2 kursorini e'lon qiling
Ma'lumotlarni tanlash, bosqichlarini o'rnatdik. Keyin kursorlar tanasida biz shartni va unga munosabatni yozamiz:
agar @ID \u003d @nID va @nDate \u003d "/04/2005"
sMasseges "Amalni bajarish mumkin emas. Sana to'g'ri kelmayapti"
Trigger nafaqat yaratilishi, balki bir muncha vaqtga ham o'chirib qo'yilishimiz mumkin. Ushbu manipulyatsiyani faqat dasturchi SQL SERVER buyruqlarini bajarish orqali amalga oshirishi mumkin bo'ladi:
altertablePERSONdisabletriggerall - ushbu jadval uchun yaratilgan barcha triggerlarni o'chirib qo'yish , hamda shunga mos ravishda altertablePERSONenabletriggerall - ularni yoqish uchun.
Ushbu asosiy SQL buyruqlari eng ko'p ishlatiladi, lekin ularning kombinatsiyalari juda xilma-xil bo'lishi mumkin. SQL juda moslashuvchan dasturlash tili bo'lib, ishlab chiquvchiga maksimal darajada moslashuvchanlikni bera oladi.
Yuqorida, aytilganlarning barchasidan faqat bitta xulosa chiqarishimiz mumkin: dasturlash bilan jiddiy shug'ullanmoqchi bo'lganlar uchun SQL tilini bilish shunchaki zarur. Bu Internetda ham, uy ma'lumotlar bazalarida ham amalga oshiriladigan barcha operatsiyalarning markazidir desak, adashmaymiz. Shuning uchun kelajakdagi dasturchi ma'lum bir tilning ko'plab buyruqlarini bilishi kerak...
Hamma narsada bo'lgani kabi, kamchiliklar ham bor, ammo ular shu darajada ahamiyatsizki, ular shunchaki afzalliklaridan oldin rangsizlanishadi.
SQL-ning asosiy afzalligi, shubhasiz- uning soddaligi deb hisoblanishi mumkin, chunki, aynan u maktab o'quv dasturiga kiritilgan. Hatto tillarni chindan ham tushunmaydigan yangi boshlagan dasturchi ham uni o'rgana oladi.
MS Access DBMS-dasturi jadvallar hamda, massivlarga kiritilgan ma'lumotlar bazalarini yaratish va saqlash uchun to'liq yordamchidir. Agar ma'lumotlar bazasi juda katta bo'lsa, kerakli qiymatlarni tezda topish qiyinlashadi.
Shuning uchun ham Access-da so'rovlar deb nomlangan xususiyat mavjud. Keling, u nima ekanligini, qanday ishlashini, qanday xususiyatlarga ega ekanligini ko'rib chiqaymiz.
Do'stlaringiz bilan baham: |