PDA

View Full Version : ارتباط بین سه جدول وعملیات بر روی آنها با استفاده از linq؟



bazikadeh
دوشنبه 19 آبان 1393, 15:08 عصر
سلام دوستان یک پروژه مدیریت مغازه کرایه دریل که دستگاهای متفاوتی داره و آنها را کرایه میده میخواستم طراحی کنم.
اول از هرچیز بعضی مباحث را اینجا نباید میگفتم ولی بخاطر درک بهتر بیان کردم
-----------------------------------------------------------------
توضیح :
1- یک فردی به مغازه یا فروشگاه مراجعه میکنه یک یا چند دستگاه متفاوت به صورت کرایه میگیرد.تاریخ رود و خروج هم مینویسیم.
2- نوع وثیقه که میخواهد بگذارد هم مشخص میکنیم (کارت ملی - شناسنامه و یا هرچیز دیگری)
3- قیمت کل و مقدار ودیعه و باقیمانده هم باید مشخص شده باشد
4- هر نوع دریل داری چند نوع متفاوت است (مثلا دریل تخریب چند نوع ، دریل کوچک چند نوع و...)
5- یک مشتری ممکنه یک بار ویا چند بار رجوع کنه که زیاد مهم نیست
------------------------------------------------------------------

میدونم باید 3 جدول طراحی کنم. کی برای محصولات یکی برای گروه بندی آنها و یکی هم فاکتور های خرید

اول اومدم جدول گروه را درست کردم

125485

بعد اومدم جدول محصولات را ساختم

125486

خواستم جدول واسه کسی که میاد خرید میکنه را درست کنم ولی دقیقا نمیدونم چطور طراحیش کنم ؟ دو جدولش کنم یا همان تک جدول باقی بمونه

linq رو ساختم بعد دو جدول را واردش کردم و ارتباط با استفاده از کلید گروپ دادم
125487
-------------------------------------------------------------------------------
حالا مشکلات من
1- اینه که نمیدونم 1 جدول دیگه درست کنم یا 2 جدول برای ثبت فاکتور و اسم ؟
2- چطور میتونم یک گروه را حذف کنم و محصولاتش حذف بشه ؟
3- توی خرید مثلا یکی چند محصول میخره چطور قیمت ها را محاسبه کنم ؟

ashkan1234
دوشنبه 19 آبان 1393, 17:27 عصر
سلام.
شما باید در هر جدول یک Id Uniq داشته باشید که AutoNumber باشد!
بعد دوتا جدول را به هم ریلیشن بزنید!
قیمت را فیلد int بگیرید بهتر است!
پاسخها:
1-بهتر است یک جدول برای مشتریان در نظر بگیرید و یک جدول برای ثبت فاکتور!
2-در موقع ریلیشن زدن در sql در فیلد مورد نظر در بخش Table Designer گزینه Insert And Update Specification گزینه Delete Rule را روی Cascade قرار دهید!
3-با استفاده از تابع Sum

در آخر بنظرم نیاز به دانش بیشتری برای اینکار نیاز دارید!:لبخند:

bazikadeh
دوشنبه 19 آبان 1393, 17:34 عصر
ممنونم ولی چقدر خلاصه ....
منم میدونم دانشم پایین هست ولی باید از جایی شروع کنم.
--------------------
چرا باید دوتا از فیلد ها روی اتو باشه ؟ من میخوام کدیر خودش کد محصول بده ؟

ashkan1234
دوشنبه 19 آبان 1393, 17:53 عصر
خلاصه که نبود!
هر سه تا مورد رو پاسخ دادم!
یکمی خودتونم تلاش کنید به نتایج خوبی میرسید!
دوتا از فیلدها نه! بلکه هر جدول نیاز به یک فیلد Uniq داره تا بتونید عمل آپدیت و حذف را براحتی انجام دهید!
اگر میخواهید کاربر هم کد بده میتونید یه فیلد براش در نظر بگیرید

bazikadeh
دوشنبه 19 آبان 1393, 18:06 عصر
حتما باید اتو باشه ؟ من اگه منحصرا کنم و کلید اصلی دیگه تکراری نداره و نیازی هم به اتو کردن نیست درسته ؟

ashkan1234
دوشنبه 19 آبان 1393, 18:13 عصر
اینو هم درنظر بگیرید که فیلد کلید اصلی قابل ویرایش نیست!
بیشتر به این علت عرض کردم که فیلد کد را از این فیلد جدا بگیرید!
در غیر اینصورت کاربر باید رکورد را حذف کنه و از نو رکورد بزنه!

bazikadeh
دوشنبه 19 آبان 1393, 18:43 عصر
اره میدونم.
ولی یک آموزش چیزی داشتین خیلی خوب میشد
یا حداقل کد هایی میدادین بدردم بخوره