PDA

View Full Version : تحلیل دیتابیس پروژه انبارداری (بنکداری)



ghasem110deh
سه شنبه 05 خرداد 1394, 23:21 عصر
سلام به همه ...
دوستان لطفا مشارکت (راهنمایی) کنن در مورد تحلیل و طراحی دیتابیس جهت پروژه انبارداری (بنکداری)
برنامه در دو نسخه تحت ویندوز (تک کاربره) و تحت شبکه (چند کاربره) خواهد بود ، که فعلا با فاز اول کار داریم !

ملزومات (تقریبا به تریتب - لازم باشه جابجا میشن)
انبار دارای مشخصات کامل از جمله نوع کالاهای انبار شده ، ضرفیت (عددی ، وزنی و ... بسته به نوع کالا) انباردار ، تجهزات انبار ، کارکنان انبار ، بیمه حوادث انبار ، آدرس انبار و ...
کالاها دارای گروه و زیر گروه بوده و مشخصات گروه شامل : مواد فاسد شدنی (تاریخ مصرف دار) ، قابل اشتعال ، شکستنی و ...
دسترسی انباردار (به عنوان کاربر) در حیطه امور مرتبط به یک انبار تعیین شده باشد
ایجاد و ثبت بارکد برای هر کالا و چاپ بارکد
ثبت مشخصات و سوابق کلیه پرسنل (در صورت اخراج و یا جابجایی سوابق قابل دسترسی باشد)
پیاده سازی سیستم Fifo جهت خروج کالاهایی که تاریخ ورودشان به انبار زودتر بوده (کالاهای فاسد شدنی می بایست بصورت خودکار هشدار دهند)
با ثبت فاکتور خرید کالا ، رسیدانبار بصورت خودکار تکمیل شده و در صورت تایید انباردار ثبت شود
با ثبت فاکتور فروش کالا ، حواله انبار بصورت خودکار تکمیل و توسط انباردار ثبت شود
تعریف مراکز عمده صادره و وارده (خرید از/ فروش به)

مدیریت کاربری
* مدیر برنامه :
1- تعریف کاربر (و سطح دسترسی) 2- تعریف انبار 3- تعریف انباردار (هر انباردار تنها قادر به انجام عملیات روی انبار مختص خود باشد)
* انبار :
1- محصولات 2- مواد اولیه 3- قطعات و ابزارآلات 4- مواد مصرفی 5- کالاهای مرجوعی 6- کالاهای امانی و ...
* انباردار :
1- تعریف تجهیزات انبار 2- تعریف کارکنان انبار 3- ثبت رسید و حواله انبار (تنها در مورد کالاهای انبار خود) 4- ثبت مشخصات تحویل دهنده یا تحویل گیرنده کالا
* تعریف کالا :
1- تعریف گروه کالا (توسط مدیر) 2- تعریف زیر گروه کالا 3- ثبت تاریخ ورود و خروج کالا 4- ثبت قیمت پایه ، خرید و فروش کالا

گزارشات
1- فهرست اسناد 2- موجودی کل 3- موجودی هر انبار 4- گزارش کالا (میزان خرید ، فروش و درآمد حاصل از کالا) 5- کاردکس کالا 6- بیلان یک بازه زمانی (کلی یا بصورت انبار خاص و یا کالای خاص)
7- کالاهای مرجوعی 8- کارکنان و ...

اگه زنده باشم فردا (تو همین روزا) نما و ساختار دیتابیس اولیه رو میزارم که در موردش گفتگو کنیم ؛
دوستان هر نظر سازنده ای که بدن در عوض یکبار کلید تشکر رو میزنم :)

golbafan
چهارشنبه 06 خرداد 1394, 09:49 صبح
سلام
یکم کلی عرض میکنم:

1- کالا رو باید با ساختار درختی تعریف کنید: id/parent/other fields
2- جدولی باید برای تعریف واحد ها در نظر گرفته و هر کالا بتواند چند واحد رو ساپورت کنه: واحد ها مثل کیلو/عدد/ بسته و ...
3- ارتباط انبار با کالا و انباردار و پرسنل و بیمه و ... باید از نوع M-N باشه و نباید 1-N بزارید. موارد یکتایی مثل آدرس رو میتونید در همون جدول انبار بزارید
4- فایفو و لایفو نحوه ورود و خروج کالا به انبار است که بر اساس تاریخ ورود بصورت نزولی و یا سعودی سورت میکنید و موقع فاکتور زدن باید از انتها یا ابتدای جدول برداشت کنید
مساله اخطار فاسد شدن رو نباید با این مساله قاطی کرد
5- یک جدول برای تعریف انواع انبار لازمه: انبار محصولات/مواد اولیه و ...

davidrobert
چهارشنبه 06 خرداد 1394, 18:25 عصر
سلام دوست عزیز این چیزی که شما مگید من پیدا سازی کردم به روش فایفو ولی باید چند مورد رو در نظر بگیری یک انبارداری نیاز نداره که بیاد راه به راه تعریف بشه کی محصول کدم انبار باشه یعنی مسئول انبار خوراکی نقی و مسئول انبار بهشداتی تقی این بدرد نمیخوره به کل انبار گردانی توسط یه نفر انجام میشه و برای مدیریت چند انبار از کد شعبه و سطح دسترسی استفاده میشه یعنی اگه کلاینت یا سرور باشه وقتی اطلاعات واحد تجاری ثبت بشه برای هر واحد تجاری دیگر نیاز به راه به راه تعریف کردم مسئول برای هر انبار بیرون نیستیم و انبار داخلی یک محیط به یک انبار دار نیاز دارد چون کار انبار دار ثبت کالا وارد شده هستش با فاکتور کالا و فروش توسط فروشنده هستش که انبار دار کم شود کالا رو مشاهده میکنه و فروشنده جناس رو میفروشه حالا برای امنیت برنامه و سرعت بخشی برنامه میام قسمت بندی میکنیم و یک قسمت نام کالا تعریف میشه و بارکد چون این 2 تا عوض نمیشن و دوم قیمت کالا تعریف میشه با بارکد که به این عمل میگن انومالی وقتی بارکد زده شد قیمن و نامش میاد حالا برای اینکه عملیات و امنیت و برنامه و حجم اطلاعات کاهش پیدا کنن برای هر داده کدینگ یا همون کد کالا تعریف میکنیم و یا شماره فاکتور یا غیره و هر چیزی رو با عمل join نمایش میدیم که داده های ثابت مثل بارکد و نام کالا یک بار تعریف میشه و داده های دیر به دیر عوش میشن مثل قیمت کالا فقط با بارکد روی کالا قیمت میزاریم و در فراخوانی اطلاعات اصلی داده اصلی رو یا همین کلید اصلی رو صدا میکنیم که داده ها نمایش داده میشن کهه شخص فقط کد ها رو میبینی ولی متوجه نمیشه چی داده هستش بخاطر همین امنیت اطلاعات بالا رفته و شخص که قست دست درازی به برنامه رو برای خودش داره کوتاه میشه و اطلاعات غیر قابل سرقت میشن یعنی شرکت میهن نمیتونه به نام کالی کالا بده بیرون چون اطلاعات شرکت با ورود کاربر معلوم میشه و اجناس معلوم میشه توسط کی خارج شده است که به این عمل میگن سطح دسترسی

fa_karoon
پنج شنبه 19 مرداد 1396, 22:50 عصر
سلام دوستان یه سوالی درباره بحث قفسه بندی در انبار دارم. فرض کنید از کالای الف 50 تا داریم که در دید اول می گوییم خب یک رکورد با تعداد 50 ثبت می شود اما اگر بخواهیم 20 تا در یک قفسه و 10 تا در قفسه دیگر و 20 تا هم بدون قفسه باشند چگونه این را در ساختار دیتابیس طراحی می کنیم که با یکبار select کالاها هم قابل دسترس باشد
سپاس

fa_karoon
شنبه 21 مرداد 1396, 21:22 عصر
سلام دوستان چون سوالم درباره تحلیل انبار بود نخواستم تاپیک جدا بزنم لطفا دوستان اگر امکان داره سوال بالا رو جواب بدن سپاس

تکنولوژی
شنبه 11 شهریور 1396, 16:03 عصر
سلام .
آیا میشه در بانک داده فقط جدول رو ایجاد کرد بعد در محیط برنامه نویسی ارتباط جداول رو تعیین یا ویرایش کرد؟

ali_md110
چهارشنبه 15 شهریور 1396, 07:42 صبح
سلام .
آیا میشه در بانک داده فقط جدول رو ایجاد کرد بعد در محیط برنامه نویسی ارتباط جداول رو تعیین یا ویرایش کرد؟

بله ولی کمی هزینه بر هست منظورم تلف کردن وقت
پیشنهاد بکارگیری ORM های موجود مثل Entity framework و Code firstاین روش هست

ali_md110
چهارشنبه 15 شهریور 1396, 07:57 صبح
بحث پلتفرم برنامه نویسی این نرم افزار هم مهم هست
تقریبا برنامه های سبک ویندوز فرم منسوخ داره میشه
اندروید و موبایل و وب جایگاه بهتری داره
طراحی دیتابیس باید جوری در نظر گرفته بشه تا نیازمندیهای یک اپلیکیشن اندرویدی یا موبایلی هم بر طرف بشه

رامین مرادی
پنج شنبه 16 شهریور 1396, 08:29 صبح
بحث پلتفرم برنامه نویسی این نرم افزار هم مهم هست
تقریبا برنامه های سبک ویندوز فرم منسوخ داره میشه
اندروید و موبایل و وب جایگاه بهتری داره
طراحی دیتابیس باید جوری در نظر گرفته بشه تا نیازمندیهای یک اپلیکیشن اندرویدی یا موبایلی هم بر طرف بشه

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

بله وب و اندروید جایگاه بهتری دارن اما هر چیزی به جای خودش. :لبخندساده:

ghasem110deh (http://barnamenevis.org/member.php?330388-ghasem110deh)
کاش این موضوع روئ ادامه بدید منم دوس دارم یاد بگیرم.

ali_md110
پنج شنبه 16 شهریور 1396, 10:57 صبح
من کلا با کلمه منسوخ مخالفم :چشمک: ما هنوزم با سی یا حتی اسمبلی خیلی کارا میکنیم.:لبخندساده:

بله وب و اندروید جایگاه بهتری دارن اما هر چیزی به جای خودش. :لبخندساده:

ghasem110deh (http://barnamenevis.org/member.php?330388-ghasem110deh)
کاش این موضوع روئ ادامه بدید منم دوس دارم یاد بگیرم.

این تاپیک بحثش تحلیل دیتابیس بنکداری هست لطفا بحث های دیگه واردش نکنید
ویندوز فرم از نظر اکثر برنامه نویسان is dead
زمان اینکه من حالا تو برنامه نویسی جواب بگیرم دیگه مهم نیست چقد کد بزنم یا زبان برنامه نویسیم چی باشه یا نسخه چند باشه گذشته
بحث عقب ماندگی تکنولوژی مهمه
بحث گسترش و نگهداری نرم افزار مهم
سی یااسمبلی واسه برنامه های خاصی هست و باهاش نرم افزار مالی یا مدیریتی تولید نمیکنند دیگه
منظور من از اندروید در اینجا یادگیری اندروید نیست دوست من
بحث اینه که دیتابیس باید جوری طراحی بشه تا سربار کمتر و بهینه تر باشه
برای بسترهایی که پهنای باند و حافظه کمتر در دسترس هست مثل وب

بعضیها ممکنه یک نرم افزار حسابداری بنویسند و برای هر پلتفرم یک دیتابیس جدا طراحی کنند که این یعنی فاجعه