نمایش نتایج 1 تا 11 از 11

نام تاپیک: درخواست راهنمایی جهت بهترین روش ذخیره اطلاعات

  1. #1

    درخواست راهنمایی جهت بهترین روش ذخیره اطلاعات

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

    در این فکر هستم که آیا روشی میتوان بوجود آورد که مثلا اطلاعات سالهای قدیم ( به غیر از اطلاعات جدول 1 ) را به بانکهای جانبی انتقال داد و در هنگام نیاز از آن استفاده کرد؟
    با این کار سرعت اجرای برنامه فوق العاده بالا خواهد رفت .

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

  2. #2
    نقل قول نوشته شده توسط rezamim مشاهده تاپیک
    با سلام
    فرض کنید برنامه ای دارید با 10 جدول اطلاعاتی با تعداد رکوردهای بالا. جدول 1 حاوی اطلاعات شناسنامه ای افراد و سایر جداول حاوی اطلاعاتی مرتبط با جدول 1 هستند.
    امکان اینکه اطلاعات هر سال را جداگانه داشته باشیم وجود ندارد . چون گاهی اوقات به اطلاعات چند سال قبل هم نیاز میباشد. مخصوصا به اطلاعات موجود در جدول 1

    در این فکر هستم که آیا روشی میتوان بوجود آورد که مثلا اطلاعات سالهای قدیم ( به غیر از اطلاعات جدول 1 ) را به بانکهای جانبی انتقال داد و در هنگام نیاز از آن استفاده کرد؟
    با این کار سرعت اجرای برنامه فوق العاده بالا خواهد رفت .

    البته من همیشه بانکها را در ابتدای برنامه باز میکنم و هر جا لازم باشد از نام جدول استفاده میکنم. بنابراین مشکلی که خواهم داشت اینست که نمیتوانم بانکهای جانبی را هم به همان نام بسازم.
    سلام معمار
    من امتحان نکردم ولی فکر میکنم میشه از دو تا دیتابیس استفاده کنیم در دو دایرکتوری متفاوت . !! اینجوری نام تمامی جداول در هر دو دیتابیس یکی هستند و عملیات به راحتی با تعیین مسیر جدید انجام میشه.

  3. #3
    سلام
    من معمولا برای هر دوره از اطلاعات که میتونه یک سال باشه (و البته تو بعضی از موارد برنامه های من مثلا سه ماه بوده ) یک پوشه اختصاص میدم بعد تو هر مرحله از کار بنا به نیازی که دارم از نام پوشه ها برای دسترسی به یک جدول استفاده می کنم

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

  4. #4
    با تشکر از نظرات دوستان
    شاید درست توضیح ندادم. این مواردی که شما میفرمایید کاملا صحیح هستند. البته مواقعی که ما مثلا برنامه حسابداری داریم و نیاز به اطلاعات سال قبل یا یک دوره خاص داشته باشیم . بله در این موارد بانکهای مربوط به آن سال را باز میکنیم و کارمان را انجام داده و سپس مجددا به سال جاری باز میگردیم.
    ولی مسئله من اینست که از 10 جدول اطلاعاتیم فرضا 6 مورد در تمام دوره ها ثابت هستند و تنها اطلاعات 4 جدول است که حجم بسیار بالا خواهند داشت و نیاز است که جدا سازی و بایگانی شوند و ضمنا میخواهم کاربر اصلا متوجه چنین موضوعی نباشد ( چیزی بعنوان سال یا دوره وجود ندارد و یا اینکه کاربر بخواهد استفاده از فایل بایگانی را انتخاب کند )

  5. #5
    معمار جان: فکر نمیکنم کاربر متوجه بشه زیرا شما بنا به شرطی خاص استفاده از یکی از دیتابیسهاتون رو فعال میکنین !!

  6. #6
    پیشنهاد من استفاده از بانکهای اطلاعاتی مثل mysql و ساختن select مورد نیاز است.

    یعنی اینکه بسته به شرایط select مورد نظر ساخته بشه.

    البته استفاده از select خود فاکس و cursor هم قابل استفاده است اما سرعتش قاعدتا پایین است.
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  7. #7
    منم نظر آقا رضا رو دارم
    در تندیس های تخت جمشید هیچ کس در حال تعظیم نیست ، هیچ کس عصبانی نیست ، هیچ کس سرافکنده و شکست خورده نیست ، هیچ کس سوار بر اسب نیست ، هیچ قومی بر قوم دیگر برتر نیست ، هیچ کس برده نیست و هیچ تصویر خشنی دیده نمیشود.
    ************************************************** ******************************************
    اندیشه کن , آنگاه سخن گو تا از لغزش بر کنار باشی

  8. #8
    جالبه منم نظر آقا رضا رو داشتم ( ای بابا منم که رضام! )
    چون بنظرم رسید که میتونم توی یه فیلد علامت بگذارم که یعنی اطلاعات تکمیلی مربوطه به بانکهای بایگانی انتقال داده شده و بنابراین اون بانکها رو باز کنم و با یه دستور Select مناسب ، کار رو تموم کنم .
    ولی گفتم 1 - شاید راه حل دیگه ای وجود داشته باشه که به ذهنم نرسیده
    2 - اینکه : وای خدای من باید کلی از قسمتها رو دوباره تغییر بدم

    اگه نظر دیگه ای باشه همچنان چشم به راهم. ممنون

  9. #9
    نه لازم نیست فاکس پرو با cursor قابل update مانند table رفتار میکند. کافیست اسم آنها یکی باشد.
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  10. #10
    معذرت میخوام.
    میدونم Cursor قابل Update شدن چیه ولی متوجه بقیه مطلب نشدم . اگر امکان داره بیشتر توضیح بدهید .
    با تشکر

  11. #11

    SQLEXEC(nH,"SELECT * FROM person Person","Person")


    اگر این دستور را اجرا کرده باشید person نام جدول است که عینا مانند جداوال فاکس است. یعنی نامی که به cursor داده اید.
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

تاپیک های مشابه

  1. تقاضایی راهنمایی و کمک در کار با Dreamweaver
    نوشته شده توسط احمد کاوه در بخش طراحی وب (Web Design)
    پاسخ: 4
    آخرین پست: پنج شنبه 29 مهر 1389, 12:41 عصر
  2. آقا چه چیزایی با javascript قابل حل هست چه چیزایی با .net
    نوشته شده توسط odiseh در بخش ASP.NET Web Forms
    پاسخ: 13
    آخرین پست: جمعه 02 فروردین 1387, 04:44 صبح
  3. دوستانی که با interbase آشنایی دارند لطفا راهنمایی کنند
    نوشته شده توسط mehdi_moosavi در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 4
    آخرین پست: شنبه 01 بهمن 1384, 14:11 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •