سلام
من دارم روی یک برنامه ساده برای مدیریت ارجاع پروژه ها کار میکنم.
یک جدول دارم برای مشخصات پروژه ها (tblWFProject):
Screenshot 2022-12-17 123348.png
فکر میکنم همه فیلدها مشخصه فقط MustDT تاریخ تحویل پروژه است

جدول بعدی (tblTasks) جدول کارها یا وظایف است. که مشخص میکنه یک پروژه چه کارهایی داره مثل طراحی نقشه، برشکاری، مونتاژ، کنترل کیفی و ... . در نرم افزار کاربر میتونه از لیست کارها، به این جدول اضافه کنه. در این جدول TaskTypeId اشاره میکنه به نوع کار که در جدول دیگری است
Screenshot 2022-12-17 124617.png
بعضی از فیلدها اضافه هستند. شما فقط آنهایی که هایلایت شده را ببینید

و جدول بعدی (tblWFTaskRefer) برای ارجاع کارها است. که شخصی که پروژه و کارها را تعریف میکند میتواند هر کار به شخصی ارجاع دهد و بعد آن شخص بعدی نیز می تواند کار را به شخص دیگری ارجاع دهد یا با ثبت تاریخ در فیلد DoneDT اتمام آن کار را اعلام کند.
Screenshot 2022-12-17 123333.png

به نظرم طراحی خوبی شده اما واکشی اطلاعات برایم خیلی سخت و پیچیده شده!!!
1- میخواهم لیست کارهای یک پروژه و شخصی که در حال حاضر کار به او ارجاع شده را داشته باشم
2- لیست کارهای محول شده به یک شخص در صورتی که 1-کارها انجام نشده باشد 2-کارها ارجاع شده باشد 3-کارها تمام شده باشد
و احتمالا گزارشهای دیگر

آیا طراحی جداول خوب است؟ آیا روش استانداردتری برای این کار وجود دارد؟ آیا میتوانید در نوشتن کوئری ها کمکم کنید؟