رد کردن این محتوا

ساخت دیتابیس از فایل‌های کامپیوتر

مقدمه

در جریان دوره‌ آموزشی دیتابیس که در حال برگزاری است، قرار شد دیتابیسی از فایل‌های کامپیوتر آماده کنیم که ادامه ی آموزش بر اساس آن صورت گیرد. در سه مقاله قبلی نحوه ارتباط دیتابیس با زبان های PHP و Java آموزش داده شد. در این مقاله قصد داریم ساخت نرم افزار پر کننده دیتابیس را آموزش دهیم.

چرا جاوا ؟

با توجه به قابلیت های چند سکویه ی جاوا و اجرای ساده ی آن در سیستم عامل های مختلف تصمیم گرفتم آموزش را در این زبان قرار دهم. البته تمام زبان های برنامه نویسی راه کارهایی برای انجام چنین کارهایی در اختیار برنامه نویسان قرار می دهند.

ساخت دیتابیس

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

  • ID : شناسه ی گره
  • name : نام فایل یا پوشه
  • type :‌ نوع فایل یا پوشه
  • size :‌ حجم فایل ( در اینجا فرض شده پوشه حجمی ندارد )
  • parentID :‌ شناسه ی گره والد

ساخت نرم افزار پر کننده دیتابیس

اتصال به دیتابیس

برای اتصال به دیتابیس مقاله ی آموزش اتصال به MySQL با جاوا (Java) را ببینید.

متد اضافه کردن فایل به دیتابیس

برای اضافه کردن مشخصات فایل ها برای سادگی کار از متد زیر استفاده می کنیم.

این متد یک دستور INSERT را با مقادیر مشخص شده می سازد و اجرا می کند تا مشخصات فایل یا پوشه به دیتابیس افزوده شود.

در قسمت:

شناسه ی ردیف جدید را دریافت می کنیم و به خروجی تابع ارسال می کنیم. در صورتی که خطایی رخ دهد مقدار -1 را به خروجی ارسال می کنیم.

متد گرفتن مشخصات فایل ها از سیستم عامل

در این مرحله باید اطلاعات فایل ها را از سیستم عامل دریافت کنیم برای این کار از APIهایی که در جاوا آماده شده استفاده می کنیم. چون فایل سیستم یک ساختار درختی است پس نیاز به تابع بازگشتی برای پویش فایل ها داریم.

در مرحله ی اول لیست فرزندان یک پوشه را از سیستم فایل در خواست می کنیم:

به ازای هر فایل فرزند:

اگر فرزند یک فایل است:

اطلاعات آن را به دیتابیس اضافه کن:

در غیر این صورت اگر فرزند پوشه است:

اطلاعات آن را به دیتابیس اضافه کن و برای فرزندانش همین کار را تکرار کن:

در صورتی که قصد داریم عمق جستجو را محدود کنیم می توانیم دستور زیر را به ابتدای متد اضافه کنیم:

کد کامل:

متد Main

آماده سازی دیتابیس:

آماده سازی ریشه ی درخت و شروع کننده ی جستجو:

شروع جستجو:

پایان جستجو:

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

کد کامل:

کد کامل برنامه

 

منتشر شده آموزش

اولین نظر دهنده باشید

پاسخ دهید

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