تالار گفتمان مانشت
کمک برای ساخت جداول نظرسنجی در نرم افزار - نسخه‌ی قابل چاپ

کمک برای ساخت جداول نظرسنجی در نرم افزار - fa_karoon - 22 خرداد ۱۳۹۲ ۱۲:۳۱ ب.ظ

سلام دوستان، این نظرسنجی که می خوام دربارش صحبت کنم با نظرسنجی های وبسایت و اینها فرق می کنه.
در نرم افزارم یک سیستم نظرسنجی مربوط به آموزشگاه دارم که البته از طریق وب هم می تونند به اون دسترسی داشته باشند،
مشکل من در ایجاد جداولم هست مطمئن نیستم چیزی که خودم نوشتم بهینه هست یا نه.
نظرسنجی به این شکل هست که یه سری سوالات رو در سیستم وارد می کنند که به سه دسته تقسیم می شن و هر دسته مربوط به سطح خاصی هست
بعد تمام افرادی که مربوط به یک سکشن خاص هستند هر کدام به طور جدا گانه سوالات چهارگزینه ای را جواب می دهند، موارد مهمی که وجود داره اینه که:
۱- یک حالت نظرسنجی به این شکل هست که یک نفر سر کلاس می ره و برگه های نظرسنجی رو پخش می کنه و بعد اونها رو از بچه ها تحویل می گیره و بعد وارد سیستم می کنند که [undefined=undefined]تاریخ انجام این نظرسنجی دسته جمعی و سکشن اون مهم[/undefined] هست.
۲- حالت دوم نظرسنجی اینه که بچه ها می تونن از طریق سایت نظرسنجی رو پر کنند در این حالت ب[undefined=undefined]ه جز سکشن تاریخی که هر فرد نظرسنجی رو پر کرده مهمه و باید در سیستم ثبت بشه[/undefined]
حالا من یه سری جداول طراحی کردم اما احساس می کنم افزونگی زیادی داره، جداولم رو می نویسم لطفا راهنمایی کنید:
۱- جدول Poll که سوالات رو نگه می داره: PollID,FullName Level,Visible
۲- جدول PollAnswer که گزینه های هر سوال رو نگه می داره(بعضی سوالات فقط یه گزینه به عنوان علت دارند که به طور تشریحی پاسخ داده می شوند): PollAnswerID,PollID,FullName,TypeAnswer,Explain
۳- جدول PollResult که نتایج هر نظرسنجی رو نگه می داره:PollID,PollAnswerID,Count,Comment,Section ID
تو این جدول به ازای هر گزینه از سوال یک رکورد ثبت می شه که تعداد نفراتی که این گزینه رو علامت زدن در فیلد count برای اون section ثبت می شه
اما الان نمی دونم فیلد تاریخ رو کجا بذارم که هر دو حالت رو پوشش بده تو همین جدول آخری یا در یک جدول دیگه که دو فیلد sectionID و Date داشته باشه؟ اگر ببرمش تو یه جدول دیگه فقط حالت اول رو پوشش می ده و من احساس می کنم افزونگی زیادی هم در دیتابیسم ایجاد می شه به خاطر فیلد sectionID که در دو جدول هست و بارها تکرار می شه
اگر هم تاریخ رو در جدول شماره سه بذارم کاملا اشتباه می شه و به مقصودم نمی رسم، لطفا راهنمایی کنید

RE: کمک برای ساخت جداول نظرسنجی در نرم افزار - good-wishes - 22 خرداد ۱۳۹۲ ۰۱:۰۲ ب.ظ

اول از همه من فکر می کنم شما به جدول pollResult نیاز ندارید چون این یک گزارشی هست که می شه از سایر جداول به دست آورد و در لحظه اجرا باید محاسبه بشه
دوم اینکه شما اگر در جدول pollAnswer تون یک فیلد date و section (اگر منظورتون اینه که از طریق سایت پرشده یا دستی وارد شده) داشته باشید فکر می کنم مشکلتون حل میشه چون در هر رکورد مشخص میشه این چه سطح از نظرسنجی بوده و در چه تاریخی انجام گرفته

اگر جایی از نوشته هاتون رو اشتباه برداشت کردم بفرمایید لطفا تا دوباره بررسی کنم

کمک برای ساخت جداول نظرسنجی در نرم افزار - fa_karoon - 22 خرداد ۱۳۹۲ ۱۱:۱۶ ب.ظ

مرسی از پاسختون، اما همونطور که توضیح دادم Poll خود متن سوال رو نگه می داره و PollAnswer گزینه های اون سوال رو، ببینید سوالات نظرسنجی توسط مدیریت ابتدا باید تعریف بشه که تو این دو جدول ذخیره می شه
مثلا: از میزان تسلط مدرس چقدر راضی بودید؟ الف) عالی ب) خوب ج)متوسط د) ضعیف
که سوالش در Poll نوشته می شه و چهارتا گزینه اش در رکوردهایی از PollAnswer ثبت می شه
حالا تو PollResult باید معلوم بشه که در یه سکش خاص چندنفر گزینه اول سوال اول، چند نفر به گزینه دوم سوال اول و چند نفر به گزینه سوم سوال اول و چند نفر به گزینه چهارم سوال اول رو انتخاب کرده اند، همین طور برای سایر سوالات و بعد از اون برای هر سکشن این روند تکرار می شه
یه راه اینه که بیام یه جدول دیگه بذارم بگم برای فلان سکشن نظرسنجی در فلان تاریخ انجام شده که این فقط برای حالت اول جواب می ده که معاون می ره سر کلاس و از همه بچه ها یه جا نظرسنجی می کنه که البته فکر کنم هنوز افزونگی زیادی داشته باشه
حالا من فیلد Date رو کجا بذارم که بتونم تعیین کنم که هر کاربر از طریق سایت چه زمانی نظرسنجی رو پر کرده یعنی باز هم یه جدول جدا بذارم، نه خیلی بد می شه
البته الان که اینها رو نوشتم یه ایده ی دیگه به ذهنم رسید تو جدول registerام یه تاریخ انجام نظرسنجی برای دانش آموز بذارم که هر وقت نظرسنجی رو پر کرد اون فیلد پر بشه، البته هنوز باید سرش فکر کنم
مرسی بابت وقتی که می گذارید