زمان کنونی: 1396-01-08, 10:17 ب.ظ
خوش آمدید، مهمان! (ورودثبت نام)

ارسال پاسخ 
 
امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
اشتراک موضوع در Digg delsios Reddit Facebook Twitter StumbleUpon
معرفی انواع نوع داده ای در دیتابیس SQL
نویسنده پیام
********
مدیر ارشد
مدیر ارشد سایت
وضعيت : آفلاین
ارسال ها:305
تاریخ ثبت نام:خرداد 1392
اعتبار: 10
سن: 25
ساکن: بوشهر
حالت من: شاد
سپاس ها: 1001
سپاس شده 1347 بار در 314 ارسال

ارسال: #1
معرفی انواع نوع داده ای در دیتابیس SQL
در این پست قصد داریم تا انواع نوع داده ای در فیلدهای SQL  را معرفی و به تشریح آنها بپردازیم. با ما همراه باشید.
[تصویر: Database_41.png]
 
Tables

جداول در Database اشيايي هستند براي براي ذخيره سازي داده ها استفاده میشن , Table ها از دو Object اصلي تشگيل مي شوند :
Filed
Record


Filed :

فيلد ها براي نگهداري نوع مشخصي از اطلاعات استفاده مي شوند , مثلاً نام , نام خانوادگي , تاريخ تولد , به فيلد ها Column ويا ستون نيز مي گويند

Record :

Record ها گروهي از فيلد هاي مرتبط به هم هستند كه شامل اطلاعات مربوط به يك موجوديت خاص مي باشند , مثلا اطلاعات پرسنلي يك كارمند كه از Filed هاي نام و نام خانوادگي و كد پرسنلي و پست تشگيل شده است مجموع اين اطلاعات براي براي هر پرسنل يك ركورد را تشگيل مي دهد .
اولين چسزي كه در مورد ايجاد يك Table بايد بدانيم اين است كه اين Table مي بايست چه فيلد هايي داشته باشد , اين فيلد ها بستگي به Table ي دارد كه شما مي خواهيد آن را ايجاد كنيد .

مثلا اگر يك Table براي مشتريان ايجاد مي كنيد , احتمالا نياز به ذخيره سازي نام , نام خانوادگي مشتيريان , آدرس, تلفن, Fax و يك كد مخصوص هر مشتري خواهيد داشت , به همين دليل نياز به داشتن فيلدي مخصوص نگهداري نام و فيلدي براي نگهداري نام خانوادگي هر مشتري خواهيد داشت .

هر فيلد در هر Table نوع خاص خود را دارد كه داده هاي مختص آن فيلد را محدود مي كند , مثلا كاراكتر هاي A-Z يا اعداد 0- 9

در زير ليست انواع Data Type ها در SQL Server 2008 به همراه محدوديت هاي آنها ذكر شده است :

Bit :

اين نوع فيلد حاوي مقدار صفر و يا 1 مي باشد , و مي تواند به عنوان بيت نشان دهنده يك وضعيت مفيد باشد , مثلا فعال و يا غير فعال بودن يك كاربر


Int :

اين نوع فيلد مي تواند شامل داده هاي عددي صيحح از محدوده -2^31 (-2,147,483,648) ,2^31-1 (2,147,483,647)باشد , اين نوع داده نياز به 4 بايت از فضاي ديسك را دارد


Bigint :

اين نوع فيلد مي تواند شامل داده هاي عددي صيحح از محدوده-2^63 (-9,223,372,036,854,775,808) , 2^63-1 (9,223,372,036,854,775,807) باشد , اين نوع داده نياز به 8 بايت از فضاي ديسك را دارد و براي ذخيره نمودن اعداد صحيح بسيار بزرگ كه در نوع Int جا نمي گيرند مفيد است .


Smallint :

اين نوع فيلد مي تواند شامل داده هاي عددي صيحح از محدوده -2^15 (-32,768) to 2^15-1 (32,767) مي باشد و نياز به 2 بايت از فضاي براي ذخيره سازي دارد . از اين نوع داده ها براي ذخيره نمودن اعداد صحيح كوچكتر از نوع Int استفاده مي شود , چون فضاي كمتري نصبت به نوع Int اشغال مي كنند .


Tinyint :

اين نوع فيلد مي تواند شامل داده هاي عددي صيحح از محدوده صفر تا 255 باشد , اين نوع از داده به يك بايت از فضاي ديسك نياز دارند و بدليل كم بودن محدوده عددي استفاده محدودي دارند .


Decimal :

اين نوع داده ها , داده هايي با دقت ثابت در محدوده 10^38 – 1 تا - 10^38 – 1- هستند , اين نوع داده ها از 2 پارامتر تشگيل مي شوند : دقت و مقياس

منظور از دقت (Precision) , تعداد كل رقامي است كه مي تواند در فيلد ذخيره شود و مقياس (Scale) تعداد ارقامي است كه مي تواند بعد از نقطه اعشار ذخيره نمود . مثلا اگر دقت 5 و مقياس 3 داشته باشيم فرمت فيلد به صورت 12.123 خواهد بود .


Numeric :

اين نوع داده ها دقيقا مانند داده هاي نوع Decimal هستند .


Money :

محدوده اين نوع از داده ها از -922,337,203,685,477.5808 to 922,337,203,685,477.5807 مي باشد و به 8 بايت از فضاي ديسك جهت ذخيره سازي نياز دارند و براي ذخيره سازي مقادير ارزي بزرگ استفاده مي شوند .

Smallmoney :

محدوده اين نوع از داده ها از - 214,748.3648 to 214,748.3647 مي باشد و به 4 بايت از فاي ديسك نياز دارد و مقادير ارزي كوچكتري را نسبت به Money در خود ذخيره مي كند .


Float :

اين نوع داده ها , داده هايي با دقت شناور در محدوده 1.79E+308 to -2.23E-308, 0 and 2.23E-308 to 1.79E+308 مي باشند كه تعداد اعداد بعد از اعشار آنها پايان ندارد , مانند عدد p كه بايد پايان آن را برآورد كرد , داده نوع Float نيز دقيقا اين كار را انجام مي دهد , مثلا اگر از Folat(2) استفاده كنيد عدد p به صورت 14/3 تنها با دورقم اعشار نگهداري مي شود .


Real :

اين نوع داده ها , داده هايي با دقت شناور در محدوده - 3.40E + 38 to -1.18E - 38, 0 and 1.18E - 38 to 3.40E + 38 مي باشند , Real در واقع نوعي Folat (24) , با 24 رقم پس از نقطه اعشار است .


DateTime :

اين نوع داده تاريخ و زمان از اول ژانويه 1735 تا 31 دسامبر 9999 را با دقت 33/3 ميلي ثانيه نگهداري مي كند و به 8 بايت از فضاي ديسك نياز دارد .


SmallDateTime :

اين نوع داده تاريخ و زمان از اول ژانويه 1900 تا 6 ژوئن 2079 را با دقت 1 دقيقه نگهداري مي كند و به 3 بات از فضاي ديسك نياز دارد .


Timestamp :

اين نوع داده ها براي علامتگذاري هر Record در هنگام Insert , و Update ها ي پس از Insert استفاده مي شوند و در كل براي اطلاع و پيگيري تغييرات داده ها استفاده مي شوند .


Uniqueidentifier :

در SQL Server از تابع NEWID() جهت ايجاد GUID استفاده مي شود كه يك كد منحصر بفرد است , كدي شبيه كد زير :

6f9618ff-8b86-d022-s45g-0c04fwr65g90

اين اعداد در نوع داده Uniqueidentifier ذخيره مي شوند


Char :

در اين نوع داده , داده هاي كاراكتري غير يوني كد با طول ثابت و حداكثر 8000كاراكتر ذخيره مي شوند , اين نو داده براي كاراكتر ايي كه هميشه طول آنها ثابت است مفيد است مثلا جنسيت كه يا زن است و يا مرد

اين نوع داده هميشه صرفنظر از تعداد كاراكترهايي كه در فيلد ذخيره مي شوند هميشه به ميزان فضايي كه براي فيلد تعريف شده است فضا مصرف مي كند مثلاName=char(5)
فيلد Name حتي اگر شامل 2 كاراكتر باشد هم 5 بايت از فضاي ديسك را مصرف مي كند .


VarChar :

در اين نوع داده , داده هاي كاراكتري غير يوني كد با طول متغير و حداكثر 8000 كاراكتر ذخيره مي شوند , اين نوع داده ها براي زماني كه طول داده هاي كاراكتري هميشه به يك انداره نيستند استفاده مي شوند كه اين امر سبب مي شوند فضاي كمتري برروي ديسك مصرف شودName=Varchar(5)
اگر فيلد Name شمل 2 كاراكتر باشد فقط به اندازه 2 كاراكتر از فضاي ديسك مصرف مي كند .


VarChar(max) :

اين نوع داده دقيقا مانند VarChar است اما به اندازه Max معين 2^31-1 بايت از داده را ذخيره مي كند .


NChar :

در اين نوع داده ها , داده هاي يوني كد با طول ثابت و حداكثر 4000 كاراكتر را ذخيره مي نمايند ,


Nvarchar :

در اين نوع داده ها , داده هاي يوني كد با طول ثابت و حداكثر 4000 كاراكتر را ذخيره مي نمايند , و مانند nchar هستند ولي در مواقعي كه تعداد كاراكتر ها كمتر باشد فضاي كمتري از ديسك را مصرف مي كند .


Nvarchar(max) :

اين نوع داده ها دقيقا مانند nvarchar هستند اما به اندازه Max معين 2^31-1 بايت از داده را ذخيره مي كند .


Xml :

از اين نوع داده براي ذخيره سازي كل سندهاي xml و يا fragment ها استفاده مي شود .


Identity :

در واقع يك نوع داده خاصي نمي باشند و يك نوع Property محصوب مي شوند كه باعث ايجاد يك عدد صحيح غير تكراري براي يك ستون مي شوند , مثلا مقدار اولين سطر يك جدوا 1و سطر بعدي 2 و . . .
نكته : نوع داده هاي Text , Ntext , Image در SQL Sever 2008 كنار گذاشته شدند و به جاي آنها از Varchar(max) ,* Nvarchar(max) , Varbinary(max) استفاده مي شود .


.Varbinary(max)

از اين نوع داده جهت ذخيره نمودن داده هاي باينري مانند تصاوير استفاده مي شود , اين نوع داده ها به اندازه Max معين 2^31-1 بايت از داده را ذخيره مي كند


Cursor :

اين نوع داده ها براي ذخيره نمودن variable ها و يا خروجي sp ها استفاده مي شوند , درواقع Cursor يك اشاره گر به مجموعه اي از سطر ها است . در زمان ايجاد يك Table نمي توانيم نوع يك فيلد را به صورت Cursor انتخاب كنيم .















پیروزی آن نیست که هرگز زمین نخوری، آنست که بعد از هر زمین خوردنی برخیزی.(مهاتما گاندی)
انجمن تخصصی برنامه نویسی و نرم افزار بوشهرتــیــــــــم
(آخرین ویرایش در 1392-10-28 08:29 ب.ظ توسط: Reza.Heydari. دلیل ویرایش : )
1392-10-28 08:26 ب.ظ
مشاهده سایت این کاربر یافتن همه ی ارسالهای این کاربر نقل قول این ارسال در یک پاسخ
 سپاس شده توسط omrani.meysam63 ، arsha.safaie ، ETSCOM.blogfa.com ، nahid ، ssarina ، فرزانه ، sajednet
**
کاربر سایت


کاربر سایت
وضعيت : آفلاین
ارسال ها:29
تاریخ ثبت نام:بهمن 1392
اعتبار: 2
سن: 30
ساکن: تهران
حالت من: شاد
سپاس ها: 234
سپاس شده 107 بار در 28 ارسال

ارسال: #2
RE: معرفی انواع نوع داده ای در دیتابیس SQL
میشه لطفا در مورد timestamp بیشتر توضیح بدید ؟















طراحی سایت راحت و آسان
1392-12-06 08:07 ب.ظ
یافتن همه ی ارسالهای این کاربر نقل قول این ارسال در یک پاسخ
 سپاس شده توسط omrani.meysam63 ، arsha.safaie ، ssarina ، nahid ، Reza.Heydari
**
کاربر سایت


مدیر بخش مجموعه ویژوال استادیو
وضعيت : آفلاین
ارسال ها:19
تاریخ ثبت نام:مرداد 1392
اعتبار: 3
سن:
ساکن: بوشهر
حالت من: شاد
سپاس ها: 62
سپاس شده 88 بار در 19 ارسال

ارسال: #3
RE: معرفی انواع نوع داده ای در دیتابیس SQL
(1392-12-06 08:07 ب.ظ)'فرزانه' نوشته شده توسط:  میشه لطفا در مورد timestamp بیشتر توضیح بدید ؟

 
نوع TIMESTAMP: این نوع فیلد از نظر طول و نوع درج، مثل DATETIME است. یعنی 19 کاراکتری . اما کاربرد اصلی آن، برای زیر نظر گرفتن لحظه آپدیت یک رکورد است. اگر یک فیلد را از این نوع انتخاب کنید، هر بار که آن سطر داده، آپدیت می‌شود، این فیلد، لحظه آپدیت را جایگزین تاریخ قبلی خود می‌کند. فیلد مناسبی است برای کارهای حساس که باید هر تغییر در دیتابیس ثبت و پیگیری شود. (مثلاً آخرین لحظه تغییر پسورد مدیر در موارد امنیتی بهتر است درج شود تا در صورت لزوم متوجه شوید که در چه لحظه‌ای پسورد عوض شده است)
 
1392-12-07 10:10 ب.ظ
یافتن همه ی ارسالهای این کاربر نقل قول این ارسال در یک پاسخ
 سپاس شده توسط Reza.Heydari ، nahid ، ssarina ، فرزانه ، omrani.meysam63 ، ETSCOM.blogfa.com ، sajednet
ارسال پاسخ 


موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  Attach کردن دیتابیس nahid 2 1,014 1393-12-07 06:55 ب.ظ
آخرین ارسال: nahid
  اختصاص مقدار پیشفرض به فیلد دیتابیس SQL Reza.Heydari 0 2,291 1392-04-07 12:35 ق.ظ
آخرین ارسال: Reza.Heydari

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

دوستان ما