بامداد
4 سال پیش توسط بامداد مطرح شد
17 پاسخ

روابط one-to-many و many-to-one

درود ،
یه نفر میتونه تفاوت one-to-many و many-to-one رو در عمل مثال بزنه ؟ مثلا در یک پروژه سایت فروشگاهی

@hesammousavi


ثبت پرسش جدید
فرشید مرادی
تخصص : noob
@eniack 4 سال پیش مطرح شد
0

سلام ، مثال در قالب یک سایت فروشگاهی به این صورت هست که هر شخص(مدیر) میتونه تعداد زیادی محصول اضافه کنه اما هر محصول فقط متعلق به یک نفر یعنی هر محصول توسط یک شخص ثبت شده به همین سادگی !!!!


بامداد
@bamdad 4 سال پیش مطرح شد
0

@eniack
ممنون ولی متوجه نشدم ،
ببینید مثلا توی Many-To-One ، میتونیم بگیم یک محصول چنتا کامنت داره
ولی توی One-to-Many ، چجوری میشه در عمل ؟ خب چنتا محصول که یک کامنت ندارند ، واسه همین مثالشو میخام


بامداد
@bamdad 4 سال پیش مطرح شد
0

@mohaligateway
درود ، ولی متوجه نشدم ،
ممکنه خیلی سادهه توضیح بدید


فرشید مرادی
تخصص : noob
@eniack 4 سال پیش آپدیت شد
0

ببینید داخل ذهنتون اول مشخص کنید که طرف فرد یا one متعلق به چی میشه و همینطور طرف چندتا یا many‌ متعلق به چیه .
با این فرض که محصول تک هست و one در نظر گرفته میشه و کامنت ها چندتا هستن و many در نظر گرفته میشن.
خب حالا many to one‌ چی میشه؟
چند کامنت متعلق به یک محصول
و one to many‌چی میشه؟
یک محصول دارای چند کامنت


moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 4 سال پیش مطرح شد
0

عکس زیر فکر کنم موضوع رو می تونه براتون روشن کنه.
توضیح تصویر رو وارد کنید

یک محصول می تونه دارای چند تا ویژگی باشه مثلا برند میشه رابطه one to many ولی یک برند می تونه متعلق به چند تا محصول باشه میشه one to one
@bamdad


Armin Rahmati
@arminrahmati999 4 سال پیش مطرح شد
0

@bamdad
سلام خدمت شما.
ببینید من روی موضوعی که خودتون گفتین واستون مثال میزنم.
شما فرض کنید یه محصول دارید که کاربرای مختلف میتونن واسه اون محصولی که خریدن کامنت بذارن، یعنی کامنت گذاشتن میتونه توسط کاربرای مختلفی گذاشته بشه که در رابطه میشه چند (many).
برای درک رابطه یک (one) شما فرض کنید داخل ویو دارید محصول x رو نمایش میدین و کاربرای مختلفی اومدن واسه اون محصول کامنت گذاشتن و فرض کنید یکی از این کامنتا متنش این بوده: کیفیت محصول عالی بود یعنی در واقع این کامنت فقط متعلق به محصول x است .
امیدوارم خوب توضیح داده باشم.


محمدسجاد دباغ
تخصص : برنامه نویس لاراول
@mdabbagh 4 سال پیش آپدیت شد
0

سلام دوست عزیز!
مثال
one-to-many: یک محصول تعداد زیادی کامنت داره.
many-to-one: تعداد زیادی کامنت متعلق به یک نفر هست.
اما در عمل برای به دست آوردن کل تعداد کامنت های یک فرد، نیاز به ایجاد رابطه نداریم بلکه همین که در جدول کامنت ها مشخص باشه که کدوم user کامنت داده کفایت میکنه لذا معمولا وقتی رابطه one-to-many ایجاد میکنیم خود به خود many-to-one هم در دسترس داریم.


بامداد
@bamdad 4 سال پیش مطرح شد
0

@msdabbagh
@arminrahmati999
@eniack
@mohaligateway

ممنون متوجه شدم کاملا
پیشاپیش ممنون از همه ی شما

ممکنه دو تا مثال عملی هم برای حالات زیر بزنید در یه پروژه فروشگاهی
1-one-to-one
2- many-to-many


moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 4 سال پیش مطرح شد
0

مثلا یه موبایل داریم برند سامسونگ، می شه one to one یه موبایل که نمی تونه همزمان دو تا برند داشته باشه! حالا سامسونگ موبایل های مختلفی با ویژگی های مختلفی داره میشه one to many.
many to many : مثلا یه مدل نوکیا یک gpu خاص داره که توی برند های مختلف و مدل های مختلف یکسان هستش این میشه many-to-many.
@bamdad


بامداد
@bamdad 4 سال پیش مطرح شد
0

@mohaligateway
ممنون - one to one رو فهمیدم
ولی many-to-many رو نفهمیدم ، میشه یه مثال واضح تر بزنید ؟


moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 4 سال پیش مطرح شد
0

attribute product table یک رابطه many to many هستش که یکسری ویژگی هایی داریم با یک سری محصولات که به صورت بیشمار می تونن با یکدیگر رابطه داشته باشند. باید خودتون روش کار کنید و تمرین کنید تا many to many رو بهتر یاد بگیرید.
توضیح تصویر رو وارد کنید
@bamdad


ممدو
تخصص : در حال یادگیری ...
@mamado 4 سال پیش مطرح شد
0

@bamdad سلام دوست خوبم
شما دسته بندی و محصول رو در نظر بگیر
به این صورته که هر دسته بندی میتونه شامل چندین محصول باشه
و هر محصول هم میتونه چندین دسته بندی داشته باشه
به این روابط میگن many to many


بامداد
@bamdad 4 سال پیش مطرح شد
0

@mamado درود
چطور ممکنه یه محصول چنتا دسته بندی داشته باشه ؟
مثلا یک مدل گوشی ، فقط میتونه زیر شاخه ی دسته موبایل باشه ، ولی زیر شاخه لبتاب که نمیتونه باشه
؟؟


محمدسجاد دباغ
تخصص : برنامه نویس لاراول
@mdabbagh 4 سال پیش آپدیت شد
0

سلام دوست عزیز!
one-to-one: یعنی بین دو رکورد در دو جدول مختلف تنها یک رابطه میتونه باشه.
مثال: هر کاربر میتونه تنها یک سبد خرید داشته باشه.
مثال دو: هر کاربر تنها میتونه یک عکس آواتار داشته باشه.
many to many: یعنی بین رکوردهای دو جدول بیش از یک رابطه میتونه باشه.
مثال: هر سبد خرید میتونه چند محصول داشته باشه و برعکس.
one to many: یعنی بین رکوردهای یک جدول با جدول دوم میتونه چند رابطه باشه اما برعکس نداره.
مثال: هر دسته بندی میتونه چندین محصول رو شامل بشه اما هر محصول یک دسته بندی داشته باشه.

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


ممدو
تخصص : در حال یادگیری ...
@mamado 4 سال پیش مطرح شد
0

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


Armin Rahmati
@arminrahmati999 4 سال پیش مطرح شد
0

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


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام