دستورات تعریف داده ها در Sql

10 / 10
از 1 کاربر

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

از این دستورات در طراحی سایت و کار با sql ، برای تغییر در دیتابیس ، ایجاد دیتابیس جدید ، ایجاد جدول و اعمال تغییرات در table نظیر پاک کردن آن و همچنین ایجاد و یا حذف یک شاخص استفاده می شود. 

دستور CREATE DATABASE در اس کیو ال

در این بخش از آموزش SQL  ،  دستور Create Database را برای شما کاربران علاقه مند به طراحی سایت توضیح می دهیم.
از دستور Create Database برای ایجاد یک پایگاه داده جدید استفاده می کنند و ساختار این دستور به صورت زیر می باشد:

CREATE DATABASE database_name

 برای ایجاد یک دیتابیس با نام mySite_db به صورت زیر عمل میکنیم :

CREATE DATABASE mySite_db

دستور Create Table در SQL

در این بخش از  مقالات و اطلاعات طراحی سایت ،  دستور Create Table را برای شما توضیح می دهیم.
از دستور Create Table برای ایجاد جدول جدید در پایگاه داده استفاده می شود.توجه داشته باشید که برای ایجاد یک جدول بایستی موارد زیر را رعایت کرد:
√ تعيين يک نام منحصر به فرد برای جدول .
√ تعيين تعداد ستون های ( فيلد ها ) جدول و نام آنها که نباید تکراری باشد.
√ تعيين نوع داده ای ستون های جدول و اندازه آنها در صورت نياز

مثال زیر کاربرد دستور Create Table را در بخش آموزش SQL نشان می دهد.

CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
....
)

برای مثال برای ایجاد جدول Persons با فیلدهای زیر به صورت زیر عمل میکنیم :

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

دستور Drop در SQL

در این بخش از وب سایت طراحی سایت  ، دستور Drop را برای شما توضیح می دهیم.
با استفاده از دستور Drop می توان تمامی جدول ها،اندیس ها و حتی دیتابیس ها را حذف کرد.همچنین از دستور Drop Index برای حذف یک اندیس موجود در یک فیلد جدول استفاده می کنند.

مثال زیر کاربرد دستور Drop Index را در بخش آموزش SQL نشان می دهد.

DROP INDEX table_name.index_name

از دستور DROP TABLE برای حذف يک جدول در پايگاه داده استفاده می شود.

DROP TABLE table_name

از دستور DROP DATABASE برای حذف  يک پايگاه داده به صورت کامل استفاده می شود

DROP DATABASE database_name

برای حذف کليه اطلاعات موجود در يک جدول بدون حذف ستون های آن از دستور RUNCATE استفاده می کنیم :

TRUNCATE TABLE table_name

اين دستور باعث خالی شدن جدول از اطلاعات می شود ، بدون اينکه خود آن و ساختارش تغييری کند .

 Truncate Table Mydb;

 دستور Create Index در SQL

در این قسمت دستور Create Index را در مقالات طراحی سایت برای شما توضیح می دهیم.
از دستور Create Index برای ایجاد اندیس در دسته های جدول استفاده می شود.در يک جدول می توان برای يک يا چند ستون جدول انديس ايجاد کرد ، که اين انديس ها باعث بالا رفتن سرعت جستجو در رکوردهای جدول مي شود.اندیس ها به صورت شماره نمایش داده می شوند و معمولا از صفر شروع می شوند.این اندیس ها توسط کاربر دیده نمی شود و هر اندیس به صورت اختصاصی می باشد.

برای ایجاد یک اندیس با داده های تکراری به صورت زیر عمل میکنیم :

CREATE INDEX index_name
ON table_name (column_name)

برای مثال :

 CREATE INDEX PIndex
 ON Persons (LastName)

برای ایجاد یک اندیس با داده های منحصر به فرد (unique) به صورت زیر عمل میکنیم :

CREATE UNIQUE INDEX index_name
ON table_name (column_name)

برای ايجاد يک انديس برای بيش از يک فيلد ، بايد نام فيلد های مورد نظر را به ترتيب در پرانتز بعد از نام جدول وارد کرد .

CREATE INDEX PIndex
ON Persons (LastName, FirstName)

دستور Alter در SQL

در این قسمت از مقالات طراحی سایت ،  دستور Alter را برای شما توضیح می دهیم.
از دستور Alter برای حذف یا اضافه کردن کامل یک ستون از یک جدول موجود در پایگاه داده استفاده می شود.برای اضافه کردن يک ستون ( فيلد ) جديد به يک جدول موجود از دستور ALTER TABLE  استفاده می شود:

ALTER TABLE table_name
ADD column_name datatype

برای حذف يک ستون از يک جدول موجود به روش زير عمل می شود:

ALTER TABLE table_name
DROP COLUMN column_name

ایجاد محدودیت برای فیلد ها (Constraints) در SQL

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

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

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

در این قسمت از طراحی سایت ، محدودیت Foreign Key را توضیح می دهیم.
یک 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

محدودیت-Default در SQL

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

برای تعریف یک محدودیت Default  از دستور 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  از دستور SQL زیر استفاده می کنیم:

ALTER TABLE Persons
ALTER COLUMN City SET DEFAULT 'SANDNES'

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

ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT

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

در این قسمت از مجموعه مقالات طراحی سایت  ، محدودیت Primary Key را برای شما توضیح می دهیم.
از محدودیت Primary Key زمانی استفاده میکنیم که میخواهیم فیلد کلید اصلی، تعریف کنیم.از محدودیت Primary Key برای تفکیک و جستجوی رکوردها مورد استفاده قرار می گیرد و مقادیر تکراری را قبول نمی کند بنابراین محدودیت Primary Key از مهمترین  محدودیت ها می باشد.

توجه داشت باشید که هر جدول فقط می تواند یک کلید اولیه ( Primary Key ) داشته باشد و فیلد کلید اصلی هیچ وقت Null نمی پذیرد پس ستون Allow Nulls  برای این فیلد نباید چک خورده باشد.

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

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

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

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

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

ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)

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

ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)

برای از بین بردن محدودیت Primary Key از دستور SQL زیر پیروی می کنیم:

ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID

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

در این  بخش از مقالات طراحی سایت ، محدودیت Not Null را برای شما توضیح می دهیم.
از محدودیت Not Null زمانی استفاده می کنیم که می خواهیم 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)
)

محدودیت Unique در SQL

در مقالات طراحی سایت در این قسمت از آموزش SQL  ، محدودیت Unique را برای شما توضیح می دهیم.
از محدودیت Unique زمانی استفاده می کنیم که بخوایم فیلدهای تکراری نداشته باشیم.این فیلدها ممکن است کلید نباشند ، اما بنابر لزوم برنامه بایستی غیر تکراری باشند. به عنوان مثال فیلد آدرس ایمیل،  کلید نیست اما باید Unique یا واحد باشد. برای این کار از Unique Indexها استفاده می‌کنیم.
توجه داشته باشید که در هر جدول بیش از یک فیلد می توانید از محدودیت Unique استفاده کرد  همچنین محدودیت Primary Key به صورت خودکار،محدودیت Unique را نیز دارد.

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

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 روی یک ستون از دستور SQL زیر استفاده می کنیم:

ALTER TABLE Persons
ADD UNIQUE (P_Id)

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

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

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

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID

فیلد افزایشی خودکار در Sql

در این قسمت از آموزش SQL  در بخش مقالات طراحی سایت ، فیلد افزایشی خودکار در SQL را برای شما توضیح می دهیم.

فیلد Identity در SQL

فیلد identity در SQL به ازاری هر رکوردی که در جدول اضافه می کنیم مقدار دهی می کند و ما نمی توانیم این فیلد را مقدار دهی کنیم.
فیلد Identity دارای دو خصوصیت می باشد که عبارتند از :

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

به طور کل دستور فیلد افزایشی خودکار در 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 را برای شما توضیح می دهیم.
در اس کیو ال از View برای رسم جداول مجازی استفاده می شود که با استفاده از این جداول می توان عملیات خاصی را روی دستورات SQL اجرا کرد و نتیجه را به صورت خروجی بدست آورد که در طراحی سایت نیز کاربرد دارد.از مزیت های این روش این است که به صورت موقت در سرور ذخیره می شود و برای دفعات بعدی می توان از آن استفاده کرد همچنین View از سرعت بالایی برخوردار می باشد.

مثال زیر کاربرد View در SQL را نسان می دهد.

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

ارسال نظر و نظرات ثبت شده