PDA

View Full Version : ضرورت ایجاد ارتباط بین جداول در چیست؟



RezaBehrang
پنج شنبه 26 دی 1392, 18:19 عصر
سلام

سوالی برام پیش اومده که ما چرا بین جداول ارتباط برقرار میکنیم

یا اینطوری بپرسم نحوه کاربرد این ارتباطات چطوریه؟

حالا اگه ارتباط ندیم و از یه دستور select برای کوئری گرفتن استفاده کنیم چی میشه

مثلا بگیم در جدول شماره 2 مقدار یه فیلد خاص از جدول 1 رو بگرد و هر چی هم نام پیدا کردی برگردون

یعنی همون ارتباط یک به چند!!!

Abbas Amiri
پنج شنبه 26 دی 1392, 19:28 عصر
سلام

سوالی برام پیش اومده که ما چرا بین جداول ارتباط برقرار میکنیم

یا اینطوری بپرسم نحوه کاربرد این ارتباطات چطوریه؟

حالا اگه ارتباط ندیم و از یه دستور select برای کوئری گرفتن استفاده کنیم چی میشه

مثلا بگیم در جدول شماره 2 مقدار یه فیلد خاص از جدول 1 رو بگرد و هر چی هم نام پیدا کردی برگردون

یعنی همون ارتباط یک به چند!!!

هیچ ضرورتی وجود ندارد . بعضی دیتابیس ها را بدون این کار هم می سازند . و روابط را با کد نویسی و کوئریها در هرجا که لازم باشد می توان ایجاد کرد.

ولی از مزایای آن هم نمی توان به سادگی گذشت ، ایجاد راحتتر کوئریها و فرمها و گزارشات ، جامعیت داده ها و ...

مثلا اگر شما بین دو فیلد از دو جدول ارتباط یک به چندایجاد کرده باشید بدون وجود مقدار در کلید اصلی نمی توان در فیلد متناظر در جدول دیگر مقداری وارد کرد.

New Account
شنبه 28 دی 1392, 13:27 عصر
سلام RezaBehrang

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

یک مثال میزنم :

خودروی شما کمر بند ایمنی داره
هیچ ضرورتی در بستن اون نیست و خودرو بدون بستن اون هم داره وظایف اصلی خودش رو به انجام میرسونه
ولی اگر میخواید احتمال زنده موندنتون در یک تصادف افزایش پبدا کنه و یا پلیس شما رو جریمه نکنه ، بستن اون الزامی میشه
فردی نوعی ، هیچ ابایی از جریمه شدن نداره و امیدی هم به زندگی نداره ، حالا به نظر شما آیا بستن کمر بند ایمنی برای این فرد الزامی هستش و یا نه ؟!

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

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

در مجموع استفاده از ارتباطات در داخل دیتابیسهای استاندارد اکسس الزامی و ضروری هستش مگر اینکه تفکرمون انجام کارها به شیوه ای سخت تر و غیر استاندارد تر باشه

یک راهکار صحیح رو طبق هیچ منطقی نمیشه با یک راهکار مقطعی جایگزین کرد ، چرا که هر گونه راهکار دیگه ای تنها منجر به کاهش کارایی ، افزایش زوائد برنامه و پیچیده شدن پروسه طراحی میشه

در وب سرچ کنید : بانک های اطلاعاتی رابطه ای

موفق باشید

Abbas Amiri
یک شنبه 29 دی 1392, 00:35 صبح
یک راهکار صحیح رو طبق هیچ منطقی نمیشه با یک راهکار مقطعی جایگزین کرد ، چرا که هر گونه راهکار دیگه ای تنها منجر به کاهش کارایی ، افزایش زوائد برنامه و پیچیده شدن پروسه طراحی میشه

در تایید نقل قول فوق در برنامه ای که برای کار خودم بود و حدود 90 جدول داشت را بدون ارتباط ساختم (برای چالش کشیدن این موضوع)
به تبع آن صدها شیء دیگر هم منضم شد و الان هم بدون دردسر کار خودش را می کند . ولی یک نکته خیلی مهم داشت و آن هم ایجاد حدود 21000 خط کد که بخشی از آن از عواقب عدم وجود رابطه بین جداول بود .