در درس 5 راه اندازی اولیه Sql Server رو انجام دادیم در این درس ساخت دیتابیس جدید و Table رو آموزش دادم
برنامه Sql Server در ویندوز ( ما ویندوز داریم البته اورجینال ) را باز کنید :
سپس لاگین کنید ( در درس 5 توضیح داده شد ) و بر روی آیکون DataBase راست کلیک کنید و یک New database رو کلیک کنید مانند شکل زیر :
حالا پنجره نام گذاری روی دیتابیس جدید باز می شود و Add رو بزنید و OK کنید :
در درس های قبلی درباره بخش هایی نظیر Log و Primary و تعریف File Groups ها بحث شده است و ستون های شکل بالا رو توضیح دادم
ساخت Table هم مانند شکل زیر انجام میگیرد و در این بخش تمامی لایه ها و زیر لایه های دیتابیس مورد نظر که در اینجا دیجیکالا انتخاب شده رو ایجاد می کنیم
و یک Table دارای فیلد های زیر است :
سه فید اصلی Column Name | Data Type | Allow Nulls که در ستون Column Name لایه ها و زیر لایه ها رو ایجاد می کنیم که در اینجا Supplier نوشتم تا اعضای تامین کننده دیجیکالا رو تعریف کنم | در بخش Data Type هم مقداردهی و نوع داده ها رو تعریف می کنیم که از نوع nvarchar انتخاب شده یعنی طول مقادیر کاراکتری باشند و n به معنی Nationallity بودن فونت و قلم است که هر زبانی رو پشتیبانی کند ( اگر n هر جا دیدین یعنی 2 بایت فضا اشغال می کند )
- حالا Primary key رو با راست کلیک روی فیلد اصلی ایجاد می کنیم منظور از Primary Key در پایگاه داده این است که موجودیت اصلی و کامل را انتخاب کنیم
بعد با کلید F4 یا رفتن به پایین صفحه حالت Identity Seed رو از No به Yes تبدیل می کنیم تا موجودیت ها رو تعریف کنیم و روابط بین اونها رو عدد گذاری کنیم
نکته مهم : یک ارتباط درختی در میان موجودیت ها ( Identity ) اعضا در Sql برقرار است که منظور از درخت شروع موجودیت از ریشه که مثلاً 1 در نظر بگیریم و هر شاخه همراه برگ رو یک موجودیت زیر لایه در نظر بگیریم مثلاً ریشه گوشی موبایل - شاخه اول گوشی سامسونگ و این شاخه 4 تا مدل گوشی داشته باشد به صورت /1/2/3/4/5 در نظر میگیریم انتهای هر برگ هم / رو قرار میدیم
نکته : اگر هنگام Save در sql به ارور Saving Changes is not permitted برخورد کردین ( شکل زیر ) وارد مسیر زیر در SQL Server شوید :
از بالا منوی Tools ===> Options ===> Designers در سمت راست در Table option علامت مربع عبارت Prevent Saving Changes ... رو بردارید
- ایجاد یک Table جدید
برای CategoryID ، یک تیبل دیگر ایجاد می کنیم identity مانند آنچه در بالا گفته شد 1 تعریف شود سپس زیر مجموعه زیر رو براش ایجاد می کنیم :
در جدول بالا دقت کنید که Primary Key ابتدا مشخص شود و مقدار Identity هم 1 داده شود ،،، DirectChildCount و TotalChildCount در پایین صفحه column Propertices در بخش Default Value or Binding = 0 قرار می دهیم - در بالا ParentID روی مد Allow Nulls چون یک ریشه واحد رو تشکیل داده است ( یعنی خالی می تواند باشد ) در ادامه رکورد های بیشتری رو ایجاد می کنیم :
نکته مهم : رکورد Description از نوع ( Max ) چون توضیحات هر محصولی معلوم نیست چقدر ظرفیت دارد سعی کنید از مقادیر Max کمتر استفاده کنید تا دیتابیس کند نشود
نکته مهم : رکورد PageTitle نمی تواند تکراری باشد ( چون نمیشه توضیحات هر محصول تکراری باشد برای سئو مناسب نیست ) برای همین از مراحل زیر برای ساخت رکورد مشابه استفاده می شود :
بعد وارد صفحه :
بعد وارد بخش :
بعد وارد پنجره :
بعد وارد پنجره :
و مقدار is Unique رو Yes میزاریم ،،، حالا Table رو ذخیره کنید حالا روی فولدر Table راست کلیک و Refresh کنید تا دیتا رکورد ها تولید شود سپس مانند شکل زیر عمل می کنیم تا رکورد گذاری روی جدول رو شروع کنیم :
روی گزینه Edit To 200 Rows کلیک کنید تا جدولی شبیه شکل زیر رو مشاهده کنید :
سپس مقادیر مناسب برای هر ستون از رکورد ها رو انجام می دهیم :
نکته مهم : سلول Slug یک سئو گوگل به صورت توضیحات ( مانند : ،،، سرور-ساخت-اولین-دیتابیس- ) می باشد
نکته مهم : مقداردهی عددی در سلولی مانند Linkage به صورت /1 نوشته می شود پایان زنجیره / قرار دهید
حالا تغییرات بر اساس لایه اصلی و زیر لایه ها انجام و مقادیر عددی در محل هایی که باید افزایش پیدا می کنند مانند شکل زیر :
حالا سلول های مورد نظر به پایان می رسند :
نکته مهم : با توجه به مفهوم درخت که در بالا هم توضیح مختصری داده شد اعداد سلول ها به این صورت تغییر می کند :
سلول CategoryName : ابتدا با نام Digital شروع شده و ParentID آن صفر یا Null می باشد چون مجزا و متعلق بع هیچ دیتایی نیست و سلول Lineage به صورت /1 نوشته شده چون ریشه داده های سلولی را تشکیل می دهد دو سول Direct و Total هم 0 هستند حالا از ریشه یک سلول زیر مجموعه به نام LapTop تولید می کنیم و مقداردهی به صورت ParentID برابر /1 و سلول کناری Lineage برابر با /1/2 می باشد Direct و Total برابر 0 می باشد ،،، حالا سلول ریشه یعنی Digital تغییراتی می کند Direct و Total هر دو 1 می شوند --- حالا سلولی به نام Tablet- Mobile تولید کرده سلول Lineage آن /1/3 می شود سلول های Direct و Total هم متعاقباً 0 هستند حالا ریشه Digital در سلول های Direct و Total مساوی با 2 می شوند - یک زیر مجوعه برای LapTop ساخته و نام رو HP می گذاریم این سلول چهارمین سلول بوده و PaternID ،، آن 2 شده و Lineage میشه /1/2/4 یعنی 1/2 = برابر PaternID که از LapTop ارث برده و مقدار 4 برای جایگاه رکوردی HP که 4 میباشد ، حالا مقادیر Direct و Total هم به 3 تغییر می کند - در سلول LapTop هم Direct و Total میشه 1