نمایش نتایج 1 تا 6 از 6

نام تاپیک: گزارش گیری از چند جدول

  1. #1

    گزارش گیری از چند جدول

    با سلام
    من در بانکم چند جدول دارم که به هم مرتبطند و عکسش رو ضمیمه کردم وقتی از این جداول گزارش میگیرم با هم ترکیب میش چطوری میتونم از این کار جلوگیری کنم؟
    عکس های ضمیمه عکس های ضمیمه

  2. #2
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: گزارش گیری از چند جدول


    رو ریلیشنها کلیک کرده دیلیت کنید

    البته تو قسمت Query Designer

    بعد خودتون شرایط رو مشخص کنید.

    موفق باشید.

  3. #3

    نقل قول: گزارش گیری از چند جدول

    ببینید دوستان مشخصات شخص در tbMotaham قرار داره و در صورتی که شغل آزاد داشته باشه در tbJobAzad و شغل دولتی در tbJobDovlati و شغل خصوصی وابسته به شرکت در tbjobKhososi که با جدول رابط tbReMJKhososi با جدول tbMotaham در ارتباط هست
    حالا ممکنه برای یک متهم تمام این فیلد ها پر شود و برای دیگری فقط یک مورد ثبت شود چطور میتونم گزارش بگیرم که رکورد ها رو با هم ترکیب نکند؟

  4. #4

    نقل قول: گزارش گیری از چند جدول

    اشتباهات طراحی:
    [1] رابطه n به یک رو برعکس تعریف کردید!
    [2] انتخاب کلید در جدول هم اشتباست چون طراحی رو بهینه و نرمالسازی نکرده!

  5. #5

    نقل قول: گزارش گیری از چند جدول

    توضیح بیشتر در رابطه با نرمالسازی:
    شما برای چی جداول tbJobAzad، tbJobDovlati،tbReMJKhososi ، tbjobKhososiرا ایجاد کردید؟؟؟ برای اینکه از تکرار جلوگیری کنید! مثلا tbJobAzad برای این ایجاد شده که لیست تمام شغلهای آزاد در آن نگهداری شود تا اگر چند متهم در یک شغل فعالیت می کردند تنها نام آن شغل یکبار در جدول tbJobAzadدرج شود.
    بنابراین در جدول tbJobAzadبا توجه به کلیدی که شما انتخاب کردید، رکورد جدول tbJobAzadمی شود:
    شماره ملی 12 - idcase 13- پوشاک
    شماره ملی 14 - idcase 13- پوشاک
    همانطور که مشاهده می کنید تکرار id و نام شغل وجود دارد.

    برای بهینه کردن کافیست در جدول tbJobAzad
    فیلد ملی را حذف کنید چون اضافه است بجای آن یک فیلد idcaseAzad در جدول tbMotaham ایجاد کنید و امکان null گرفتن را به این فیلد جدید بدهید؛ تنها idcase را کلید اصلی قرار دهید. بهتر است idcase آتونامبر باشد و کاربر نتواند آنرا تغییر دهد.
    ریلیشن بین جدول tbMotahamو tbJobAzad :
    از idcase در جدول tbJobAzad گرفته و آنرا به فیلد idcaseAzad در tbMotaham وصل کنید تا رابطه یک به چند از جدول tbJobAzadبه tbMotaham برقرار شود.

    مفهوم برای بقیه جداول هم همینه!
    موفق باشی

  6. #6

    نقل قول: گزارش گیری از چند جدول

    دوستان مشکلم حل شد
    با کمی تغییر در طراحی و استفاده از left outer join مشکل برطرف شد
    با تشکر از همه دوستان

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •