درود ،
یه نفر میتونه تفاوت one-to-many و many-to-one رو در عمل مثال بزنه ؟ مثلا در یک پروژه سایت فروشگاهی
سلام
در گفت و گوی زیر مثال یک فروشگاه آورده شده است.
https://roocket.ir/discuss/%D8%AA%D8%AD%D9%84%DB%8C%D9%84-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-%D9%88-%D8%B1%D8%A7%D8%A8%D8%B7%D9%87-%D8%AC%D8%AF%D8%A7%D9%88%D9%84-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D9%82%DB%8C%D9%85%D8%AA-%D9%85%D8%AD%D8%B5%D9%88%D9%84-%D8%A8%D8%A7-%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8-%D8%B1%D9%86%DA%AF-%D9%88-%DA%A9%D8%A7%D8%B1%D8%A7%D9%86%D8%AA%DB%8C
@bamdad
سلام ، مثال در قالب یک سایت فروشگاهی به این صورت هست که هر شخص(مدیر) میتونه تعداد زیادی محصول اضافه کنه اما هر محصول فقط متعلق به یک نفر یعنی هر محصول توسط یک شخص ثبت شده به همین سادگی !!!!
@eniack
ممنون ولی متوجه نشدم ،
ببینید مثلا توی Many-To-One ، میتونیم بگیم یک محصول چنتا کامنت داره
ولی توی One-to-Many ، چجوری میشه در عمل ؟ خب چنتا محصول که یک کامنت ندارند ، واسه همین مثالشو میخام
ببینید داخل ذهنتون اول مشخص کنید که طرف فرد یا one متعلق به چی میشه و همینطور طرف چندتا یا many متعلق به چیه .
با این فرض که محصول تک هست و one در نظر گرفته میشه و کامنت ها چندتا هستن و many در نظر گرفته میشن.
خب حالا many to one چی میشه؟
چند کامنت متعلق به یک محصول
و one to manyچی میشه؟
یک محصول دارای چند کامنت
@bamdad
سلام خدمت شما.
ببینید من روی موضوعی که خودتون گفتین واستون مثال میزنم.
شما فرض کنید یه محصول دارید که کاربرای مختلف میتونن واسه اون محصولی که خریدن کامنت بذارن، یعنی کامنت گذاشتن میتونه توسط کاربرای مختلفی گذاشته بشه که در رابطه میشه چند (many).
برای درک رابطه یک (one) شما فرض کنید داخل ویو دارید محصول x رو نمایش میدین و کاربرای مختلفی اومدن واسه اون محصول کامنت گذاشتن و فرض کنید یکی از این کامنتا متنش این بوده: کیفیت محصول عالی بود یعنی در واقع این کامنت فقط متعلق به محصول x است .
امیدوارم خوب توضیح داده باشم.
سلام دوست عزیز!
مثال
one-to-many: یک محصول تعداد زیادی کامنت داره.
many-to-one: تعداد زیادی کامنت متعلق به یک نفر هست.
اما در عمل برای به دست آوردن کل تعداد کامنت های یک فرد، نیاز به ایجاد رابطه نداریم بلکه همین که در جدول کامنت ها مشخص باشه که کدوم user کامنت داده کفایت میکنه لذا معمولا وقتی رابطه one-to-many ایجاد میکنیم خود به خود many-to-one هم در دسترس داریم.
@msdabbagh
@arminrahmati999
@eniack
@mohaligateway
ممنون متوجه شدم کاملا
پیشاپیش ممنون از همه ی شما
ممکنه دو تا مثال عملی هم برای حالات زیر بزنید در یه پروژه فروشگاهی
1-one-to-one
2- many-to-many
مثلا یه موبایل داریم برند سامسونگ، می شه one to one یه موبایل که نمی تونه همزمان دو تا برند داشته باشه! حالا سامسونگ موبایل های مختلفی با ویژگی های مختلفی داره میشه one to many.
many to many : مثلا یه مدل نوکیا یک gpu خاص داره که توی برند های مختلف و مدل های مختلف یکسان هستش این میشه many-to-many.
@bamdad
@mohaligateway
ممنون - one to one رو فهمیدم
ولی many-to-many رو نفهمیدم ، میشه یه مثال واضح تر بزنید ؟
@bamdad سلام دوست خوبم
شما دسته بندی و محصول رو در نظر بگیر
به این صورته که هر دسته بندی میتونه شامل چندین محصول باشه
و هر محصول هم میتونه چندین دسته بندی داشته باشه
به این روابط میگن many to many
@mamado درود
چطور ممکنه یه محصول چنتا دسته بندی داشته باشه ؟
مثلا یک مدل گوشی ، فقط میتونه زیر شاخه ی دسته موبایل باشه ، ولی زیر شاخه لبتاب که نمیتونه باشه
؟؟
سلام دوست عزیز!
one-to-one: یعنی بین دو رکورد در دو جدول مختلف تنها یک رابطه میتونه باشه.
مثال: هر کاربر میتونه تنها یک سبد خرید داشته باشه.
مثال دو: هر کاربر تنها میتونه یک عکس آواتار داشته باشه.
many to many: یعنی بین رکوردهای دو جدول بیش از یک رابطه میتونه باشه.
مثال: هر سبد خرید میتونه چند محصول داشته باشه و برعکس.
one to many: یعنی بین رکوردهای یک جدول با جدول دوم میتونه چند رابطه باشه اما برعکس نداره.
مثال: هر دسته بندی میتونه چندین محصول رو شامل بشه اما هر محصول یک دسته بندی داشته باشه.
یک منبع خوب برای شرح روابط «درک روابط دیتابیس در پکیج ORM لاراول با تحلیل پروژه واقعی» که خودم از اینجا یاد گرفتم.
@bamdad
موبایل یه دسته بندی کلی محسوب میشه ! و هیچکس نمیاد همه موبایل ها رو همینطور توی دسته بندی موبایل بزاره حالا کاربر بره بین این همه موبایل بگرده و چیز مدنظر خودشو پیدا کنه .
زیر دسته موبایل مدل های گوشی گذاشته میشه مثال : سامسونگ ، آیفون ، هواوی ، اپل ، و ...
سلام.
برای درک بهتر رابطه چند به چند من یه مثال به جز سایت فروشگاهی واستون میزنم تا راحت تر واستون جا بیوفته، بعد خودتون بسطش بدین به سایت فروشگاهی.
فرض کنید ما یک سایت شبیه راکت داریم و میخوایم واسه مقالاتی که داخل سایت قرار میدیم دسته بندی بذاریم.
رابطه بین مقاله ها و دسته بندی ها چند به چند است، حالا چطور؟
در دسته بندی ها ما یک دسته پدر داریم و هر دسته پدر تعدادی دسته فرزند داره.
مثلا فرض کنید ما یک دسته پدر به نام PHP داریم و تعدادی دسته فرزند که مربوط به PHP میشه، به نام های laravel، Yii و ...
حالا زمانی که میخوایم یک مقاله در مورد لاراول بنویسیم میتونیم دسته بندی های PHP و laravel رو برای این مقاله داشته باشیم.
پس هر مقاله میتونه تعداد زیادی دسته بندی داشته باشه و هر دسته بندی میتونه مطعلق به چند دسته بندی باشه.
امیدوارم واضح و مفید بوده باشه.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟