دستورات DDL در پایگاه داده

دستورات DDL در SQL Server

توسط admin | گروه SQL Server | 1403/08/04

نظرات 0

دستورات DDL در SQL Server

DDL یا Data Definition Language مجموعه‌ای از دستورات SQL است که برای تعریف و مدیریت ساختار پایگاه داده‌ها، جداول، ایندکس‌ها و دیگر اجزای ساختاری مورد استفاده قرار می‌گیرد. این دستورات شامل عملیات‌هایی هستند که داده‌های موجود در جدول را تغییر نمی‌دهند، بلکه روی ساختار و تعریف داده‌ها تمرکز دارند. این دستورات به مدیران و توسعه‌دهندگان اجازه می‌دهند تا پایگاه داده‌ها را ایجاد، تغییر، یا حذف کنند.

انجام پروژه های پایکاه داده و برنامه نویسی فوری 09131253620

در این مقاله، به‌طور جامع به بررسی دستورات DDL در SQL Server می‌پردازیم. هر دستور به‌همراه کاربردها، مثال‌ها و جزئیات کامل مورد بررسی قرار خواهد گرفت.


فهرست مطالب

  1. مقدمه‌ای بر DDL
  2. دستورات اصلی DDL
    1. CREATE
    2. ALTER
    3. DROP
    4. TRUNCATE
    5. RENAME
  3. انواع داده‌ها در DDL
  4. دستور CREATE
    1. ایجاد پایگاه داده
    2. ایجاد جدول
    3. ایجاد ایندکس
    4. ایجاد ویو
  5. دستور ALTER
    1. تغییر جدول
    2. تغییر ستون
    3. تغییر ایندکس
    4. تغییر ویو
  6. دستور DROP
    1. حذف پایگاه داده
    2. حذف جدول
    3. حذف ایندکس
    4. حذف ویو
  7. دستور TRUNCATE
  8. دستور RENAME
  9. جمع‌بندی و نتیجه‌گیری

۱. مقدمه‌ای بر DDL

زبان DDL در SQL Server شامل دستورات ضروری برای تعریف ساختار داده‌ها در پایگاه داده است. این دستورات شامل ایجاد، تغییر و حذف ساختارهای مختلفی مانند جداول، ایندکس‌ها، ویوها و سایر اشیاء پایگاه داده می‌باشد. برخلاف دستورات DML (Data Manipulation Language) که به تغییر داده‌های موجود در جداول می‌پردازند، دستورات DDL تغییرات ساختاری را اعمال می‌کنند.

دستورات DDL تغییراتی ایجاد می‌کنند که به‌طور خودکار به پایگاه داده ذخیره می‌شوند و نیازی به COMMIT ندارند. از آنجا که تغییرات ساختاری مهم و بنیادی هستند، برخی از دستورات DDL برگشت‌پذیر نیستند (مانند حذف جداول). بنابراین، باید با دقت و آگاهی از آنها استفاده کرد.


۲. دستورات اصلی DDL

پنج دستور اصلی که تحت عنوان DDL قرار می‌گیرند شامل:

  1. CREATE: برای ایجاد اشیاء جدید در پایگاه داده مانند جداول، ایندکس‌ها، ویوها و غیره.
  2. ALTER: برای تغییر ساختار اشیاء موجود مانند جداول و ایندکس‌ها.
  3. DROP: برای حذف اشیاء موجود از پایگاه داده.
  4. TRUNCATE: برای حذف تمام رکوردهای موجود در جدول به‌صورت سریع و بدون ثبت جزئیات حذف در لاگ تراکنش.
  5. 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 برای ایجاد یک پایگاه داده جدید استفاده می‌شود.

نحو دستور:
 
CREATE DATABASE DatabaseName;
مثال:
 
CREATE DATABASE SchoolDB;

در این مثال، پایگاه داده‌ای به‌نام SchoolDB ایجاد می‌شود.

۴.۲. ایجاد جدول (CREATE TABLE)

پس از ایجاد پایگاه داده، مهم‌ترین وظیفه ایجاد جداول است. جداول اساس ذخیره‌سازی داده‌ها در پایگاه داده هستند.

نحو دستور:
 
CREATE TABLE TableName ( Column1 DataType Constraints, Column2 DataType Constraints, ... );
مثال:
 
CREATE TABLE Students ( StudentID INT PRIMARY KEY, FirstName NVARCHAR(50), LastName NVARCHAR(50), BirthDate DATE, Gender CHAR(1) );

در این مثال، جدولی به‌نام Students با ستون‌های StudentID, FirstName, LastName, BirthDate, و Gender ایجاد می‌شود.

۴.۳. ایجاد ایندکس (CREATE INDEX)

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

نحو دستور:
 
CREATE INDEX IndexName ON TableName (Column1, Column2, ...);
مثال:
 
CREATE INDEX idx_Students_LastName ON Students (LastName);

این ایندکس به جستجوی سریع‌تر بر اساس ستون LastName کمک می‌کند.

۴.۴. ایجاد ویو (CREATE VIEW)

ویوها اشیاء مجازی در پایگاه داده هستند که بر اساس نتایج یک پرس‌وجو ایجاد می‌شوند. ویوها می‌توانند به ساده‌سازی پرس‌وجوها کمک کنند و به‌عنوان یک لایه انتزاعی بین کاربران و جداول عمل کنند.

نحو دستور:
 
CREATE VIEW ViewName AS SELECT Column1, Column2 FROM TableName WHERE Condition;
مثال:
 
CREATE VIEW vw_AdultStudents AS SELECT FirstName, LastName, BirthDate FROM Students WHERE DATEDIFF(YEAR, BirthDate, GETDATE()) >= 18;

در این مثال، ویوی vw_AdultStudents دانشجویانی که بالای ۱۸ سال سن دارند را نمایش می‌دهد.


۵. دستور ALTER

۵.۱. تغییر جدول (ALTER TABLE)

دستور ALTER TABLE برای تغییر ساختار یک جدول موجود استفاده می‌شود. با این دستور می‌توان ستون‌های جدید اضافه کرد، ستون‌های موجود را تغییر داد یا حذف کرد.

نحو دستور:
 
ALTER TABLE TableName ADD ColumnName DataType;
مثال:
 
ALTER TABLE Students ADD Email NVARCHAR(100);

در این مثال، ستونی به‌نام Email به جدول Students اضافه می‌شود.

۵.۲. تغییر ستون (ALTER COLUMN)

برای تغییر نوع داده یا محدودیت‌های یک ستون از دستور ALTER COLUMN استفاده می‌شود.

نحو دستور:
 
ALTER TABLE TableName ALTER COLUMN ColumnName NewDataType;
مثال:
 
ALTER TABLE Students ALTER COLUMN LastName NVARCHAR(100);

در این مثال، نوع داده‌ی ستون LastName از NVARCHAR(50) به NVARCHAR(100) تغییر داده می‌شود.

۵.۳. تغییر ایندکس (ALTER INDEX)

ایندکس‌ها را می‌توان با دستور ALTER INDEX بازسازی یا غیرفعال کرد. بازسازی ایندکس‌ها باعث بهینه‌سازی آنها می‌شود.

نحو دستور:
 
ALTER INDEX IndexName ON TableName REBUILD;
مثال:
 
ALTER INDEX idx_Students_LastName ON Students REBUILD;

این دستور ایندکس idx_Students_LastName را بازسازی می‌کند.

۵.۴. تغییر ویو (ALTER VIEW)

با دستور ALTER VIEW می‌توان تعریف یک ویو موجود را تغییر داد.

نحو دستور:
 
ALTER VIEW ViewName AS SELECT Column1, Column2 FROM TableName WHERE Condition;
مثال:
 
ALTER VIEW vw_AdultStudents AS SELECT FirstName, LastName, BirthDate, Email FROM Students WHERE DATEDIFF(YEAR, BirthDate, GETDATE()) >= 18;

۶. دستور DROP

۶.۱. حذف پایگاه داده (DROP DATABASE)

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

نحو دستور:
 
DROP DATABASE DatabaseName;
مثال:
 
DROP DATABASE SchoolDB;

۶.۲. حذف جدول (DROP TABLE)

حذف یک جدول به‌طور کامل با دستور DROP TABLE امکان‌پذیر است.

نحو دستور:
 
DROP TABLE TableName;
مثال:
 
DROP TABLE Students;

۷. دستور TRUNCATE

دستور TRUNCATE برای حذف تمام داده‌های یک جدول بدون حذف ساختار آن به‌کار می‌رود.

نحو دستور:
 
TRUNCATE TABLE TableName;
مثال:
 
TRUNCATE TABLE Students;

۸. دستور RENAME

برای تغییر نام اشیاء پایگاه داده، از دستور RENAME استفاده می‌شود.

نحو دستور:
 
EXEC sp_rename 'OldName', 'NewName';
مثال:
 
EXEC sp_rename 'Students', 'Learners';

۹. جمع‌بندی و نتیجه‌گیری

دستورات DDL در SQL Server برای تعریف و مدیریت ساختارهای پایگاه داده بسیار حائز اهمیت هستند. این دستورات به کاربران امکان می‌دهند تا پایگاه داده‌ها، جداول، ایندکس‌ها، ویوها و سایر اشیاء را به‌راحتی ایجاد، تغییر و حذف کنند.

 

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

حرف 500 حداکثر