دستورات DDL در SQL Server
DDL یا Data Definition Language مجموعهای از دستورات SQL است که برای تعریف و مدیریت ساختار پایگاه دادهها، جداول، ایندکسها و دیگر اجزای ساختاری مورد استفاده قرار میگیرد. این دستورات شامل عملیاتهایی هستند که دادههای موجود در جدول را تغییر نمیدهند، بلکه روی ساختار و تعریف دادهها تمرکز دارند. این دستورات به مدیران و توسعهدهندگان اجازه میدهند تا پایگاه دادهها را ایجاد، تغییر، یا حذف کنند.
در این مقاله، بهطور جامع به بررسی دستورات DDL در SQL Server میپردازیم. هر دستور بههمراه کاربردها، مثالها و جزئیات کامل مورد بررسی قرار خواهد گرفت.
فهرست مطالب
- مقدمهای بر DDL
- دستورات اصلی DDL
- CREATE
- ALTER
- DROP
- TRUNCATE
- RENAME
- انواع دادهها در DDL
- دستور CREATE
- ایجاد پایگاه داده
- ایجاد جدول
- ایجاد ایندکس
- ایجاد ویو
- دستور ALTER
- تغییر جدول
- تغییر ستون
- تغییر ایندکس
- تغییر ویو
- دستور DROP
- حذف پایگاه داده
- حذف جدول
- حذف ایندکس
- حذف ویو
- دستور TRUNCATE
- دستور RENAME
- جمعبندی و نتیجهگیری
۱. مقدمهای بر DDL
زبان DDL در SQL Server شامل دستورات ضروری برای تعریف ساختار دادهها در پایگاه داده است. این دستورات شامل ایجاد، تغییر و حذف ساختارهای مختلفی مانند جداول، ایندکسها، ویوها و سایر اشیاء پایگاه داده میباشد. برخلاف دستورات DML (Data Manipulation Language) که به تغییر دادههای موجود در جداول میپردازند، دستورات DDL تغییرات ساختاری را اعمال میکنند.
دستورات DDL تغییراتی ایجاد میکنند که بهطور خودکار به پایگاه داده ذخیره میشوند و نیازی به COMMIT
ندارند. از آنجا که تغییرات ساختاری مهم و بنیادی هستند، برخی از دستورات DDL برگشتپذیر نیستند (مانند حذف جداول). بنابراین، باید با دقت و آگاهی از آنها استفاده کرد.
۲. دستورات اصلی DDL
پنج دستور اصلی که تحت عنوان DDL قرار میگیرند شامل:
- CREATE: برای ایجاد اشیاء جدید در پایگاه داده مانند جداول، ایندکسها، ویوها و غیره.
- ALTER: برای تغییر ساختار اشیاء موجود مانند جداول و ایندکسها.
- DROP: برای حذف اشیاء موجود از پایگاه داده.
- TRUNCATE: برای حذف تمام رکوردهای موجود در جدول بهصورت سریع و بدون ثبت جزئیات حذف در لاگ تراکنش.
- RENAME: برای تغییر نام اشیاء پایگاه داده.
۳. انواع دادهها در DDL
پیش از شروع به استفاده از دستورات DDL، آشنایی با انواع دادهها در SQL Server بسیار مهم است. SQL Server انواع مختلفی از دادهها را پشتیبانی میکند که در جداول و دیگر اشیاء پایگاه داده استفاده میشوند. این انواع دادهها به دستههای زیر تقسیم میشوند:
- انواع عددی: شامل
INT
, BIGINT
, SMALLINT
, TINYINT
, DECIMAL
, NUMERIC
, FLOAT
, REAL
- انواع رشتهای: شامل
CHAR
, VARCHAR
, TEXT
- انواع تاریخی و زمانی: شامل
DATE
, TIME
, DATETIME
, SMALLDATETIME
, DATETIME2
- انواع دادههای باینری: شامل
BINARY
, VARBINARY
, IMAGE
- انواع منطقی: شامل
BIT
- سایر انواع: شامل
UNIQUEIDENTIFIER
, XML
, JSON
, CURSOR
هر زمان که از دستورات DDL برای ایجاد یا تغییر جداول استفاده میشود، باید از انواع دادهها استفاده کنیم تا مشخص کنیم که هر ستون چه نوع دادهای را میتواند ذخیره کند.
۴. دستور CREATE
۴.۱. ایجاد پایگاه داده (CREATE DATABASE)
یکی از ابتداییترین و مهمترین دستورات DDL، ایجاد یک پایگاه داده جدید است. دستور CREATE DATABASE
برای ایجاد یک پایگاه داده جدید استفاده میشود.
نحو دستور:
مثال:
در این مثال، پایگاه دادهای بهنام SchoolDB
ایجاد میشود.
۴.۲. ایجاد جدول (CREATE TABLE)
پس از ایجاد پایگاه داده، مهمترین وظیفه ایجاد جداول است. جداول اساس ذخیرهسازی دادهها در پایگاه داده هستند.
نحو دستور:
مثال:
در این مثال، جدولی بهنام Students
با ستونهای StudentID
, FirstName
, LastName
, BirthDate
, و Gender
ایجاد میشود.
۴.۳. ایجاد ایندکس (CREATE INDEX)
ایندکسها برای بهبود سرعت جستجو و پرسوجو در جداول استفاده میشوند. ایجاد ایندکس یکی از راهکارهای بهینهسازی عملکرد پرسوجوها است.
نحو دستور:
مثال:
این ایندکس به جستجوی سریعتر بر اساس ستون LastName
کمک میکند.
۴.۴. ایجاد ویو (CREATE VIEW)
ویوها اشیاء مجازی در پایگاه داده هستند که بر اساس نتایج یک پرسوجو ایجاد میشوند. ویوها میتوانند به سادهسازی پرسوجوها کمک کنند و بهعنوان یک لایه انتزاعی بین کاربران و جداول عمل کنند.
نحو دستور:
مثال:
در این مثال، ویوی vw_AdultStudents
دانشجویانی که بالای ۱۸ سال سن دارند را نمایش میدهد.
۵. دستور ALTER
۵.۱. تغییر جدول (ALTER TABLE)
دستور ALTER TABLE
برای تغییر ساختار یک جدول موجود استفاده میشود. با این دستور میتوان ستونهای جدید اضافه کرد، ستونهای موجود را تغییر داد یا حذف کرد.
نحو دستور:
مثال:
در این مثال، ستونی بهنام Email
به جدول Students
اضافه میشود.
۵.۲. تغییر ستون (ALTER COLUMN)
برای تغییر نوع داده یا محدودیتهای یک ستون از دستور ALTER COLUMN
استفاده میشود.
نحو دستور:
مثال:
در این مثال، نوع دادهی ستون LastName
از NVARCHAR(50)
به NVARCHAR(100)
تغییر داده میشود.
۵.۳. تغییر ایندکس (ALTER INDEX)
ایندکسها را میتوان با دستور ALTER INDEX
بازسازی یا غیرفعال کرد. بازسازی ایندکسها باعث بهینهسازی آنها میشود.
نحو دستور:
مثال:
این دستور ایندکس idx_Students_LastName
را بازسازی میکند.
۵.۴. تغییر ویو (ALTER VIEW)
با دستور ALTER VIEW
میتوان تعریف یک ویو موجود را تغییر داد.
نحو دستور:
مثال:
۶. دستور DROP
۶.۱. حذف پایگاه داده (DROP DATABASE)
برای حذف کامل یک پایگاه داده از دستور DROP DATABASE
استفاده میشود.
نحو دستور:
مثال:
۶.۲. حذف جدول (DROP TABLE)
حذف یک جدول بهطور کامل با دستور DROP TABLE
امکانپذیر است.
نحو دستور:
مثال:
۷. دستور TRUNCATE
دستور TRUNCATE
برای حذف تمام دادههای یک جدول بدون حذف ساختار آن بهکار میرود.
نحو دستور:
مثال:
۸. دستور RENAME
برای تغییر نام اشیاء پایگاه داده، از دستور RENAME
استفاده میشود.
نحو دستور:
مثال:
۹. جمعبندی و نتیجهگیری
دستورات DDL در SQL Server برای تعریف و مدیریت ساختارهای پایگاه داده بسیار حائز اهمیت هستند. این دستورات به کاربران امکان میدهند تا پایگاه دادهها، جداول، ایندکسها، ویوها و سایر اشیاء را بهراحتی ایجاد، تغییر و حذف کنند.