در این بخش از مقالات کاربردی و مربوط به طراحی سایت ، انواع داده در SQL را برای شما توضیح می دهیم.
داده ها در SQL به چند دسته تقسیم می شوند که در زیر آنها را معرفی می کنیم.
√ داده ی رشته ای:Character Strings
از این داده جهت نگهداری عبارات و یا حروف Ascii مورد استفاده قرار می گیرد به عبارتی برای نگهداری هر حرف،یک بایت اشغال می شود لذا نیاز به Collation برای تعیین زبان اطلاعات می باشد.
Char : اطلاعات متنی با طول ثابت از ۱ تا حداکثر ۸۰۰۰ حرف را در خود ذخیره میکنند.
Varchar : اطلاعات متنی با طول متغیر از ۱ تا حداکثر ۸۰۰۰ حرف را در خود ذخیره میکنند. فرق بین Char و VarChar در این است که در Char، طول رشته ثابت است. یعنی اگر یک فیلد را از نوع Char-20 معرفی کرده و در آن کلمه Orion را قرار دهیم، عین ۲۰ حرف استفاده خواهد شد. یعنی ۵ کاراکتر اول را کلمه مربوطه اشغال کرده و ۱۵ کاراکتر باقیمانده، Blank خواهند بود. اما در VarChar اینگونه نیست..
Varchar Max : اطلاعات از ۱ تا ۲ مگا حرف ذخیره میشود و مکانیزم آن هم بصورت پوینتری میباشد.
Text : اطلاعات از ۱ تا ۲ مگا حرف ذخیره میشود. این نوع داده همانند Image و VarBinary-MAX در خود رکورد ذخیره نمیشوند. بلکه توسط یک پوینتر به جای دیگری اشاره میکنند. این نوع داده در SQL 10 حذف شده و بجای آنها از VarChar-MAX استفاده میشود.
√ داده ی یونیکد:Unicode Types
در این نوع داده برای نگهداری متون مورد استفاده قرار می گیرد.توجه داشته باشید که برای نگهداری هر حرف,از دو بایت استفاده می شود. پس مسلماً نسبت به نوع دادههای کاراکتری، حافظه بیشتری را به خود اختصاص میدهد و در ضمن کمی هم کندتر است. این نوع فیلدها، احتیاج به Collation ندارند.
nchar : در این نوع داده، اطلاعات از ۱ تا حداکثر ۴۰۰۰ حرف با طول ثابت ذخیره میشود.
nvarchar : در این نوع داده، اطلاعات از ۱ تا حداکثر ۴۰۰۰ بایت با طول متغیر ذخیره میشود.
nvarchar-max : در این نوع داده از ۱ تا ۱ مگا حرف ذخیره میشود. مکانیزم آن هم بصورت Pointer میباشد.
ntext : در این نوع داده، از ۱ تا ۱ مگا حرف ذخیره میشود. مکانیزم آن هم بصورت Pointer .
√ داده ی باینری:Binary types
این نوع فیلدها برای نگهداری اطلاعات بصورت بایناری مانند تصاویر مناسب هستند.
bit : یک فیلد دو بیتی است و میتواند ۰ و ۱ و Null را ذخیره کند.کاربرد آن در زمانهایی است که دو حالت وجود داشته باشد. مانند جنسیت زن و مرد.
binary : این نوع فیلدها، از ۱ تا ۸۰۰۰ بایت را در خود جای میدهند.
varbinary : این نوع فیلدها هم از ۱ تا ۸۰۰۰ بایت را در خود جای میدهند. (متغیر).
varbinary-max : این نوع Datatype در SQL 2005 معرفی شده و تقریباً همانند دادههای Image هستند.
image : این نوع فیلدها از ۱ تا حداکثر ۲ گیگابایت را میتوانند ذخیره کنند. فرق این نوع دادهها با دو نوع قبلی این است که در دو نوع قبلی، اطلاعات در خود رکورد ثبت میشوند ولی در این نوع دادهها، اطلاعات در یک Page ذخیره میشود و به جایش در رکورد، یک پوینتر ۱۶ بایتی ذخیره میشود. این نوع فیلدها در SQL 10 حذف شده و به جایش باید از VarBinary استفاده کرد.
√ داده ی عددی:Number types
این نوع فیلد برای نگهداری اعداد صحیح و بدون اعشار استفاده میگردد و دارای ۴ نوع به شرح زیر است. در ضمن این نوع فیلدها رتبه یک سرعت در نوع فیلدهای عددی را دارد.
tinyint : یک بایت را اشغال میکند و میتواند از ۰ تا ۲۵۵ را در خود ذخیره کند.
smallint : یک عدد دو بایتی است و میتواند از ۳۲۷۶۷ منفی تا ۳۲۷۶۷ مثبت را در خود ذخیره کند.
int : یک عدد چهار بایتی است که میتواند اعداد بین مثبت و منفی ۲ میلیارد را در خود ذخیره کند.
bigint : یک عدد ۸ بایتی است که میتواند اعداد بین مثبت و منفی ۴ میلیارد را در خود ذخیره کند.
decimal-p,s : این نوع فیلد برای نگهداری اعداد اعشاری با تعداد اعشار مشخص استفاده میگردد. این نوع فیلدها بسیار کند بوده و استفاده از آنها توصیه نمیگردد. که در آن Precision به معنای تعداد کل رقمهای عدد و Scale تعداد ارقام اعشار را مشخص میکند. مثلاً اگر فیلدری بصورت Deciaml(6,2) تعریف شود، حداکثر آن برابر ۹۹۹۹٫۹۹ میباشد.
numeric-p,s : .
smallmoney : یک عدد ۴ بایتی است که میتواند ۶ رقم صحیح و ۴ رقم اعشار را در خود ذخیره کند..
money : یک عدد ۸ بایتی است که میتواند ۱۵ رقم صحیح و ۴ رقم اعشار را در خود ذخیره کند.
float-n : یک عدد ۸ بایتی که اعداد بصورت توانی از ۱۰ نگهداری میشوند. .
real : یک عدد ۴ بایتی است که اعداد بصورت توانی از ۱۰ نگهداری میشوند.
√ داده ی تاریخ:Date types
این نوع فیلدها برای نگهداری تاریخ میلادی و ساعت استفاده میشود و برای تاریخ شمسی کاربرد ندارد.
datetime : این نوع فیلد، ۸ بایتی است و از سال ۱۷۰۰ تا ۹۹۹۹ را با دقت هزارم ثانیه ذخیره میکند.
datetime2 : .
smalldatetime : این نوع فیلد، ۴ بایتی است و از سال ۱۹۰۰ تا ۲۰۷۹ را با دقت هزارم ثانیه ذخیره میکند.
date : این نوع فیلدها برای نگهداری تاریخ میلادی استفاده میشود.
time : این نوع فیلدها برای نگهداری ساعت استفاده میشود.
datetimeoffset
timestamp
√ دیگر داده ها:Other data types
sql-variant : این نوع فیلد برای نگهداری انواع داده استفاده میشود و نوع آن با توجه به اولین مقداری که در آن قرار میگیرد تعیین خواهد شد. چون نوع و حجم فیلد مشخص نیست، لذا تنها یک اشارهگر ۱۶ بایتی در آن قرار گرفته و داده اصلی در فایل جداگانه نگهداری میشود. استفاده از این نوع فیلد، توصیه نمیگردد.
uniqueidentifier : این فیلد ۱۶ بایتی، به ما کدی Unique یا تک میدهد که به اصطلاح GUID میگویند. یکی از کاربردهای آن در Replication است.
xml : این فیلد بیشتر برای انتقال اطلاعات و دستورات تحت web استفاده میشود و شامل انواع MetaData های مختلف است.
cursor : این فیلد مربوط به کنترل Cursor است .
table
در مقالات بعدی اطلاعات جامع و کامل تری را در زمینه طراحی سایت و مطالب مرتبط به آن را برای شما کاربران عزیز ارائه می دهیم.