X
تبلیغات


ایجاد محدودیت برای فیلد ها (Constraints) در SQL
در این قسمت از مقالات طراحی سایت و آموزش SQL ، ایجاد محدودیت برای فیلدها ( Constraints ) را برای شما توضیح می دهیم.
از این ویژگی برای محدود کردن نوع داده هایی که می تواند در جدول تعریف شود مورد استفاده می شود.این محدودیت ها را باید زمانی که یک جدول جدید ایجاد میکنیم یا زمانی که نوع داده ای جدول را تغییر میدهیم بایستی در نظر داشته باشیم.
Constraint ها شامل موارد زیر می شوند:

√  NOT NULL
√  UNIQUE
√  PRIMARY KEY
√  FOREIGN KEY
√  CHECK
√  DEFAULT

محدودیت Foreign Key در SQL

یک FOREIGN KEY در یک جدول به یک PRIMARY KEY در جدولی دیگر اشاره می کند.برای ارتباط بین جداول از محدودیت Foreign Key استفاده می‌شود و در اصل Relational Integrity را فراهم می‌کند. به عبارت ساده‌تر، کلید خارجی همان مقدار کلید اصلی از جدول دیگر است.به عبارتی کلید خارجی همان مقدار کلید اصلی از جدول دیگر است.

همچنین کلید خارجی می تواند مقدار تکراری داشته باشد. Foreign Key سه نوع محدودیت را ایجاد می کند که عبارتند از:
اجازه حذف رکوردی از جدول پدر نداریم که فرزندی داشته باشد.
اجازه insert رکورد در جدول فرزند با کد پدری که در جدول پدر موجود نیست را نداریم.
مقدار کلید پدری را که دارای فرزند هست را نمی‌توانیم تغییر دهیم.

همچنین محدودیت FOREIGN KEY  از وارد کردن داده های نامعتبر در جدول جلوگیری میکند.(در ستون foreign key)، دلیل آن هم، این است که بامقادیر جدول دیگر که به آن اشاره می کند تطابق ندارد.

برای تعریف یک محدودیت FOREIGN KEY روی یک ستون از دستور SQL زیر استفاده می کنیم:


CREATE TABLE Orders
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)


برای تعریف یک محدودیت FOREIGN KEY  روی چند ستون از دستور SQL زیر استفاده می کنیم:


CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
)


برای تغییر دادن یک محدودیت FOREIGN KEY  روی یک ستون از دستور SQL زیر استفاده می کنیم:


ALTER TABLE Orders
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)


برای تغییر دادن محدودیت FOREIGN KEY  روی چند ستون، از دستور SQL زیر استفاده می کنیم:


ALTER TABLE Orders
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)


برای از بین بردن محدودیت FOREIGN KEY ، از دستور SQL زیر استفاده می کنیم:


ALTER TABLE Orders
DROP CONSTRAINT fk_PerOrders


محدودیت Check در SQL

در یکی دیگر از مقالات طراحی سایت ، محدودیت Check را توضیح می دهیم.
از محدودیت Check زمانی استفاده میکنیم که بخواهیم برای یک فیلد، یک سری محدودیت خاص تعریف کنیم.برای مثال : مقادیر داخل فیلد بایستی حتما بزرگتر از 10 باشد در غیر اینصورت در هنگام ورود اطلاعات، کاربر با خطا مواجه گردد.
توجه داشته باشید که محدودیت check را می توان برای ستون و جدول تعریف کرد.
برای تعریف یک محدودیت Check روی یک ستون از دستور SQL زیر استفاده می کنیم:


CREATE TABLE Persons
(
P_Id int NOT NULL CHECK (P_Id>0),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)


برای تعریف یک محدودیت Check  روی چند ستون از دستور SQL زیر استفاده می کنیم:


 CREATE TABLE Persons
 (P_Id int NOT NULL,
  LastName varchar(255) NOT NULL,
  FirstName varchar(255),
  Address varchar(255),
  City varchar(255),
  CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
    )


برای تغییر دادن یک محدودیت Check  روی یک ستون از دستور SQL زیر استفاده می کنیم:


ALTER TABLE Persons
ADD CHECK (P_Id>0)


برای تغییر دادن یک محدودیت Check  روی چند ستون از دستور SQL زیر استفاده می کنیم:


ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')


برای از بین بردن محدودیت Check از دستور زیر استفاده می کنیم:


ALTER TABLE Persons
DROP CHECK chk_Person


ادامه مطلب

برچسب ها : محدودیتForeign Key وConstraintsوCheck در SQL ،
+ تعداد بازدید : ۴۹۲ |
نوشته شده توسط alisaadat در شنبه ۵ اسفند ۱۳۹۶ و ساعت ۱۷:۱۸
نظرات
milad در 7 اسفند 1396 - 14:36 گفته :
بسیاااااااااار عاااااااااالی . متشکر
پاسخ : با سلام واحترام
ممنون از شما باز هم کدهای پیشرفته تر و حرفه ای تر داخل وبلاگ گذاشته میشود

ارسال نظر
نام شما :
آدرس وب سایت :
پست الکترونیک :
پیام شما :
کد امنیتی :