View Full Version : طراحی بانک اطلاعاتی سوالات و جواب ها
hamid_hr
یک شنبه 29 تیر 1393, 13:49 عصر
سلام
من میخوام یه نرم افزار بنویسم که یه تعداد سوال داریم که همیشه ثابت هستن و تیبل لازم ندارن
ولی برا جوابها یه تیبل لازم دارم
مشکل من اینه که این سوالات هم جواب تشریحی داره هم بله و خیر و هم چند گزینه ای
تا اینجاشم مشکلی نیس
ولی بعضی از سوالات چند گزینه ای میتونن همزمان به چند تا گزینه پاسخ بدن و این یکم سختش کرده
به نظر شما چطور بیام تیبلمو طراحی کنم که بعدا بخوام امار بگیرم برام مشکل ساز نشه
مثلا میخوام بدونم کدام کاربر برای سوال 3 گزینه های 1 و 4 رو انتخاب کرده
mahan.2002
چهارشنبه 01 مرداد 1393, 01:41 صبح
با سلام
بنظرم شما میتونید جدول جواباتونو اینطوری طراحی کنید ..
جدول کابر ( شماره کاربر ، ...)
جدول پاسخ ( شماره سوال ، شماره کاربر ، جواب تستی ، جواب تشریحی )
برای سوالاتی که جواب تستی نداره نال و به همین صورت برای برای پاسخ هایی تشریحی ..
موفق باشید .
abbas.oveissi
چهارشنبه 01 مرداد 1393, 02:33 صبح
سلام
من میخوام یه نرم افزار بنویسم که یه تعداد سوال داریم که همیشه ثابت هستن و تیبل لازم ندارن
ولی برا جوابها یه تیبل لازم دارم
مشکل من اینه که این سوالات هم جواب تشریحی داره هم بله و خیر و هم چند گزینه ای
تا اینجاشم مشکلی نیس
ولی بعضی از سوالات چند گزینه ای میتونن همزمان به چند تا گزینه پاسخ بدن و این یکم سختش کرده
به نظر شما چطور بیام تیبلمو طراحی کنم که بعدا بخوام امار بگیرم برام مشکل ساز نشه
مثلا میخوام بدونم کدام کاربر برای سوال 3 گزینه های 1 و 4 رو انتخاب کرده
اولین گام تحلیل اینه مسئله رو تا میشه ساده کرد.با توضیحات شما فکرکنم بشه حالت هارو ساده تر کرد.دو حالت وجود دارد :
سوالات چندگزینه ای که میتونن چنتا جواب داشته باشند(مثلا "بله،خیر" میشه یک دو گزینه ای که یک گزینه بله و گزینه دیگر خیر هست)
سوالات تشریحی
اینکه کاربر در سوالات چندگزینه ای میتونه یک جواب انتخاب کند یا محدودیتی ندارد را در زمان ساخت فرم لحاظ کنید.ماهیتشون برای دیتابیس فرقی ندارد
با سلام
بنظرم شما میتونید جدول جواباتونو اینطوری طراحی کنید ..
جدول کابر ( شماره کاربر ، ...)
جدول پاسخ ( شماره سوال ، شماره کاربر ، جواب تستی ، جواب تشریحی )
برای سوالاتی که جواب تستی نداره نال و به همین صورت برای برای پاسخ هایی تشریحی ..
موفق باشید .
جواب های تستی نمیتونن در یک فیلد ذخیره شوند،چون بعضی از سوال ها چند گزینه ای هستند.باید به صورت رابطه ای در یک جدول دیگه ذخیره بشوند.
mahan.2002
چهارشنبه 01 مرداد 1393, 03:07 صبح
اولین گام تحلیل اینه مسئله رو تا میشه ساده کرد.با توضیحات شما فکرکنم بشه حالت هارو ساده تر کرد.دو حالت وجود دارد :
سوالات چندگزینه ای که میتونن چنتا جواب داشته باشند(مثلا "بله،خیر" میشه یک دو گزینه ای که یک گزینه بله و گزینه دیگر خیر هست)
سوالات تشریحی
اینکه کاربر در سوالات چندگزینه ای میتونه یک جواب انتخاب کند یا محدودیتی ندارد را در زمان ساخت فرم لحاظ کنید.ماهیتشون برای دیتابیس فرقی ندارد
جواب های تستی نمیتونن در یک فیلد ذخیره شوند،چون بعضی از سوال ها چند گزینه ای هستند.باید به صورت رابطه ای در یک جدول دیگه ذخیره بشوند.
البته با یک فیلد میشود چند جواب رو ذخیر کرد یا صورت باینری (0101) و یا بصورت ( 134 ) .. ولی اگر بخواهید فیلد ها به تعداد پاسخ هایی طراحی کنید .. فیلد تست 1 ، تست 2 ، ...
موفق باشید
hamid_hr
چهارشنبه 01 مرداد 1393, 09:21 صبح
سلام
من به این جواب رسیدم.
CREATE TABLE [dbo].[Answer](
[AnswerID] [int] IDENTITY(1,1) NOT NULL,
[UserName] [nvarchar](50) NULL,
[Date] [varchar](15) NULL,
[Time] [varchar](15) NULL,
)
answerID میشه شماره فرم پر شده توسط کاربر
بقیه هم که معلومه
CREATE TABLE [dbo].[TblMain](
[IDPK] [int] IDENTITY(1,1) NOT NULL,
[QuestionNo] [smallint] NULL,
[AnswerID] [int] NULL,
[Answer] [nvarchar](max) NULL
) ON [PRIMARY]
َAnswerID همون شماره فرمه به صورت FK
QuestionID هم میشه شماره سوال
Answer هم میشه جواب که تشریحی باشه مستقیم جوابش ثبت میشه و اگه چند گزینه ای باشه شماره جواب ها پشت سر هم ثبت میشه
مثلا جواب دادن گزینه 1و3و5 که ثبت میشه 135
اساتید اگه محبت کنن مشکلات این جدول رو بگن ممنون میشم
mahan.2002
چهارشنبه 01 مرداد 1393, 13:28 عصر
با سلام .دوست عزیز رهایی مختلفی برای پیدا سازی هست شما باید دیقیا مشخص کنید که چه کار میخواهید با برنامتون انجام بدید و یا چه گزارشاتی میخواهید از برنامتون بگیرد رو مشخص کنید..
که بعد بشه در مورد صحیح بودن و یا بهینه بود طراحیتون بحث کرد ..
hamid_hr
پنج شنبه 02 مرداد 1393, 09:56 صبح
شما باید دیقیا مشخص کنید که چه کار میخواهید با برنامتون انجام بدید
من میخوام یه نرم افزار بنویسم که یه تعداد سوال داریم که همیشه ثابت هستن و تیبل لازم ندارن
ولی برا جوابها یه تیبل لازم دارم
چه گزارشاتی میخواهید از برنامتون بگیرد رو مشخص کنید
چطور بیام تیبلمو طراحی کنم که بعدا بخوام امار بگیرم برام مشکل ساز نشه
مثلا میخوام بدونم کدام کاربر برای سوال 3 گزینه های 1 و 4 رو انتخاب کرده
خب اگه سوال تشیریحی باشه که راحت میشه گزارش گرفت ولی برا سوالات تستی باید بتونیم گزارش بگیریم که چند نفر گزینه 1 رو انتخاب کردن یا مثلا چند نفر سوال 3 گزینه های 2و3 و انتخاب کردن یا چند نفر سوال 3 گزینه 2 یا 3 رو انتخاب کردن و..............
mahan.2002
پنج شنبه 02 مرداد 1393, 21:22 عصر
بنظر م راحت ترین راه ایجاد فیلد ها به اندازه حداکثر تست ها است مثلا اگه حداکثر گزینه هایی که برای جواب وجود داره 5 تا هست پنچ فیلد در نظر بگیرید
مثلا برای شماره 15 سه گزینه انتخاب شده برای هر کدوم از فیلد ها یک مقداره (1) دخیزه کنید برای گزینه هاییم که وجود نداره مقدارشو نال میتونید بگیرید
بعد میتونید طبق این جدول گزارشاتتونو بگیرید
جدول پاسخ ( شماره سوال ( خارجی )، شماره کاربر یا { دانش آموز } ( کلید خارجی ) ، فیلد پاسخ تشریحی ،فیلد تست 1 ، فیلد تست 2 ، ... )
به این صورت ذخیره میکنید
جدول پاسخ ( 15، 255 ، { متن پاسخ تشریحی } ، 1، نال ، 1 ، نال ، نال )
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.