عنوان : انواع داده و متغیر در SQL(متخصصین ایران)درس1
متخصصین ایران طراحی سایت

انواع داده و متغیر در SQL

در این قسمت از آموزش sql ، انواع داده در اسکیوال را شرح میدهیم.

انواع داده رشته ای  در اسکیوال : Character strings 

این نوع فیلد برای نگهداری عبارات و یا حروف ASCII می‌باشد. در این نوع فیلد‌ها، برای نگهداری هر حرف، یک بایت اشغال می‌شود و لذا نیاز به Collation برای تعیین زبان اطلاعات می‌باشد.

نوع داده شرح
char(n) اطلاعات متنی با طول ثابت از ۱ تا حداکثر ۸۰۰۰ حرف را در خود ذخیره می‌کنند.
varchar(n) اطلاعات متنی با طول متغیر از ۱ تا حداکثر ۸۰۰۰ حرف را در خود ذخیره می‌کنند. فرق بین Char و VarChar در این است که در Char، طول رشته ثابت است. یعنی اگر یک فیلد را از نوع Char(20) معرفی کرده و در آن کلمه Orion را قرار دهیم، عین ۲۰ حرف استفاده خواهد شد. یعنی ۵ کاراکتر اول را کلمه مربوطه اشغال کرده و ۱۵ کاراکتر باقی‌مانده، Blank خواهند بود. اما در VarChar اینگونه نیست..
varchar(max) اطلاعات از ۱ تا ۲ مگا حرف ذخیره می‌شود و مکانیزم آن هم بصورت پوینتری می‌باشد.
text اطلاعات از ۱ تا ۲ مگا حرف ذخیره می‌شود. این نوع داده همانند Image و VarBinary(MAX) در خود رکورد ذخیره نمی‌شوند. بلکه توسط یک پوینتر به جای دیگری اشاره می‌کنند. این نوع داده در SQL 10 حذف شده و بجای آن‌ها از VarChar(MAX) استفاده می‌شود..

انواع داده یونیکد  در اسکیوال : Unicode types

این نوع فیلد‌ها برای نگهداری متون Unicode بوده و برای نگهداری هر حرف، از دو بایت استفاده می‌شود. پس مسلماً نسبت به نوع داده‌های کاراکتری، حافظه بیشتری را به خود اختصاص می‌دهد و در ضمن کمی هم کندتر است. این نوع فیلد‌ها، احتیاج به Collation ندارند.

نوع داده شرح
nchar(n) در این نوع داده، اطلاعات از ۱ تا حداکثر ۴۰۰۰ حرف با طول ثابت ذخیره می‌شود.
nvarchar(n) در این نوع داده، اطلاعات از ۱ تا حداکثر ۴۰۰۰ بایت با طول متغیر ذخیره می‌شود.
nvarchar(max) در این نوع داده از ۱ تا ۱ مگا حرف ذخیره می‌شود. مکانیزم آن هم بصورت Pointer می‌باشد.
ntext در این نوع داده، از ۱ تا ۱ مگا حرف ذخیره می‌شود. مکانیزم آن هم بصورت Pointer .

انواع داده باینری  در اسکیوال : Binary types

این نوع فیلد‌ها برای نگهداری اطلاعات بصورت بایناری مانند تصاویر مناسب هستند

نوع داده شرح
bit یک فیلد دو بیتی است و می‌تواند ۰ و ۱ و Null را ذخیره کند.کاربرد آن در زمان‌هایی است که دو حالت وجود داشته باشد. مانند جنسیت زن و مرد.
binary(n) این نوع فیلد‌ها، از ۱ تا ۸۰۰۰ بایت را در خود جای می‌دهند.
varbinary(n) این نوع فیلد‌ها هم از ۱ تا ۸۰۰۰ بایت را در خود جای می‌دهند. (متغیر).
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  

انواع دیگر داده ها  در sql: Other data types

 

نوع داده شرح
sql_variant این نوع فیلد برای نگهداری انواع داده استفاده می‌شود و نوع آن با توجه به اولین مقداری که در آن قرار می‌گیرد تعیین خواهد شد. چون نوع و حجم فیلد مشخص نیست، لذا تنها یک اشاره‌گر ۱۶ بایتی در آن قرار گرفته و داده اصلی در فایل جداگانه نگهداری می‌شود. استفاده از این نوع فیلد، توصیه نمی‌گردد..
uniqueidentifier .این فیلد ۱۶ بایتی، به ما کدی Unique یا تک می‌دهد که به اصطلاح GUID می‌گویند. یکی از کاربردهای آن در Replication است.
xml این فیلد بیشتر برای انتقال اطلاعات و دستورات تحت web استفاده می‌شود و شامل انواع MetaData های مختلف است.
cursor این فیلد مربوط به کنترل Cursor است .
table .
 



نظر شما درباره این مطلب:




مطالب مشابه

42

SQL چیست ؟ (اس کیو ال چیست)(متخصصین ایران)


متخصصین ایران طراحی سایت

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


SQL چیست ؟ (اس کیو ال چیست)(متخصصین ایران)                  (اطلاعات بیشتر)

76

دستورات DML و DDL در اس کیو ال(متحصصین ایران)


متخصصین ایران طراحی سایت

SQL به دو قسمت تقسیم میشود ...


دستورات DML و DDL در اس کیو ال(متحصصین ایران)                  (اطلاعات بیشتر)

84

دستور SELECT DISTINCT در sql(متخصصین ایران)درس3


متخصصین ایران طراحی سایت

چنانچه در ستون های مورد جستجو ، موارد تکراری وجود داشته باشد ...


 دستور SELECT DISTINCT در sql(متخصصین ایران)درس3                  (اطلاعات بیشتر)

92

دستور مرتب سازی Order By در sql(متخصصین ایران)درس6


متخصصین ایران طراحی سایت

اطلاعاتی که در دستور select در اسکیوال به عنوان خروجی


دستور مرتب سازی Order By در sql(متخصصین ایران)درس6                  (اطلاعات بیشتر)

94

دستور Group By در sql(متخصصین ایران)درس7


متخصصین ایران طراحی سایت

از دستور Group By در اسکیوال برای دسته بندی ...


 دستور Group By در sql(متخصصین ایران)درس7                  (اطلاعات بیشتر)

104

دستور شرطی Top در SQL(متخصصین ایران)درس12


متخصصین ایران طراحی سایت

دستور TOP در دستور select اسکیوال ، تعداد ...


 دستور شرطی Top در SQL(متخصصین ایران)درس12                  (اطلاعات بیشتر)