PDA

View Full Version : سوال: راهنمایی برای ساختن فیلدهای یک فرم در دیتا بیس



reyhaneh-sh
چهارشنبه 18 شهریور 1388, 11:42 صبح
سلام
دوستان اگه یه فرم شبیه تو ضیحات زیر داشته باشیم که ماند فرمهای ثبت نام میباشد برای پاسخ به سوالی مانند زیر فیلدهای دیتابیس آن چگونه باید طراحی شود ؟
زبانهای خارجی که با آن آشنایی دارید کدامند؟
که در اینجا مثلا یک تکست باکس یا لیست وجود داره و کاربر وارد میکنه "انگلیسی" حالا باید گزینه های زیر را با رادیو باتن انتخاب کنه
خواندن: ضعیف متوسط خوب عالی
نوشتن : ضعیف متوسط خوب عالی

حالا ممکنه کاربری به چندین زبان آشنا باشه و یه کاربر اصلا آشنایی نداشته باشه
میخواستم سوال کنم وقتی ما دکمه ارسال را میزنیم این اطلاعات که برای هر کسی ممکنه تعداد فیلداشم متفاوت باشه چه طوری باید تو دیتا بیس بشینه? منظورم کدهای اتصال نیست ها سوالم طراحی فیلدها در دیابیس sql server. من این سوال را در تاپیک پایگاه داه پرسیدم کسی جواب نداد

1-آیا ما باید از قبل چندین فیلد را به طور پیش فرض در دیتابیس تعریف کینم برای این منظور؟؟در این صورت اگر کاربری تعداد بیشتری از پیش فرض ما وارد کرد کجا مینشیند؟

2-آیاباید یک جدول جداگانه برای زبان در نظر بگیریم یا در همان جدولی که سایر اطلاعت شخص وجود دارد ؟

3-به عنوان مثال اگر کاربری همه اطلاعت زیر را وارد کرد
فرانسه ، خواندن خوب ، نوشتن عالی _عربی ، خواندن عالی، نوشتن متوسط _ ژاپنی ، نوشتن ضعیف ، خواندن خوب باید فیلدا همون موقع و فقط برای همون کاربر ساخته بشه ؟

4-آیا معمولا برای درج در پایگاه در مورد این نوع اطلاعات از عدد استفاده میکنند یا از تکست ؟

5-کلا روند بهینه کار باید به چه صورت باشه؟

M.YasPro
چهارشنبه 18 شهریور 1388, 12:22 عصر
سلام
باید به صورت Master-Detail عمل کنی
دوست عزیز شما باید ابتدا اصول طراحی دیتا بیس رو یاد بگیری.
با relation یا pk یا fk آشنایی داری؟

reyhaneh-sh
چهارشنبه 18 شهریور 1388, 13:22 عصر
با relation آشنا هستم

M.YasPro
چهارشنبه 18 شهریور 1388, 14:18 عصر
شما یه جدول داری به اسم مثلا person .
این جدول یه فیلد داره مثلا id که کلید اصلی(PK) هست .
یه جدول دیگه هم میسازی به اسم مثلا language که فیلد هاش میشه :


l_id
id
l_Name
l_Read_Rate
l_Write_rate

فیلد اول : l_id همین جدول language هست .
فیلد دوم : id کلید اصلی جدول person هست که شما با relation یک به چند به جدول language مرتبطش کردین .
فیلد سوم : نام زبان
فیلد چهارم : توانایی خوندن
فیلد پنجم : توانایی نوشتن
جدول person به جدول language رابطه یک به چند داره .
یعنی هر رکورد در جدول person میتونه چند رکورد در جدول language داشته باشه .یعنی همونی که شما میخوای:هم میشه یه person هیچ زبانی بلد نباشه هم میشه یه دونه بلد باشه هم میشه چند تا زبان بلد باشه .

اگه سوالی هست بفرمایین

reyhaneh-sh
چهارشنبه 18 شهریور 1388, 18:00 عصر
سلام واقعاا ممنونم مباحث کلید خارجی و کلید اصلی را که میدونستم برنامه نویسی کردم اما جداولم تا حالا تعداد فیلد متغیر نداشته بود. به نظرم میرسید اگه مثلا کسی چهار زبان تسلط داشته باشه و من بخوام چهار رکورد براش در نظر بگیرم کارم حجیم میشه و فکر میکردم اصول کار این باشه که مه را یه جوری در یک فیلد قرار داد و مثلا با خط فاصله از هم جدا کرد و موقع گزراش گیری ها بگیم که بین خط فاصله ها را بگرده .
متشکرم خیلی کمک کردین