PDA

View Full Version : بهترین ساختار برای پیاده سازی این جدول



sjhosseini
سه شنبه 21 آبان 1387, 12:20 عصر
با سلام
یک سوال از دوستانی که تو زمینه بانک اطلاعاتی نرم افزار های حسابداری کار کردن
1- بهترین ساختار برای نگهداری چکهای دریافتنی و پرداختنی در نرم افزارهای حسابداری وفروش چطوریه؟
البته تعریف من از چکهای پرداختنی و دریافتنی به این شرحه؟؟
چک دریافتنی : چکی که از اشخاص گرفته میشه
چک پرداختنی : چکی که از حساب شخصی طرف صادر میشه و چک هایی که از اشخاص دیگر گرفته شده

آیا از دو جدول متفاوت استفاده کنم یا اینکه تو یه جدول اونا رو قرار بدم البته با در نظر گرفتن یک فیلد کنترلی- البته اگه بخوام تو یه جدول قرار بدم به نظرم افزونگی داده ها پیش می یاد چون یه سری فیلدها مانند نام بانک شماره حساب و شعبه برای چکهای پرداختنی که شخص از حساب شخصی خودش میده به وجود می یاد چون این اطلاعات تو جدول بانک وجود داره ولی برای چکهایی که از اشخاص گرفته میشه وجود این اطلاعات ضروریه.

رضا جاسبی
سه شنبه 21 آبان 1387, 23:23 عصر
اگر شخص خودش چند تا دسته چک داشت چی؟ جدا بودن جداول وقتی از افزونگی جلوگیری می کنه که شعب مورد نظر رو جداگانه در یک جدول دیگه داشته باشی. که در این صورت می تونی همین کار رو برای همه چکها انجام بدی. بستگی به نیاز برنامه داره که آیا مهمه که بیشتر از چه شعبی چک دریافت می کنید؟ ضمنا در مورد چکهای اشخاص دیگر که به اصطلاح بازار خرج می شود من فکر می کنم این چک هم ورودی و هم خروجی و به عبارت دیگر هم دریافتنی و هم پرداختنی است. به نظر من با یک جدول میشه کل چکها رو نگه داشت. اگر نام بانک و نام شعبه خیلی خیلی مهم نباشه و نخواهی در گزارشها استفاده کنی می تونی در یک فیلد کلی توضیحات ثبت کنی. احتمالا ممکنه فیلدی به نام طرف حساب هم داشته باشی چون ممکنه چک اشخاص دیگر که گرفته میشه خودش خرج شده باشه. یعنی از علی چک می گیری ولی چک مال حسن است. اینجا نام صاحب حساب حسن هست ولی طرف حسابت علی. به هر حال فکر می کنم یه نیاز سنجی درست جواب خیلی از سوالها رو میده ولی در مورد چکهای دریافتنی و پرداختنی یا به قول حسابدارها وارده و صادره میشه هر دو رو در یک جدول نگه داشت. البته اگر همانطور که گفتم نام بانک و شعبه خیلی خیلی مهم نباشه که بخواهی برای هر کدوم یک فیلد جدا بیاری و احتمالا در کوئری ها استفاده کنی افزونگی به اون معنا نخواهیم داشت. و اگر هم جداول جدا داشته باشی همین حالت افزونگی رو در حالتی که بیش از یک دسته چک داشته باشیم (که خیلی مرسوم هست) خواهی داشت.

sjhosseini
چهارشنبه 22 آبان 1387, 07:37 صبح
با تشکر از جوابتون
من یه جدول بانک هم دارم که اسامی بانکها و شماره حسابهایی که شخص از اونا دسته چک داره رو ثبت می کنم و در جدول چک در موقع صدور چکهای صادره فقط کد بانک رو تو جدول میارم.
ولی زمانی که بخوام چک اشخاص دیگه رو ثبت کنم حتما باید شماره حساب و شعبه و نام بانک رو نیز در جدول چک داشته باشم به همین دلیله که تو یه جدول نمیتونم همه اینا رو داشته باشم یا بهتره که بگم این جور طراحی صحیح نیست چون سه فیلد(شماره حساب و شعبه و نام بانک) در موقع ثبت چک های صادره بلا استفاده می مونه و یا نیازیبه استفاده از اونا نیستش

رضا جاسبی
پنج شنبه 23 آبان 1387, 23:44 عصر
این دقیقا همونیه که گفتم به طراحی و نیازت برمیگرده. ممکنه در شرایطی یا برنامه ای نیاز خاصی به شماره حساب و نام شعبه طرف حساب نداشته باشی و فقط محض اطلاع بخواهیشون نه برای کنترل و استفاده. در این صورت می تونی همه رو در یک فیلد توضیحات داشته باشی و در نتیجه در جدول چک فقط تاریخ و مبلغ و شماره چک مهم خواهد بود و یک توضیحات داری که در صادره می تونی طرف حساب رو درش بنویسی و در وارده علاوه بر طرف حساب شماره حساب و شعبه رو. به هر حال اگر ریز اطلاعات چکها مهمه (که اینطور به نظر میاد) استفاده از دو تا جدول روش بدی نیست.