ساخت پایگاه داده (DataBase) و جدول ها(Table) در SQL Server

بعد از نصب و راه اندازی SQL Server  نوبت به کار با محیط این برنامه میرسد.

DataBase

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

  • Table
  • View
  • Function
  • و ….

طبق مراحل زیر DataBase مورد نظر را میسازیم:

بعد  از طی مراحل فوق دیتابیس آماده است.

 جدول(Table)

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

ساخت جدول

در دیتابیس ساخته شده بروی گزینه Table کلیک راست میکنیم و New Table را انتخاب میکنیم.

 

بعد از انتخاب New Table همان طور که در تصویر مقابل میبینید باید برای ستون های جدول نام و نوع مناسب انتخاب کنیم.

 

برای مثال اگر ما جدولی برای اسامی استان های یک کشور طراحی میکنیم به اطلاعاتی از قبیل نام استان و احتمالا شماره و یا کد استان نیاز داریم.(طراحی جدول با توجه به نیاز صورت میگیرد)

نوع داده(Data Type)

در SQL Server هر ستون ، متغیرهای محلی یا local Variable ها ، عبارت ها و پارامتر ها ، نوع داده یا Data type مربوط به خود را دارند . یک data type در واقع ویژگی و مشخصه ای است برای تعیین نوع داده ای که یک Object می تواند نگه داری کند.که Integer،Date & time ، Binary ، Strings و … از جمله ی آنها هستند.

Data Type ها به چند گروه تقسیم میشود:

  • Numeric یا عددی
  • String یا رشته ای
  • Date & Time یا زمانی

انواع داده های  Character String  یا رشته کاراکتر

  • (char(n: این نوع داده دارای طول ثابتی بوده و از 1تا8000 بایت در آن به صورت                 Non-Unicodeنگهداری میشود.
  • (Varchar (n: دارای طول متغیر بوده و کاراکترهای آن بصورت Non-Unicode هستند . و می توانند ارزشی از 1 تا 8000 داشته باشند. داده ی وارد شده می تواند 0 کاراکتری نیز باشد. ر varchar برخلاف char داده ی وارد شده تنها به اندازه کاراکترهای وارد شده فضا اشغال می کنندو می توان حداکثر طول کاراکتر را مشخص کرد.
  • Text: نوع داده ی text نیز دارای طول متغیر بوده و از این نوع داده برای ذخیره ی داده هایی با بیش از 8000 کاراکتر استفاده می کنند.

نوع داده های Unicode String یا رشته یونیکد

  • (Nchar(n: طول ثابتی دارد و بایت داده در آن بصورت Unicode نگهداری می شوند. حداکثر اندازه ی این نوع 4000 کارکتر است.همچنین nchar تعداد محدود و مشخصی از کاراکترها را در خود جای می دهد مثلا (nchar(30 همیشه 30 کاراکتر را ذخیره می کند حتی اگر رشته ای کوتاهتر از 30 کاراکتر به آن اختصاص یابد.
  • (Nvarchar(n: طول متغیر دارد و بایت داده در آن بصورت Unicode نگهداری می شوند. داده ی وارد شده می تواند صفر یا Null نیز باشد .
  • (Nvarchar(max: طول داده متغیر و به صورت Unicode است.(Navarchar(max یک large-value data type محسوب می شود.
  • ntext: داده در این نوع طول متغیر داشته و Unicode می باشد . معمولا از این نوع داده برای داده هایی با بیش از 8000 کاراکتر استفاده می کنند.

انواع داده های عددی و باینری

  • (Binary(n:دارای طول ثابت بوده و n میتواند مقادیر 1 تا 8000 بایت را در بر گیرد.از باینری زمانی استفاده می شود که طول داده های وارد شده سازگار باشند.
  • Image: داده های باینری با طول متغیر را شامل می شود. برای ذخیره تصاویر  از این نوع داده استفاده می شود .
  • Int: اندازه آن 4 بایت است.
  • Bigint: قابلیت ذخیره سازی 8 بایت را دارا می باشد و هنگامی که int پاسخگو داده نباشد از این نوع استفاده میکنیم.
  • Smallint: قابلیت ذخیره 2 بایت داده ی صحیح را داراست.
  • Tinyint: قادر به ذخیره تنها یک بایت می باشد و محدوده اعداد صحیح 0 تا 255 را در بر می گیرد.
  • Bit: مقادیر صحیح 0 یا 1 را در بر می گیرد.و به عنوان مثال برای وارد کردن داده های چون  T/F به معنی درست یا نادرست به کار می رود .
  • Numeric و decimal: این نوع داده ها برای ذخیره داده هایی با اعداد اعشاری دارای ممیز شناور بدون گرد کردن استفاده می شوند.
  • Money: برای ذخیره مقادیر پول کاربرد دارد البته برای پولهایی که پول خرد دارند.  (مثلا 32 دلار و 75 سنت ) چرا که این نوع داده دقیقا 4 رقم در سمت راست ممیز اعشار خواهد داشت . همچنین این نوع داده برای هر نوع ارزی بکار برده می شود.
  • Small money: اندازه آن 4 بایت است و برای هر نوع ارزی کاربرد دارد.

انواع داده ی Date and Time یا زمان و ساعت

  • Date: برای ذخیره ی تاریخ کاربرد دارد . فرمت رشته ای آن به صورت YYYY-MM-DD می باشد که YYYY محدوده ارقام 0001 تا 9999 را برای نمایش سال و MM ارقام 01 تا 12 را برای نمایش ماه و DD ارقام 01 تا 31 را با توجه به ماه مورد نظر ،برای نمایش روز می توانند در بر گیرند.
  • Time:   برای ذخیره ی رمان کاربرد دارد . فرمت رشته ای آن [hh:mm:ss[.nnnnnnnمی باشد و محدوده 00:00:00.0000000 تا 23:59:59.9999999 می تواند شامل شود. hh اعداد 0 تا 23 را برای نمایش ساعت و mm دو رقم از 0 تا 59 را برای دقیقه و ss عددی دو رقمی از 0 تا 59 را برای نمایش ثانیه می تواند در بر گیرد. n صفر تا هفت رقمی است که بیانگر کسر ثانیه می باشدو محدوده ارقام 0 تا 9999999 برای آن لحاظ شده است. دقت این نوع داده 100 نانو ثانیه می باشد و اندازه حافظه مورد نیاز برای ذخیره سازی آن 5 بایت و ثابت است .
  • Datetime2: فرمت آن به صورت [YYYY-MM-DD hh:mm:ss [.fractional seconds می باشد و محدوده ی تاریخی 01-01-0001 تا 31-12-9999 را با مقدار پیش فرض 00:00:00 01-01-1900 شامل می شود n می تواند صفر تا هفت رقم در محدوده ی 0-9999999 را برای نمایش کسر اعشار در بر گیرد.دقت آن 100 نانو ثانیه می باشد .
  • Datetime: ستون هایی که این نوع داده برای آنها مشخص شده است می توانند تاریخ های January 1, 1753 تا December 31, 9999 و ساعت را از 00:00:00 تا 23:59:59.997 را در خود جای دهند. مقدار پیش فرض این داده در SQL سرور 00:00:00 01-01-1900 است.با توجه به فرمت در نظر گرفته شده ی [hh:mm:ss [.nnnnnn برای ساعت nمی تواند صفر تا سه رقم از محدوده اعداد 0 تا 999 را برای بخش کسر ثانیه شامل شود.دقت آن اعداد گرد شده ی رو به افزایش از 0.000 ، 0.003 یا 0.007 ثانیه می باشد.

مقدار Null

مقادیر NULL نشانگر داده های ناشناخته و گم شده است. به طورکلی این بدان معنی است که طراح اجازه وارد نکردن این ستون از رکور را امکان پذیرکرده است.فرض کنید که ستون “Address” در جدول “Persons” اختیاری باشد. این بدان معناست که اگر رکوردی را بدون وارد کردن مقداری در ستون “Address” درج کنیم، ستون “Address” با مقدار NULL ذخیره خواهد شد.