PDA

View Full Version : طراحی بانک اطلاعاتی



a-azad
چهارشنبه 01 خرداد 1387, 09:06 صبح
سلام.یک دیتابیس دارم به اسم انبار.3تا جدول وروداولیه کالا،کالا هابرگشتی،کالاها خروجی.دو جدول کالاها برگشتی وکالاها خروجی از طریق فیلد کد به جدول ورود اولیه وصل شدن.(one to many)توی جدول ورود اولیه فیلدی به نام تعداد دارم.توی جدول خروجی فیلدی به نام تعداد وموجودی دارم .می خواهم بیاد موجودی جدول خروج کالا=تعداد توی جدول وروداولیه-تعدادتوی جدول خروج کالاها.به همین صورت برای فیلد موجودی جدول کالاها برگشتی
موجودی=تعدادکالاها برگشتی+موجودی کالاهاخروجی آیا این طراحی درسته.بعد این فرمول ها می توانم تو خود sql بنویسم

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

a-azad
چهارشنبه 01 خرداد 1387, 11:19 صبح
سلام.ممننون ازراهنمایت.نمونه برنامه ای دارین که من بتونم ازآن استفاده کنم.یا مشه بیشترتوضیح بدین.ارتباطاشون چطور باید باشد.باکدام فیلد؟

a-azad
چهارشنبه 01 خرداد 1387, 12:03 عصر
سلام.یک برنامه انبار دارم .ابتدا تعدادکالاها واردشده واردمیکنم .بعد توی کالاها خروجی موجودی میاد اینطور حساب می کنه=تعداد کالاها ورودی-تعدادکالاها خروجی
بعد یک مساله دیگه هم هست یک سری کالاها برگشتی ام داریم .موجودی=موجودی+تعدادبرگشتی ها
چطور اینکار انجام بدو.چه حلقه ای باید بنویسم.می تونم از قسمت formula sqlاستفاد کنم.ممنون راهنمایم کنین

ASKaffash
چهارشنبه 01 خرداد 1387, 12:47 عصر
سلام
نمونه برنامه دارم ولی اجازه انتشار ندارم ولی یک راه حل اینه که بری در بخش Diagramپایگاه داده SQLServer وبه راحتی جداول رابطه ای را ایجادکنی وسپس تصویر آن را در سایت قرار دهی وبا کمک دوستان خوب در سایت برایت بهینه کنیم بعد شروع به طراحی صفحات ورود اطلاعات ودیگر کارها کنی

a-azad
چهارشنبه 01 خرداد 1387, 14:00 عصر
منظورتون از اینکه گرفتن فیلد موجودی اشتباه چیه؟

Arghavan_Reza
چهارشنبه 01 خرداد 1387, 14:22 عصر
دوست خوب، در طراحی بانک اطلاعاتی سعی کنید فیلدی را که تعریف میکنید تابع محاسباتی از سایر فیلدها نباشد که لازم شود با دستوراتی همیشه بروز گردد. مثل فیلد موجودی کالا که تابعی از مقدار اولیه، مقدار وارده و صادره است. درعوض از SUM در کوئری استفاده کنید.
موفق باشید

a-azad
چهارشنبه 01 خرداد 1387, 22:22 عصر
این مقدار موجودی از کوئری می کشم بیرون کجا ذخیره بشه.می شه بگین چطور باید دیتا بیسم طراحی کنم.چطور بایدارتباط داشته باشن

Arghavan_Reza
پنج شنبه 02 خرداد 1387, 17:12 عصر
نیازی نیست فیلد موجودی ذخیره شود. هر بار خواستید موجودی را اعلام کنید Query بگیرید.
اصلا نگران سرعت نباشید. من برای 1.5 میلیون رکورد روی کامپیوتر 2G تست کردم در کسری از ثانیه جواب گرفتم. شما طراحی کنید، تست کنید اگر مشکل داشتید در خدمتیم.
موفق باشید