PDA

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



R_Rajaee_Rad
دوشنبه 28 اسفند 1391, 19:37 عصر
سلام
برای طراحی فرمی که انواع اطلاعات مثل مشخصات فردی-وضعیت تحصیلی -وضعیت جسمانی و ... رو از کاربر می گیره چه روشی رو پیشنهاد میکنید؟
طبیعتا نمیشه همه رو در یک فرم گذاشت:لبخند:
خودم استفاده از tab رو مد نظر دارم

veniz2008
دوشنبه 28 اسفند 1391, 19:43 عصر
سلام. بهترین روش هم به نظر من استفاده از همون تب کنترل و تب پیج هست. فقط مواظب باشید که اطلاعات مربوط به تمام تب پیج ها رو به یکباره load نکنید چون احتمالش هست که فرم رو کند یا کلا قفل کنه (البته واسه حجم زیاد داده ها). مثلا اگر هر tabpage یک گرید داره یا یک عمل محاسباتی قراره انجام بشه همه رو با هم انجام ندید. میتونید در رویداد enter هر تب پیج اطلاعات همون تب پیج رو بارگذاری کنید.

R_Rajaee_Rad
دوشنبه 28 اسفند 1391, 19:50 عصر
برای طراحی بانک -با اینکه در ظاهر یه جدول بیشتر نداریم- باید چه روشی رو اتخاذ کرد؟ اون همه اطلاعات مختلف توی یه جدول؟مشکلی پیش نمیاد؟

veniz2008
دوشنبه 28 اسفند 1391, 19:56 عصر
من هنوز اطلاعات لازم رو نسبت به پروژه شما ندارم ولی به نظر میرسه اصلا صحیح نیست که اطلاعات فردی و تحصیلی و ... رو در یک جدول نگهداری کنید.
در مورد مشخصات جسمانی و تحصیلی و ... بیشتر توضیح بدید که چه طالاعاتی رو قصد ذخیره کردن دارید. روی این موارد آیا گزارش گیری صورت میگیره؟. کلا روی این موارد قراره در آینده به چه صورت کار بشه.

R_Rajaee_Rad
دوشنبه 28 اسفند 1391, 20:07 عصر
من هنوز اطلاعات لازم رو نسبت به پروژه شما ندارم ولی به نظر میرسه اصلا صحیح نیست که اطلاعات فردی و تحصیلی و ... رو در یک جدول نگهداری کنید.
در مورد مشخصات جسمانی و تحصیلی و ... بیشتر توضیح بدید که چه طالاعاتی رو قصد ذخیره کردن دارید. روی این موارد آیا گزارش گیری صورت میگیره؟. کلا روی این موارد قراره در آینده به چه صورت کار بشه.
در مورد وضعیت جسمانی اینو بگم که مثلا وضعیت فرد سالمه یا معلول؟ ایا دارای بیماری خاصی هست یا نه؟
روی این موارد هم نیمخوام گزارش گیری کنم

veniz2008
دوشنبه 28 اسفند 1391, 20:30 عصر
در مورد وضعیت جسمانی آیا فقط ذخیره میشه سالم یا معلول؟. مثلا فیلدی مبنی بر نوع معلولیت نیاز ندارید؟.
اگر نیاز ندارید که در اینصورت به دو فیلد وضعیت جسمانی (از نوع bit ) و شرح وضعیت جسمانی (که مختص معلولین میشه) نیاز خواهید داشت و با توجه به اینکه اکثر افراد سالم هستن!، پس در اکثر مواقع این فیلد Null باقی میمونه. ولی در چنین حالاتی توصیه میکنن که به جای Null مقدار پیش فرض رو خالی بذارید. یعنی اگر شخص معلول بود که شرح معلولیتش رو مینویسید و اگر سالم بود شرح حال خالی میمونه (به جای Null ) چون null ممکنه در شرط ها یا join ها شما رو با مشکل مواجه کنه.
ولی اگر بخواید واسه همین دو فیلد یک جدول جداگانه ایجاد کنید در موقع لزوم بایستی بین این دو جدول join کنی که از لحاظ سرعت به صرفه نیست (مخصوصا در تعداد داده های زیاد).
در مورد مشخصات تحصیلی هم اگر نیاز به مقطع، رشته و گروه آموزشی و سال ورود و ... دارید که بایستی یک جدول جداگانه در نظر بگیرید. ولی اگر بیشتر توضیح بدید بهتر میشه راهنمایی کرد.

R_Rajaee_Rad
سه شنبه 29 اسفند 1391, 10:18 صبح
در مورد وضعیت جسمانی آیا فقط ذخیره میشه سالم یا معلول؟. مثلا فیلدی مبنی بر نوع معلولیت نیاز ندارید؟.
اگر نیاز ندارید که در اینصورت به دو فیلد وضعیت جسمانی (از نوع bit ) و شرح وضعیت جسمانی (که مختص معلولین میشه) نیاز خواهید داشت و با توجه به اینکه اکثر افراد سالم هستن!، پس در اکثر مواقع این فیلد Null باقی میمونه. ولی در چنین حالاتی توصیه میکنن که به جای Null مقدار پیش فرض رو خالی بذارید. یعنی اگر شخص معلول بود که شرح معلولیتش رو مینویسید و اگر سالم بود شرح حال خالی میمونه (به جای Null ) چون null ممکنه در شرط ها یا join ها شما رو با مشکل مواجه کنه.
ولی اگر بخواید واسه همین دو فیلد یک جدول جداگانه ایجاد کنید در موقع لزوم بایستی بین این دو جدول join کنی که از لحاظ سرعت به صرفه نیست (مخصوصا در تعداد داده های زیاد).
در مورد مشخصات تحصیلی هم اگر نیاز به مقطع، رشته و گروه آموزشی و سال ورود و ... دارید که بایستی یک جدول جداگانه در نظر بگیرید. ولی اگر بیشتر توضیح بدید بهتر میشه راهنمایی کرد.
این برنامه یه بخشی از اتوماسیون یه اداره است.شما فکر کن این برنامه خودش مستقله.داده های زیادی هم نداره بین 5 تا 10 هزار تا رکورد
قبلا پرسنل جدید باید یه فرم شامل 10 نوع اطلاعات مثل مشخصات فردی-وضعیت تحصیلی-سوابق کار -وضعیت جسمانی -آدرس محل اقامت و....(همون tab های برنامه میشن) رو پر میکرد
مثلا قسمت مشخصات فردی شامل:نام-نام خانوادگی -تاریخ تولد و... است
تا اینجا فهمیدم باید از tab برای طراحی فرم ورورد اطلاعات استفاده کنم.
کوئری گرفتن ها هم محدود هستن نهایت با 5 یا 6 پارامتر اصلی(مثل کد ملی-نام-نام خانوادگی-تحصیلات و تاریخ عضویت)
فقط میخوام مطمئن شم که برای ذخیره اطلاعات از جداول جداگانه(مشخصات فردی-وضعیت تحصیلی-سوابق کار -وضعیت جسمانی -آدرس محل اقامت) استفاده کنم
تو کوئری ها و نمایش اطلاعات به مشکل برنیمخورم؟

veniz2008
سه شنبه 29 اسفند 1391, 11:24 صبح
این برنامه یه بخشی از اتوماسیون یه اداره است.شما فکر کن این برنامه خودش مستقله.داده های زیادی هم نداره بین 5 تا 10 هزار تا رکورد
قبلا پرسنل جدید باید یه فرم شامل 10 نوع اطلاعات مثل مشخصات فردی-وضعیت تحصیلی-سوابق کار -وضعیت جسمانی -آدرس محل اقامت و....(همون tab های برنامه میشن) رو پر میکرد
مثلا قسمت مشخصات فردی شامل:نام-نام خانوادگی -تاریخ تولد و... است
تا اینجا فهمیدم باید از tab برای طراحی فرم ورورد اطلاعات استفاده کنم.
کوئری گرفتن ها هم محدود هستن نهایت با 5 یا 6 پارامتر اصلی(مثل کد ملی-نام-نام خانوادگی-تحصیلات و تاریخ عضویت)
فقط میخوام مطمئن شم که برای ذخیره اطلاعات از جداول جداگانه(مشخصات فردی-وضعیت تحصیلی-سوابق کار -وضعیت جسمانی -آدرس محل اقامت) استفاده کنم
تو کوئری ها و نمایش اطلاعات به مشکل برنیمخورم؟
با توجه به توضیحات شما مبنی بر اینکه تعداد رکوردها نهایتا به حدود 10 هزار رکورد میرسه پس نباید نگران تفکیک جداول و هزینه join بین جداول باشید ولی تفکیک بیهوده هم نباید داشته باشید. به نظر میرسه که میتونید بعضی جداول رو ادغام کنید و نیازی به داشتن 5 جدول نیست. مثلا جداول مشخصات فردی،وضعیت جسمانی و آدرس محل اقامت لزومی به جداسازی نخواهد داشت ولی جدولی مثل سوابق کاری چون ممنه یک شخص در گذشته چندین شغل داشته بنابراین اگر بخواید با جدول مشخصات فردی یکیش کنی موجب افزونگی میشه بنابراین قطعا باید جدول سوابق کاری رو جدا در نظر بگیرید. در مورد وضعیت تحصیلی هم اگر سوابق تحصیلی شخص در نظر گرفته میشه مثلا ممکنه یک شخص دو تا مدرک تحصیلی داشته باشه باز هم در چنین حالتی بایستی حتما جدول جداگانه در نظر بگیرید وگرنه میشه با همون جدول مشخصات فردی در نظر گرفت ولی اصولی تر اینه که این جدول هم جداگانه باشه. پس در کل داشتن 3 جدول پیشنهاد میشه (هر چند میشه در 2 جدول هم پیاده سازی کرد و حتی میشه در 5 جدول پیاده سازی کرد ولی هیچوقت بیهوده جداول رو تفکیک نکنید چون هزینه join ها میتونه در حجم زیاد داده ها تاثیر منفی بذاره).
جدول اول : مشخصات فردی- مشخصات جسمانی - مشخصات آدرس (باید در یک تب پیج این اطلاعات رو از کاربر بگیرید)
جدول دوم : سوابق کاری اشخاص
جدول سوم : سوابق تحصیلی (مشخصات تحصیلی) اشخاص
در نهایت بهتون توصیه میکنم اول دقیقا مشخص کنید که کارفرما از شما چی میخواد. شما باید حدودا 1/5 از زمان برنامه نویسی رو وقت بذارید واسه تحلیل و طراحی دیتابیس. در نوشتن عجله نکنید.
مهترین بخش یک پروژه تحلیل صحیح اون هست.