ورود

View Full Version : روش بهینه ذخیره یه تنظیم چندحالته



2020s1371
چهارشنبه 23 مهر 1393, 05:39 صبح
سلام
فرض کنید یه برنامه باشه (تحت وب یا هر چیز دیگه ای) که باید توی جایی که اطلاعات کاربر دخیره میشه تنظیمات کاربر هم ذخیره بشه
حالا خود تنظیمات 3 حالت داشته باشه.
اگه حالت اول انتخاب بشه کاربر هیچ کاری لازم نیست انجام بده
اگه حالت دوم انتخاب بشه کاربر فقط باید یه تکس باکس ببینه و فقط اونا پر کنه
اگه حالت سوم انتخاب بشه کاربر باید تعدادی از فیلدهای A , B , C رو تیک بزنه!

حالا بهینه ترین روش ذخیره این حالت توی پایگاه داده چیه؟؟



پ ن : یه راه حل اینه که برای هر کاربر 5 فیلد در نظر بگیریم .. یکیش عددی که کاربر انتخاب میکنه .... بقیه متناسب با اون عدد اجازه نوشته شدن پیدا میکنن (4تا دیگه = ۳ تا A,B,C و یکی تکس باکس)

fahimi
چهارشنبه 23 مهر 1393, 20:19 عصر
سلام
سه لایه جهت برنامه نویسی متصور است.

1- Presentation Layer
Business Logic Layer -2
Data Access Layer -3
شما این قیبل کار ها را در لایه اول بایستی انجام دهید.در صورت ضرورت در فروم مربوطه سوالاتان بپرسید.

2020s1371
پنج شنبه 24 مهر 1393, 08:06 صبح
سلام
سه لایه جهت برنامه نویسی متصور است.

1- Presentation Layer
Business Logic Layer -2
Data Access Layer -3
شما این قیبل کار ها را در لایه اول بایستی انجام دهید.در صورت ضرورت در فروم مربوطه سوالاتان بپرسید.

ممنون از پاسختون
اگه میشه بیشتر توضیح بدین

+
مگه اینجا فروم طراحی و تحلیل پایگاه داده نیس؟؟؟خب مشکل منم توی نحوه ی ذخیره ی بهینه ی این اطلاعات توی پایگاه داده ست دیگه!
+
فروم مربوطه کدومه؟

fahimi
جمعه 25 مهر 1393, 06:57 صبح
سلام
1- - Presentation Layer : یا همون لایه Interface نرم افزار ... فرمها , واسطها و منوهاییو هر چیزی که برای کاربر قابل رویت باشه , در نرم افزارهای تجاری و کاربردی همگی در لایه نمایش یا Presentation قرار دارن .
این لایه در ارتباط با کاربر هست .

2 - Business Logic Layer : یا لایه تجاری ... که در بر گیرنده منطق اصلی برنامه هست .
در این لایه اعمال اصلی نرم افزار با استفاده از همکاری با لایه های پایین و بالا انجام میشه . در این لایه کار های مرتبط با DataBase وجود نداره و این وظایف تماما به لایه Data Access سپرده میشه .
این لایه در ارتباط با تیم برنامه نویسی هست.

3 - Data Access Layer : لایه دسترسی به داده ها ... پایین ترین لایه در معماری سه لایه و البته مهمترین لایه در معماری سه لایه .
این لایه در رتباط با تیم مدیریتی و تیم برنامه نویسی هست .

به هر حال نرم افزار شما پارامتر یا پارمتر های را از کاربر بایستی بگیرید و مدیریت دیتا بیس ( DBMS ) ارسال کند که بستگی به طرحی شما از اشیا درون برنامه استفاده می کنید مانند Combobox و . . .

2020s1371
جمعه 25 مهر 1393, 07:12 صبح
3 - Data Access Layer : لایه دسترسی به داده ها ... پایین ترین لایه در معماری سه لایه و البته مهمترین لایه در معماری سه لایه .
این لایه در رتباط با تیم مدیریتی و تیم برنامه نویسی هست .

به هر حال نرم افزار شما پارامتر یا پارمتر های را از کاربر بایستی بگیرید و مدیریت دیتا بیس ( DBMS ) ارسال کند که بستگی به طرحی شما از اشیا درون برنامه استفاده می کنید مانند Combobox و . . .
ممنون از پاسختون
مسئله دقیقا همین دیتا بیسه
بنظرم یه نقطه ابهامی وجود داره که پاسخ هاتون با نیاز من مچ نمیشه.. برای همین یه بار صورت مسئله رو سعی میکنم بهتر بگم:


الان این تنظیمی که میخاد صورت بگیره خودش سه حالت داره!
اگه حالت یک اتفاق بیفته که هیچی (0)
اگه حالت دو اتفاق بیفته نیاز به یک خونه توی جدول دیتا بیس داره (1)
و اگه حالت سوم اتفاق بیفته نیاز به سه تا خونه توی دیتا بیس (3)

مسئله میشه: حالا این خونه ها رو چجوری توی دیتا بیس ایجاد کنیم که بهینه هم باشه؟
یک راه حل اینه که 0+1+3=4 +1 =5 =>5خونه برای نگه داری این اطلاعات توی تیبلمون در نظر بگیریم. یعنی هر کاربر 5 فیلد داشته باشه که حداقل یکی و حداکثر از 4 تاش استفاده میکنه
آیا راه حل بهینه تری برای ذخیره این ها هست؟