Saturday, November 3, 2018

পার্ট 5 - Cascading referential integrity constraint

এই টিউটোরিয়াল সিরিজের পার্ট-3 তে আমরা দেখেছি কিভাবে টেবিল create করতে হয় (tblPerson এবং tblGender) এবং primary ও foreign key constraints সংযুক্ত করা যায়। পার্ট-4 এ আমরা Default constraint সম্বন্ধে জেনেছি, এই আর্টিকেলটি পড়ার আগে পার্ট-3, পার্ট-4 তে একবার চোখ বুলিয়ে আসুন তাহলে বুঝতে সুবিধা হবে। এই আর্টিকেলে আমরা Cascading referential integrity constraint কি তা শেখার চেষ্টা করব
Cascading referential integrity constraint allows defining the actions Microsoft SQL Server should take when a user attempts to delete or update a key to which an existing foreign keys points.

কিছু বোঝা না গেলে কোন সমস্যা নাই নিচের উদাহরণ এ খেয়াল করুন-

নিচের ২ টা টেবিলের কথা চিন্তা করুন, যদি আপনি tblGender টেবিলে থেকে ID = 1, row টি delete করে দেন তাহলে tblPerson টেবিলের ID = 3 নং row এর record টি একটা orphan record এ পরিনত হবে, কারন তখন আপনি ঐ record টির Gender কিহবে তা define করতে পারছেন না। এই সমস্ত পরিস্থিতিতে Microsoft SQL Server এর কি ধরনের action নেয়া উচিত তা define করে দিতে Cascading referential integrity constraint ব্যবহৃত হয়। By default আপনি একটা error পাবেন এবং DELETE/ UPDATE statement টি rolled back হয়ে যাবে।.





আপনি Cascading referential integrity constraint Specify করার ক্ষেত্রে নিচের option গুলো পাবেন-

1. No Action: এটি আসলে default behavior। যদি এরকম কোন attemt নেয়া হয় যে আমরা এমন একটি record row কে delete/update করতে চাচ্ছি যার key টা অন্য আরেকটা টেবিলের foreign key হিসেবে define করা আছে, তাহলে যে error raised হয় এবং delete/update operation টি rolled back হয়, এই কাজটাই No Action operation টা বলে দেয় বা specify করে থাকে।


2. Cascade: এই ক্ষেত্রে কোন record row কে delete/update করতে গেলে তার যে সমস্তু referenced record আছে ঐ গুলোও delete/update হয়ে যাবে।


3. Set NULL: এই ক্ষেত্রে কোন record row কে delete/update করতে গেলে তার যে সমস্তু referenced record আছে ঐ গুলোতে NULL ভ্যালু set হয়ে যাবে।


4. Set Default: এই ক্ষেত্রে কোন record row কে delete/update করতে গেলে তার যে সমস্তু referenced record আছে ঐ গুলোতে ঐ টেবিলের Default constraint অনুসারে default value সেট হয়ে যাবে।




উপরের explanations আরও ভালভাবে বুঝতে এই video টি একবার দেখে আসুন। ধন্যবাদ।।





No comments:

Post a Comment