برای یکی از پروژه‌های در دست انجام لازم بود تا حجم زیادی از جدول‌ها و اطلاعات را به شکل والد و فرزند در سیستم درج کنم.
اطلاعات در یک فایل اکسل قرار گرفته بود که درج آن‌ها بدون یک ابزار که کار را سرعت ببخشد، حتی با عبارت‌های منظم هم کاری زمان‌بر و دشوار بود و احتمال اشتباه در آن بسیار بالا می‌رفت
بنابراین یک ابزار ساده درست کردم که کار درج اطلاعات را با ایجاد اسکریپت SQL در جدول‌های پایگاه داده آسان‌تر کند.
برای نمونه: فهرست استان‌ها و شهر‌های هر استان باید در دو جدول مختلف وارد شوند. جدول شهرها می‌بایست، یک کلید خارجی به جدول استان‌ها داشته باشد تا مشخص شود هر شهر در کدام استان قرار گرفته است.
به این منظور، نام هر استان و شهرهای قرار‌گرفته در آن استان را زیر هم داخل یک فایل متنی قرار می‌دهیم و بین هر گروه از استان‌ها، یک خط خالی قرار می‌دهیم.
مرحله‌ی بعدی، مشخص کردن نام جدول والد( استان‌ها ) و فرزند( شهرها ) است. همچنین نام ستون کلید خارجی قرار گرفته در جدول فرزند( شهرها ) الزامی است.

برای استفاده‌ی آنلاین از این ابزار، اینجا کلیک کنید

۳ نظر در مورد «ایجاد کننده اسکریپت درج والد و فرزند در پایگاه داده MySQL»

  • سلام
    اگر میشه ی مقاله در مورد ذخیره داده ها بصورت والد و فرزند تو php & mysql و کاربردها و معایب و فوایدش تهیه کنید.
    خیلی می تونه مفید باشه کلا در این مورد اطلاع مفید و آسان تو وب وجود نداره

    • امیرمسعود ایرانی می‌گوید:

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

  • با سلام و تشکر
    البته منظورم یک آموزش کامل بود! نحوه ی ذخیره مثلا n سطح اطلاعات در این روش ، نحوه ی بازیابی ، انواع روش های بازیابی، breadcrump و مسائل دیگه. یک سری کلاس میشه پیدا کرد ولی در کل آموزش خوب در این مورد نیست. تو ویدئوهای آموزشی هم نیست.
    البته ممکنه وقت انجام این کار رو نداشته باشید.
    در هر صورت ممنون از پاسخ گویی.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *