انواع ارتباط بین جداول در پایگاه‌داده (DATA BASE)

انواع ارتباط بین جداول در پایگاه‌داده (DATA BASE)
فهرست مقاله [نمایش]


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

    پایگاه داده رابطه ای انواع مختلفی از مجموعه داده ها را جمع آوری می کند که از جداول، رکوردها و ستون ها استفاده می کنند. برای ایجاد یک رابطه کاملاً تعریف شده بین جداول پایگاه داده استفاده می شود تا پایگاه داده های رابطه ای به راحتی ذخیره شوند. به عنوان مثال پایگاه داده های رابطه ای مانند Microsoft SQL Server، Oracle Database، MYSQL و غیره.

    یکی از مزایای بزرگ پایگاه داده رابطه‌ای این است که، هنگامی که داده‌های خود را در جداول کاملاً تعریف‌شده و فشرده نگهداری می‌کنید، می‌توانید داده‌های نگهداری شده در جداول مختلف را به هم متصل یا مرتبط کنید.

    در دوره رایگان آموزش asp انواع داده های رابطه ای و نحوه پیاده سازی آنرا به شما آموزش می دهیم.

     

     فرض کنید یک پروژه فروشگاهی داریم که در این فروشگاه گوشی موبایل به فروش می‌رسد و باید حالا تحلیل این پروژه رو انجام دهیم. دیتابیس این فروشگاه رو طراحی کنیم قبل از هر کاری باید entity یا موجودیت‌های این فروشگاه رو شناسایی کنیم.
     برای این فروشگاه یک entity به نام محصول داریم ویک entity دیگر به نام مشتری داریم که از سایت ما خرید انجام می‌دهد ویک entity دیگر بنام سفارش داریم.
     برای فروشگاه چندین entity می‌توان در نظر گرفت اما ما الان برای آموزش فقط این 3 انتیتی را مشخص می‌کنیم.
     پس تا اینجا با مفهومentity آشنا شدیم ،بعد از این باید صفات یا خصوصیات هر entity رو بدست بیاوریم.
     برای بدست آوردن entity باید با مشتری پروژه وتمامی افرادی که در در این پروژه شرکت دارند مصاحبه های دقیقی انجام بدیم تا اطلاعات مورد نیاز رو بدست بیاوریم و حتی نمونه های مشابه ساخته شده از پروژه را بررسی کنیم.

    مثلا برای انتیتی محصولی که موبایل  است چه اطلاعاتی رو نگهداری کنیم؟

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

    و به همین ترتیب می توانیم برای تمامی انتیتی ها فیلد جداگانه در نظر بگیریم .

     

    حالا که تمام ویژگی ها را مشخص کردیم مسئله ای که برای ما پیش می آید این است ارتباط یا Relational Database بین جداول ما هست.

    یکی از انواع پایگاه داده، «بانک‌های اطلاعاتی رابطه‌ای» (Relational Database) هستند که در مقابل «پایگاه‌های داده هموار» (Flat Database) قرار می‌گیرند. در پایگاه داده رابطه‌ای برای جلوگیری از تکرار رکوردها یا فیلدهای متعدد، بین جدول‌ها رابطه ایجاد می‌کنند. در مقابل پایگاه‌های داده هموار بدون ایجاد چنین ارتباطی، داده‌های مربوط به هویت‌ها را ثبت می‌کند. اغلب در زمینه ثبت و نگهداری «اطلاعات تراکنشی» (Transaction) از پایگاه‌های داده هموار بهره می‌برند.

    وقتی مشتری در سایت یک سفارش را ثبت می کند باید اطلاعات  سفارش مشتری  در ENTITY یا همان جدول سفارشات ذخیره شود.
     ما یک فیلد مشتری داریم و یک فیلد محصول و تمام اطلاعات آن ثبت می شود برای اینکه بدانیم هر مشتری چه محصولی را سفارش داده است به این صورت بین جدول سفارش، مشتری و محصول می توانیم ارتباط برقرار کنیم و این ارتباط را با کلید اصلی و خارجی ایجاد می کنیم.

    انواع ارتباط بین جداول در پایگاه‌داده (DATA BASE):

     

     ارتباط یک به یک :

     

    ONE TO ONE
    فرض کنید فروشگاه می خواهد برای برخی از گوشی های موبایل گارانتی با مدت زمان مشخص به مشتریان ارائه کنه

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

    برای این 4 فیلد یک جدول جدید به نام گارانتی ایجاد می کنیم یعنی هر رکورد از محصول ما می تواند فقط یک رکورد از جدول گارانتی را داشته باشد مانند این است که ما یک رکورد را به دوقسمت تقسیم کرده ایم و در دو جدول نگهداری می کنیم و محصولاتی که هم گارانتی ندارند هیچ رکوردی هم برای آنها در جدول گارانتی ذخیره نمی شود

     

     ارتباط یک به چند :

    One-to-many relationships in database tables

    این ارتباط پراستفاده ترین نوع ارتباط بین جدول های است در مثال بالا هر مشتری می توانند چندین بار به سایت مراجعه کند و چندین سفارش را ثبت کند پس باید بین جدول مشتری و سفارش یک ارتباط یک به چند ایجاد کنیم که هر مشتری بتواند بینهایت سفارش را ثبت کند.


    ارتباط چند به چند :

    در این مثال مشتری می تواند همزمان چندین محصول رو با هم سفارش و خریداری کند پس رابطه بین سفارش و محصول باید چند به چند باشد این به این معناست که هر سفارش می تواند شامل چندین محصول باشه و هر محصول می تواند توسط چندین سفارش خریداری شود

     برای طراحی ارتباط چند به چند بین دو جدول باید از یک جدول میانی استفاده کنیم .
     در اینجا برای تکمیل مثالمان به یک جدول میانی  به نام جزئیات سفارش نیاز داریم برای جزئیات سفارش این فیلدها را در نظر می گیریم سفارش . محصول و تعداد محصول خریداری شده .

    جدول جزئیات سفارش  خودش دو نوع ارتباط دارد یک ارتباط یک به چند از سفارش به جزییات و یک ارتباط یک به چند از محصول به جزئیات سفارش ،این دو ارتباط یک به چند بین این جدول میانی یک ارتباط چند به چند را برای ما ایجاد می کند

     هر رکورد ما باید یک کلید اصلی داشته باشد  کلید اصلی باید یکتا باشد که بتوانیم با استفاده از این کلید یک رکورد را از بقیه رکوردها متمایز کنیم پس برای جدول هایمان باید یک کلید اصلی هم در نظر بگیریم.
     در این مقاله شما انواع ارتباط بین جدول هلی دیتابیس را یاد گرفتید و برای پیاده سازی در SQL  می توانید به دوره آموزش رایگان  ASP  در سایت باگتو مراجعه کنید.

     

      


    • نویسنده: احمدرضا غلامی

    ارسال دیدگاه

    برای افزودن دیدگاه خود، نیاز است ابتدا وارد حساب کاربری‌تان شوید


    دیدگاه کاربران