انجمن برنامه نویسان البرز

تبلیغات

ایجاد رابطه بین کلاس ها در سی شارپ – ۲۴

ایجاد رابطه بین کلاس ها در سی شارپ – ۲۴


در این مطلب، قصد داریم نحوه ایجاد رابطه بین کلاس ها در سی شارپ را مورد بررسی قرار بدهیم. در دنیای واقعی، موجودیت ها با هم در ارتباط هستند. مثلا هر دانش آموز معلم مربوط به خودش را دارد. هر اکانت gmail کاربر خودش را دارد یا مثلا تعدادی از استادها، واحد های درسی خاصی را ارائه میکنند.

همانطور که میبینید تمام چیزها با هم ارتباط دارند. در واقع، این ارتباط ها هستند که سیستم های بزرگ را میسازند و بدون وجود آنها، سیستم ها در حد یک موجودیت تنها، کوچک خواهند بود.

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

پس تا اینجا میدانیم که این ارتباط ها وجود دارند و هدف ما پیاده سازی آنها است. اما قبل از اینکه به سراغ ایجاد رابطه بین کلاس ها در سی شارپ برویم، باید انواع رابطه ها را بشناسیم.

انواع روابط در پایگاه داده یا دیتابیس

تمام روابطی که بین موجودیت ها وجود دارند، از ۳ حالت خارج نیستند:

رابطه یک به یک

در این رابطه، دو موجودیت با هم ارتباط یک به یک دارند. برای اینکه این موضوع را ساده تر درک کنید، Gmail را در نظر بگیرید. هر شخصی یک اکانت gmail دارد و بالعکس آن هم صادق است. یعنی هر اکانت gmail فقط مربوط به یک نفر است. یا مثلا رابطه کارت ملی و انسان. هر انسانی یک کارت ملی دارد و هر کارت ملی فقط مربوط به یک انسان است.

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

رابطه یک به n

در این نوع از رابطه، یک موجودیت با تعداد زیادی از موجودیت ها رابطه دارد. برای مثال، یک استاد ممکن است ۲۰ تا شاگرد داشته باشد. یا مثلا در یک سیستم حسابداری، برای یک مشتری، ۵۰ تا فاکتور ثبت شده باشد. همانطور که میبینید، موجودیت استاد، با ۲۰تا از موجودیت های شاگرد، رابطه دارد. و در مثال دوم، موجودیت مشتری، با ۵۰ تا از موجودیت های فاکتور، رابطه دارد. به تصویر زیر دقت کنید:

ایجاد رابطه بین کلاس ها در سی شارپ
ایجاد رابطه بین کلاس ها در سی شارپ

 

ایجاد رابطه بین کلاس ها در سی شارپ
ایجاد رابطه بین کلاس ها در سی شارپ

رابطه های ۱ به n بسیار متداول هستند. مثلا در پروژه پارکینگ، یک کارمند ممکن است ۱۰۰ تا ورود و خروج ثبت کند. بنابراین رابطه user با entrance از نوع ۱ به n است. به عبارت دیگر، یک موجودیت user با n تا از موجودیت های entrance در ارتباط است.

به سراغ ویدیو برویم:

ویدیوی آموزش ایجاد رابطه بین کلاس ها در سی شارپ

 




کلمات کلیدی :

نظر بدهید

20 دیدگاه برای “ایجاد رابطه بین کلاس ها در سی شارپ – ۲۴

  • احمد ایرانپور گفته
    18 سپتامبر 17

    درود بر جناب صبویی
    واقعا مباحث جذابییه .ممنون از زحمتی که میکشید

  • Ahad Pirayi گفته
    18 سپتامبر 17

    سلام
    تشکر بابت آموزش های عالی و کاربردیتون

    • علیرضا صبوئی گفته
      18 سپتامبر 17

      با تشکر.
      زنده باشید.

  • احمد ایرانپور گفته
    18 سپتامبر 17

    با درود
    چیزی که این سایت را متمایز میکنه اینه که در عین سادگی و بدون عنوان کردن مطالب غیر ضروری
    مهمترین قسمت های یک موضوع را یاد میده.چیزی که در اکثر کارهای مشابه آزار دهندست نداشتن برنامه مدون آموزش، مدرس برای عنوان مطالبه

    • علیرضا صبوئی گفته
      18 سپتامبر 17

      ممنونم. لطف شماست

  • احمد ایرانپور گفته
    18 سپتامبر 17

    سلام
    من یه جدول درست کردم و اون را در یه دیتا گرید ویو نشون دادم .منتها یک سری از ستون ها را نشون نمیده چه وقتی ستون ها را میسازم و چه وقتی که خودش اتوماتیک میسازه .تعداد ستون ها ۱۴ تاست آیا تعداد زیاد ستون ها میتونه دلیل این رخداد باشه؟

    • علیرضا صبوئی گفته
      18 سپتامبر 17

      بعید میدونم. تنظیماتی روی دیتاگرید انجام دادین؟

      • احمد ایرانپور گفته
        18 سپتامبر 17

        با درود
        بله یه تغییراتی دادم اما مشکل با ساختن یه
        جدول دیتای دیگه حل شد .دقیقا متوجه نشدم اشکال چی بود

  • احمد ایرانپور گفته
    18 سپتامبر 17

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

    • علیرضا صبوئی گفته
      18 سپتامبر 17

      آقای ایرانپور متوجه منظورتون نشدم دقیق

      • احمد ایرانپور گفته
        18 سپتامبر 17

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

        • علیرضا صبوئی گفته
          18 سپتامبر 17

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

          • احمد ایرانپور گفته
            18 سپتامبر 17

            با سلام
            این خیلی عالیه .

          • احمد ایرانپور گفته
            18 سپتامبر 17

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

          • علیرضا صبوئی گفته
            18 سپتامبر 17

            آقای ایرانپور عزیز سلام. معمولا ماژول ها به همراه DLL و دفترچه راهنمایشان هستند. از فروشنده بپرسید که آیا ماژول، فایل DLL مخصوص سی شارپ را دارد یا خیر.

  • حسین رستمی گفته
    18 سپتامبر 17

    بسیار عالی

  • صابر گفته
    18 سپتامبر 17

    سلام
    خوبی ای که اموزش های شما داره اینه که مطالب درهم و برهم نیست و با یک نظم خاص پیش میره و این روش شاید بهترین و کارامدترین روش هست
    من که به عنوان یه مبتدی خیلی راضی ام
    این که دانسته هاتون رو صادقانه در اختیار بقیه میگذارید خیلی جای قدردانی داره
    واقعا ممنون

    • علیرضا صبوئی گفته
      18 سپتامبر 17

      زنده باشید.

  • زهرا گفته
    18 سپتامبر 17

    سلام.میشه لطفا لینک دانلود پروژه ی پارکینگ رو ایمیل کنید؟

    • علیرضا صبوئی گفته
      18 سپتامبر 17

      زهرای عزیز از طریق آپارات قابل دانلوده.