PDA

View Full Version : ارتباط بین جداول



mjShojaei
جمعه 13 خرداد 1390, 11:12 صبح
با سلام
من دیتا بیسی دارم که شامل 4 جدول به شرح زیر است:

جدول دانش آموز - جدول کلاس - جدول درس - جدول کارنامه

می خوام جدول کارنامه به وسیله 3 جدول دیگه پر بشه. یعنی وقتی که دانش آموزی رو ثبت می کنم که در کلاس 1 عضو هست. در جدول کارنامه اتوماتیک درس های کلاس 1 رو برای این دانش آموز نشان دهد.
البته در جدول کلاس و دانش آموز فیلد مشترک داریم. و در جدول درس و کلاس هم فیلد مشترک است.

با تشکر

MohammadReza.OmidAllah
جمعه 13 خرداد 1390, 11:33 صبح
اگه توی اکسس میخواین این کار رو بکنید که خیلی راحت میتونید یه کوئری با استفاده از اون 3 تا جدول بسازید و یه جدول مجازی به نام جدول کارنامه بسازید و ازش استفاده کنید

اگه اکسس نیست میتونید همین کار رو با sql انجام بدید و با استفاده از اون 3 جدولی که دارید ترکیبی از اطلاعات رو فراخوانی کنید و ازشون استفاده کنید فقط توی هر سه جدول باید یه شناسه کلید داشته باشی تا بتونی ارتباطاتت رو تعریف کنی

موفق باشی

mjShojaei
شنبه 14 خرداد 1390, 11:34 صبح
سلام
خیلی ممنون دوست عزیز ولی من با SQL کار می کنم و می تونم فراخونی کنم اطلاعات رو بوسیله کوئری . اما می خوام در یک جدول هم این اطلاعات رو ذخیره کنم. پس مشکل اصلی اینکه چه جوری در SQL این اطلاعات رو در یک جدول دیگه ذخیره کنم.
با تشکر

Galawij
یک شنبه 15 خرداد 1390, 10:12 صبح
سلام فکرکنم تحلیل سیستم شما مشکل داشته باشه،میشه فیلدهای جداول را اسم ببرید.برای موردی هم گفتید، به نظر من برای عملیات Insert روی آن جدولتون یک Trigger بنویسید تا به محض اضافه کردن یک رکورد به این جدول، اتوماتیک جدول کارنامه پر بشه.

mjShojaei
دوشنبه 16 خرداد 1390, 20:17 عصر
سلام
منظور شما رو از تحلیل سیستم مشکل داره رو نمی فهمم. فقط من می خوام جدول کارنامه رو پر کنم. با استفاده از سه جدول دیگه.
البته روش پیشنهادی(trigger) احتمالا جواب می ده. ولی من زیاد با روشش آشنا نیستم.(اگه می تونین راهنماییم کنید)
اینم جدول ها که خواستین
جدول دانش آموز (نام - نام خانوادگی - تاریخ تولد - کد مقطع - کد کلاس - شماره دانش آموزی)
جدول کلاس (کد کلاس - نام کلاس - کد مقطع)
جدول درس (کد درس - نام درس - کد مقطع)
جدول مقطع (کد مقطع - نام مقطع )
جدول کارنامه (شماره دانش آموزی - کد درس - کد کلاس)
رنگ قرمز یعنی کلید

Galawij
سه شنبه 17 خرداد 1390, 13:27 عصر
حدسم درست بود، تحلیل شما اشتباه است. اصلاً نیازی به این کار ندارید. جداول شما به صورت زیر اگر تعریف شود دیگر نیازی پر کردن اتوماتیک جدول کانامه ندارید چون به محض انتخاب درس جدول پر می شه:


دانش آموز(شماره دانش آموزی، نام ، نام خانوادگی، کد مقطع تحصیلی و سایر فیلدها)
کلاس(نام کلاس، شماره کلاس)
درس(کد درس، نام درس و سایر فیلدها در صورت وجود(مثل واحد درس))
انتخاب درس که همان جدول کارنامه شما می باشد(کد انتخاب درس،شماره دانش آموز، کد کلاس، کد درس، کد معلم، نمره)
معلم (کد معلم، نام، نام خانوادگی و سایر فیلدها)
مقطع(کد مقطع، نام مقطع)

کد مقطع را ببرید توی جدول دانش آموز و از جداول دیگر پاک کنید، چون ایجاد افزونگی کرده.

mjShojaei
پنج شنبه 19 خرداد 1390, 00:17 صبح
اگر جدول مقطع حذف شود. مشکل 2 تا میشه چون با استفاده از جدول مقطع سایر جدول ها می فهمند که هر رکورد متعلق به کدوم مقطع. در تمامی جدول ها کد مقطع وجود داره . و با جدول مقطع در ارتباط