ورود

View Full Version : فیلدهای محاسباتی در جداول بانک اطلاعاتی



hosseinsinohe
پنج شنبه 15 دی 1390, 20:27 عصر
می گوییم فیلدهای محاسباتی را در DataBase ذخیره نکنید!! حال با سیستم هایی مواجه می شویم که محاسبات آن ها (مقدار یک فیلد) طاقت فرسا می باشد و قوانین و تعرفه های زیادی برای آن وجود دارد.پس از این محاسبات مقداری بدست می آید.حال اگر حاصل بدست آمده در DataBase ذخیره نشود و سال دیگر و یا سال بعد از سال دیگر قوانین محاسباتی فیلد (ها) تغییر کرد تکلیف مقادیر قبلی که از طریق محاسبات بدست می آمدند چیست؟!!!!
آیا باید کدهایی را بر کدهای قبلی اضافه کرد تا سیستم از پس محاسبات قدیمی و جدید بر آید (رکوردهای قدیمی با محاسبات قدیمی و رکوردهای جدید با محاسبات جدید!) یا اینکه راه حل منطقی ، برای رفع این مشکل ،ذخیره چنین مقادیری در DataBase است؟! (برای فهم بهتر موضوع ،سندی را در نظر بگیرید که برخی فیلدهای آن از طریق محاسبات پیچیده و خاص بدست می آید و ممکن است سال های دیگر به نحو متفاوتی محاسبات آن انجام شود).

linux
جمعه 16 دی 1390, 00:42 صبح
می گوییم فیلدهای محاسباتی را در DataBase ذخیره نکنید!! حال با سیستم هایی مواجه می شویم که محاسبات آن ها (مقدار یک فیلد) طاقت فرسا می باشد و قوانین و تعرفه های زیادی برای آن وجود دارد.پس از این محاسبات مقداری بدست می آید.حال اگر حاصل بدست آمده در DataBase ذخیره نشود و سال دیگر و یا سال بعد از سال دیگر قوانین محاسباتی فیلد (ها) تغییر کرد تکلیف مقادیر قبلی که از طریق محاسبات بدست می آمدند چیست؟!!!!
آیا باید کدهایی را بر کدهای قبلی اضافه کرد تا سیستم از پس محاسبات قدیمی و جدید بر آید (رکوردهای قدیمی با محاسبات قدیمی و رکوردهای جدید با محاسبات جدید!) یا اینکه راه حل منطقی ، برای رفع این مشکل ،ذخیره چنین مقادیری در DataBase است؟! (برای فهم بهتر موضوع ،سندی را در نظر بگیرید که برخی فیلدهای آن از طریق محاسبات پیچیده و خاص بدست می آید و ممکن است سال های دیگر به نحو متفاوتی محاسبات آن انجام شود).
منظور از فیلدهای محاسباتی، فیلدهایی هست که از حاصل ضرب و تقسیم و ... از فیلدی در همان رکورد بدست می آید، فرض کنید که شما در جدول فیلد تاریخ امروز را ذخیره می کنید دیگر نیازی نیست یک فیلد دیگر داشته باشید تا مثلا تاریخ فردا را ذخیره کنید،
ولی اگر فیلد شما حاصل عملیات چندین رکورد از جدوال مختلف هست، این می توانید ذخیره کنید.هر جند ممکن هست با یک طراحی مناسب باز احتیاج به ذخیره نداشته باشید.