PDA

View Full Version : لزوم ایجاد ارتباط بین جداول دیتا بیس



m_u3fi
شنبه 16 مهر 1390, 11:56 صبح
این موضوع که ما باید بین موجودیت هایی که با هم در ارتباط هستند رابطه بگذاریم کاملا برام بدیهی است اما با دیدن چند برنامه که این مورد رو رعایت نکردن سوال برام پیش اومده که چه علتی باعث میشه که از گذاشتن این رابطه ها صرف نظر کنند؟
در این برنامه ها بین جداولشون (اونهایی که باهم ارتباط دارن ) هیچ رابطه ای نیست. یکی از اون برنامه ها برنامه بزرگ مرتبط با یک سازمان هست و توسط یک شرکت معتبر نوشته شده .
البته باید بگم که در این برنامه عملا اصول کلید اولیه و خارجی رعایت شده اما کلا به صورت دستی داخل برنامه و یا Stored procedure ها چک میشه که این کار حجم کد رو بالا برده و در بعضی جاها سرعت رو به خاطر Select های زیاد پایین میاره ممنون میشم توضیح بدید

یوسف زالی
شنبه 16 مهر 1390, 12:17 عصر
سلام.
گاهی ممکنه برای راحتی در انتقال اطلاعات بین چند شعبه از گذاشتن این ارتباط ها صرف نظر کنند.
با این کار به قیمت احتمال داده خراب ، این کار رو برای خودشون آسون کردند.

m_u3fi
شنبه 16 مهر 1390, 13:05 عصر
کاملا درسته انتقال اطلاعات داره و صد البته داده های خراب که هر ازچند گاهی با یه سری Script تعدادی اش درست میشه
ولی مگه نمیشه با وجود ارتباط بین جداول داده ها رو انتقال داد که این کار رو می کنن؟
پس در واقع این یه جور دور زدنه و اصولی نیست ؟

یوسف زالی
شنبه 16 مهر 1390, 13:23 عصر
اگر جداول دارای تعداد زیادی ارتباط با هم باشند برای انتقال، اسکریپت هایی باید نوشت که نیاز به هوش بالا و تسلط خوبی داره.
احتمالا اولین برنامه نویسان اون شرکت این رو رعایت نکردن و همین طور دور باطل دست به دست گشته تا به برنامه نویس امروزشون رسیده.
اون هم دیده که مدیریتشون حاضر به اختصاص وقت برای رفع ریشه ای این مشکل نیست! :لبخند:
و احتمالا اکثر وقتشون رو صرف دیباگ داده ها (که یکی از منشا هاش همین هست) می کنن.
راضی کردن مشتری در اولویته. گاهی مشکل رو باید آروم کرد تا زمان درست حل اون برسه. ممکنه مشتری با چند روز تاخیر نرم افزار رو پس بده. بنابراین می آن و فعلا این قضیه رو آروم می کنن تا مشتری از دست نره.
اینا البته تصورات و خیال پردازی های بنده بر حسب تجربه بوده :چشمک:
حالا این که واقعا در عمل چه اتفاقی افتاده سیاست اون شرکت باید پاسخگو باشه!

m_u3fi
شنبه 16 مهر 1390, 14:21 عصر
اتفاقا تقریبا همین جوری هاست ممنون جواب سوال دوم پس مشخص شد این یه جور دور زدنه برای اینکه از نوشتن اسکریپهای انتقال داده ها که زمانبر هست فرار کنن و اصولی نیست

sajjad_kochekian
جمعه 22 مهر 1390, 23:30 عصر
ارتباط جداول خيلي مهمه.
اگر ارتباط نداشته باشد و يك از جداول را بروز رساني كني و يك جدول رو فراموش كني بعد از يك مدت بيچاره ات ميكنه.
مخصوصا توي بعضي از دستورات حذف.
حالا اگر از همون ابتداي كار هر فيلد جديدي مي سازي كه نياز به يك ارتباط داره ارتباط اون را برقرار كني ، وقتي كه مي خواهي يك بروز رساني انجام دهي كار شما خيلي راحت ميكنه و جلوي حذف اطلاعتي كه رابطه هاي اون وجود داره رو جلوگيري مي كنه.
اتفاقا براي انتقال اطلاعات هم خيلي كمك ميكنه.
من خودم اطلاعات سه بانك اطلاعاتي از سه شهر رو دريافت مي كنم.
اون اطلاعتي كه رابطه داشته اند از ابتدا تا به حال مشكلي نداشتم.
ولي اطلاعتي كه رابطه نداشته اند بعد از يك مدت به مشكلاتي بر مي خورم و همينطور كه دوستمون گفت اصلاح اطلاعات بايد انجام داد كه كاري دشوار و دقت بالا نياز داره مخصوصا اگر بحث مالي هم باشه كه ديگه كار خيلي حساس ميشه.
موفق باشيد