ورود

نسخه کامل مشاهده نسخه کامل : پیاده سازی سال مالی در برنامه



H A M A S
05-07-2012, 11:06
فرض کنید به ازای هرسال بیایم تمام داد و ستدها رو بر اون اساس تفکیک کنیم..2 راه میشه در نظر گرفت!
1-یه فیلد سال در نظر بگیریم و بر اساس همین فیلد توی گزارشها سال ها رو تفکیک کنیم
2-به ازای هر سال یه دیتابیس جداگونه در نظر بگیریم

به نظر شما کدوم راه بهتره؟

Msba
05-07-2012, 11:29
مزیت راه اول سادگی برنامه نویسی هست. عیب: افزایش حجم جدول در چندین سال و احتمال کاهش سرعت واکشی اطلاعات.
مزیت راه دوم: دسترسی ساده تر به اطلاعات هر سال حتی اگرنرم افزار شما نباشد. قالب بندی شدن اطلاعات به ازای هر سال در هر جدول.رفع احتمالی مشکلات و باگ های برنامه نویسی که ممکن است در کل جدول تاثیر بگذارند و اطلاعات سال های قبل را مشکل دار کنند.قابلیت بک آپ گیری از جدول مربوط به هر سال و صرفه جویی در فضای فایل بک آپ گیری. عیب: پیچیده تر شدن برنامه نویسی.
از نظر من راه دوم بهتر است. هر بار که کاربر سال جاری مالی را بست، برنامه یک جدول جدید با نام سال جدید بسازد و از این به بعد تمام ذخیره و بازیابی ها رو از اون بگیرد. هر بار هم که کاربر خواست سال قبلی را بارگذاری کند جدول مشخصه ی همون سال را لود کند. در واقع بخشی در برنامه وجود داشته باشد که کاربر سال مالی خود را انتخاب کند.


موفق باشید.

senaps
05-07-2012, 11:49
سلام... موافقم راه دوم خیلی بهتره!

H A M A S
05-07-2012, 12:14
خب حالا این پیاده سازی برنامه چند دیتابیسی چه طوری هست؟
سال مالی وقتی تموم شد نیاز هست که دیتابیس قدیمی بره توی آرشیو(از sql دیتچ بشه؟ درسته؟) و یه بانک جدید ساخته بشه
شبه کدی-راهنمایی چیزی در این باره هست؟

_H2_
09-07-2012, 21:51
سلام
اگر خواستید از راه حل اول استفاده کنید، برای افزایش سرعت واکشی میتوانید روی فیلد سال در جداول Index قرار دهید.

عــــلی
09-07-2012, 22:12
بنام خدا.
سلام.
روش دوم رو پیشنهاد نمیکنم.
با یه ایندکس گذاری مشکل برطرف خواهد شد.موفق و سربلند باشید در پناه حق.

senaps
09-07-2012, 23:25
ایا امکان دراپ کردن و ساختن دیتابیس سی کو ال دیگه وجود داره؟(دیتابیس متنی که خوب، شدنیش احتمالا میشه!)
من سوال دوستمون رو ندیده بودم، ولی الان که دیدم فکر میکنم یه مقدار تو گزارش گرفتن و اینا مشکل ایجاد میکنه که هیچ، پیاده سازیش هم سخته و دردسر داره!

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

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