PDA

View Full Version : مشکل در ساخت پایگاه داده



silvers
سه شنبه 15 بهمن 1392, 19:01 عصر
سلام
نمیدونستم این سوال رو باید کجا بپرسم

دارم یه برنامه تاکسی تلفنی با C#‎ و MSSQL مینویسم. همه ی کارها تموم شده بجز گرفتن کمیسیون از راننده و تسویه حساب. حالا مشکل اینجاست که نمیدونم باید برای این کار یه جدول جدید بسازم یا جداول قبلیم رو ویرایش کنم.

کرایه برای هر سرویس جداگانه نگهداری می شه:
جدول سرویس (شماره سرویس، شماره راننده، شماره مشترک، تاریخ، ... ، کرایه، درصد کمیسیون)

حالا مثلا یه راننده 10 تا سرویس رفته و 12000 تومن بده کار می شه. زمان تسویه حساب 10000 تومن پرداخت میکنه و 2000 تومن دیگه بده کار میشه.

جداول رو چطوری طراحی کنم؟

Mansoor92
سه شنبه 15 بهمن 1392, 20:41 عصر
سلام

یک جدول بذارید برای باقی مانده هر شخص که وقتی فرم تسویه رو لود میکنید از اون جدول اطلاعات رو بخونه و با مبلغ کل جمع کنه و اگر کل مبلغ پرداخت شد باید جدول باقی مانده مربوط به این شخص صفر بشه در غیر اینصورت
باید آپدیت بشه تا هر دفعه که فرم تسویه لود میشه اون مقدار رو بخونه

من این راه رو بلد بودم شاید راه بهتری هم موجود باشه

موفق باشید.

silvers
سه شنبه 15 بهمن 1392, 23:22 عصر
ممنون

منظورتون اینه ؟
جدول باقیمانده(نام راننده، باقیمانده)

اون وقت چطور بفهمم کدوم سرویس ها تسویه شدن کدومشون هنوز نشدن؟

mhsmity
چهارشنبه 16 بهمن 1392, 00:30 صبح
سلام به نظر من این فیلد یه فیلد مکرب هستش

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

Mansoor92
چهارشنبه 16 بهمن 1392, 08:07 صبح
ممنون

منظورتون اینه ؟
جدول باقیمانده(نام راننده، باقیمانده)

اون وقت چطور بفهمم کدوم سرویس ها تسویه شدن کدومشون هنوز نشدن؟

خواهش میکنم.

بله جدول باقیمانده با 3 تافیلد (نام راننده-باقیمانده-کد راننده)

یک فیلد به جدول اصلی که تماس ها در اون ذخیره بذارید به اسم تسویه که بصورت true false باشه بعدش هرسرویسی که تسویه شده این فیلدش بایدtrue بشه و فقط اونایی که false هستن توی تسویه محاسبه بشن

silvers
چهارشنبه 16 بهمن 1392, 20:44 عصر
سلام به نظر من این فیلد یه فیلد مکرب هستش

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

ممنون که جواب دادید ولی من متوجه منظورتون نشدم اصلا. میشه یه مثال بزنید

silvers
چهارشنبه 16 بهمن 1392, 20:52 عصر
خواهش میکنم.

بله جدول باقیمانده با 3 تافیلد (نام راننده-باقیمانده-کد راننده)

یک فیلد به جدول اصلی که تماس ها در اون ذخیره بذارید به اسم تسویه که بصورت true false باشه بعدش هرسرویسی که تسویه شده این فیلدش بایدtrue بشه و فقط اونایی که false هستن توی تسویه محاسبه بشن

همین حساب کردن رو توش موندم
این مثال رو ببینید:

(سرویس، راننده، کمیسیون، تسویه)
1 - 1 - 1000 - ؟
2 - 1 - 1500 - ؟
3 - 1 - 500 - ؟

خب حالا راننده 3000 تومن بده کاره. میاد 2000 تومنشو میده. حالا چی کار کنم؟

راحت ترین کار این بود که پول هایی که راننده داده رو با هم جمع کنم و از کل کمیسیونی که بده کاره کم کنم اما قضیه ای که برام مهمه اینه که حتما اون فیلدی که شما میگید باشه که نخوام تمام سرویس ها رو محاسبه کنم چون با روزی 400 تا سرویس این دیتابیس خیلی بزرگ میشه و نمیشه هر بار مبلغ تمام سرویس ها رو جمع کرد چون عاقلانه هم نیست.

Mansoor92
چهارشنبه 16 بهمن 1392, 22:14 عصر
ببنید سرویس هایی که یک راننده مثلا توی طول روز میره ده تا سرویسه و مبلغ کلش مثلا شده 100 هزار تومن و با کمیسیون 10 درصد با ده تومن به بده آژانس حالا میاد 8 تومن میده و میمونه دو تومن دیگه که شما باید توی فرم تسویه یک فیلد برای باقیمانده بذارید که این دوتومن اونجا وارد بشه و 8 تومن هم توی پرداختی به آژانس و وقتی کلید ثبت رو زد تمام سرویس هایی که جمعشون شده ده تومن رو فیلد تسویه اونارو true کنه و هم چنین اون دو تومن رو بریزه توی جدول باقیمانده

فقط توی جدول باقییمانده نباید افزونگی داده داشته باشید فقط باید داده ها آپدیت بشن....

silvers
چهارشنبه 16 بهمن 1392, 23:12 عصر
تازه الان متوجه شدم.
خیلی خیلی ممنون که وقت گذاشتی Mansoor92 (http://barnamenevis.org/member.php?271839-Mansoor92) جان