از: div.ir
ایجاد کردن جداول و تغییر دادنشان
در محیط SQL Server میکروسافت، در هر پایگاه داده مرتبط، اطلاعاتی در داخل جداول سازماندهی می شوند بر طبق ترتیب سطرها و ستونها که داده ها را برای شئی های تکی ذخیره می کند. در این درس، شما می آموزید که چگونه یک جدول جدید را ایجاد کنید و معین کنید ستونهایی که آن جدول در بردارد.
راهنمایی: در نظر گرفتن محتویات جدول به عنوان یک شبکه (Grid) مانند یک صفحه گسترده ایده آل می باشد. اما این موضوع مهم می باشد به تشخیص اینکه رکوردها در یک جدول نظم درونی ندارند. ایده های Previous و Next در یک رکورد جدول به کار برده نمی شوند. اگر شما نیاز به انجام عملیاتهای متوالی نداشته باشید، شما می توانید به وسیله ای به نام Cursor آن را انجام دهید. یک ماهیتی که به یک سطر ویژه در یک مجموعه از رکوردها اشاره می کند. در مورد Cursor در درس 27 بحث خواهیم کرد.
ایجاد کردن جداول
جداول یک واحد تابعی از انبار داده ها در یک پایگاه داده های مرتبط می باشند. به عنوان یک قاعده کلی، هر نوع از موجودیتها از قبیل Essential Oil در پایگاه داده نمونه مان به وسیله یک جدول نشان داده می شود، نظر به اینکه هر نمونه از آن موجودیتها از قبیلGerman Chamomile Clary Sage به وسیله یک سطر در جدول نشان داده می شود.
طراحی پایگاه داده
در بیشترین روش رایج برای تعریف پایگاه داده ها از راهکارهای (مفهومهای) Entities و Attributes استفاده می کنیم زمانی که شما از طراحی منطقی به طراحی فیزیکی پیش می روید. موجودیتها معمولاً به صورت جداول پیاده سازی می شوند و مشخصه ها (Attributes) در ستونها پیاده سازی می شوند. (همچنین در فیلدها شناخته می شوند)
شناخت انواع داده ها
هر ستون در جدول دارای خصوصیات معین می باشد که آن را برای SQL Server تعریف می کند. مهمتر از این خصوصیات، نوع داده های ستون می باشد، که تعریفی از نوع اطلاعاتی که درستونها ذخیره خواهند شد می باشد. SQL Server یک محدوده وسیعی از انواع داده ها را فراهم آورد که در جدول 1-5 نشان داده شده است. به طور کلی انواع داده ها به وسیله SQL Server فراهم می گردد، همچنین شما می توانید خودتان تعریف کنید. شما خواهید آموخت که چگونه این را در درس 9 انجام دهید.
مقادیر قابل قبول انواع داده
مقادیر عددی
مقادیر اعداد صحیح از 63^2- تا1-63^2 bight
مقادیر اعداد صحیح از 31^2- تا 1-31^2 Int
مقادیر اعداد صحیح از 15^2- تا 1-15^2 Smallint
مقادیر اعداد صحیح از 0 تا 255 Tinyint
مقادیر اعداد صحیح با ارزش 0 و 1 bit
مقادیر مقیاس با دقت ثابت شده از 1+38^10 تا 1-38^10 decimal
مقادیر Decimal همچنین می تواند تعریف شود به صورتNumeric ، دامنه مقادیر یکسان می باشد.
مقادیر Monetary (مالی) از 63^2- تا 1-63^2 (مقادیر Money تا 0.0001 از هرواحد دقت دارد). Money
مقادیرMonetary از 3648 . 748 . 214- تا 3647 . 748 . 214 می باشد Smallmoney
(مقادیر Small Monetary تا 0001/0 واحد دقیق می باشد).
مقادیر صحیح شناور (متغیر) از 308+E1.79- تا 308+E1.79 (مقادیر Float فقط تقریبی می باشد) Float
مقادیر صحیح شناور متغیر از 38+E3.40- تا 38+E3.40 می باشند (مقادیر real فقط تقریبی می باشد) real
مقادیر تاریخ و زمان از 1.1753 ژانویه تا 31.9999 دسامبر می باشد datetime
(مقادیر Date Time تا 3 هزارم ثانیه یا 3.33 میلی ثانیه دقت دارد) Smalldatedtime
مقادیر تاریخ و زمان از 1 ژانویه و 1900 تا 6 ژوئن و 2079 می باشد (مقادیرSmalldatetime تا 1 دقیقه دقت دارند)
مقادیر کاراکتری
مقادیر حرفی کدگذاری نشده با طول ثابت با طول حداکثر 8000 حرف می باشد. Char
مقادیر حرفی کدگذاری نشده با طول متغیر با طول حداکثر 8000 حرف می باشد. Varchar
داده کدگذاری شده با طول متغیر با طول حداکثر 1-31^2 (647 . 741 . 073 . 1) حرف می باشد. Text
داده کدگذاری شده با طول ثابت با طول حداکثر 4000 حرف می باشد Nchar
داده کدگذاری نشده با طول متغیر با حداکثر طول 4000 حرف می باشد nvarchar
داده کدگذاری شده با طول متغیر با حداکثر طول 1-30^2 (823 . 741 . 073 . 1) حرف می باشد ntext
مقادیر باینری (1 و 0)
داده باینری با طول ثابت با حداکثر طول 8000 بایت می باشد binary
داده باینری با طول متغیر با حداکثر طول 8000 بایت می باشد Varbinary
داده باینری با طول متغیر با حداکثر طول 1-31^2 (647 . 783 . 147 . 2) بایت می باشد Image
مقادیر دیگر
یک مرجع مبناء برای یک Cursor می باشد (یکCursor یک ماهیتی است که یک مرجع مبناء را برای یک سطر مشخص در یک Result Set نشان می دهد. Cursor
یک شمار واحد پایگاه داده است که به هنگام می شود هر زمانی که یک سطر به هنگام شود. (نوع داده rowversion در نسخه قبلی از Timestamp SQL Server نامیده می شود) rowversion
مقادیری از هر نوع غیر از text ، ntext ، rowversion (timestamp) و sql - variant می باشد. یک معرف واحد کلی GUID می باشد. Uniqveidentifier
ایجاد کردن یک جدول جدید
جداول تهیه و با استفاده از طراح جدول Enterprise Manager نگهداری می شوند. اولین گام ایجاد و نامگذاری جدول به وسیله باز کردن Table Designer برای یک جدول جدید می باشد.
ایجاد یک جدول جدید
1- در پایگاه داده Aromatherapy بر روی پوشه Table می رویم. SQL Server یک لیستی از جداول موجود را نشان می دهد.
2- دکمه New را روی نوار ابزار کلیک می کنیم. SQL Server ، Table Designer را باز می کند.
3- دکمه Properties را در نوار ابزار کلیک می کنیم. SQL Server کادر محاوره ای Tables Properties را باز می کند.
4- نام جدول را به 5 Lesson تغییر می دهیم.
5- Close را کلیک می کنیم. SQL Server کادر محاوره ای Properties را می بندد.
اضافه کردن ستونها به یک جدول
اگر چه یک جدول یک Properties معین برای خود دارد. از قبیل نامی که ما در تمرین آخر به کار بردیم. یک جدول اصولاً به وسیله ستونها که در آن موجود است تعریف می شود.
اضافه کردن یک ستون عددی به جدول
1- My Number را در سل Column Name تایپ کرده و سپس Tab را فشار می دهیم. SQL Server، char را به عنوان نوع داده پیشنهاد می دهد.
2- نوع داده را برای decimal تغییر می دهیم. SQL Server طول ستون را به 9 تغییر داده و صحت، مقیاس و مشخصات فیلدها را تأیید می کند.
3- در سل Description ، Sample Numeric Column را تایپ می کنیم.
4- Precision ستون را به 5 و Scale را به 2 تغییر می دهیم. SQL Server طول ستون را به 5 برای نمایش دادن Precision جدید تغییر می دهد.
شرح ستون
توانایی اضافه کردن یک شرح برای یک ستون در enterprise Manager در 2000 SQL Server جدید می باشد که بخشی از عاملیت جدید است که به طور extended Properties شناخته می شود. مایکروسافت مقداری از خصوصیات گسترده شده را از قبیل Column description به عنوان بخشی از نصب Server استاندارد ایجاد کرده است. شما می توانید به طور کلی خصوصیات گسترده شده را برای ذخیره اطلاعات ویژه سایت یا اطلاعات ویژه کاربردی در حدود شئی های پایگاه داده ایجاد کنید. extended Properties نام کاربر تعریف شده و یک مقدار دارد که مقادیری از یک extended Properties مقادیر sql - variant می باشد که می تواند شامل بیش از 7500 بایت از داده ها باشد. شما می توانید extended Properties چندگانه را برای هر شئی با استفاده از روشهای ذخیره شده تعریف کنید. برای اطلاعات بیشتر در مورد روشهای ذخیره شده (Stored Procedures) به درس 28 رجوع کنید.
Precision و Scale (دقت و مقیاس)
دقت یک ارزش عددی مقدار ماکزیمم از رقمهای decimal است که ارزش آن را نشان می دهد. برای سمت چپ و راست از نقطه Decimal . مقیاس یک ارزش عددی رقمهای سمت راست از نقطه Decimal می باشد. برای مثال، مقدار عددی 311 . 3647 یک دقت 7 دارد (مجموع شماره رقمها) و یک مقیاس 3 (رقمهای سمت راست از نقطه Decimal) را دارا می باشد. آن مهم می باشد که بدانیم دقت و مقیاس ارزش یک عدد بر روی طول یک ستون تأثیر نمی گذارد. نوع داده طول ستون را تعیین می کند. دقت و مقیاس تعیین می کند که چگونه SQL Server داده های ذخیره شده در ستونها را تفسیر می کند.
اضافه کردن یک ستون Identity به جدول
1- در یک سل خالی در ستون Column Name کلیک می کنیم.Myidentity را تایپ کرده و سپسTab را فشار می دهیم. SQL Server ، char را به عنوان یک نوع داده پیشنهاد می کند.
2- نوع داده ها به decimal تغییر می دهیم. SQL Server طول ستون را به 9 تغییر داده و فیلدهای Identity و Scale و Precision را تأیید می کند.
3- Allow Nulls را تیک می کنیم.
Nulls
ارزش Nulls یک نوع خاصی از یک ارزش در تکنولوژی رابطه ای می باشد که استفاده می شود برای نشان دادن اینکه یک ارزش ناپیدا یا غیر موجود می باشد استفاده کردن از Nulls قدری پیچیده و مسئله ساز و قطعاً مورد بحث می باشد.
4- در سل Description و Sample Identity Column را تایپ می کنیم.
5- فیلد Identity را به Yes تغییر می دهیم (نه برای Replication)SQL Server برای هر دوی از فیلد Identity Seed و فیلد Increment Identity مقدار 1 را پیشنهاد می دهد.
ارزشهای Identity
زمانی که شما خصوصیات Identity یک ستون را تنظیم می کنید، شما به SQL Server می گویید که یک مقدار را در داخل ستون که به طور واحد هر سطر را مشخص می کند قرار دهد. نوع داده انتخاب شده ماهیت دقیق از ستون را تعیین می کند. ستونهای Identity می توانند نوع داده هایی مانند int و Smallint و tinyint یا decimal داشته باشند. زمانی که SQL Server یک سطر را در داخل یک جدول که دارای یک ستون Identity است قرار می دهد. آن به طور خودکار ارزشی برای ستون مبنی بر ارزش استفاده شده اخیر (که با Identity Seed شروع می شود) و Identity Increment مشخص شده زمانی که جدول ایجاد شده بود ایجاد می کند. برای مثال، اگر یک ستون Identity به عنوان یک Small int با Identity Seed ، 50 و یک Identity Increment ، 5 تعریف شود اولین سطر عدد 50 و دومین سطر 55 و سومین سطر 60 و غیره تخصیص داده می شود فقط یک ستون در یک جدول می تواند تنظیمات Identity Property را داشته باشد.
اضافه کردن ستون GUID به جدول
1- در یک سل خالی در ستون Column Nameکلیک کرده، My Guid را تایپ کرده و سپس Tab را فشار می دهیم. SQL Server ، نوع داده char را پیشنهاد می دهد.
2- نوع داده را به Uniqueidentifier را تغییر می دهیم. SQL Server طول ستون را به 16 تغییر داده و فیلد IsrowGuid را تأیید می کند.
3- در سل Description ، Sample Guid تایپ می کنیم.
4- IsrowGuid را به Yes تغییر می دهیم. SQL Server یک مقدار پیش فرض به Newid( ) می دهد.
GUIDS
Guid که از GloballyUniqueIdentifier گرفته شده، یک مقادیر باینری (1 و 0) 16 بایتی می باشد که هیچ کامپیوتر دیگری در دنیا نخواهد مقدار آن را تولید کند. نوع داده uniqueidentifier برای ذخیره کردن Guids استفاده می شود. SQL Server به طور خودکار مقادیر Guid را از همان راهی که مقادیر Identity ایجاد می شود، فراهم نمی کند. زیرا یک جدول می تواند شامل Guids چندگانه باشد، اما فقط یک Identity منحصر به فرد باشد. اگر چه، تابع NEWID که SQL Server آن را به صورت پیش فرض در نظر می گیرد زمانی که خصوصیات IsrowGuid ، Yes می شود. یک Guid جدید بر خواهد گشت زمانی که سطر قرار داده می شود.
اضافه کردن یک ستون Data در جدول
1- در یک سل خالی در ستون Column Name کلیک کرده، Mydata را تایپ کرده و سپس Tab را فشار می دهیم. SQL Server ، char را به عنوان نوع داده در نظر می گیرد.
2- نوع داده را به datetime تغییر می دهیم. SQL Server طول ستون را به 8 تغییر می دهد.
3- در سل Sample Date Column Description را تایپ می کنیم.
اضافه کردن یک ستون Character به جدول
1- در یک سل خالی در ستون Column Name کلیک کرده، Mychar را تایپ و سپس Tab را فشار می دهیم. SQL Server ، char را به عنوان نوع داده در نظر می گیرد.
انواع داده های Character
SQL Server دو نوع مختلف از ستونها Character را پشتیبانی می کند. طول ثابت شده و طول متغیر که هر کدام در دو ""Flavors مختلف Unicode و Non-Unicode و 3 طول متفاوت می باشند. Unicode یک روش از علامت کد گذاری می باشد که انواع بایتهای دابل را پشتیبانی می کند. اگر یک ستون به طور طول متغیر نمایان شود (برای مثال، varchar یا text برای داده های Non-Unicode و nvarchar و ntext برای داده هایUnicode ) و SQL Server فقط خصوصیت داده های معین وارد شده را ذخیره خواهد ساخت. از طرف دیگر اگر ستون به صورت طول ثابت شده نمایان شود (char برای Non-Unicode داده nchar برای داده های Unicode) و SQL Server مقادیر وارد شده را با فضاهای Pad خواهد کرد.
2- طول ستون را به 25 تغییر می دهیم.
3- در سل Description ، Sample Character Column را تایپ می کنیم.
4- Unknown را در سل Default Valve تایپ می کنیم (اطمینان حاصل کنید که اطراف کلمه ویرگول داشته باشد).
مقادیر پیش فرض
یک Default Valve یک عددی می باشد که در داخل یک ستون قرار خواهد گرفت اگر کاربر به طور آشکار یکی را فراهم نکند. ما تاکنون دو نوع ویژه از مقادیر پیش فرض را دیده ایم default Values به وسیله SQL Server تهیه می شود زمانی که شما Identity Property را تنظیم می کنید و تابع NEWID به وسیله SQL Server تهیه می شود زمانی که شما IsrowGuid را تنظیم می کنید. در حقیقت، شما می توانید مقادیر پیش فرض را برای هر ستون مشخص کنید. مقادیر پیش فرض می تواند دائمی باشد مانند "Unknown" یا 123 توابعی از قبیل NEWID یا GETDATE یا عبارات ریاضی مانند 5+3 .
ذخیره کردن و بستن جداول
1- دکمه Save را در نوار ابزار Table Designer کلیک می کنیم. SQL Server تعریف جدول را ذخیره می سازد.
2- پنجره را می بندیم.
مدیریت جداول
اگر چه "Best Practice" امر می کند که طراحی پایگاه داده تان باید ثابت باشد قبل از اینکه شما پیاده سازی را شروع کنید. خوشبختانه SQL Server به انجام رسانی وظایف نگهداری را آسان می سازد.
تغییر دادن ستونها
شما می توانید مجدد Table Designer را برای یک جدول به وسیله کلیک راست کردن نام جدول در قاب Details باز کنید و Design Table را از منوی Context انتخاب کنید. همان موقعی که Table Designer باز می شود شما می توانید خصوصیات ستونهای موجود را تغییر دهید آنها را حذف و یا ستون جدیدی را اضافه کنید.
تغییر نام یک ستون
1- پوشه Tables را برای پایگاه داده Aromatherapy در درخت Console انتخاب می کنیم. SQL Server یک لیستی از جداول در قاب Details را نشان می دهد.
2- جدول 5 Lesson را در قاب Details کلیک راست کرده و Design Table را انتخاب می کنیم. SQL Server ، Table Designer را باز می کند.
3- Mychar را در سل Column Name انتخاب و MyCharacter را تایپ می کنیم. SQL Server ، Column Name را تغییر می دهد.
4- دکمه Save را در نوار ابزار Table Designer کلیک کرده و تغییرات را ذخیره می سازیم.
برداشتن یک ستون
1- ستون Mydate را به وسیله کلیک کردن روی gray Boy در سمت چپ از Column Name انتخاب می کنیم.
2- کلید Delete را فشار می دهیم. SQL Server ستون را برمی دارد.
3- کلید Save را برای ذخیره کردن تغییرات کلیک می کنیم.
4- پنجره Table Designer را می بندیم.
تغییر دادن جداول
به طور کلی برای تغییر تعریف ستونهای یک جدول، Enterprise Manager تغییر نام دادن جداول را آسان می سازد و جداول را از پایگاه داده حذف می کند.
تغییر نام یک جدول
1- پوشه Table را در پایگاه داده Aromatherapy در درخت Console راهبری می کنیم. SQL Server یک لیستی از جداول در قاب Details نشان می دهد.
2- جدول 5 Lesson را در قاب Details کلیک راست کرده و Rename را انتخاب می کنیم.
3- New Lesson 5 را تایپ و Enter را فشار می دهیم. SQL Server کادر محاوره ای Rename را نشان می دهد که به شما اخطار می کند که تغییر در نام جدول هر رابط برای آن را در شئی های دیگر، باطل خواهد کرد.
4- View Dependencies را برای نشان دادن هر شئی که ممکن است به وسیله تغییرات تأثیر یابد را کلیک می کنیم. SQL Server کادر محاوره ای Dependencies را باز می کند.
5- Close را برای مرخص کردن کادر محاوره ای کلیک می کنیم.
6- Yes را در کادر محاوره ای Rename برای تأیید تغییر نام کلیک می کنیم. SQL Server نشان می دهد یک متنی را که تکمیل موفقیت آمیز تغییر نام را تأیید می کند.
برداشتن یک جدول
1- New Lesson 5 را در قاب Details انتخاب می کنیم.
2- کلید Delete را فشار می دهیم. SQL Server کادر محاوره ای Drop Object را نشان می دهد.
راهنمایی: شما می توانید دکمه Show Dependencies را برای نشان دادن هر Objects که متأثر خواهد شد به وسیله حذف جدول کلیک کنید.
3- Drop All را کلیک می کنیم. SQL Server جدول را از پایگاه داده برمی دارد.
مهم: زمانی که شما یک جدول را حذف می کنید، جدول و همه داده هایش به طور دائمی از پایگاه داده برداشته می شود و تنها راه برای بازگرداندن آن نسخه پشتیبان پایگاه داده می باشد.