با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره آموزش کامل SQL را دنبال می کنند. در زمان ایجاد یک جدول جدید یا بعد از ایجاد آن، ممکن است لازم شود که برای برخی از فیلدها محدودیت هایی را اعمال کنید. برای مثال اگر فیلدی در جدول داشته باشید که نمرات یک واحد درسی را که از ۲۰ نمره محاسبه می شود، در آن ذخیره می کنید. باید محدودیتی را اعمالی کنید که اجازه ندهد،مقادیر عددی بالاتر از ۲۰، در فیلد مورد نظر ذخیره شود. برای این منظور SQL به شما ویژگی CHECK را معرفی می کند. که ما در ادامه ی مبحث آشنایی با ویژگی CHECK در SQL و حذف ویژگی CHECK در SQL ، شما را با این ویژگی آشنا خواهیم کرد.
ویژگی CHECK مشخص می کند که داده های یک فیلد باید در یک محدوده ی مشخص قرار داشته باشد.
اگر ویژگی CHECK را برای یک فیلد تعریف کنید، محدودیتی را که مشخص کرده اید، فقط روی همان فیلد اعمال می شود.
اگر ویژگی CHECK را برای یک جدول تعریف کنید، می توانید مقادیر بعضی از ستون ها را بر اساس مقادیر ستونهای دیگر، محدود کنید.
مثال:
جدولی با نام “Persons” ایجاد شود که فیلد “Age” در آن دارای محدودیت سنی بالاتر از ۱۸ سال باشد:
در بانک اطلاعاتی MySQL:
1 2 3 4 5 6 7 | CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, CHECK (Age>=18) ); |
1 2 3 4 5 6 | CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int CHECK (Age>=18) ); |
1 2 3 4 5 6 7 8 | CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, City varchar(255), CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes') ); |
مثال زیر ویژگی CHECK را برای فیلد “Age” در جدولی که قبلا ایجاد شده است، اعمال می کند:
در بانک های اطلاعاتی MySQL / SQL Server / Oracle / MS Access:
1 2 | ALTER TABLE Persons ADD CHECK (Age>=18); |
برای تعریف ویژگی CHECK برای چندین فیلد نیز، از ساختار زیر استفاده کنید:
دربانک های اطلاعاتی MySQL / SQL Server / Oracle / MS Access:
1 2 | ALTER TABLE Persons ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes'); |
برای حذف ویژگی CHECK از ساختارهای زیر استفاده کنید:
دربانک های اطلاعاتی SQL Server / Oracle / MS Access:
1 2 | ALTER TABLE Persons DROP CONSTRAINT CHK_PersonAge; |
در بانک اطلاعاتی MySQL:
1 2 | ALTER TABLE Persons DROP CHECK CHK_PersonAge; |
با استفاده از ویژگی CHECK به راحتی می توانید محدودیت های ضروری را در فیلدهای مورد نظر در یک جدول اعمال کنید. تا دیگر اجازه ندهید داده های خارج از محدوده در فیلد مورد نظر ذخیره شود. امیدواریم که مباحث آموزش آشنایی با ویژگی CHECK در SQL مورد توجه و استفاده ی شما قرار گرفته باشد.