ورود

View Full Version : طراحی جدول برای صدور فاکتور با کالاهای متفاوت با خصوصیات متفاوت



aligh.es
چهارشنبه 29 بهمن 1393, 09:01 صبح
سلام
در حال طراحی بانک اطلاعاتی برای یک نرم افزار هستم که یک قسمت صدور فاکتور دوره ای برای مشتریان است
این فاکتور به این صورت است که ممکن است شامل کالاهای متفاوتی باشد که هر کدام از این کالاها خصوصیات متفاوتی دارند و یکسری خصوصیات مشترک
بگذارید بیشتر توضیح بدهم
در فاکتور، کالا ها شامل تمدید هاست تمدید دامنه ،هزینه پشتیبانی و هزینه اضافه حجم هستند که ممکن است کالاهایی دیگر نیز به سیستم اضافه شوند
مشکل من اینجاست که چگونه جدول این کالا ها را طراحی کنم چون هر کدام از این کالاها خصوصیات متفاوتی دارند و نمیتوان به یک جدول مشترک برای انها بسنده کرد
گرفتن جدول جداگانه هم برای انها مشکل ساز است چون وقتی در فاکتور میخواهیم ارتباط دهیم به کالا ،جدولهای کالا ها جداگانه است و حال منظور کدام جدول است؟
خوب حالا در فاکتور ما میخواهیم کالاها رو ثبت کنیم برای هاست ما تاریخ ثبت و تاریخ تمدید و حجم داریم ولی برای دامنه ما تاریخ ثبت و تاریخ تمدید و نوع دامنه و ... برای پشتیبانی فقط تاریخ شروع و تاریخ پایان و ....
یک روش این است که ما بیاییم جدول جداگانه طبق خصوصیات برای هر کالا بگیریم و در جدول کالاهی فاکتور چهار فیلد در نظر بگیریم که اگر فیلد اول اطلاعات داشت یعنی کالای اول (مثلا هاست) و اگر فیلد دوم پر شده بود یعنی برو به جدول دامنه ها و .... که این روش امکان تعریف کالای جدید بدون نیاز به کد نویسی را فراهم نمیکند
روش دوم اینکه بیایم برای خصوصیات مشترک یک جدول بگیریم ولی برای خصوصیات غیر مشترک یک جدول به عنوان جدول خصوصات کالا در نظر بگیریم که باز هم دست ما بسته میشود و نمیتوان کالای جدید اضافه کرد چون ممکن است خصوصیتی داشته باشیم که ما تعریف نکرده باشیم(مثلا اگر دامنه کالای جدید باشد دامنه خود نوع دارد که به عنوان خصوصیت در جدول تعریف شده نبوده )

دوستان کسی تا به حال اینجور مشکلی داشته؟ و کسی میتونه منو راهنمایی کنه
امیدوارم تونسته باشم مشکلم رو واضح توضیح بدم

جدول فاکتور


id



تاریخ



مبلغ کل



id مشتری



مبلغ پرداختی




جدول کالاهای فاکتور

id



id فاکتور



id هاست



id دامنه



id اضافه حجم



id پشتیبانی

stabesh
پنج شنبه 30 بهمن 1393, 21:47 عصر
سلام
بهتره یه جدول داشته باشید برای کالا که درش یه فیلد دارید که نوع کالا رو نشون میده فیلدای هزینه و تاریخها که برای همه کالاها لازمه فیلدای حجم و نوع دامنه در صورتی که کالای مربوطه انتخاب بشه پر خواهند شد و یک جدول هم برای نوع کالا
این جوری بعدا اگه کالای جدیدی اضافه بشه دیگه مشکلی هم به وجود نمیاد

sadegh.te
جمعه 01 اسفند 1393, 00:22 صبح
سلام دوست عزیز شما برای ویژگیهای مختلف برای هر کالا میتونید از روش EAV استفاده کنید تو گوگل سرچ بزنید مطلب راجع بهش زیاد هست.