انجمن انیاک
آموزش SQL Server 2016 - فصل سوم - ایجاد پایگاه داده و جدول در SQL Server 2016 - نسخه‌ی قابل چاپ

+- انجمن انیاک (http://forum.learninweb.com)
+-- انجمن: آموزش های تصویری (/forumdisplay.php?fid=7)
+--- انجمن: آموزش تصویری SQL Server (/forumdisplay.php?fid=17)
+--- موضوع: آموزش SQL Server 2016 - فصل سوم - ایجاد پایگاه داده و جدول در SQL Server 2016 (/showthread.php?tid=1133)



آموزش SQL Server 2016 - فصل سوم - ایجاد پایگاه داده و جدول در SQL Server 2016 - learninweb - 01-24-2017 07:19 PM

با سلام خدمت تمامی کاربران گرامی در زیر آموزش تصویری SQL Server 2016 را بررسی میکنیم توجه کنید که شما میتوانید نرم افزار آموزش SQL Server 2016 را به همراه چند بخش آموزشی دیگر که بصورت تعاملی و شبیه سازی شده با صدا و متن فارسی درس داده شده است و رایگان نیز میباشد از لینک آموزش SQL Server 2016 دانلود کنید. در نرم افزارهای آموزشی کارهای بیان شده را باید در محیط شبیه سازی شده انجام دهید. در ابتدا و انتهای این آموزش تصویری نیز کل آموزش (هم متن و هم تصویری) در فایل PDF و Word موجود است.
در لینک آموزش SQL Server میتوانید ورژنهای دیگر آموزش SQL Server را مشاهده و دانلود کنید.

دانلود فایل pdf آموزش تصویری SQL Server 2016
دانلود فایل word آموزش تصویری SQL Server 2016
دانلود آموزش SQL Server 2016 تحت ویندوز و اندروید
همانطور که می‌دانیدSQL Server یک پایگاه داده رابطه‌ای است که می‌تواند دارای چندین نمونه باشد. هر نمونه می‌تواند شامل چندین پایگاه داده رابطه‌ای باشد و هر پایگاه داده می‌تواند حاوی چندین جدول باشد. هر جدول نیز می‌تواند یک رابطه منطقی با جدولهای دیگر داشته باشد. هر جدول هم شامل صفر یا چندین رکورد است.
با استفاده از نرم‌افزار SQL Server Management Studio می‌توانید به پایگاه داده‌های موجود در یک نمونه از SQL Server و اشیاء موجود در آن دسترسی داشته باشید. هر چیزی که داخل پایگاه داده است مانند جدول، دید، ایندکس، روالهای ذخیره شده و ... اشیاء پایگاه داده هستند. در این بخش می‌خواهیم به بررسی روش ایجاد پایگاه داده و جدول بپردازیم.
برای آنکه مفهوم پایگاه داده، جدول و رکورد را بهتر متوجه شویم به بررسی یک مثال عملی می‌پردازیم. در این مثال می‌خواهیم دو پایگاه داده به نامهای Eniac و PA ایجاد کنیم که به ترتیب حاوی اطلاعات دو شرکت انیاک و پیروز الوان هستند. در پایگاه داده Eniac سه جدول به نام کتاب (Book)، مشتری (Customer) و سفارش (Order) وجود دارد.
در جدول کتاب چهار فیلد به نامهای کد کتاب (ID)، نام کتاب (Name)، مقدار موجودی (Qty) و قیمت (Price) وجود دارد. در جدول مشتری نیز چهار فیلد به نامهای کد مشتری (ID)، نام مشتری (Name)، آدرس (Add) و تلفن (Tel) وجود دارد. جدول سفارش نیز شامل فیلدهای کد مشتری (CID)، کد کتاب (BID) و تعداد (Qty) است.
همانطور که متوجه شده‌اید یک رابطه منطقی بین جدول مشتری و جدول سفارش و یک رابطه منطقی بین جدول کتاب و سفارش وجود دارد. برای مثال با توجه به تصویر مشخص است که یک مشتری به نام نیما کتابی به نام هک را به تعداد پنج عدد خریداری کرده است. مشخصات مشتری نیما در جدول مشتری و مشخصات کتاب هک در جدول کتاب وجود دارد.
در ادامه این بخش می‌خواهیم دو پایگاه داده و سه جدول موجود در پایگاه داده Eniac را تعریف کنیم. برای اجرای برنامه SQL Server Management Studio روی دکمه Start کلیک کنید.
[تصویر:  001.jpg]

روی گزینه SQL Server Management Studio کلیک کنید.
[تصویر:  002.jpg]

مشاهده می‌کنید اطلاعات مربوط به آخرین باری که به یک نمونه وصل شدیم، بصورت خودکار وارد شده است. در فصل قبل با این پنجره آشنا شدید. روی دکمه Connect کلیک کنید.
[تصویر:  003.jpg]

در ابتدا باید سرور یا نمونه مورد نظر را انتخاب کنیم. در اینجا فقط یک نمونه به نام NIMA وجود دارد با کلیک بر روی هر نمونه اطلاعات مربوط به آن نمونه در پنجره Object Explore نمایش داده می‌شود. به یاد دارید که در فصل قبل روش اضافه کردن یک نمونه را بررسی کردیم. روی علامت + کنار گزینه Database واقع در پنجره Object Explorer کلیک کنید.
در صورتیکه پنجره Object Explorer نمایان نیست از منوی View گزینه Object Explorer را انتخاب نمائید
[تصویر:  004.jpg]

در شاخه System Databases چند جدول مربوط به سیستم وجود دارد. برای ایجاد یک پایگاه داده جدید روی گزینه Databases راست کلیک کنید.
[تصویر:  005.jpg]

روی گزینه New Database کلیک کنید.
[تصویر:  006.jpg]

با کلیک بر روی گزینه Options می‌توانید تنظیمات مختلفی را تغییر دهید. در ابتدا باید نام پایگاه داده را تعیین کنیم، عبارت Eniac را بعنوان نام پایگاه داده وارد نمائید.
[تصویر:  007.jpg]

در قسمت Database files لیست فایلهای مربوط به این پایگاه داده نمایش داده می‌شود. بصورت پیش‌فرض دو فایل ایجاد شده است. یک فایل مخصوص اطلاعات موجود در پایگاه داده که با پسوند mdf ذخیره می‌شود و یک فایل جهت ذخیره ثبت رویدادهای مختلف (فایل Log) که با پسوند ldf ذخیره می‌شود. با استفاده از دو دکمهAdd و Remove که در پایین پنجره قرار دارند می‌توانید فایلهای جدیدی به پایگاه داده اضافه یا حذف نمائید.
در قسمت Initial Size اندازه اولیه فایل تعیین می‌شود. بصورت پیش‌فرض اندازه فایل داده‌ها برابر 8MB و اندازه فایل Log برابر 8MB است. در صورتیکه فکر می‌کنید حجم اطلاعات شما زیاد است می‌توانید مقدار اولیه این فایل را افزایش دهید. البته با قرار گرفتن اطلاعات در این فایل بصورت خودکار حجم آن افزایش خواهد یافت. روی دکمه OK کلیک کنید.
[تصویر:  008.jpg]

مشاهده می‌کنید که یک پایگاه داده به نام Eniac در پایین لیست Databases اضافه شده است. در صورتیکه بعد از ایجاد پایگاه داده نام آن را مشاهده نکردید روی گزینه Databases راست کلیک کنید و گزینه Refresh را انتخاب نمائید. در ادامه به همین ترتیب یک پایگاه داده دیگر به نام PA نیز تعریف می‌کنیم.
مقادیر پیش‌فرض در زمان تعریف پایگاه داده از تنظیمات مربوط به پایگاه داده Model واقع در قسمت System Database خوانده می‌شود. برای تغییر این خصوصیات می‌توانید روی پایگاه داده Model راست کلیک کرده و گزینه Properties را انتخاب نمائید. اکنون با تغییر خصوصیات پایگاه داده Model مقادیر پیش‌فرض جهت تعریف پایگاه داده نیز تغییر خواهد یافت.
حال دو پایگاه داده به نامهای PA و Eniac تعریف شده ‌است. به یاد دارید که در پایگاه داده Eniac می‌خواهیم سه جدول ایجاد کنیم. پس قدم بعد از ایجاد پایگاه داده ایجاد یک جدول در پایگاه داده است تا داده‌ها را در آن ذخیره کنیم. برای مشاهده جداول موجود در پایگاه داده Eniac روی علامت + کنار گزینه Eniac کلیک کنید.
[تصویر:  009.jpg]

روی علامت + کنار گزینه Tables کلیک کنید.
[تصویر:  010.jpg]

مشاهده می‌کنید که فقط جدول مربوط به سیستم در این قسمت وجود دارد. برای ایجاد یک جدول جدید روی گزینه Tables راست کلیک کنید.
منوی فرعیNew را باز کنید.
روی گزینه Table کلیک کنید.
با استفاده از گزینه Memory Optimized table برای سرعت بیشتر جدول در حافظه ذخیره می‌شود
[تصویر:  011.jpg]

در پایگاه داده رابطه‌ای داده‌ها در جدول ذخیره می‌شوند. هر جدول در پایگاه داده رابطه‌ای یک جدول دو در دو است که دارای سطر و ستون می‌باشد. هر ستون یک فیلد و هر سطر یک رکورد نامیده می‌شود. ستونها یا فیلدها در این قسمت تعریف شده و در ردیفها یا رکوردها داده‌ها ذخیره می‌شوند‌.
در ابتدا باید نام جدول را تعیین کنیم. نام جدول در پنجره خصوصیات یا Properties تعیین می‌گردد. در صورتی که پنجره خصوصیات را مشاهده نمی‌کنید از منوی View گزینه Properties Window را انتخاب کنید. (کلید میانبر F4 است.) در صورتیکه نام جدول را تعیین نکنید بعد از تعریف جدول در زمان ذخیره‌سازی نام جدول از شما پرسیده می‌شود. روی گزینه Name دابل کلیک کنید.
عبارت Book را وارد کنید.
[تصویر:  012.jpg]

برای تعریف اولین فیلد این جدول در قسمت Column Name کلیک کنید.
اولین فیلد کد مشتری است که آن را می‌خواهیم ID نامگذاری کنیم. عبارت Id را وارد کنید.
[تصویر:  013.jpg]

قدم بعد تعیین نوع داده‌ای است که در این فیلد وارد می‌شود. روی ستون مربوط به Data Type کلیک کنید.
[تصویر:  014.jpg]

روی لیست باز شونده کلیک کنید.
در این مثال کد هر کتاب یک عدد از 1 تا 1000 می‌تواند باشد. در جدول زیر محدوده تعریف چند نوع عدد را مشاهده می‌کنید. با توجه به جدول باید از نوع Smallint استفاده کنیم. توجه کنید که هر نوع داده مقداری از فضای ذخیره سازی را اشغال می‌کند و هر چه فضای ذخیره شده کمتر باشد، حجم فایل جدول کمتر شده و عملیاتهایی که می‌خواهید بر روی جدول انجام دهید سریعتر اجرا می‌شوند.
روی گزینه Smallint کلیک کنید.
[تصویر:  015.jpg]

هر فیلد دارای یک مشخصه مهم دیگر نیز می‌باشد. بصورت پیش‌فرض هر فیلدی که تعریف می‌شود می‌تواند در زمان مقدار‌دهی برابر Null نیز باشد. یعنی هیچ داده‌ای در آن وارد نشود. در این مثال در صورتیکه رکوردی بخواهد وارد گردد باید حتماً کد کتاب در آن وارد شود. پس خصوصیت Allow Nulls باید برابر باNo باشد. روی جعبه چک
Allow Nulls کلیک کنید.
[تصویر:  016.jpg]

فیلد بعدی که می‌خواهیم تعریف کنیم نام کتاب است. در قسمت Column Name کلیک کنید.
عبارت Name را وارد کنید.
[تصویر:  017.jpg]

روی ستون مربوط به Data Type کلیک کنید.
نوع char(n) به تعدادی که توسط n تعیین می‌شود کاراکتر قبول می‌کند. عدد n می‌تواند بین یک تا هشت هزار باشد. برای مثال با انتخاب نوع char(3) فقط سه کاراکتر می‌تواند در فیلد قرار بگیرد. میزان مصرف فضای این نوع وابسته به تعداد کاراکترهای آن است هر کاراکتر یک بایت اشغال می‌کند.
در این مثال نام کتاب یک عبارت به زبان فارسی است. پس باید از نوع داده‌ای استفاده کنیم که بتواند Unicode را نیز پشتیبانی کند. نوع nchar(n) کاراکترهای Unicode را قبول می‌کند. (چون Collation Persian را در زمان نصب انتخاب کردیم.)میزان مصرف این نوع داده دو بایت به ازای هر کاراکتر است. عدد n می‌تواند بین یک تا چهار هزار تعیین شود.
برای ذخیره‌سازی رشته دو نوع دیگر به نام varchar(n) و nvarchar(n) نیز وجود دارد. از این دو نوع زمانی استفاده می‌شود که میزان فضایی که داده‌ها اشغال می‌کنند بسیار متغیر است. بجای n می‌توانید از عبارت MAX استفاده کنید تا حداکثر فضای امکان پذیر در اختیار باشد.
در این مثال می‌خواهیم یک فضای ثابت با طول 20 کاراکتر داشته باشیم. پس باید از نوع nchar(20) استفاده کنیم. در ادامه عدد 10 را به 20 تغییر می‌دهیم.
مشاهده می‌کنید که در قسمت Length عدد 20 نوشته شده است. در این قسمت نیز می‌توانید طول فیلد را تغییر دهید.
این جدول دارای یک فیلد دیگر به نام تعداد نیز است. برای تعریف این فیلد روی قسمت نام ستون کلیک کنید.
عبارت Qty را تایپ کنید.
[تصویر:  018.jpg]

روی ستون مربوط به Data Type کلیک کنید.
[تصویر:  019.jpg]

روی لیست باز شونده کلیک کنید.
در فیلد تعداد یا Qty یک عدد وارد می‌شود. این عدد بین صفر تا 10 هزار است. بنابراین نوع Smallint را باید انتخاب کنیم. روی گزینه Smallint کلیک کنید.
[تصویر:  020.jpg]

این فیلد نیز نمی‌تواند خالی باشد، روی جعبه چک Allow Nulls کلیک کنید.
[تصویر:  021.jpg]

تا اینجا فیلدهای لازم را تعریف کردیم. روی دکمه Save کلیک کنید.
[تصویر:  022.jpg]

مشاهده می‌کنید که جدول Book در قسمت جدولهای پایگاه داده Eniac تعریف شده است. روی دکمه Close کلیک کنید.
( در صورتی که شما جدول طراحی شده خود را نمی‌بینید روی دکمه (Refresh) در پنجره Object Explorer کلیک کنید.)
[تصویر:  023.jpg]

در ادامه به همین ترتیب دو جدول Order و Customer را تعریف می‌کنیم. مشخصات فیلدهای این ‌دو جدول به صورت زیر است :‌
بعد از تعریف جدول می‌توانید فیلدهای جدول را تغییر دهید. برای مثال روی جدول Order راست کلیک کنید.
[تصویر:  024.jpg]

در این منو با انتخاب گزینه Design می‌توانید فیلدهای جدول را تغییر دهید. با انتخاب گزینه Edit Top 200 Rows 200 ردیف اول جدول را مشاهده کنید. با انتخاب گزینه Rename می‌توانید نام جدول را تغییر دهید و با استفاده از گزینه Delete جدول را حذف کنید. با کلیک بر روی گزینه Select Top 1000 Rows دستور Select برای مشاهده 1000 ردیف اول نمایش داده می‌شود. این دستور را در بخشهای بعدی بررسی خواهیم کرد. روی گزینه Design کلیک کنید.
[تصویر:  025.jpg]

اکنون می‌توانید تعریف فیلدهای جدول را تغییر دهید. در صورتی که با تغییر اطلاعات جدول و کلیک بر روی دکمه Save پیغام خطای "Saving changes is not permitted" نمایش داده شد وارد منوی tools شده و گزینه Options را انتخاب کنید. سپس روی Designer کلیک کرده و گزینه Prevent saving changes that require table re-creation را غیر فعال کنید. اکنون می‌توانید ساختار جدید را ذخیره کنید.
تمامی اطلاعات مربوط به سفارشات، مشتریان و کتابها در این سه جدول ذخیره می‌شود. درصورتیکه بخواهیم تمامی اطلاعات را در یک جدول ذخیره کنیم افزونگی داده‌ها بسیار زیاد می‌شود. برای مثال فرض کنید که در یک رکورد باید اطلاعات مشتری، تعداد سفارش و اطلاعات کتاب وارد شود. در یک رکورد دیگر دوباره باید اطلاعات همان مشتری، میزان سفارش و اطلاعات یک کتاب دیگر وارد شود. به این ترتیب در دو رکورد، دو بار باید مشخصات مشتری وارد شود.
پایگاه داده رابطه‌ای توسط رابطه‌ای که بین جداول تعیین می‌شود معنی می‌گیرد. این رابطه کمک می‌کند تا از افزونگی داده‌ها و تکراری شدن آنها جلوگیری شود. برای تعریف رابطه از کلیدهای Primary (اصلی) و Foreign (خارجی) استفاده می‌کنیم.
یک کلید اصلی یک شاخص یکتا است که یک ردیف را مشخص می‌کند. برای مثال کد کتاب در جدول کتاب یک کلید اصلی می‌تواند باشد. هر کتاب دارای یک کد است که کتابهای دیگر دارای آن کد نیستند. در بعضی از حالات ممکن است که یک جدول دارای دو کلید اصلی نیز باشد. پس در این مثال دو فیلد کد کتاب از جدول کتاب و فیلد کد مشتری از جدول مشتری کلید اصلی هستند.
در این مثال یک رابطه بین فیلد کد کتاب از جدول کتاب با فیلد کد کتاب در جدول سفارش نیز وجود دارد. فیلد کد کتاب در جدول سفارش یک کلید خارجی است. پس یک فیلد که در یک جدول کلید خارجی است در یک جدول دیگر یک کلید اصلی می‌باشد. در ادامه روش تعیین کلید اصلی و رابطه را بررسی می‌کنیم.
در اولین قدم فیلد کد کتاب در جدول کتاب را می‌خواهیم به عنوان کلید اصلی تعریف کنیم. روی جدول Book راست کلیک کنید.
[تصویر:  026.jpg]

روی گزینه Design کلیک کنید.
[تصویر:  027.jpg]

روی فیلد Id راست کلیک کنید.
با استفاده از دو گزینه Insert Column و
Delete Column به ترتیب می‌توانید یک فیلد جدید اضافه و فیلدی که بر روی آن راست کلیک کردید را حذف نمائید. روی گزینه Set Primary Key کلیک کنید.
( یک راه دیگر انتخاب فیلد و کلیک بر روی دکمه Primary Key Set است)
[تصویر:  028.jpg]

مشاهده می‌کنید که یک علامت کلید در سمت چپ فیلد ظاهر شده است به این ترتیب فیلد Id بعنوان یک فیلد کلید اصلی تعیین شده است. در زمان تعریف جدول نیز می‌توانید این فیلد را بعنوان کلید اصلی تعریف نمائید. روی دکمه Save کلیک کنید.
[تصویر:  029.jpg]

روی دکمه Close کلیک کنید.
[تصویر:  030.jpg]

به همین ترتیب فیلد Id جدول Customer را نیز به‌عنوان یک کلید اصلی تعریف کرده‌ایم. حال نوبت به تعریف رابطه بین فیلدها رسیده است. در هر محلی واقع در قسمت تعریف فیلدها راست کلیک کنید.
[تصویر:  031.jpg]

روی گزینه Relationships کلیک کنید.
[تصویر:  032.jpg]

روی دکمه Add کلیک کنید.
[تصویر:  033.jpg]

بصورت خودکار یک رابطه ایجاد شده است. در قسمت Table And Columns Specification کلیک کنید.
[تصویر:  034.jpg]

روی دکمه مشخص شده کلیک کنید.
[تصویر:  035.jpg]

در ابتدا می‌خواهیم رابطه جدول سفارش با جدول کتاب را تعریف کنیم. در ادامه عبارت FK_Order_Book را بعنوان نام این رابطه وارد می‌کنیم.
در قسمت Primary Key Table باید نام جدول و نام فیلدی که دارای کلید اصلی می‌باشد را تعیین کنیم. روی لیست باز شونده کلیک کنید.
[تصویر:  036.jpg]

روی گزینه Book کلیک کنید.
[تصویر:  037.jpg]

در قسمت فیلدهای این جدول کلیک کنید.
[تصویر:  038.jpg]

روی لیست باز شونده فیلدها کلیک کنید.
روی گزینه Id کلیک کنید.
[تصویر:  039.jpg]

حال باید کلید خارجی را تعیین کنیم. روی قسمت فیلدهای جدول Order کلیک کنید.
روی لیست باز شونده فیلدها کلیک کنید.
روی گزینه BId کلیک کنید.
[تصویر:  040.jpg]

روی دکمه OK کلیک کنید.
[تصویر:  041.jpg]

به همین ترتیب نیز یک رابطه بین فیلد Id جدول Customer و فیلد Cid جدول Order ایجاد می‌کنیم.
حال دو رابطه در این جدول تعریف شده است. روی دکمه Close کلیک کنید.
[تصویر:  042.jpg]

روی دکمه Save کلیک کنید
[تصویر:  043.jpg]

برای ذخیره تغییرات انجام شده، روی دکمه Yes کلیک کنید.
[تصویر:  044.jpg]

در یک پایگاه داده برای درستی، دقت و سازگاری داده یعنی جامعیت داده (Data Integrity) می‌توانید یک یا چند قانون تعیین نمائید. در SQL Server پنج روش برای ایجاد جامعیت داده وجود دارد. جامعیت داده را در فصل نهم بیشتر بررسی می‌کنیم.
1) Null : زمانی که این محدودیت اعمال شود. یک فیلد حتماً باید حاوی داده باشد.
2) Check : توسط این محدودیت می‌توانید تعیین کنید که مقدار یک فیلد معتبر است یا خیر. برای مثال ممکن است که بخواهید سن کارمندان یک شرکت بین 18 تا 60 سال باشد.3) Unique : توسط این قید تعیین می‌کنید که مقدار یک فیلد در هیچکدام از فیلدهای دیگر در یک ستون قابل تکرار نیست.
4) Primary Key (کلید اصلی): این محدودیت باعث می‌شود تا مقدار یک فیلد در ردیفهای دیگر تکرار نشود. برای مثال کتابی با کد 1 دیگر نباید در هیچ کدام از ردیفها تکرار شود.
5) Foreign Key (کلید خارجی) : این قید به یک مقدار یکتا در یک جدول دیگر در همان پایگاه داده اشاره دارد. مانند فیلد کد کتاب یا کد مشتری در جدول سفارش.
همیشه سعی کنید که قواعد جامعیت داده را در زمان طراحی جدول تعیین کنید. اگر این قواعد را بخواهید بعد از ورود داده در جدول تعیین کنید ممکن است که نیاز به حذف مقداری از داده‌ها داشته باشید که کار زمانگیری است.
می‌خواهیم با استفاده از Check یک محدودیت برای جدول سفارش ایجاد کنیم تا هیچ مشتری نتواند در یک سفارش بیش از 100 کتاب را سفارش دهد. برای این کار روی فیلد Qty راست کلیک کنید.
[تصویر:  045.jpg]

روی گزینه Check Constraints کلیک کنید.
[تصویر:  046.jpg]

روی دکمه Add کلیک کنید.
[تصویر:  047.jpg]

در جعبه متن Expression باید عبارت مورد نظر خود را وارد نمائیم. در جعبه متن Expression کلیک کنید.
عبارت Qty<=100 را وارد کنید.
[تصویر:  048.jpg]

در این قسمت می‌توانید از اپراتورهای شرطی نظیر AND، Or و Not استفاده نمائید. بصورت پیش‌فرض نام این محدودیت عبارت CK_Order است که می‌توانید آن را تغییر دهید. به همین ترتیب می‌توانید محدودیتهای دیگر نیز برای داده‌‌ها تعیین نمائید. روی دکمه Close کلیک کنید.
[تصویر:  049.jpg]

روی دکمه Close کلیک کنید.
[تصویر:  050.jpg]

برای ذخیره تغییرات انجام شده، روی دکمه Yes کلیک کنید.
[تصویر:  051.jpg]

زمانیکه بر روی یک فیلد راست کلیک می‌کنید در منوی ظاهر شده یک گزینه به نام Index وجود دارد. اگر یک فیلد را به عنوان یک Index تعریف کنید باعث می‌شود که داده‌های مربوط به آن سریعتر دریافت شود. یک Index می‌تواند بر اساس یک یا چند فیلد باشد ولی توجه کنید که طول فیلدهائی که می‌خواهید بر اساس آنها Index ایجاد کنید نباید بیشتر از 900 بایت بشود. در این مثال بهتر است که فیلدهای کد کتاب و کد مشتری را در هر سه جدول بصورت Index تعریف نمائید.
در انتهای این بخش می‌خواهیم چند داده در جدول اضافه کنیم. روی جدول Book راست کلیک کنید.
در این قسمت در صورتیکه روی گزینه View Dependencies کلیک کنید، می‌توانید لیست جدول یا جدولهایی که به جدول Book وابسته هستند را مشاهده کنید. در این مثال جدول Order به جدول Book وابسته است.
برای افزودن داده به جدول Book روی گزینه Edit Top 200 Rows کلیک کنید.
[تصویر:  052.jpg]

اکنون می‌توانید مقادیر لازم را در رکورد وارد نمائید. برای مثال در قسمت Id کلیک کنید.
عدد یک را تایپ کنید.
[تصویر:  053.jpg]

دکمه Tab صفحه کلید را فشار دهید یا روی فیلد Name کلیک کنید.
[تصویر:  054.jpg]

اکنون عبارت شبکه را وارد کرده‌ایم. دکمه Tab صفحه کلید را فشار دهید یا روی فیلد Qty کلیک کنید.
عدد 3000 را تایپ کنید.
[تصویر:  055.jpg]

علامتهای قرمز نشان دهنده این است که هنوز اطلاعات در جدول ذخیره نشده است. دکمه Enter صفحه کلید را فشار دهید.
[تصویر:  056.jpg]

با این کار یک رکورد به جدول Book اضافه شده است.
دراینجا یک رکورد دیگر وارد کرده‌ایم. توجه کنید که کد کتاب در رکورد دوم با کد کتاب در رکورد اول برابر است و این شرط خلاف شرط کلید اصلی برای فیلد Id می‌باشد. برای مشاهده آنچه رخ می‌دهد کلید Enter صفحه کلید را فشار دهید.
[تصویر:  057.jpg]

مشاهده می‌کنید که خطا رخ داده است و رکورد در جدول ذخیره نمی‌شود. مطابق این خطا محدودیت موجود در یک کلید اصلی به نام PK_Book باعث شده تا این رکورد نتواند در جدول ذخیره شود. روی دکمه OK کلیک کنید.
[تصویر:  058.jpg]

کلید Escape صفحه کلید را دوبار فشار دهید.
روی جدول Order راست کلیک کنید.
روی گزینه Edit Top 200 Rows کلیک کنید
[تصویر:  059.jpg]

روی فیلد Cid کلیک کنید.
عدد یک را وارد کنید.
[تصویر:  060.jpg]

روی فیلد BId کلیک کنید یا کلید Tab صفحه کلید را فشار دهید.
عدد یک را وارد کنید.
[تصویر:  061.jpg]

روی فیلد Qty کلیک کنید یا کلید Tab صفحه کلید را فشار دهید.
عدد 200 را وارد کنید.
[تصویر:  062.jpg]

دکمه Enter صفحه کلید را فشار دهید.
[تصویر:  063.jpg]

با این کار یک خطا روی داده است. در این خطا بیان شده که مقدار فیلد Qty معتبر نیست. زیرا قاعده جامعیت داده به نام CK_Order برقرار نمی‌باشد. به یاد دارید که طبق این قاعده هیچ سفارشی نمی‌تواند بیش از 100 باشد. بر روی دکمه OK کلیک کنید.
[تصویر:  064.jpg]

عدد دو را وارد کنید.
دکمه Enter صفحه کلید را فشار دهید
[تصویر:  065.jpg]

مشاهده می‌کنید که دوباره یک خطا نمایش داده شده است. توسط این خطا بیان شده که توسط قاعده جامعیت داده به نام FK_Order_Customer شرایط کلید خارجی مهیا نیست. در ادامه نیز بیان شده است که این خطا در پایگاه داده Eniac جدول Customer، فیلد Id رخ داده است. روی دکمه OK کلیک کنید.
[تصویر:  066.jpg]

همانطور که به یاد دارید یک رابطه (به همراه کلید خارجی) بین جدول سفارش و جدول مشتری ایجاد کردیم. در این رکورد تعیین شده است که یک مشتری با کد شماره یک، سفارش را انجام داده ولی همانطور که می‌دانید در جدول مشتری هنوز داده‌ای وارد نشده است و چنین مشتری وجود ندارد.
مشاهده کردید که با استفاده از قواعد جامعیت داده توانستیم محدودیتهایی در ورود داده‌ها ایجاد کنیم تا درستی، دقت و سازگاری در اطلاعات پایگاه داده حفظ شود.
در صورتی که این رکوردها را با استفاده از یک
نرم‌افزار که مثلاً به زبان Visual Basic نوشته‌ایم می‌خواستیم وارد کنیم ( با استفاده از دستور Insert که در بخشهای بعدی بررسی می‌شود.) امکان درج رکورد وجود نداشته و خطا رخ می‌دهد پس در برنامه خود باید حتماً این خطاها را بررسی کنید و پیغامی مناسب به کاربر نمایش دهید
با استفاده از شاخه Database Diagram می‌توانید چندین نمودار پایگاه داده ایجاد نمائید. توسط این نمودارها رابطه بین جداول بیشتر مشخص می‌شود. روی شاخه Database Diagram راست کلیک کنید.
( در صورتی که در این قسمت خطای Database ‌diagram support objects cannot be installed because this database does not have a valid owner‌ نمایش داده شد مبنی بر این است که صاحب پایگاه داده معتبر نیست برای این کار روی پایگاه داده (در اینجا Eniac) راست کلیک کرده و گزینه Properties را انتخاب کنید و سپس روی گزینه Files در سمت چپ کلیک کند و در قسمت Owner روی دکمه … کلیک کنید در ادامه روی دکمه Browse کلیک کنید و کاربر sa را انتخاب نمایئد و سه بار روی سه دکمه OK کلیک کنید. با این کار شما صاحب این پایگاه داده را کاربر sa تعیین کرده‌اید.) روی گزینه
New Database Diagram کلیک کنید.
[تصویر:  067.jpg]

روی دکمه Yes کلیک کنید.
( در صورتی که در این قسمت خطای Database diagram support objects cannot be installed because this ‌ database does not have a valid owner نمایش داده شد مبنی بر این است که صاحب پایگاه داده معتبر نیست برای این کار روی پایگاه داده (در اینجا Eniac) راست کلیک کرده و گزینه Properties را انتخاب کنید و سپس روی گزینه Files در سمت چپ کلیک کند و در قسمت Owner روی دکمه … کلیک کنید در ادامه روی دکمه Browse کلیک کنید و کاربر sa را انتخاب نمایئد و سه بار روی سه دکمه OK کلیک کنید. با این کار شما صاحب این پایگاه داده را کاربر sa تعیین کرده‌اید.)
[تصویر:  068.jpg]

اکنون لیست جدولهای موجود در این پایگاه داده نمایش داده شده است. می‌خواهیم سه جدول Book، Customer و Orders را به این جدول اضافه کنیم. اکنون جدول Book انتخاب شده است. روی دکمه Add کلیک کنید.
[تصویر:  069.jpg]

جدول Book به نمودار اضافه شده است. روی جدول Customer دابل کلیک کنید.
[تصویر:  070.jpg]

روی جدول Orders دابل کلیک کنید.
[تصویر:  071.jpg]

روی دکمه Close کلیک کنید.
[تصویر:  072.jpg]

روی دکمه Close کلیک کنید.
[تصویر:  073.jpg]

مشاهده می‌کنید که رابطه سه جدول بصورت خودکار نمایش داده شده است. با راست کلیک بر روی نمودار و انتخاب گزینه New Text Annotation می‌توانید توضیحاتی را بصورت متن بر روی نمودار بنویسید.
با استفاده از این نمودار ساختار پایگاه داده و رابطه بین جدولهای آن بسیار واضح می‌شود. به همین ترتیب می‌توانید چندین نمودار رسم کنید و رابطه بین آنها را نمایش دهید.
با راست کلیک بر روی نمودار و انتخاب گزینه Add Table می‌توانید یک جدول دیگر را به این نمودار اضافه کنید. با کلیک بر روی هر جدول و فشردن کلید Delete نیز یک جدول را می‌توانید از نمودار حذف کنید.
کاربرگرامی، شما اکنون در پایان این بخش قرار دارید
[تصویر:  074.jpg]


دانلود آموزش SQL Server 2016 تحت ویندوز و اندروید