اسفند ۱۴, ۱۳۹۷ Mostafa بدون دیدگاه

اگر دنبال برنامه نویس برای ساخت افزونه ،قالب،سایت،برنامه ویندوز،اپلیکیشین اندروید،ربات تلگرام و.... هستید ،سفارش برنامه نویسی را مطالعه نمایید.

توجه : درخواست افزونه ،قالب، اسکریپت و نرم افزار و ... و سوالات و مشکلات خود را در انجمن ارسال نمایید

محدودیت Check ,  SQL CHECK Constraint یا محدودیت های خاص در sql

از محدودیت Check یا محدودیت خاص در اس کیو ال زمانی استفاده میکنیم که بخواهیم برای یک فیلد، یک سری محدودیت خاص روی فیلد تعریف کنیم.

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

نکته : محدودیت Check را میتوان برای ستون و جدول تعریف کرد.

محدودیت CHECK هنگامی که جدول ساخته می شود

برای تعریف یک محدودیت Check در دستور create table ، روی یک ستون از دستور 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 پس از ساخته شدن جدول

برای تغییر دادن یک محدودیت 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

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

ALTER TABLE Persons
DROP CHECK chk_Person

محدودیت Default  , SQL DEFAULT Constraint یا مقدار پیش فرض در sql

از محدودیت Default یا مقدار پیش فرض در اس کیو ال ، میتوانیم زمانی استفاده کنیم که ، در هنگام ساخت جدول و تعیین نوع فیلدها، مقدار Default Value و یا پیش فرض به یک فیلد بدهیم.

در واقع محدودیت در اینجا به این معنی می باشد که  اگر کاربر در هنگام درج یا به روزرسانی مقدار آن فیلد را وارد نکرد، مقدار Default Value به جای آن قرار بگیرد.

محدودیت DEFAULT در هنگام ساخت جدول

برای تعریف یک محدودیت Default در دستور create table از دستور SQL زیر استفاده می کنیم:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255) DEFAULT 'Sandnes'
)

 

از محدودیت Default می توان در مواقعی که میخواهیم  از function ها در SQL استفاده کنیم،ز دستور SQL به صورت  زیر استفاده می کنیم:برای مثال تابع ()GETDATE

CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
OrderDate date DEFAULT GETDATE()
)

 

محدودیت DEFAULT پس از ساخت جدول

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

ALTER TABLE Persons
ALTER COLUMN City SET DEFAULT 'SANDNES

 

از بین بردن محدودیت DEFAULT

برای از بین بردن محدودیت Default یا مقدار پیش فرض در sql ، از دستور SQL زیر استفاده می کنیم:

ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT

 

محدودیت NOT NULL در sql

از محدودیت NOT NULL در دستور create table زمانی استفاده مکنیم که میخواهیم مقدار Allow Null  فیلدها  را غیر فعال کنیم.

در حقیقت با تعریف این محدودیت اجازه نمیدهیم که فیلد ما مقدار Null بگیرد. پس در هنگام درج یا به روزرسانی، اگر کاربر مقداری را در این فیلدها وارد نکرد، جلوی انجام عملیات گرفته می‌شود.

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

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

 

که در مثال بالا p_Id و LastName اجازه ی null بودن ندارند ولی دیگر فیلدها allow null هستند.

نکته : پیش فرض برای فیلدها در دستور create table ، مقدار دهی آنها allow null است.

محدودیت Unique , SQL UNIQUE Constraint در sql

از محدودیت Unique زمانی استفاده میکنیم که بخواهیم مقادیر بعضی از فیلدها تکراری نباشند.

این فیلدها ممکن است کلید نباشند ، اما بنابر لزوم برنامه بایستی غیر تکراری باشند. به عنوان مثال فیلد آدرس ایمیل،  کلید نیست اما باید Unique یا واحد باشد. برای این کار از Unique Index ها استفاده می‌کنیم.

محدودیت PRIMARY KEY به صورت خودکار، محدودیت Unique را نیز دارد.
در هر جدول بیش از یک فیلد نیز میتواند از محدودیت Unique استفاده کند.

محدودیت UNIQUE در هنگام ساخت TABLE

برای تعریف محدودیت Unique در دستور create table در sql ، روی یک ستون از کلمه کلیدی UNIQUE بصورت زیر استفاده می کنیم:

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

 

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

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
)

 

محدودیت UNIQUE پس از ساخت جدول

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

ALTER TABLE Persons
ADD UNIQUE (P_Id)

 

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

ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)

 

ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)

 

از بین بردن یک محدودیت UNIQUE

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

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID

 

فیلد identity در sql

فیلد identity در sql به این معناست که به ازای هر رکوردی که در جدول وارد می کنیم ، فیلد identity شده ، به صورت اتوماتیک مقدار دهی خواهد شد و نمی توانیم این فیلد را مقدار دهی کنیم .

فیلد identity دو خصوصیت دارد:

Identity Increment : که مشخص می کند مقدار فیلد چند تایی افزایش پیدا کند، به طور پیش فرض مقدار آن یک است و می تواند اعداد مثبت و همین طور منفی نیز بگیرد.

Identity Seed : مشخص می کند مقدار این فیلد از چه عددی شروع شود، به طور پیش فرض از یک شروع می شود ولی می تواند از اعداد منفی و  هر عدد مثبتی برای شروع فیلد Identity استفاده کرد.

برای استفاده از فیلد identity در sql از ساختار زیر استفاده مکنیم :

CREATE TABLE Persons
(
P_Id int PRIMARY KEY IDENTITY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

 

نکته مهم : اگر رکوردهای جدول را با Delete حذف کنیم مقدار آخرین Identity حفظ خواهد شد و درج با عدد بعدی آن صورت می گیرد، اگر بخواهیم بعد از حذف داده ها درج با مقدار Seed تعریف شده صورت گیرد به جای Delete از دستور TRUNCATE table_name استفاده می کنیم، به این ترتیب لاگ هم ذخیره نخواهد شد ، ضمن اینکه سرعت حذف رکوردها بسیار بیشتر است.

آموزش view در sql

view در sql در واقع همان جداول مجازی هستند که توسط آن می توانید عملیات خاصی رو که شامل دستورات sql میشه رو انجام بدهید و به صورت خروجی داشته باشید .

کاربرد view در اسکیوال

از مزیت های view این است  که بعد از یک بار اجرا به صورت موقت در سرور ذخیره می شود و برای مراجعات بعدی از همان استفاده می شود و سرعت خیلی بالایی دارد.

ساختار دستور View در sql به صورت زیر است :

CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

 

 


برچسب ها