تالار گفتمان مانشت
ابهام در پیوندها - نسخه‌ی قابل چاپ

ابهام در پیوندها - لهمشد - ۲۲ آذر ۱۳۸۹ ۰۴:۳۸ ب.ظ

خوب ببنید یه سری تعاریف اولیه از یپوند شده حالا سوال من اینه چطور یپوند شرطی می تونه معادل یپوند طبیعی باشه با این تعر یفی که اقای مقسمی ارائه کردند ؟؟؟
بازهم همون بانک های قبلی:

[تصویر:  8844_1_1379099101.jpg]
سوال من:
[تصویر:  8844_2_1379099101.gif]

RE: ابهمام دیگر درباره پیوند - babakab110 - 22 آذر ۱۳۸۹ ۰۸:۴۶ ب.ظ

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

RE: ابهمام دیگر درباره پیوند - لهمشد - ۲۲ آذر ۱۳۸۹ ۱۱:۳۰ ب.ظ

سلام به بابک ۱۱۰ عزیز دوست من من اوجمله ای که با خودکار ابی نوشتم رو ببنید او جمله تو کتاب اقای مقسمی هستش و من می گم غلطه گفته شده در پیوند شرطی اگه شرط تتا مساوی باشه تبدیل به پیوند طبیعی میشه خوب من اومدم درخروجی جدول اول ۲ تا جدول رو تو هم ضرب دکارتی کردم چون تتا جوین اول همین کار رو می کنه دیگه بعد اومدم شرط تساوی رو اعمال کردم خرو جی اش شد جدول اول حالا یه بار خود عملگر پیوند طبیعی رو اعمال کردم که به قول شما ستون‌ها هم نام فقط یکبار و هم دانه باید باشند ودر خروجی یکبار نمایش داده میشود که جواب شد جدول دوم که رسم کردم و گفتم ایا این دو جدول یکسان اند از روی شکل رابطه‌ها معلوم هستش که نه ولی طبق اون مطلبی که باز تاکید میکنم اقای مقسمی می فرمایند بله یکسان است امیدوارم منظورم رو بدرستی متوجه شده باشید ؟/

RE: ابهمام دیگر درباره پیوند - Maryam-X - 23 آذر ۱۳۸۹ ۰۱:۲۷ ق.ظ

سلام
ببینید من هم کتاب مقسمی رو خوندم و مطلب را کامل متوجه شدم..
(کاری به جداول بالا ندارم کلی توضیح می دهم)
فرض کنید دو تا جدول داریم که در ۳ فیلد اشتراک دارند.(۳ تا ستون همنام دارند که مقادیر بعضی‌ها در دو جدول یکسان هستند)
وقتی شما پیوند طبیعی به کار می برید پیوند در عوض تمام ستون های مشترک انجام میشه که در این حالت به طو ر اتوماتیک مقادیر هر ۳ ستون باید در دو جدول دو به دو یکسان باشند تا پیوند صورت بگیره...و پیوند طبیعی فقط می تونه مساوی بودن دو ستون رو چک کنه.

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

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

توجه داشته باشید ما در پیوند شرطی وقتی بخواهیم روی یک ستون همنام در دو جدول شرطی را اعمال کنیم برای اینکه ستون‌ها به علت همنامی اشتباه نشوند در برنامه نویسی یا ابتدا به آن‌ها یک نام فرضی متفاوت می دهیم ویا آنها را با اسم جدولشان صدا می زنیم مثل s.city & p.city این اسامی فقط در همان تکه کد قابل استفاده هستند و خارج از کد قابل دسترسی نیستند و تاثیری روی اسم ستون های جدول ما ندارند!

در هر صورت من هم فکر می کنم در کتاب مقسمی اینجا اشتباهی رخ داده و شاید فقط برای فهم بیشتر خواننده city ‌ها را به p.city &s.city تبدیل کرده وگر نه توی کامپیوتر چنین چیزی پیش نمیاد.!

RE: ابهمام دیگر درباره پیوند - لهمشد - ۲۳ آذر ۱۳۸۹ ۰۱:۵۲ ب.ظ

نقل قول: توجه داشته باشید ما در پیوند شرطی وقتی بخواهیم روی یک ستون همنام در دو جدول شرطی را اعمال کنیم برای اینکه ستون‌ها به علت همنامی اشتباه نشوند در برنامه نویسی یا ابتدا به آن‌ها یک نام فرضی متفاوت می دهیم ویا آنها را با اسم جدولشان صدا می زنیم مثل s.city & p.city این اسامی فقط در همان تکه کد قابل استفاده هستند و خارج از کد قابل دسترسی نیستند و تاثیری روی اسم ستون های جدول ما ندارند!
خوب ببنید مگه در جدول خروجی در یپوند شرطی فیلد‌ها همنام مگر ظا هر نمیشوند s.city & p.city ولی در صورتی که در یپوند طبیعی فقط s.city یا p.city خوب این هم یه تفاوت دیگه هست که باعث تفاوت میشه نه ؟؟؟ و اساسا همین تفاوت ایجاد در شکل جدول و حجم جدول میکنه نه ؟؟

RE: ابهمام دیگر درباره پیوند - babakab110 - 23 آذر ۱۳۸۹ ۰۲:۲۱ ب.ظ

متوجه منظورتون نشدم.
ولی اینرو بخاطر داشته باشید دگر نامی روی ستون‌ها در شرط پیوند غیر طبیعی
به علت یک اصل در مدل رابطه ایه که میگه ستون‌ها نباید همنام باشند.
پیوند طبیعی از روی ضرب دکارتی تعریف می شود
پیوند غیر طبیعی هم از روی ضرب دکارتی تعریف می شود
در پیوند طبیعی ابتدا ستون‌ها نا هم نام می شوند بعد از ضرب
سطر هایی می مونند که مقدارشان مساوی(یا همون شرط تساوی) است
بعد یکی از دو ستون همنام حذف می شود.
در ضرب غیر طبیعی ابتدا ستون‌ها نا همنام می شوند ضرب انجام می شود
بعد سطر هایی میمونند که شرط پیوند رو دارند ولی دیگر ستونی حذف نمی شود