PDA

View Full Version : سوال: limit در ديتابيس يا كنترل limit با كدنويسي



UnnamE
چهارشنبه 07 اردیبهشت 1390, 21:17 عصر
سوال اينه كه چه فرقي داره ما محدوديت ظرفيت فيلد ها رو به خود db بسپاريم يا خودمون با برنامه نويسي كنترل كنيم
منظور اينه كه مثلا فيلد username معمولا نبايد بيشتر از 30 كاراكتر باشه
خب حالا وقتي كلا محدوديت فيلد رو با برنامه نويسي كنترل ميكنيم، ديگه چرا بايد توي ديتابيس هم تنظيم كرد؟
اصلا مزيت limit دادن به فيلد ها چيه؟
مرسي

امیـرحسین
چهارشنبه 07 اردیبهشت 1390, 21:48 عصر
دیتابیس بر اساس نوع فیلد، فضا رزرو میکنه. از اون مهمتر برای تسریع کوئری‌ها باید اطلاعات با فیلدها متناسب باشند.
کار صحیح اینه که با کدنویسی اطلاعات رو کنترل کنیم و دیتابیس هم وظیفه‌ی خودش رو داشته باشه.

Keramatifar
چهارشنبه 07 اردیبهشت 1390, 22:33 عصر
ضمن تایید نظرات امیر حسین
اگر شما سمت برنامه limit رو کنترل نکنی و رشته ای با طول نامناسب ارسال کنی دیتابیس شما error میده و این خطا در صورت هندل نشدن توسط برنامه شما به کاربر نمایش داده خواهد شد، علاوه بر اینکه برای یک برنامه نویس خیلی زشته که همچین اتفاقی توی برنامش بیفته، به هکرها هم کمک زیادی در درک منطق نرم افزارتون خواهید کرد

UnnamE
چهارشنبه 07 اردیبهشت 1390, 23:22 عصر
مرسي از هردوتون

دیتابیس بر اساس نوع فیلد، فضا رزرو میکنه
خب برنامه هاي زيادي ديدم كه واسه ي اكثر فيلد ها حداكثر مقدار زيادي ميزارن
مثلا خود فيلد email يا username رو در همه برنامه ها كه ديدم معمولا 255 تنظيم شده در صورتي بخوبي با كدنويسي اين مورد رو كنترل كردن كه بيش از 30 كاراكتر نباشه

Keramatifar
پنج شنبه 08 اردیبهشت 1390, 01:10 صبح
اینکه خیلی از برنامه ها یک کاری رو میکنن دلیل بر درست بودن اون کار نیست