PDA

View Full Version : سوال: افزایش رکوردها در جدول یا ایجاد جدول جدید برای سال جدید



momimomi
یک شنبه 10 شهریور 1392, 05:41 صبح
با سلام
برنامه ی بنده روزانه تقریبا 1000 رکورد را در بانک اطلاعاتی ذخیره می کنه.
سوالات بنده:
1- از چه ورژن sql استفاده کنم؟
2- برای اینکه بانک اطلاعاتی دچار کاهش سرعت در آینده نشود آیا بهتر است برنامه طوری طراحی شود که هنگام وارد شدن به سال جدید, جدول جدید ایجاد کند یا اینکه در همان جداول قبلی اطلاعات وارد شود؟
3- آیا ظرفیت sql جوابگوی این کار هست؟
4- برنامه های بزرگی که حجم داده زیادی را ذخیره می کنند از چه بانک اطلاعاتی استفاده می کنند؟
با تشکر

lastmory
یک شنبه 10 شهریور 1392, 09:46 صبح
با سلام
1-ورژن Sql رو اگر 2012 انتخاب کنی مسلما امکانات بیشتری رو در اختیارت قرار میده اما بازم بستگی به خودت داره میتونی از 2008 و 2008 R2 هم استفاده کنی
2-معمولا توی یه همچین حالتهایی برا جلوگیری از پیچیدگی کار و حفظ یکپارچگی ، یه فیلد سال اضافه میکنن و مشخص میکنن که هر رکورد مربوط به چه سالی هستش ، توی سلکتت هم شرط میزاری که رکوردهای سال فعال رو نشون کاربر بدی
4-معمولا برای داده های عظیم از اوراکل استفاده میشه

setareh masompoor
یک شنبه 10 شهریور 1392, 10:23 صبح
سلام
من یه همچین پروژه ی رو کار کردم از sqlserver2008 r2 استفاده کردم مشکلی هم نداشتم اما برای اینکه راحتر دسته بندی طبق گفته دوستمون براساس فیلد سال دسته بندی کن و بعد تموم شدن هر دوره مشخص مثلا 6 ماه یا 1 سال دادها رو آرشیو کن در بحث مربوط به آرشیو کردن دیتا بیس میتونی در موردش مطالعه کنی.

momimomi
یک شنبه 10 شهریور 1392, 20:50 عصر
با تشکر از اساتید محترم
برنامه ی بنده یک فیلد تاریخ داره آیا همون کافیه (همزمان با ثبت رکورد هر نامه, در این فیلد, تاریخ نامه با فرمت شمسی به شکل روز ماه سال ذخیره میشه) آیا میشه همین فیلد رو به عنوان فیلد سال در نظر گرفت؟

lastmory
یک شنبه 10 شهریور 1392, 23:08 عصر
آیا میشه همین فیلد رو به عنوان فیلد سال در نظر گرفت؟
با سلام مجدد
اگر بخواهی میشه ، اما سال مالی یه چیزیه که میتونه از تاریخ جدا باشه ، اگر فیلدش رو جدا کنی راحتتر و انعطاف پذیرتر میشه برنامه ت ، شرط سلکتت هم خوانا تر میشه
ممکن هم هست مثلا تو سال 90 کاربر بخواد نامه بزنه با تاریخ سال 89 ، میدونم منطقی نیست اما شاید پیش بیاد 1 در 1000

amir200h
یک شنبه 10 شهریور 1392, 23:20 عصر
صد در صد باید یک فیلد برای مشخص کردن سال مالی بصورت جداگانه قرار بدی اینطوری اگه بخوای اطلاعات یک سالو بکشی بیرون فقط کافیه یه کوئری ساده بزنی
select * from table1 where salemali='1392' and ...