PDA

View Full Version : همنیاز کردن دروس



negar.rafie
جمعه 04 مهر 1393, 13:12 عصر
سلام
دوستان حتما انتخاب واحد دانشگاه را دیده اید که یک سری دروس همنیاز یک سری دروس هستند
حالا من میخوام برنامه انتخاب واحد را بنویسم
مثلا مهندسی نرم افزار همنیاز برنامه سازی است
میخوام وقتی کاربر مهندسی یا برنامه سازی را انتخاب کرد درس همنیازش به صورت اتوماتیک انتخاب بشه
میشه بگید باید چکار کنم

samanelf
جمعه 04 مهر 1393, 18:52 عصر
با یه دستور شرطی میتونین این کارو انجام بدین

aminmousavi
جمعه 04 مهر 1393, 20:38 عصر
سلام دوست عزیز . سوالتون خیلی واضح نیست . مشکلتون توی پیاده سازی و کدنویسی هست یا توی منطق برنامه و طراحی دیتابیس ؟

negar.rafie
جمعه 04 مهر 1393, 21:04 عصر
ببینید مثلا دروس مهندسی ، برنامه نویسی و طراحی وب باید در یک ترم گرفته بشن
حالا من میخوام کاری کنم که دانشجو هر کدوم از سه درس را انتخاب کرد دوتای دیگه خودکار انتخاب بشن

حالا بهترین راه را میخوام چه توی طراحی چه توی کدنویس

aminmousavi
جمعه 04 مهر 1393, 21:54 عصر
خوب اگر با منظق پیاده سازیش مشکل ندارید کار سختی نیست .
کافیه وقتی درسی انتخاب میشه ، یک select بزنید در دیتابیس ببینید درس هم نیاز رو پاس کرده یا نه ؟ اگر پاس نکرده اون درس هم نیاز هم برای در جدول واحد های اخذ شده درج کنید

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

1- جدول درس :

- int id
- int code
- nvarchar Name
- int VahedAmali
- int VahedTeori
- و ...

2- جدول هم نیاز :
- int id
- int idDarsOne
- int idDarsTwo

مثلا درس های برنامه نویسی و طراحی وب رو در جدول درس درج میکنید
و یک رکورد برای هم نیاز شدن این دو در جدول هم نیاز درج میکنی ، اگر اگر 3تا درس هم نیاز بودن ، مثلا طراحی و پیاده سازی هم همنیاز این دو درس بود کافیه یک رکورد دیگر توی جدول هم نیاز درج کنی به شکل :

طراحی و پیاده سازی , برنامه نویسی
یا
طراحی و پیاده سازی ,طراحی وب

حمید رضا رحیمیان
جمعه 04 مهر 1393, 22:10 عصر
سلام
به نظر بهتر هست این کار را در دیتابیس انجام بدید
میتونید یه پروسیجر یا trigger بنویسید که کارها هم سریعتر انجام بشه هم اصولی تر

veniz2008
جمعه 04 مهر 1393, 22:17 عصر
ببینید مثلا دروس مهندسی ، برنامه نویسی و طراحی وب باید در یک ترم گرفته بشن
حالا من میخوام کاری کنم که دانشجو هر کدوم از سه درس را انتخاب کرد دوتای دیگه خودکار انتخاب بشن

حالا بهترین راه را میخوام چه توی طراحی چه توی کدنویس
سلام.
بهترین راه اینه که جدول هم نیاز از خود جدول درس جدا بشه چون بسیاری از دروس، هم نیاز ندارند و اگر فیلد هم نیاز رو درون همین جدول در نظر بگیرید باعث ایجاد فضاهای خالی زیادی در page های مربوط به ذخیره سازی اطلاعات میشن.
اما در مورد طراحی جدول هم نیاز، شما به کد درس (کلید جدول درس که حکم کلید خارجی برای این جدول رو داره) و کد درس همنیاز (که اینم حکم کلید خارجی رو داره) نیاز دارید که جفتشون با هم کلید اصلی جدول پیش نیاز خواهند بود. اینم اضافه کنم که شما مجاز نیستید چند فیلد برای هم نیاز در نظر بگیرید چون یک درس ممکنه 1 درس هم نیاز داشته باشه و درس دیگه 2 یا بیشتر درس هم نیاز داشته باشه. پس مجبورید برای درسی که فرضا 3 درس هم نیاز داره در جدول هم نیاز 3 رکورد ثبت کنید.
درباره نحوه کدنویسی هم باید دو مورد رو در نظر بگیرید : اول اینکه آیا این درس هم نیاز داره؟ دوم : اگر داشت حالا باید ببینید این دانشجو، دروس هم نیاز رو پاس کرده یا نه.
استفاده از Transaction رو هم فراموش نکنید تا جامعیت داده هاتون زیر سوال نره.
درباره پیش نیاز حرفی نزدید، امیدوارم که فراموشش نکرده باشید.
موفق باشید.

negar.rafie
جمعه 25 مهر 1393, 17:54 عصر
سلام دوباره
من اومدم جدول همنیاز را از جدول دروس جدا کردم
ولی یه مشکلی است
من داخل جدول همنیازم اومدم رکورها را به این صورت ذخیره میکنم:
کد درس اصلی نام و کد و تعداد واحد درس همنیاز
که ذخیره به این صورت باعث افزونگی داده میشه یعنی داده ها مثلا چند بار تکرار میشن
مثلا یک درس همنیاز چند درس است و من مجبورم برای هر درس دوباره ثبت کنم
میشه راهنمایی کنید که چطوری جدولهام را طراحی و داده هام را ذخیره کنم