PDA

View Full Version : کمک در طراحی دیتا بیس برای برنامه حسابداری



HASAN604
یک شنبه 15 آبان 1390, 12:48 عصر
با سلام
این برنامه برای یک شرکت برق و صنعت است که تابلوهای plc میسازه
من یک جدول کالا (لوازم) دارم که درون آن آی دی ، نام و قیمت کالا دخیره شده
و یک جدول درامدها(پروژه های کار شده) دارم که در هر پروژه ای که شرکت انجام میده تعدادی از کالا ها رو هم برای پروژه مصرف میکنه
چطوری میتونم کالاهای مصرف شده در هر پروژه رو در دیتابیس ذخیره کنم؟
یعنی مثلا چطوری ذخیره کنم کالای الف با آی دی 2 برای پروژه الف با آی دی 1 مصرف شده؟
(کالا تموم نمیشوند و میتوانند در تعداد زیادی پروژه مصرف شوند)

iman_Delphi7
یک شنبه 15 آبان 1390, 18:22 عصر
خوب یه جدول بگیر ID کالا و ID پروژه و تعداد کالا رو (در صورت نیاز) توش بذار. منظورت همین بود دیگه؟

HASAN604
یک شنبه 15 آبان 1390, 18:43 عصر
درسته ولی تو یک پروژه ممکمه از چنتا کالا استفاده بشه اون موقع چیکار کنم؟

mehran_sh_t
یک شنبه 15 آبان 1390, 20:22 عصر
یک جدول سومی برای این کار نیاز دارید، که شامل دو فیلد آیدی پروژه و آیدی کالا میشه. اینطوری برای یک پروژه می تونید چند کالا داشته باشید (کلید اصلی این جدول ها هر دو فیلد هستند)

HASAN604
یک شنبه 15 آبان 1390, 21:22 عصر
خوب اینطوری که واسه هر پروژه ای باید یک جدول تشکیل بدم
این غیر استاندارد نیست؟

یوسف زالی
دوشنبه 16 آبان 1390, 11:09 صبح
سلام.
یک جدول که در آن لیست پروژه هاتون وجود داره، و یک جدول دیگه که تو اون آی دی پروژه و آی دی کالا و تعداد کالا وجود داره بگیرید.

mehran_sh_t
دوشنبه 16 آبان 1390, 11:38 صبح
خوب اینطوری که واسه هر پروژه ای باید یک جدول تشکیل بدم
این غیر استاندارد نیست؟

منظور من مشابه پست yousijoon بود، که البته ایشون کامل ترش رو گفتند.

ببینید، اینطوری میشه:

جدول کالا ها:
آیدی کالا، نام کالا، ... (مشخصات کالا)

جدول پروژه ها:
آیدی پروژه، نام پروژه، ... (مشخصات پروژه)

جدول پروژه - کالا:
آیدی پروژه، آیدی کالا

دقت کنید که در جدول سوم فقط ایدی های پروژه و کالا میان، نه جزئیات

جدول پروژه-کالا رو می تونید بر اساس نیاز توسعه بدید، همونطور که yousijoon گفتن، مثلا یک فیلد "تعداد" هم توش بذارید، که برای پروژه X، از کالای y چه تعدادی استفاده شده، و ...


پ.ن اگر هنوز متوجه نشدید، در رابطه با پیاده سازی رابطه "چند به چند" (many to many) در طراحی دیتابیس مطالعه کنید، کمکتون می کنه

موفق باشید

iman_Delphi7
دوشنبه 16 آبان 1390, 12:37 عصر
با سلام.
من به شما توصیه می کنم وقتی تا این حد تو طراحی دیتابیس مبتدی هستید برای چنین پروژه ای حتما از یه آدم حرفه ای تر استفاده کنین. با مطرح کردن سوال تو فروم نمی شه دیتابیس طراحی کرد. باید یه آدم حرفه ای تر دم دستتون باشه و مسئله رو کامل تحلیل کنه و بعدش طراحیشو انجام بده. وقتی جدول سوم برای شکستن یه رابطه چند به چند به دو رابطه یک به چند می گیریم یعنی هر پروژه می تونه از چند کالا استفاده کنه و هر کالا می تونه تو چند پروژه استاده بشه و اصلا چنین مفهومی رو نمی رسونه که برای هر پروژه باید یک جدول بگیریم. مثل :

پروژه 1 --------- کالای 1 --------- 1عدد
پروژه 1 --------- کالای 2 --------- 2عدد
پروژه 1 --------- کالای 3 --------- 2عدد
پروژه 1 --------- کالای 4 --------- 1عدد
پروژه 1 --------- کالای 5 --------- 5عدد
پروژه 2 --------- کالای 1 --------- 2عدد
پروژه 2 --------- کالای 5 --------- 3عدد
پروژه 2 --------- کالای 7 --------- 1عدد
پروژه 2 --------- کالای 2 --------- 1عدد
پروژه 3 --------- کالای 8 --------- 2عدد
پروژه 3 --------- کالای 2 --------- 1عدد
پروژه 3 --------- کالای 3 --------- 3عدد

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

HASAN604
دوشنبه 16 آبان 1390, 18:10 عصر
ممنون آقا ایمان دقیق همون چیزی بود که میخواست
راستش شرکت مال دادشمه و اونا هم اول کارشونه و شرکت زیاد شلوغی نیست هنوز
بازم تشکر