PDA

View Full Version : تعریف محدودیت در پایگاه داده



abynaneh63
جمعه 12 دی 1393, 17:47 عصر
با سلام خدمت مدیران و همکاران محترم در گروه. سوالی در مورد محدودیت در اس کیو ال داشتم و توضیحی در خصوص محدودیت (constraint) و کاربرد آن داشتم و خواهشا در مورد کد زیر توضیحاتی بفرمایید. باتشکر.
create table dbo.T1
)
column_1 as 'computed column' + column_2,
column_2 varchar(30) not null
(' constraint default_name default('my column default
column_3 rowversion not null,
column_4 varchar(40) null
(
go

mohammad reza beizavi
جمعه 12 دی 1393, 18:18 عصر
درود بر شما
constraints قیودی یا قوانین هستند که شما روی فیلد های جدول میذارید و زمانی که اطلاعات می خواد توی جدول نوشته بشه اگر داده های شما باید قیود همخوانی نداشتند از درج اطلاعات جلوگیری می کنند.
فکر کنم در کل 5 یا 6 تا از این قیود وجود داره که با یه جستجوی ساده بیشتر در موردش می تونید بخونید. اما اونایی که الان به یاد دارم این موارد هستند:
not null که نمیذاره مقدار تهی توی این ستون درج بشه
default که یه مقدار پیش فرض برای ستون در نظر میگیره و اگر مقداری ثبت نشد با این مقدار پر میشه
unique که چک میکنه مقدار این ستون منحصر به فرد باشه
primary key که یکی از کلیدهای کاندید توی جدول هستند و کاربردهای زیادی داره
foreign key که برای ارتباط بین دو جدول به کار میره و در واقع یکی از کلیدهای کاندید جدول دیگه هست

نمونه این قیود هم در کد خودتون میشه دید
اما در تعریف جدولتون توی خط اون کاما (,) اضافیه و توی بقیه خطوط هم درست نذاشتید و چون اشتباهات املایی دیگه بیخیالش بشید
توی همون خط اول cumputed هم ستونیه که مقدار اون محاسباتی هست و میتونید با محاسبه مقدار اون رو پر کنید
توی خط چهارم هم rowversion یک عدد باینری 8 بایتیه که مثل نوع داده timestamp کار میکنه و با تفاوتهایی مثل اینکه میتونه تکراری هم باشه و تعداد و تارخ و ساعت آخرین به روز رسانی یک سطر رو نشون میده
بقیه هم در همون بحث قیود گفتم
پیروز باشید