آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

آموزش ستون (column) در پایگاه داده

دوره های مرتبط با این مقاله

مبانی مربوط به ستون های یک جدول

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

مثال:
Relationship
Gender
Age
Name
Sister
Female
18
Judie
Cousin
Male
24
Ernest
Uncle
Unknown
52
Bill
Brother
Male
36
David
Niece
Unknown
12
Hermine

با توجه به آنچه در بالا گفته شد، یک لیست صرفا مجموعه ای سامان مند از اطلاعات است و این اطلاعات که داده نیز نام دارند، در جداول ذخیره و نگه داری می شوند.
از آنجایی که یک ستون عضو یا به عبارتی یک ویژگی از جدول محسوب می شود، در اصطلاح پایگاه داده به آن attribute نیز می گویند.


آموزش عملی: ایجاد جدول

  1. Microsoft SQL Server را اجرا کرده و دکمه ی connect را کلیک کنید.
  2. در پنجره ی Object Explorer، گره ی Databases را باز کنید. بر روی University1 راست کلیک کرده و گزینه ی Delete و به دنبال آن دکمه ی OK را کلیک کنید.
  3. در پنجره ی Object Explorer، بر روی Databases راست کلیک کرده و گزینه ی New Database... را انتخاب کنید.
  4. حال با کلیک بر روی گره ی University1آن را باز کنید.
  5. در زیر University1، بر روی علامت + گره ی Security کلیک کرده و آن را باز کنید.
  6. بر روی Schemas راست کلیک کرده ، سپس New Schema... را انتخاب کنید.
  7. در کادر متن Schema Name، واژه ی Academics را وارد نمایید.
  8. اکنون دکمه ی OK را کلیک کنید.
  9. در پنجره ی Object Explorer، در زیر University1، بر روی Tables راست کلیک کرده و گزینه ی New Table... را انتخاب کنید.
  10. . در پنجره ی Properties، بر روی Schema کلیک نموده، سپس آیکون هشتک لیست کشویی را فشار دهید و Academics را انتخاب کنید.

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

به هنگام طراحی جدول یا ایجاد آن با کدنویسی، می توان ستون نیز برای جدول مورد نظر تعریف کرد. برای ایجاد یک ستون به صورت ویژوال، هنگامی که جدول در Design view قابل مشاهده می باشد، بایستی ویژگی های ستون مورد نظر را در خانه ی سمت چپ مشخص کنید، مانند تصویر زیر:


آموزش SQL

ایجاد یک ستون با کدنویسی

همان طور که در مباحث قبلی نیز توضیح دادیم، دستور لازم برای ایجاد جدول به صورت زیر می باشد:


CREATE TABLE TableName

پس از تعریف اسم جدول، می بایست ستون های جدول را مشخص نمایید. اسم ستون ها با یک پرانتز باز "(" آغاز می شود و با یک پرانتز بسته ")" خاتمه می یابد. هر ستون باید توسط ویرگول از ستون بعدی جدا شود. می توانید تمامی ستون ها را در یک خط یکسان بگنجانید، بدین شکل:


CREATE TABLE [SchemaName.]TableName(Column1, Column2, Column3)

یا به روشی دیگر، به منظور بهبود خوانایی دستور، می بایست هر ستون را در خطی مجزا قرار داد:

CREATE TABLE [SchemaName.]TableName(
Column1,
Column2,
Column3);

همچنین می توانید تعریف مربوط به ستون ها را کمی تو بگذارید:


CREATE TABLE [SchemaName.]Country
(
    Column1,
    Column2,
    Column3
);

توجه داشته باشید که اسم و نوع ستون را حتما مشخص کنید. نحوه ی ایجاد یک ستون به صورت زیر می باشد:


ColumnName DataType Options

همانطور که در مبحث قبلی ذکر شد، می توانید از sample code برای ایجاد جدول استفاده نمایید. این روش به شما اجازه می دهد کنترل بیشتری بر ستون های مختلف که جدول شما باید داشته باشد، اختیار کنید. برای استفاده از این روش، یک Query Editor خالی باز کرده و پنجره ی Templates Explorer را باز نمایید، سپس گره ی Table را باز کنید. در زیر این گره، Create Table، Add Column یا Drop Column را با مکان نمای موس کشیده و در محیط Query Editor جای گذاری نمایید. با عبارت های Add Column یا Drop Column می توان بخش های ناخواسته کد را حذف کرده و تنها آن بخش را که ایجاد جدول را مدیریت می کند، نگه داشت.


مثال:
--==========================================================================
-- Add column template
--
-- This template creates a table, then it adds a new column to the table.
--==========================================================================
USE 
GO
CREATE TABLE .
(
	column1 int, 
	column2 char(10)
)
GO

اسم ستون

مانند بقیه ی اشیا موجود در پایگاه داده، ستون باید تعریف شود؛ بدین معنی که دارای یک اسم منحصر بفرد باشد. اگر جدول مد نظرتان را به صورت ویژوال ایجاد می کنید، در آن صورت برای مشخص کردن اسم ستون، می بایست از خانه ی موجود در زیر سرستون Column Name استفاده کرد.
اسم ستون:


  1. می تواند با یک حرف، یک عدد و یا یک زیرخط آغاز شود.
  2. می تواند شامل حروف، اعداد و خط فاصله به هر ترتیبی باشد.

البته می توان قوانین خود را برای تعریف اسم ستون ایجاد کرد. در سری مقاله ی آموزشی حاضر از قراردادهای زیر برای نام گذاری ستون ها بهره می گیریم:


  1. اسم با یک حرف آغاز می شود. مثال: n، act، Second.
  2. پس از اینکه اولین کاراکتر اسم ستون را یک زیرخط یا حرف انتخاب کردید، می توانید باقی اسم را ترکیبی از زیرخط ها، حروف یا عدد انتخاب کنید. مثال: n24 یا col_52_t.
  3. تا حد امکان از بکاربردن کاراکترهای خاص نظیر !، @، #، $,، %، ^، & یا * در اسم ستون خودداری نمایید.
  4. اگر اسم ترکیبی از واژگان باشد، در آن صورت هر واژه با حرف بزرگ آغاز می شود. مثال: Date Hired، LastName، Drivers License Number یا EmailAddress.

بایستی از بکار بردن واژگان رزرو شده ی Transact-SQL در نام گذاری یک ستون خودداری نمایید. این واژگان عبارتند از:


aggregate
alter
and
any
application
as
assembly
backup
begin
between
bigint
binary
bit
break
broker
by
case
catalog
catch
certificate
char
check
checkpoint
close
commit
compute
contains
continue
contract
create
credential
cursor
database
date
datetime
datetime2
datetimeoffset
deallocate
decimal
declare
default
delete
deny
disable
drop
else
enable
end
endpoint
event
exec
execute
false
fetch
float
foreign
from
full
fulltext
function
geography
geometry
go
goto
grant
group
having
hierarchyid
if
image
in
index
insert
int
into
is
kill
language
like
login
master
merge
message
money
move
nchar
next
not
ntext
null
numeric
nvarchar
on
order
output
partition
persisted
print
proc
procedure
queue
real
receive
remote
resource
return
returns
revert
revoke
role
rollback
rowversion
rule
save
schema
select
send
set
setuser
shutdown
smalldatetime
smallint
smallmoney
sql_variant
status
table
text
then
time
timestamp
tinyint
tran
transaction
trigger
true
try
type
union
unique
uniqueidentifier
update
use
values
varbinary
varchar
view
when
while
with
xml

تعدادی دیگر واژه در SQL وجود دارد که باید از بکاربردن آن ها خودداری نمایید. اگر مجبور به استفاده از این دست کلمات هستید، بایستی آن را حتما داخل دابل کوتیشن قرار دهید، مانند "Address" یا بین براکت باز و بسته []، مانند [Address]. در حقیقت می توانید اسم هر ستونی را داخل دابل کوتیشن یا [] محصور کنید.


آموزش عملی: ایجاد ستون

  1. بر روی کادر موجود در زیر سرستون Column Name، کلیک نموده و LetterGrade را وارد نمایید.
آموزش SQL

مقادیر و نوع داده ای یک ستون

می توان گفت که مهمترین نقشی که یک ستون ایفا می کند در نگهداری تعدادی مقدار خلاصه می شود. برای این منظور، ستون را می توان یک فیلد نیز نامید. یک ستون قادر است انواع مقدار را در خود نگه دارد که عبارت اند از: اسم، عدد و غیره می باشد. از این رو، به هنگام ایجاد یک ستون، بایستی نوع مقداری که قرار است در ستون ذخیره شود، را مشخص کنید.
اگر ستون را به صورت ویژوال ایجاد می کنید، به منظور مشخص کردن نوع آن:


  1. در بخش بالایی جدول، بر روی column name کلیک نمایید، سپس آیکون هشتک لیست کشویی موجود در زیر corresponding Data Type area را کلیک کرده و نوع دلخواه خود را انتخاب کنید.
  2. در قسمت بالایی جدول، بر روی ستون مربوطه کلیک کنید. در بخش پایینی جدول، بر روی آیکون هشتک لیست کشویی Data Type کلیک نموده و نوع داده ای دلخواه را انتخاب کنید.

اگر ستون را با کدنویسی ایجاد می کنید، پس از مشخص کردن اسم آن، نوعش را تعیین نمایید:


CREATE TABLE TableName
(
    ColumnName Type
);
GO

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


کاراکترها

کاراکتر درواقع یک علامت از نوع: حروف الفبا، عدد، خوانا و غیرخوانا می باشد. برای اینکه به ستون اجازه دهیم هر نوع علامتی را بپذیرد، بایستی نوع داده ای آن را CHAR یا char تعریف کنید.


مثال:
CREATE TABLE LibraryMembers
(
    Gender char
);
GO

  1. بر روی کادری که در زیر سرستون Data Type قرار دارد، کلیک نمایید، سپس بر روی علامت هشتک لیست کشویی (combo box) آن کلیک کنید و char انتخاب نمایید. خواهی دید که نوع داده ای بر روی char(10) تنظیم شده است، اینکه عدد 10 چه معنایی دارد، در درس بعدی توضیح داده می شود.
  2. برای بستن جدول، بر روی دکمه ی ضربدر کلیک کنید.
  3. <
  4. زمانی که از شما پرسیده می شود، آیا مایل به ذخیره ی جدول هستید یا خیر، Yesرا کلیک نمایید.
  5. اسم StudentsGradeScale را وارد کنید.
  6. بر روی دکمه ی OK کلیک کنید.

نوع داده ای عددی (عدد صحیح یا integer)

Transact-SQL از نوع داده ای عدد طبیعی که integer نیز نامیده می شود، پشتیبانی می کند. طول یک عدد صحیح در واقع تعداد بایت هایی است که در حافظه اشغال می کند. Transact-SQL از انواع integer پشتیبانی می کند:
1. اعداد صحیح بسیار کوچک (Tiny Integers): چنانچه مقادیر ذخیره شده در یک ستون از نوع اعداد صحیح بسیار کوچک همچون سن دانشجویان (student's ages)، تعداد صفحات یک بروشور یا روزنامه، باشد در آن صورت بایستی نوع داده ای tinyint را اعمال نمایید. یک ستون که نوع آن tinyint باشد، قادر است اعداد مثبت که برد آن ها از 0 تا 255 است را در خود نگه دارد. طول عدد صحیح کوچک 1 بایت می باشد؛ بدین معنی که چنانچه عددی از نوع tinyint باشد، از 0 تا 255، فقط یک بایت در حافظه را اشغال می کند.


مثال:
CREATE TABLE MaritalsStatus
(
    StatusCode tinyint
);
GO

2. اعداد صحیح کوچک (Small Integers): چنانچه ستونی به عدد صحیح که در برد یا محدوده ی -32,768 تا 32,767 قرار دارد، نیاز داشته باشد، در آن صورت می بایست نوع داده ای smallint را به ستون مورد نظر اعمال نمود. طول عدد صحیح کوچک 2 بایت می باشد.
3. اگر مقادیر یک ستون از بازه ی -2,147,483,648 تا 2,147,483,647 متغیر باشد، در آن صورت می توانید نوع داده ای int را بکار ببرید. مقدار حافظه ای که نوع داده ی مزبور اشغال می کند، معادل 4 بایت می باشد (طول آن 4 بایت می باشد).
4. اعداد صحیح بزرگ (Long integers): long integer همان اعداد صحیح بسیار بزرگ هستند که می توانند از بازه ی -9,223,372,036,854,775,808 تا 9,223,372,036,854,775,807 متغیر باشند. اگر می خواهید ستون مقداری که در این بازه ی عددی قرار دارد را در خود نگه دارد، در آن صورت می بایست نوع داده ای bigint را مورد استفاده قرار دهید. این نوع عددی به اندازه ی 8 بایت در حافظه فضا اشغال می کند (طول آن 8 بایت می باشد).

مقادیر binary (دودویی)

نوع داده ای binary برای ستونی کاربرد دارد که اعداد طبیعی را در خود ذخیره می کند. مقداری که در ستون نگه داشته می شود درواقع دنباله ای از بیت ها است که می توان هر یک از آن ها را به صورت مجزا بررسی، مدیریت و یا بکار برد. مقدار باینری به طور معمول برای ذخیره و نگه داری پاره یا بخش هایی از اطلاعات مورد استفاده قرار می گیرد که در آن این بخش ها به صورت یک کل یا گروه درنظر گرفته (و با آن ها برخورد) می شود. بدین معنی که بایستی به صورت یگ کل یا گروه ذخیره شوند. به عنوان مثال، خصوصیات و ویژگی های یک فایل را درنظر بگیرید: فایل می تواند مخفی، فشرده، اختصاصی (دارای سطح دسترسی private)، قفل گذاری شده (locked) و غیره .. باشد. یک فایل می تواند تنها یکی، دو تا و یا همگی این خوصیصات را داشته باشد.
یک مقدار باینری را می توان برای ذخیره ترکیبی از قطعه اطلاعات فوق مورد استفاده قرار داد. در بیشتر موارد، شخص یا سیستمی که مقدار دودویی را ایجاد می کند باید مشخص نماید هر بیت چه قطعه اطلاعاتی را در خود ذخیره کند. پس از آن شخص یا سیستمی که قصد دارد از آن مقدار استفاده کند، می بایست مقدار هر بیت را چک کرده و پی ببرد چه نتیجه ای تولید می کند و سپس مقدار دلخواه را بازیابی کند.
مقدار یک نوع داده ای باینری می تواند به صورت یک عدد صحیح معمولی ذخیره شود. چنانچه تمامی مقادیر ستون از طولی یکسان برخودار هستند، در آن صورت می توانید نوع داده ای binary را بکار ببرید. چنانچه برخی از مقادیر ورودی (enrty) که در ستون ذخیره می شوند، دارای طول متفاوت هستند، در آن صورت توصیه ما بر استفاده از نوع داده ای جایگزین varbinary می باشد. نوع داده ای مذکور برای اعداد در مبنای 16 نیز قابل استفاده می باشد، اما مقادیر با طول متفاوت را می پذیرد، البته تا زمانی که تمامی ورودی ها از نوع hexadecimal باشند.

اعداد decimal (در مبنای 10)

Decimal یک نوع عدد است که می تواند دارای نقطه ی اعشار بین اعداد می باشد. به عنوان مثال هایی در این زمینه می توان به دو عدد 12.625 یا 44.80 اشاره کرد. مانند integer، یک عدد decimal می تواند با عملگر + شروع شود که نشانگر مثبت بودن آن است. یک عدد decimal همچنین می تواند با عملگر – شروع شود که آن را به یک عدد منفی تبدیل می کند. چنانچه عدد دارای بخش کسری باشد، در آن صورت نقطه بخش اعشاری را از عدد صحیح جدا می کند. اگر در نظر دارید که ستون مورد نظر مقادیر decimal را در خود نگه دارد، در آن صورت لازم است نوع داده ای آن را numeric یا decimal تعریف نمایید (decimal و numeric هر دو نتیجه ای یکسان را در Microsoft SQL Server بدست می دهند).


مثال:
CREATE SCHEMA Administration
GO
CREATE TABLE Administration.StudentsGradeScale
(
	LetterGrade char,
	MinRange decimal,
	MaxRange DECIMAL,
	MinPercent Decimal,
	MaxPercent decimal,
	Descriptor nchar
);
GO

نوع داده ای عدد طبیعی (Real Numeric Types)

وقتی که انواع داده با ممیز شناور را در نظر بگیریم ، در واقع دقت را برای حداکثر تعداد ارقام مجاز در هر دو طرف ممیز اعشار مشخص کرده ایم. عدد ممیز شناور (floating-point) نیز همچون decimal دارای بخش کسری یا اعشاری است. اعداد ممیز شناور به موتور پایگاه داده اجازه می دهد که بر روی اعداد حقیقی تقریب بزند. برای دادن امکان استفاده از اعداد میمز شناور در ستون، T-SQL نوع های داده ای float و real را ارائه می دهد. نوع داده ها ی real و float برای ذخیره ی داده هایی های مناسب می باشند که دقت مطلق برای آنها لازم نیست و داده ها ارقام بسیار کوچک و یا بسیار بزرگ را شامل می شوند.


مثال:
-- This table holds information to evaluate 
-- the commissions earned by employees of a furniture store
CREATE TABLE EmployeesCommissions
(
    TransactionMinimum real,
    TransactionMaximum REAL,
    CommissionBase Real,
    CommissionRate real
);
GO

نوع داده ای Money

برای ذخیره مقادیر پولی، می توان از نوع داده ای money بهره گرفت. فیلدی که نوع داده ای آن money تعریف شده، می تواند مقادیر مثبت یا منفی که برد -922,337,203,685,477.5808 تا +922,337,203,685,477.5807 را شامل می شود، در خود نگه دارد. اندازه ذخیره سازی آن 8 بایت بوده و همچنین این نوع داده برای هر نوع ارزی بکار برده می شود.


نوع داده ای small money

این نوع عددی برای ذخیره به 4 بایت در حافظه نیاز دارد و مقادیر ارزی که بین دو بازه ی 214,748.3648- تا 214,748.3647 قرار می گیرند را می تواند ذخیره کند. این نوع داده ای 4 رقم در سمت راست نقطه اعشار داشته و برای ذخیره ی هر نوع مقدار پولی یا ارزی می تواند مورد استفاده قرار گیرد.


مقادیر بولی

مقدار بولی یک قطعه داده است که نتیجه یا مقدار بازگشتی آن true یا false، on یا off، Yes یا No و یا 0/1 می باشد. برای پشتیبانی از چنین مقادیری، Transact-SQL یک نوع داده ای به نام BIT (یا bit) را ارائه می دهد که می توانید به ستون اعمال نمایید.


مثال:
CREATE TABLE TruckDriver
(
    IsOrganDonor bit
);
GO

نوع داده ای sql_variant

Transact-SQL و دیگر زبان ها نوع های داده ای در اختیار کاربر قرار می دهد که برای نگه داری تقریبا هر نوع مقداری کاربرد دارد. از آنجایی که نوع این مقادیر به طور واضح مشخص نیست، تا حد امکان می بایست از بکاربردن آن ها اجتناب کرد.
Transact-SQL برای این منظور نوع داده ای sql_variant را ارائه می کند. این نوع داده ای را می توان بجای تمامی data type های ذکر شده مورد استفاده قرار داد، بدین معنی که اگر نوع یک ستون sql_variant تعریف یا تنظیم کنید، در آن صورت امکان ذخیره ی هر نوع مقداری در آن وجود دارد. Transact-SQL برای این منظور نوع داده ای sql_variant را ارائه می کند. این نوع داده ای را می توان بجای تمامی data type های ذکر شده مورد استفاده قرار داد، بدین معنی که اگر نوع یک ستون sql_variant تعریف یا تنظیم کنید، در آن صورت امکان ذخیره ی هر نوع مقداری در آن وجود دارد.

ستون های مبتنی بر مقادیر هندسی (نوع داده ای geometry)

T-SQL از مقادیری پشتیبانی می کند که مبتنی بر مختصات هندسی هستند. به این نوع های داده ای در اصطلاح special type می گویند.
Transact-SQL این امکان را می دهد که مقادیر مربوط به مختصات هندسی را در ستون های جدول پایگاه داده ی خود ذخیره کنید. T-SQL این کار را از طریق نوع داده ای به نام geometry انجام می دهد. برای ایجاد ستون یا ستون هایی جهت ذخیره ی مقدار این نوع داده ای، باید آن را به صورت ویژوال انتخاب کنید:


آموزش SQL

نوع داده ای GEOGRAPHY

T-SQL با ارائه ی نوع داده ای GEOGRAPHY به شما اجازه می دهد مقادیر مربوط به مختصات مکان های جغرافیایی را در پایگاه داده ذخیره کنید. به منظور تعریف یک ستون که مختصات جغرافیایی را در خود نگه می دارد، بایستی نوع داده ای GEOGRAPHY را برای ستون مورد نظر اعمال نمایید:


آموزش SQL

نوع داده ای user-defined

Microsoft SQL Server به شما این امکان را می دهد برای یکی از انواع داده ای که تاکنون با آن ها آشنا شدیم، اسمی جایگزین انتخاب کرده، سپس آن اسم را در جایی که نوع داده ای مربوطه را بکار می بردید استفاده نمایید. توجه داشته باشید که شما در اصل هیچ نوع داده ی جدیدی خلق نمی کنید، بلکه صرفا یک اسم جایگزین انتخاب می کنید که شناسایی و کار با آن برای شما آسان تر باشد. یک نوع داده ای تعریف شده توسط (UDT)، در حقیقت تکنیکی است که در آن برای انوع داده ای Transact-SQL یک نام مستعار تعریف می کنیم که جایگزین اسم اصلی نوع داده ای می باشد. پیش از اقدام به ایجاد یک نوع داده ای user-defined می بایست با نوع های موجود آشنا باشید. این کار را به دو صورت ویژوال یا از طریق کدنویسی انجام می دهیم.
به منظور ایجاد یک نوع داده ای user-definedبه روش اول، به پنجره ی Object Explorer مراجعه کرده، گره ی یکی از پایگاه های داده را باز نمایید، سپس گره ی Programmability و به دنبال آن آیتم Types را باز کنید. در زیر Types، بر روی User-Defined Data Types راست کلیک نموده و گزینه ی New User-Defined Data Type... را انتخاب نمایید.


آموزش SQL

در پی این انتخاب، یک کادر محاوره ای New User-Defined Data Type به نمایش در می آید. اولین اطلاعاتی که باید فراهم کنید، آن schema ای است که قرار است مالک نوع یا type تازه تعریف شده باشد. به طور معمول، یک schema ی پیش فرض در اختیار شما قرار می گیرد که در صورت تمایل می توانید آن را بپذیرید و مورد استفاده قرار دهید. اما چنانچه از پیش یک schema تعریف کرده و اکنون می خواهید از آن استفاده کنید، در آن صورت دکمه ی سمت راست کادر متن Schema را کلیک کرده، آن را انتخاب و ok را کلیک کنید.
در مرحله ی بعد ، اسم نوع جدید به عنوان یک alias و نوع داده ای Transact-SQL که نوع جدید بر پایه ی آن خواهد بود را مشخص می کنیم. یادآور می شویم که اسم جدید نیز باید بر اساس قوانین از پیش تعریف شده ی نام گذاری در SQL پیروی انتخاب شده باشد. در لیست کشویی Data Type، نوع داده ای مورد نظر خود را انتخاب نمایید.


مثال:
آموزش SQL

پس از وارد کردن و انتخاب اطلاعات دلخواه، بر روی دکمه ی OK کلیک نمایید.
به منظور ایجاد یک UDT با کدنویسی، از فرمول زیر استفاده کنید:


CREATE TYPE AliasName FROM BaseType

می توانید از template code نیز کمک بگیرید. برای این منظور، ابتدا یک Query Editor باز کنید. از پنجره ی Templates Explorer، گره ی User-Defined Data Type را باز کنید. Create User-Defined Data Type را با اشاره گر موس کشیده و در Query Editor جای گذاری نمایید. کد مربوطه برای شما ایجاد خواهد شد:


-- ================================
-- Create User-defined Data Type
-- ================================
USE 
GO
-- Create the data type
CREATE TYPE . 
	FROM  () 
-- Create table using the data type
CREATE TABLE 
(
	ID int NOT NULL,
	Phone . NULL
)
GO

کد خود را با درج عبارت کلیدی CREATE TYPE آغاز کرده و به دنبال آن اسم دلخواه خود برای نوع جدید را تایپ می کنیم. پس از کلیدواژه ی FROM، یکی از نوع داده های اصلی T-SQL را وارد می کنیم.


مثال:
CREATE TYPE NaturalNumber FROM int;
GO

به همین روال، می توانید هر تعداد نام مستعار یا جایگزین که مایلید، برای انواع داده ای از پیش موجود در T-SQL ایجاد نمایید.


مثال:
CREATE TYPE NaturalNumber FROM int;
GO
CREATE TYPE Boolean FROM bit;
GO

برای مشاهده ی ساختار یک جدول در محیط SQL Server، کافی است گره ی آن را در پنجره ی Object Explorer باز کنید.


آموزش SQL

برای مشاهده ی ستون های یک جدول به وسیله ی دستورات SQL، sp_columns و به دنبال آن اسم جدولی که ستون ها به آن تعلق دارند، را تایپ کنید. حال کد را اجرا نمایید.


مثال:
آموزش SQL

بخش زیرین تحت قسمت Results، لیست ستون های موجود در COLUMN_NAME را نمایش می دهد. سایر خصوصیات در ستون های سمت راست نشان داده می شود.


Property های یک ستون

ستون های جدول درواقع نوع داده هایی که وارد آن جدول می شوند را کنترل می کند. خصوصیات و ویژگی هایی که چنین جدولی را توصیف می کنند، تحت عنوان خواص یا property های آن جدول شناخته می شوند. در رابطه با ستون، دو خصوصیت از اهمیت بسیار بالایی برخوردار می باشد و آن اسم و نوع داده ای ستون می باشد. جدا از این دو خصوصیت، property های دیگری وجود دارند که زمینه ی کنترل هر چه بیشتر رفتار یک فیلد را فراهم می آورد.
علاوه بر اسم و نوع داده ای، می توان برای مدیریت ستون های یک جدول از کادر Columns property، در قسمت پایینی جدول و در design view بهره گرفت. این خصوصیات گاهی به نوع داده ای ستون وابسته هستند. برای انتخاب یا مشخص نمودن خصوصیات یک ستون، ابتدا می بایست آن را در قسمت بالایی جدول انتخاب نمایید. این انتخاب را می توان با کلیک بر روی name یا data type ستون ترتیب داد. سپس اولین فیلد موجود در بخش پایینی را کلیک کرده، property دلخواه را انتخاب کنید و بعد مقدار لازم را وارد نمایید:


آموزش SQL

بجای استفاده از Design view، می توان برای مشاهده ی خوصیصات و ویژگی های ستون، در پنجره ی Object Explorer، گره ی databases و Tableرا باز نمایید. پس از آن گره ی Columns را باز نمایید:
1. بر روی اسم ستون راست کلیک نموده و گزینه ی Properties را انتخاب نمایید.


آموزش SQL

2. حال بر ستون مورد نظر دوبار کلیک نمایید.
در پی هر یک از عملیات بالا، کادر محاوره ای Column Properties به نمایش در می آید:


آموزش SQL

روش دیگری نیز برای مشاهده ی خوصیصات یک ستون وجود دارد و آن فراخوانی تابع ()COLUMNPROPERTY می باشد. نحوه ی کلی استفاده از آن به صورت زیر می باشد:


COLUMNPROPERTY(id, column, property) RETURNS int/bit;

COLUMNPROPERTY سه پارامتر ورودی می پذیرد و هر سه الزامی می باشند. این تابع همچنین، بسته به اطلاعات مورد نیاز و درخواستی شما، مقداری را تولید می کند، بدین معنی که ممکن است مقداری بازگشتی آن Boolean (bit) یا از نوع عدد صحیح (integer) باشد.
اولین پارامتر شناسه ی اصلی جدول می باشد. دومین پارامتر نام ستون را مشخص می کند و سومین پارامتر ورودی نیز نوع اطلاعاتی که لازم دارید را مشخص می کند. برای مثال، به منظور به دست آوردن اطلاعات مربوط به حداکثر تعداد مجاز کاراکترها در یک ستون، پارامتر سوم را (به عنوان)PRECISION مشخص و ارسال نمایید.


Description

Description بین تمامی فیلدها مشترک و برای تمامی آن ها فعال می باشد که توصیف یا شرح مختصری در خصوص ستون مورد نظر ارائه می نماید. در آن فیلد هر چیزی می توان تایپ کرد.

خاصیتCollation

این خاصیت تنظیمات زبان را بر عهده دارد. در واقع خاصیت collation تعیین می کند که زبان مورد استفاده در فضای اضافی بر سازمان تخصیص یافته چه زبانی باشد. برای تنظیم خاصیت collation، در زمان ایجاد ستون، کلیدواژه ی COLLATE و به دنبال آن کد کولیشن دلخواه را تایپ کنید.


مثال:
 CREATE TABLE Customers(
    FullName nvarchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS
);

نگهداشت ستون ها

نگهداشت ستون در بازبینی و اصلاح هر یک از جنبه های مختلف یک ستون خلاصه می شود. این تواند شامل بازبینی ساختار ستون های جدول، تغییر اسم یک ستون، حذف آن یا تغییر نوع داده ای و یا قابلیت null پذیری ستون باشد.
به هنگام اعمال هر گونه تغییر بر روی ستون، شما جدول را ویرایش (alter) می کنید. یکی از این عملیات ویرایش، تغییر نوع داده ای ستون جدول می باشد. برای این منظور، SQL از دستور زیر بهره می گیرد:


ALTER TABLE TableName

بنابراین ابتدا عبارت کلیدی ALTER TABLE و پس از آن اسم جدول مورد نظر را وارد نمایید:

نحوه ی افزودن ستون

پس از ایجاد جدول، می توان در صورت نیاز ستون جدید به آن اضافه کرد.
جهت اضافه کردن ستون جدید به جدول فعلی به روش دیداری یا ویژوال، در محیط SQL Server به پنجره ی Object Explorer مراجعه نمایید و سپس:
1. گره database که جدول مد نظر متعلق به آن است را باز نمایید، بعد از آن نود Tables را باز کنید. اکنون بر روی Columns راست کلیک کرده و گزینه ی New Column... را انتخاب کنید ...


آموزش SQL

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


ALTER TABLE TableName
ADD ColumnName Properties

در سمت راست کلیدواژه ی ADD، اسم ستون را وارد کرده و بعد از آن نوع داده ای آن را مشخص می کنیم:


ALTER TABLE StaffMembers
ADD Gender nchar;
GO

پس از اجرای این کد، خواهید دید که یک ستون جدید به نام Gender که نوع داده ای آن nchar می باشد به جدول StaffMembers در پایگاه داده ی جاری اضافه شده است.
همچنین می توانید از sample code برای افزودن یک ستون جدید به یک جدول استفاده کنید. در مرحله ی اول یک Query Editor جدید و به دنبال آن پنجره ی Templates Explorer باز کنید. گره Tableرا باز کنید. در زیر آن، تمامی کدها به استثنای آن بخشی که مربوط به افزودن ستون جدید می باشد را حذف نمایید.


adding a column. Here is an example:
--==========================================================================
-- Add column template
--
-- This template creates a table, then it adds a new column to the table.
--==========================================================================
USE < database, sysname, adventureworks>
GO
-- Add a new column to the table
ALTER TABLE < schema_name, sysname, dbo>.< table_name, sysname, sample_table>
	ADD < new_column_name, sysname, column3>
< new_column_datatype,, datetime>
< new_column_nullability,, null>
GO

نحوه ی درج ستون جدید

برای درج ستون جدید بین دو ستون از پیش موجود به صورت ویژوال، بر روی ستون بعدی که می خواهید ستون جدید قبل آن اضافه شود، راست کلیک کرده و گزینه ی Insert Column را کلیک کنید.


آموزش SQL

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


ویرایش نام ستون

در صورت تمایل می توانید اسم ستون را تغییر دهید.
برای انجام این کار به صورت ویژوال، ابتدا به پنجره ی Object Explorer مراجعه کرده، سپس:
1. ابتدا گره database، گره Tables و به دنبال آن گره Columns را باز نمایید. بر روی ستون مورد نظر راست کلیک کرده و گزینه ی Rename را انتخاب کنید.


آموزش SQL

2. بر روی جدولی که ستون مد نظر متعلق به آن است راست کلیک کرده، گزینه ی Modify را انتخاب نمایید. در Design view، با هایلایت کردن اسم ستون مورد نظر آن را در مد edit قرار داده، سپس به ویرایش آن بپردازید. برای تغییر اسم ستون در SQL، یک Query Editor جدید باز کرده و فرمول sp_rename را در آن وارد نمایید:


sp_rename 'TableName.ColumnName', 'NewColumnName', N'COLUMN'

سپس برای اجرای دستور بر روی دکمه ی Execute کلیک نمایید. در این دستور، استفاده از sp_rename و 'COLUMN' الزامی می باشد. TableName مشخص کننده ی اسم جدولی است که ستون در آن قرار دارد. ColumnName اسم جاری ستون می باشد. NewColumnName اسمی که می خواهید به ستون تخصیص دهید را مشخص می کند.


مثال:
sp_rename N'StaffMembers.FullName', N'EmployeeName', N'COLUMN';
GO

زمانی که کد اجرا می شود، مفسر ستونی که FullName نام گذاری شده را در جدول StaffMembers پایگاه داده ی انتخابی جستجو می کند. در صورت یافتن آن ستون در جدول مورد نظر، نام آن را به EmployeeName تغییر می دهد.


تغییر نوع داده ای ستون

به منظور تغییر نوع داده ای یک ستون به صورت ویژوال، جدول مورد نظر را در Design view باز نمایید، سپس آن ستون را در زیر Column Name پیدا کرده و نوعش را در زیر Data Type تغییر دهید.
فرمول تغییر نوع داده ای ستون با کدنویسی به ترتیب زیر می باشد:

ALTER TABLE TableName
ALTER COLUMN ColumnName NewDataType

مثال:
CREATE SCHEMA HumanResources;
GO
CREATE TABLE HumanResources.Genders
(
    Gender char
);
GO
ALTER TABLE HumanResources.Genders
ALTER COLUMN Gender tinyint;
GO

حذف ستون

جهت حذف یک ستون از جدول، می توان به دو صورت اقدام کرد:


  1. برای حذف ستون به صورت ویژوال، در پنجره ی Object Explorer، ابتدا گره database، سپس Tables و در آخر Columns را باز نمایید. بر روی ستون مورد نظر راست کلیک کرده و گزینه ی Delete را انتخاب نمایید. کادر محاوره ای Delete Object پدیدار می شود. اگر همچنان قصد به حذف ستون دارید، OK را کلیک نمایید و در غیر این صورت دکمه ی Cancel را بزنید.
  2. برای حذف ستون به وسیله ی کد و دستورات SQL، اول یک Query Editor جدید باز کرده، سپس فرمول زیر را بکار ببرید:
ALTER TABLE TableName
DROP COLUMN ColumnName

در سمت راست عبارت کلیدی ALTER TABLE، اسم جدول را درج نمایید. در خط بعدی و در سمت راست عبارت DROP COLUMN، اسم ستون را مشخص کنید.


مثال:
ALTER TABLE StaffMembers
DROP COLUMN CurrentResidence;
GO

هنگامی که کد اجرا می شود، مفسر در جدول StaffMembers پایگاه داده ی انتخابی به دنبال ستونی به نام CurrentResidence می گردد. در صورت یافتن آن، ستون مورد نظر را از جدول حذف می کند. Microsoft SQL Server همچنین sample code هایی ارائه می کند که می توانید از طریق آن ها ستونی را از جدول حذف کنید. برای این منظور، ابتدا یک query editor جدید باز کرده سپس از طریق بخش View در نوار ابزار، پنجره ی Templates Explorer را باز کنید. حال گره ی Table را باز کنید. در بخش Table، کد نمونه ی Drop Column را از پنجره ی Template Browser کشیده و در Query Editor جای گذاری نمایید. بخش هایی از کد که مورد نیازتان نیست را حذف کرده و آن بخشی که مربوط افزودن ستون است را نگه دارید.


مثال:
--============================================
-- Drop column template
--
-- This template creates a table, then it  
-- drops one of the columns of the table.
--============================================
USE < database, sysname, adventureworks>
GO
-- Drop a column from the table
ALTER TABLE < schema_name, sysname, dbo>.< table_name, sysname, sample_table>
	DROP COLUMN < new_column_name, sysname, column3> 
GO

  • 4106
  •    1110
  • تاریخ ارسال :   1394/11/04

دانلود PDF دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .