آموزش ایجاد جدول در SQL Server

در این بخش، نحوه ایجاد جداول در SQL Server به دو روش T-SQL Script و SSMS به صورت تصویری آموزش داده می شود.

آموزش ایجاد جدول در SQL Server

ایجاد جدول در SQL Server

جداول (tables)، اشیاء پایگاه داده هستند که حاوی تمام داده های پایگاه داده هستند. در یک جدول، داده ها به طور منطقی در ردیف ها و ستون ها سازماندهی می شوند. هر ستون نشان دهنده یک فیلد و هر ردیف نشان دهنده یک رکورد منحصر به فرد است. هر ستون دارای یک نوع داده مختص به آن است که نشان دهنده نوع داده در آن ستون است. هر جدول به طور منحصر به فرد در پایگاه داده نامگذاری می شود.

تعداد جداول در پایگاه داده تنها با تعداد اشیاء مجاز در پایگاه داده محدود می شود (2,147,483,647). به عبارت دیگر، تعداد جداول برابر با تعداد اشیاء موجود در پایگاه داده است. یک جدول تعریف شده توسط کاربر می تواند تا 1024 ستون داشته باشد.

دو روش برای ایجاد جدول در SQL Server وجود دارد:

1- استفاده از T-SQL Script

2- استفاده از Table Designer در SQL Server Management Studio

ایجاد جدول با استفاده از T-SQL Script

می توانید دستور CREATE TABLE را در ویرایشگر کوئری SSMS اجرا کنید تا یک جدول جدید در SQL Server ایجاد کنید.

ایجاد جدول با استفاده از T-SQL Script

دستور CREATE TABLE در زیر جدول Employee را ایجاد می کند.

ایجاد جدول در SQL Server

اسکریپت SQL بالا یک جدول Employee جدید را در طرح پیش فرض dbo و در پایگاه داده ای ایجاد می کند که توسط query editor در SSMS نشان داده شده است.

می توانید نام کامل جدول را در قالب DatabaseName.SchemaName.TableName مشخص کنید. آنچه که در زیر می بینید جدول Employee را در dbo schema پیش فرض و پایگاه داده HR در SQL Server ایجاد می کند.

آموزش SQL Server

در T-SQL بالا:

1- نام پایگاه داده HR است، dbo نام طرحی (schema) است که جدول به آن تعلق دارد و Employee نام جدول است. اگر نام پایگاه داده مشخص نشده باشد، به طور پیش فرض به پایگاه داده فعلی که ویرایشگر کوئری (query editor) آن را هدف قرار داده است، تبدیل می شود. اگر نام طرح مشخص نشده باشد، جدول متعلق به یک طرح پیش فرض (default schema) خواهد بود.

2- نام جدول حداکثر می تواند 128 کاراکتر باشد.

3- نام ستون ها با فرمت ColumnName DataType NOT NULL مشخص شده است که با کاما از هم جدا شده اند. T-SQL بالا ستون های EmployeeId ، FirstName LastName ، Email ، Phone ، HireDate ، Salary را ایجاد می کند.

4- نوع داده بعد از نام ستون مشخص شده است تا نوع داده ای که یک ستون قرار است ذخیره کند را مشخص کند.

5- NOT NULL مشخص می کند که ستون اجازه مقادیر null را نمی دهد. به عبارت دیگر ستون باید حتماً مقدار داشته باشد و نمی تواند خالی باشد. اگر NOT NULL را مشخص نکنید، به طور پیش فرض، یک ستون به مقدار null اجازه می دهد.

6- IDENTITY(1,1) یک ستون از نوع عدد صحیح را به صورت خودکار مقداردهی می کند که در آن (1,1) مشخص می کند که مقدار ستون از 1 شروع می شود و در هر عملیات درج یکی افزایش می یابد. اغلب، ستون های کهprimary key هستند به صورت identity تعریف می شوند.

7- با تعیین کلمه کلیدی PRIMARY KEY بعد از نام ستون و نوع داده، یک ستون به عنوان کلید اصلی تعیین می شود. در T-SQL بالا یک کلید اصلی تعیین شده است (EmployeeID) .

آنچه که در زیر می بینید جدول Employee را در صورت وجود حذف می کند و سپس جدول Employee را ایجاد می کند.

دو روش برای ایجاد جدول در SQL Server

در ادامه محدودیت های کلید اصلی (Primary Key constraints) در انتها مشخص شده است.

Primary Key in SQL Server

ایجاد جدول در SQL Server با استفاده از SSMS

می توانید با استفاده از طراح جدول در SQL Server Management Studio یک جدول جدید طراحی کنید.

برای طراحی جدول جدید، SSMS را باز کرده و به sql server instance خود متصل شوید.

در Object Explorer، پایگاه داده HR یا هر پایگاه داده ای را که می خواهید در آن یک جدول جدید ایجاد کنید، گسترش دهید.

حالا مانند تصویر زیر روی پوشه Tables کلیک راست کرده و New Table را انتخاب کنید.

ایجاد جدول در SQL Server با استفاده از  SSMS

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

ایجاد جدول در SQL Server با استفاده از  SSMS

1- نام ستون (Column Name) : یک نام منحصر به فرد برای ستون تعریف کنید.

2- نوع داده (Data type): یک نوع داده برای ستون از لیست کشویی انتخاب کنید. طول مناسب را برای انواع داده های رشته ای انتخاب کنید.

3- Allow Nulls : با علامت زدن کادر، انتخاب کنید که آیا Nulls برای ستون مجاز باشد یا خیر.

اطلاعات ستون ها را در یک ردیف جداگانه برای تمام ستون هایی که می خواهید در جدول خود داشته باشید وارد کنید. در ادامه ستون های جدول Employee نشان داده شده است.

ایجاد جدول در SQL Server با استفاده از  SSMS

برای تنظیم property های یک ستون، مانند identity specification ، مشخصات computed column و غیره، یک ستون را انتخاب کنید و مقدار property را در تب Column Properties در قسمت پایین تنظیم کنید.

برای تعیین یک ستون به عنوان ستون کلید اصلی، روی ردیف ستون کلیک راست کرده و مانند شکل زیر، Set Primary Key را انتخاب کنید.

تعیین کلید اصلی در جداول پایگاه داده</br >

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

نحوه ایجاد جدول در دیتابیس

به طور پیش فرض، جدول در dbo schema ایجاد می شود. برای تعیین طرحی متفاوت برای جدول، در قسمت Table-Designer کلیک راست کرده و properties را انتخاب کنید. از لیست کشویی Schema، طرح مناسب را انتخاب کنید.

آموزش ایجاد جدول در پایگاه داده

اکنون از منوی فایل، گزینه Save را برای ایجاد این جدول انتخاب کنید. Employee را به عنوان نام جدول وارد کنید و روی OK کلیک کنید.

ایجاد فیلدهای جدول در پایگاه داده

برای مشاهده جدول جدید، پوشه Tables را در Object Explorer بازخوانی (refresh) کنید. جدول EMPLOYEE اکنون در زیر گره Tables موجود است.

ایجاد جدول در SQL Server با استفاده از  SSMS

ستون های ALTER TABLE ADD در یک جدول در SQL Server

با استفاده از دستور ALTER TABLE می توانید ستون هایی را به جدول موجود اضافه کنید.

دستور ALTER TABLE همچنین می تواند برای تغییر نام یا حذف ستون ها در جدول موجود استفاده شود.

از عبارت ALTER TABLE ADD برای اضافه کردن یک یا چند ستون به جدول موجود استفاده کنید.

ستون های ALTER TABLE ADD در یک جدول در SQL Server

آنچه که در زیر می بینید یک ستون جدید به نام Address از نوع varchar و با اندازه 500 به جدول Employee اضافه می کند.

آموزش SQL Server

شکل زیر سه ستون به جدول Employee اضافه می کند.

تغییر جداول  در SQL Server

اضافه کردن ستون ها با استفاده از SSMS

در Object Explorer، روی جدولی که می خواهید ستون های جدید به آن اضافه کنید، راست کلیک کرده و Design را انتخاب کنید.

اضافه کردن ستون ها با استفاده از SSMS

روی اولین سلول خالی زیر نام ستون آخر کلیک کنید و نام ستون را مانند آنچه که در تصویر زیر می بینید وارد کنید.

آموزش تغییر ستون ها در جدول های SQL

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

در آخرین ستون یک ردیف، چک باکس Allow Nulls را در صورتی که nullable است علامت بزنید. اکنون، جدول را از بخش file بعد save ذخیره کنید تا جدول اصلاح شده ذخیره شود.

ستون Identity در SQL Server

در SQL Server، یک ستون در جدول را می توان به عنوان یک ستون identity تنظیم کرد که از آن برای تولید مقادیر کلید ستون های کلید اصلی یا primary key استفاده می شود.

از ویژگی IDENTITY[(seed, increment)] در ستون استفاده کنید تا آن را به عنوان ستون identity در دستورات CREATE TABLE یا ALTER TABLE تعریف کنید.

ستون Identity در SQL Server

پارامترها:

1- Seed اولین مقدار ستونidentity است.

2- Increment مقدار افزایشی است که به مقدارidentity ردیف قبلی اضافه می شود.

ویژگی identity یک مقدار جدید بر اساس seed و increment فعلی ایجاد می کند. هر مقدار جدید برای یک تراکنش خاص با سایر تراکنش ها متفاوت است.

ویژگی identity منحصر به فرد بودن مقدار را تضمین نمی کند. شما باید یک ستون را به صورت یک PRIMARY KEY یا UNIQUE constraint یا UNIQUE index ایجاد کنید تا آن را منحصر به فرد کنید.

شما می توانید فقط یک ستون در هر جدول را به عنوان ستون identity تعریف کنید.

تعریف ستون IDENTITY

عبارت CREATE TABLE نشان داده شده در زیر، ستون EmpID را به عنوان ستون identity اعلام می کند.

تعریف ستون IDENTITY

در دستور CREATE TABLE SQL بالا، EmpID ستون IDENTITY با seed وincrement به مقدار 1 است. بنابراین، هر زمان که یک ردیف جدید درج شود، EmpID به اندازه 1 واحد افزایش می یابد. اگر هیچ پارامتری را تعیین نکنید، مقدار پیش فرض عبارت است از IDENTITY(1,1) .

همچنین می توانید ستون identity را در SSMS با کلیک راست روی جدول و انتخاب Design تنظیم کنید. تا جدولی در حالت طراحی باز شود که در آن می توانید یک ستون را انتخاب کنید و ویژگی «Identity Specification» را به «Yes» به همراه مقدارincrement و seed تنظیم کنید. همانطور که در زیر نشان داده شده است.

افزایش خودکار مقدار ستون جدول های پایگاه داده

حالا بیایید یک ردیف را در جدول Employee وارد کنیم.

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

دستور فوق یک رکورد جدید را در جدول Employee در تمام ستون ها، مانند شکل زیر وارد می کند.

افزایش خودکار مقدار ستون جدول های پایگاه داده

همانطور که می بینید، ما مقداری را برای ستون EmpID مشخص نکرده ایم. به طور خودکار یک مقدار برای ستون identity به نام EmpID وارد می شود که 1 است. اگر رکورد دیگری را وارد کنید، این مقدار 2 می شود.

افزایش خودکار مقدار ستون جدول های پایگاه داده

دستور بالا رکورد زیر را درج می کند.

افزایش خودکار مقدار ستون جدول های پایگاه داده

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

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

بیایید دستور زیر را اجرا کنیم که یک خطا ایجاد می کند زیرا سعی می کند NULL را در ستون NOT NULL وارد کند.

آموزش ایجاد و تغییر جدول در پایگاه داده

حال دستور insert معتبر را مطابق شکل زیر اجرا کنید.

آموزش ایجاد و تغییر جداول دیتابیس

دستور بالا ردیفی را وارد می کند که در آن مقدار EmpID عدد 4 خواهد بود نه 3، همانطور که در زیر نشان داده شده است. بنابراین، حتی اگر خطایی در تراکنش رخ دهد، مقدار ستون identity همچنان افزایش می یابد.

افزایش خودکار مقدار ستون جدول های پایگاه داده

تغییر نام ستون یا جدول در SQL Server

می توانید نام جدول، نام ستون جدول موجود و نام ایندکس را با استفاده از رویه ذخیره شده (stored procedure) سیستمی به نام sp_rename تغییر نام دهید.

تغییر نام ستون یا جدول در SQL Server

تغییر نام جدول : برای تغییر نام جدول، "old_name" باید نام جدول یا schema.table موجود باشد.

تغییر نام ستون : برای تغییر نام ستون در جدول،"old_name" باید به شکل table.column یا schema.table.column باشد.

تغییر نام ایندکس : برای تغییر نام ایندکس، "old_name" باید به شکل table.index یا schema.table.index باشد.

تغییر نام Constraints : برای تغییر نام یک محدودیت، 'old_name' باید به شکل schema.constraint باشد.

آنچه که در زیر می بینید نام جدول Employee را به جدول Consultant تغییر می دهد.

تغییر نام ستون یا جدول در SQL Server

آنچه که در زیر می بینید ستون Address جدول Employee را به TempAddress تغییر نام می دهد.

تغییر نام ستون یا جدول در SQL Server

شما می توانید نوع object را برای نشان دادن اینکه آیا ستون، index ، پایگاه داده و غیره است مشخص کنید.

تغییر نام ستون یا جدول در SQL Server

توجه داشته باشید که نام ستون جدید نباید پیشوند نام جدول باشد.

تغییر نام جدول و ستون ها با استفاده از SSMS

SSMS را باز کنید و پوشه پایگاه داده را باز کنید.

جدول یا ستونی را که می خواهید تغییر نام دهید انتخاب کرده و راست کلیک کنید و روی Rename کلیک کنید. با نوشتن روی نام موجود، نام جدیدی وارد کنید.

به منوی فایل رفته و روی Save کلیک کنید.

تغییر نام جدول و ستون ها با استفاده از  SSMS

حذف ستون های جدول در SQL Server

از دستور ALTER TABLE DROP COLUMN برای حذف یک یا چند ستون از جدول با استفاده از T-SQL استفاده کنید.

حذف ستون های جدول در SQL Server

آنچه که در زیر می بینید ستون Address را از جدول Employee حذف می کند.

حذف ستون های جدول در SQL Server

آنچه که در زیر می بینید چندین ستون جدول Employee را حذف می کند.

حذف ستون های جدول در SQL Server

حذف ستون ها با استفاده از SSMS

SSMS را باز کنید و به SQL Server instance متصل شوید. در Object Explorer، پایگاه داده و پوشه Tables را باز کنید، جدول را پیدا کنید و پوشه ستون ها را باز کنید تا نام ستون ها نمایش داده شود.

سپس روی نام ستونی که می خواهید حذف کنید کلیک راست کرده و روی delete کلیک کنید.

حذف ستون ها با استفاده از  SSMS

سپس صفحه "Delete Object" باز می شود همانطور که در زیر نشان داده شده است.

حذف ستون ها با استفاده از  SSMS

برای حذف یک ستون روی OK کلیک کنید.

در انتها، تغییرات را از منوی File -> Save ذخیره کنید.

ایجاد جدول در SQL Server Table Column کلید اصلی در جدول Primary Key تعریف ستون IDENTITY آموزش SQL Server