Smiley face

Google

در فروشگاه اينترنتي داتيس   در كل اينترنت

تقويم و مناسبتها

رهگيري مرسولات پستي

كاربرگرامي شما مي توانيد پس از دريافت باركد پســتي از طريق دكمه رهگيري سفارشـات ، بوسيله دكمه رهگيري مرسوله پستي ، مرسـوله خود را از طريق وب سايت اداره پســت رديابي نماييد.

Datissoftware

Datissoftware

نماد ها

logo-samandehi

عناوين علمي و آموزشي

مطالب جديد

نرم افزارهاي مورد نياز

IDM دانلود Internet Download Manager
Chrome دانلود Google Chrome
Firefox دانلود Mozilla Firefox
Winrar دانلود Winrar
FlashPlayer دانلود Flash Player
Adobe Reader دانلود Adobe Reader
Mp4 Codec دانلود Mp4 Codec

آمار و اطلاعات

جهت عضــويت در خبرنامه فروشــگاه اينترنتي داتيــس ايميل صحيح خود را وارد نماييد.

عنوان : طراحی پایگاه داده به همراه مثال

1396/10/27 - 09:33:30
آموزش طراحی پایگاه داده


طراحی پایگاه داده به همراه مثال

آموزش طراحی پایگاه داده:

همه چیز در این آموزش، با استفاده از مثال پایگاه داده توضیح داده خواهد شد. این پایگاه داده نمونه یک پایگاه داده ساده است که به خوبی برای توضیح مفاهیم مختلف مفید است. به احتمال زیاد یک پایگاه داده بسیار مفید برای استفاده در عمل نیست، اما استفاده از آن هدف نبود. این پایگاه داده نوعی یک موضوع مشترک است، یک پایگاه داده برای پیگیری مشتریان، اقلام موجود در انبار، سفارشات مختلف مشتریان ذکر شده، اقلام در هر سفارش و تعداد موارد سفارش شده است. علاوه بر این، ما یک حساب بانکی برای هر مشتری را که از آن ما پول برای هر سفارش دریافت می کنیم پیگیری می کنیم.

چرا یک پایگاه داده؟
یک پایگاه داده به دلایل گوناگون بسیار مفید است، اما اگر یکی از آنها باید شکوه خود را به عنوان هدیه انتخاب کند، به احتمال زیاد این واقعیت است که می توان داده های خود را به طرق گوناگون بی نهایت ذخيره کرد. این بدان معنی است که می توان گزارشاتی را برای نشان دادن چیزی که نیاز دارد ایجاد کند. در پایگاه داده نمونه ما می توانیم گزارش هایی را برای سوالات پیچیده مانند خرید دو یا چند مورد از آیتم (اما نه آیتم b) دریافت كنيم و مقدار بین مقدار x و y را بین تاریخ ها داریم. فکر می کنید که از طریق سوابق کاغذی خود به جواب برسید؟

پایه های پایگاه داده رابطه اي:
ادگار کاد پدر پایگاه داده رابطه اي است. این موضوع در سال 1969 آغاز شد، زمانی که کدد یک محقق در IBM بود. پایگاه داده رابطه اي بر مبنای ریاضی ساخته شده است. این باید به درستی طراحی شده باشد تا بدون نیاز به کار زياد كار کند. رابطه در پایگاه داده رابطه اي به جداول (روابط) که پایگاه داده آن تشکیل شده است اشاره دارد. این جداول، جداول جداگانه نیستند، نه، آنها به روش های بسیار متفاوتی به یکدیگر مرتبط هستند. این ما را به دو نوع قوانین پایگاه داده ارجاع می دهد:

  •      قوانین مربوط به ساختار جدول
  •      قوانین درباره اینکه چگونه جداول مربوط به یکدیگر هستند

 

یک جدول چیست؟
یک جدول یک شی یا نهاد است که ما می خواهیم داده ها را درآن حفظ کنیم. سعی کنید این اشیا را تقسیم کنید. به عنوان مثال، اطلاعات مربوط به یک کارمند در یک جدول و اطلاعات مربوط به وابستگان خود را در جدول دیگری ذخیره کنید. ما با استفاده از روابطی که بین جداول وجود دارد، داده های ترکیب را دریافت می کنیم. می توانید یک جدول یا جداول برای رسیدگی به این روابط داشته باشید. در پایگاه داده نمونه ما دارای جداول برای:

  •      مشتریان
  •      جزئیات حساب بانکی مشتری
  •      سفارشات
  •      موارد
  •      جدول ارتباطی برای رسیدگی به اقلام مختلف در دستورات مختلف

 

ساختار جدول:
بنابراین، یک جدول چگونه به نظر می رسد؟ خوب، چیزی شبیه به این:

P.K Surname Names D.O.B
1 Brown John Jack 23 Mar 1962
2 Smith Peter George 16 Jun 1953
3 Williams Agnes Semolina 7 Jan 1991
4 Jackson Charlene Gail 5 Aug 1952


متوجه خواهید شد که جدول دارای ردیف (افقی) و ستون (عمودی) است. در این مورد ردیف اول حاوی عنوان ستون است. عنوان ستون اول، عنوان کلید اولیه است. بقیه توضیحات خود را دارند. این ما را به قانون اول می رساند: در یک جدول، عنوان ستون ممکن نيست تکرار شود. این قانون دوم است: هر ردیف باید یک کلید اولیه داشته باشد که منحصر به فرد آن ردیف را مشخص می کند و در آن جدول تکرار نمی شود. در مثال، کلید اولیه یک مقدار واحد است. کلیدهای اولیه همچنین می توانند تركيبي باشند، یعنی شامل بیش از یک مقدار در بیش از یک ستون. در این مورد اخیر، مجموع ترکیب ارزش ها باید منحصر به فرد باشد، به عنوان مثال یکی می تواند مقادیر کلید اولیه (A، B)، (A، C)، (B، C) و حتی (B، A) داشته باشد، همه خوب و قانونی است.
تمام جداول باید حداقل فرمت استاندارد نرمال باشد تا پایگاه داده بتواند بدون هیچ مشکلی کار کند. پس این اشکال طبیعی چیست؟
ساده ترین راه را برای به رسمیت شناختن طبقه بندی فرم های عادی در یک کتاب در طراحی پایگاه داده توسط فیدل کاپیتان پیدا کردم. از کوچکترین واحد داده، یک ستون در یک ردیف، به بزرگترین جدول، می رود.

 

مباحث نرمال سازي در پايگاه داده

فرم نرمال اول:
اگر تمام مقادیر ستونها تقسیم نشده باشد، جدول در فرم اول نرمال است. فرض كنيد که شما یک جدول سفارش دارید و در این جدول ستونی به نام آیتم دارید. در حال حاضر برای یک سفارش شما مقادیر زیر را در ستون items وارد کنید: قلم، جوهر، کاغذ. این جدول در حال حاضر در فرم نرمال اول نیست و طراحی شما ناقص است. اقلام باید در جدول دوم مربوط به جدول سفارش قرار بگیرند.

علاوه بر این، تمام مقادیر ممکن برای هر ستون باید از نوع داده مناسب و در دامنه مقادیر مجاز باشد. به این صورت است که اگر تصمیم گرفتید که فقط یک عدد صحیح بین 0 و 1,000,000 را در یک ستون مشخص کنید، هر مقدار در آن ستون باید یک عدد صحیح بین یک و یک میلیون باشد، هر دو ارزش شامل شود.
ستون همچنین باید در یک جدول منحصر به فرد باشد. شما نمیتوانید بیش از یک ستون به نام «مقاله» در یک جدول داشته باشید.

فرم نرمال دوم:
فرم نرمال دوم مربوط به یک ردیف کامل در هر جدول است، به عنوان مثال یک موجود در آن جدول.
جدول تنها در فرم نرمال دوم است اگر آن را در فرم اول نرمال باشد و هر ستون غیر کلید به طور کامل به کل کلید اولیه وابسته است. این فقط یک مسئله با کلیدهای اولیه تركيبي است. شما همه چیز را در یک جدول قرار داده اید و شما یک جدول order_item با order_id و item_id با یک کلید اولیه تركيبي  دارید. با تمایل به دیدن همه چیز در یک جدول، نام مشتری را نیز در این جدول ذکر کرده اید. بدیهی است، نام مشتری هیچ ارتباطی با item_id ندارد، که منجر به جدول موارد می شود. با این حال، با استفاده از order_id برای رسیدن به جدول دستورالعمل، یک client_id وجود دارد که شما را به مشتری مربوطه در جدول مشتری می برد. به این معنی که جدول شما در شکل نرمال دوم نیست، زیرا نام مشتری تنها به قسمت client_id وابسته به کلید اولیه وابسته است. شما باید نام مشتری را از این جدول حذف کنید. برای دیدن نحوه انجام این کار به مثال زیر مراجعه کنید.

بعضی از افرادی که به عنوان یک الزام برای فرم سوم نرمال دارند، طبقه بندی خواهند شد. همانطور که در مورد یکپارچگی فقط یک ردیف (یک موجود در یک جدول) است، من آن را در اینجا قرار داده ام.

علاوه بر این الزام است که هر ستون در یک ردیف باید به کل کلید خارجی وابسته باشد، همچنین نباید وابسته به ستون غیر کلید باشد. مثال کلاسیک این یک مقدار مشتق شده است. می گویند جدول فروش یک ستون قیمت کالا و یک ستون نشان می دهد که کدام یک از آیتم های خاص به آن فروش رفتند، پس ستون کل مقدار باید وجود نداشته باشد. دلیل این امر واضح است: اگر قیمت یا تعداد آیتم ها به روز شود، مقدار کل نیز باید به روز شود. دیر یا زود کسی اشتباه می کند و داده ها در آن ردیف فاسد می شوند. چنین ضعفی ساخته شده، قابلیت اطمینان داده ها را کاهش می دهد. در عوض، اجازه دهید برنامه شما برای دسترسی به پایگاه داده محاسبات را انجام دهد و کل مقدار آن را نشان دهد.
می توان فرم دوم نرمال را با بیان اینکه ارزش هر فیلد غیر کلید در هر جدول باید تنها بر روی کلیدی، کل کلید و هیچ چیزی جز کلید باشد، خلاصه می شود.

فرم نرمال سوم
سومین فرم نرمال مربوط به یکپارچگی ارجاعی بین جداول است. کلید های خارجی برای ایجاد روابط بین جداول استفاده می شود. فرم نرمال سوم، خواستار آن است که جدول در فرم دوم نرمال باشد و علاوه بر این، هر کلید خارجی در جدول دارای کلید اولیه مربوطه در جدولی است که اشاره دارد. کلید های یتیم خارجی نمی توانند وجود داشته باشند.
نتيجه فوق اين است كه اگر هر كدام از كليد اوليه تغيير داده شود، تمام كليد هاي خارجي بسته به اين كليد اوليه نيز بايد به عنوان يك كاراكتري تغيير در كليد اصلي تغيير كند.
اگر یک ردیف حاوی یک کلید اولیه که توسط تعداد زیادی از کلید های خارجی رجوع می شود پاک شود، تمام سطرهای حاوی کلید های خارجی مربوطه نیز باید حذف شوند، همانطور که تمام ردیف های حاوی کلید خارجی بسته به کلید اولیه ردیف دوم ذکر شده است و غیره ... و این بدان معناست که تنها حذف یک ردیف ممکن است باعث حذف بسیاری از سطرهای دیگر شود. این اتفاق زمانی رخ خواهد داد که "در آبشار حذف" در ایجاد جداول مربوطه مشخص شده است. این می تواند فاجعه آمیز باشد. ممکن است بهتر باشد که آبشار را مشخص نکنید و فقط اجازه دهید بانک اطلاعاتی را رد کند که یک ردیف را حذف کند که دارای یک کلید اولیه است که به عنوان یک کلید خارجی در جدول دیگری استفاده می شود. همه نوشته ها با کلید های خارجی وابسته به صراحت قبل از ورود اولین (ردیف) می توانند حذف شوند. این باعث کاهش خطر بی نظمی حذف می شود.

 

روابط :

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

  •  یک به یک
  •  یک به چند
  •  چند به چند

چگونه می توانیم روابط بین جداول را ایجاد کنیم؟
این کار با کلید اولیه یک جدول انجام می شود که در یک جدول مربوطه که در آن به عنوان کلید خارجی شناخته می شود استفاده می شود. کلید اولیه هر جدول را که می خواهید رابطه ای بین یک عضو (ردیف) آن جدول در هر زمان ایجاد کنید و از آن در جدول دیگر استفاده کنید، نگاهی بیندازید. اگر یک عضو جدول A می تواند نسبت به بسیاری از اعضای جدول B داشته باشد و به همین ترتیب یک عضو از جدول B می تواند نسبت به بسیاری از اعضا جدول A داشته باشد، سپس هر دو کلید اولیه جدول A و جدول B به عنوان خارجی کلید در یک جدول سوم به عنوان یک جدول رابطه شناخته می شود.

انواع روابط :

  • یک به یک

یک مشتری دارای یک حساب بانکی در رکورد است و یک حساب بانکی می تواند تنها به یک مشتری متعلق باشد. اکثر، اگر نه همه، یک تا یک جداول مربوط به ارتباطات می تواند با موفقیت به یک جدول ادغام شود. به همین دلیل یکی از روابط شایع نیست. اما ممکن است دلیل قانونی برای انجام این کار وجود داشته باشد. اکنون ما کلید اصلی مشتری را می گیریم و از آن در جدول bank_account استفاده می کنیم اما به طریقی که هر کلید اولیه مشتری می تواند یک بار در جدول bank_account ظاهر شود. چگونه می توان انجام داد؟ می توان از کلید اصلی مشتری استفاده کرد، say client_id به عنوان یک کلید خارجی مستقل (یک کلید خارجی یک کلید اولیه از جدول A است که در جدول B نشان داده شده است و ارتباط بین یک سطر در جدول B به یک ردیف در جدول A برقرار است) و اطمینان حاصل شود این کلید بیش از یکبار استفاده نمی شود. یکی به پایگاه داده می گوید که هر مقدار در این ستون کلیدی خارجی باید در این جدول منحصر به فرد باشد. دومین راه اینست این است که کلید اصلی را از جدول A به عنوان کلید اصلی جدول ب استفاده کنید. پایگاه داده به طور خودکار به آن می رسد که کلید اولیه منحصر به فرد است. کلید اصلی در جدول B نیز یک کلید خارجی است که به یک ردیف در جدول A اشاره دارد.

 

  • یک به چند

یک مشتری می تواند سفارش های زیادی داشته باشد، اما یک سفارش می تواند تنها به یک مشتری متعلق باشد. در جمله قبلی وقتی که ما در مورد مشتری صحبت کردیم، ما همیشه از کلمه اول استفاده کردیم، اما وقتی که ما در مورد سفارش / s صحبت کردیم، در یک مورد چندگانه بود. بنابراین مشتری یکی از طرفین رابطه است و نظم ارتباطات بسیاری است. به یاد داشته باشید که چگونه روابط را برقرار می کنیم؟ بنابراین، ما کلید اصلی مشتری را می گیریم و از جدول استفاده می کنیم. تنها تفاوت با یک به یک رابطه این است که در این زمان کلید خارجی نباید یک نیاز منحصر به فرد داشته باشد، آن را می توان بارها و بارها تکرار کرد. بسیاری از سفارشات می تواند متعلق به یک مشتری باشد.

 

  • چند به چند

یک سفارش می تواند شامل بسیاری از موارد و یک مورد می تواند در بسیاری از سفارشات باشد. واضح است که در اینجا هیچکس وجود ندارد. پس چه کاری با کلید اولیه انجام می دهید؟ این جایی است که نیاز به یک جدول ارتباط دارد. برای ایجاد رابطه چند به چند از جداول A و B، یک رابطه R را ایجاد می کنیم و رابطه A و R را بین A و R برقرار می کنیم و دوباره بین B و R. رابطه R واقعا نیاز به دو ستون دارد، یکی برای کلید اولیه از A به عنوان کلید خارجی در R، بیایید مثلا a_id، و یکی برای کلید اصلی از B به عنوان یک کلید خارجی در R، مثلا b_id. این دو ستون کلیدی خارجی با هم می توانند یک کلید اصلی تركيبي برای جدول R باشند. آیا اینطور نیست؟

Relation

شما می توانید فایل sql را که می توانید برای ایجاد مثال پایگاه داده از PostgreSQL استفاده كنيد از اینجا دانلود کنید.


 

آموزش Joomla آموزش C#.net 2013 آموزش SQL Server 2014 آموزش Windows Server 2012
آموزش ASP.net 2013 آموزش Dreamweaver CC 2014 آموزش Java آموزش شبكه
آموزش Wordpress آموزش Visual Basic 6 آموزش Linux Ubuntu برنامه نويسي اندرويد 2
1396/10/27 - 09:33:30
برچسب هاي مطلب :



شما اولين نفري باشيد كه نظر ارسال مي كند.

فرم ثبت نظر

نام و نام خانوادگی
ایمیل
وبلاگ
نظر و کامنت
كد امنيتي