PDA

View Full Version : دستور select



Nasim_m
جمعه 09 فروردین 1387, 20:07 عصر
من جدولی دارم که دارای 3 ستون name,id,pish است
در name نام درس در id کد درس و در pish مد درس پیش نیاز قرار می گیرد.
چگونه می توان دستور selectای را نوشت که نام هر درس و نام درس پیش نیاز آن را برگرداند
با تشکر

Amir_Safideh
جمعه 09 فروردین 1387, 20:23 عصر
چگونه می توان دستور selectای را نوشت که نام هر درس و نام درس پیش نیاز آن را برگرداند

منظورتون رو واضح بگید لطفا . یعنی شما یه جدول دیگه ای دارید که درسهای پیش نیاز رو توی اون ذخیره میکنید و یه کد بهش میدی و این کد رو توی جدولی که در بالا گفتید و توی فیلد pish ذخیره میکنید و حالا میخواهید نام اون درس پیش نیاز رو برگردونید ؟
خوب اگر درست متوجه شده باشم این کد رو باید بزنی :

Select [Name],Pish_Name
From Dars_Table Left Outer Join Table_Pish On Dars_Table.Pish = Table_Pish.Pish

-----------
موفق باشید .

Nasim_m
شنبه 10 فروردین 1387, 00:36 صبح
منظورتون رو واضح بگید لطفا . یعنی شما یه جدول دیگه ای دارید که درسهای پیش نیاز رو توی اون ذخیره میکنید و یه کد بهش میدی و این کد رو توی جدولی که در بالا گفتید و توی فیلد pish ذخیره میکنید و حالا میخواهید نام اون درس پیش نیاز رو برگردونید ؟
نه هر دوتا (هم نام درس و کد پیشنیاز) در یک جدول قرار دارند

bad_boy_2007
شنبه 10 فروردین 1387, 00:44 صبح
نه هر دوتا (هم نام درس و کد پیشنیاز) در یک جدول قرار دارند

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

1- فرض کنید درسی پیش نیاز نداشته باشد در اینصورت یک فیلد اضافی برای این درس در نظر گرفته اید (که این امر باعث افزونگی داده ها میشود)

2- برخی دروس بیش از یک پیش نیاز دارند و شما مجبورید سه فیلد که یک فیلد شامل نام درس هم هست به جدول به ازای هر پیش نیاز اضافه کنید (که این مطلب علاوه بر افزونگی زیاد باعث ناسازگاری داده ها هم میشود)

پیشنهاد میکنم که یک جدول مخصوص دروس شامل درس و کد درس و یک جدول دیگر مخصوص پیش نیازهای دروس ایجاد کنید شامل کد درس و کد پیش نیاز در این صورت هم دچار افزونگی و ناسازگاری داده ها نمیشوید و هم نوشتن Select بسیار ساده میشود