Monday, December 31, 2018

পার্ট ৬ - Check constraint in SQL Server

কোন একটি Database table এ কোন column এর value কত থেকে কত range এর মধ্যে হতে পারবে, সেটি define করে দেয়ার জন্য CHECK constraint বাবহার করা হয়ে থাকে।

ধরা যাক, একটি Database table এ AGE নামের একটা integer column আছে। আমরা জানি এই AGE সাধারণত 0 এর থেকে কম বা 150 এর থেকে বেশি হতে পারে না। কিন্তু AGE একটি integer column হয়াতে এটি negative value বা 150 এর থেকে বেশি value ও নিতে পারবে।

তাই এই value insertion কে একটা limit এর মধ্যে রাখার জন্য আমরা CHECK constraint ব্যাবহার করতে পারি। SQL Server এ CHECK constraint দুইভাবে তৈরি করা যায় ১) graphically ২) using a query

নিচের CHECK constraint, AGE column এর value কে [0,150] এই range এর মধ্যে limit করে ফেলতে পারে : 
ALTER TABLE tblPerson
ADD CONSTRAINT CK_tblPerson_Age CHECK (Age > 0 AND Age < 150)

SQL Server এ CHECK constraint add করার সাধারন formula :
ALTER TABLE { TABLE_NAME }
ADD CONSTRAINT { CONSTRAINT_NAME } CHECK ( BOOLEAN_EXPRESSION )


যদি BOOLEAN_EXPRESSION টি true return করে তাহলে CHECK constraint ঐ value কে Database table এ entrance permission দেবে, তাছাড়া দেবে না। পুরো একটা row insert এর সময় AGE column এ NULL value pass করানো সম্ভব, কারন যখন NULL value pass করানো হয় তখন boolean expression টি UNKNOWN evaluate করে এবং ঐ value কে allow করে।

CHECK constraint কে drop করতে হলে :
ALTER TABLE tblPerson
DROP CONSTRAINT CK_tblPerson_Age


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