View Full Version : آیا داشتن سیکل در ارتباطات جدول های پایگاه داده اشتباه است؟
hamid.shekasteh
یک شنبه 22 آذر 1388, 07:52 صبح
با سلام
من مدتی پیش برنامه ای رو برای یه شرکت بردم وقتی که اونا برنامه رو دیدن گفتند که در دیاگرام ها نباید سیکلی داشته باشیم؟
آیا این گفته درست است؟در همه موارد؟
DataMaster
یک شنبه 22 آذر 1388, 12:37 عصر
اره وجود سیکل اشتباهه
علل الخصوص زمانی که cascade update or delete داشته باشید
اما من خودم هم نفهمیدم چرا سیکل به وجوذ میاد
hamid.shekasteh
دوشنبه 23 آذر 1388, 07:54 صبح
اره وجود سیکل اشتباهه
علل الخصوص زمانی که cascade update or delete داشته باشید
من راه دیگه ای به نظرم نمیرسه ، میشه بگید چه جور باید این مشکل رو حل کرد؟
من یه جدول برای غذا ها و یکی برای مواد خام دارم،که این دو با هم یک ارتباط چند به چند دارند(تا اینجا نیم سیکلو بدون مشکل)اما یه جدول واحد هم دارم که واحد غذا ها و مواد و ... رو نگهداری می کنه و به هر دوشون وصل میشه (اینجاست که سیکل به وجود میاد)
آیا راه حلی سراغ دارید؟
ممنون
ASKaffash
دوشنبه 23 آذر 1388, 08:26 صبح
سلام
اگر مطابق شکل ذیل عمل کنید نباید Loop ایجاد شود:
hamid.shekasteh
سه شنبه 24 آذر 1388, 14:45 عصر
سلام
اگر مطابق شکل ذیل عمل کنید نباید Loop ایجاد شود:
با تشکر از توجه شما دوست عزیز
اما من دقیقا همین ها رو پیاده سازی کردم مشکلی هم در عمل نداشته ام.
من فکر می کنم که با وجود اینکه ظاهر دیاگرام چرخه دارد اما در واقع چرخه در دیاگرام حتما به معنای مشکل و عیب نیست و این ساختار یک حاله ی مشکل دار نیست .نظر شما چیه؟
s.Jabbari
سه شنبه 24 آذر 1388, 18:11 عصر
امکانش هست ولی احتمال خطا خیلی زیاد هست.
شما وقتی بین 2 جدول ارتباط فیزیکی برقرار می کنید در جدول دوم نمی توانید داده ای داشته باشین که تو جدول اول نیست.
پس وقتی بین چند جدول سیکل ایجاد میکنید جدول اول می تونه هم به عنوان طرف اول رابطه و هم به عنوان طرف دوم رابطه فرض شود.که این نوعی unconsistency هست
محمد سلیم آبادی
چهارشنبه 25 آذر 1388, 14:43 عصر
با سلام
من مدتی پیش برنامه ای رو برای یه شرکت بردم وقتی که اونا برنامه رو دیدن گفتند که در دیاگرام ها نباید سیکلی داشته باشیم؟
آیا این گفته درست است؟در همه موارد؟
سلام دوست عزیز،
SQL Server اصلا اجازه ایجاد سیکل در دیاگرام را نمی دهد. شیوه ی نمایش داده شده در پست شماره ی چهار که از Junction Table استفاده شده مناسب است.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.