learn قام بنشر نوفمبر 18, 2004 قام بنشر نوفمبر 18, 2004 السلام عليكم جميعاً لو كان عندي جدولين ACCOUNT (account_no,balance,PIN,client_id,blocked) TRANSACTION(account_no,date,time,type,amount) لما يسحب من الرصيد لازم يحسب مجموع سحوباته في هذا اليوم بحيث لو كانت وصلت مبلغ معين يمنعه من السحب Select AMOUNT from TRANSACTION where ((ACCOUNT_NO=something) and (DATE=today) and (TYPE=withdrawal)) بعدين يجمع ناتج هذا الاستعلام ويشيك (إلى الآن ماعندي مشكلة) ولكن أيضاً قد يطلب الشخص إنه يشوف آخر عشرة عمليات بغض النظر عن نوعها(سحب, إيداع ,تحويل..) شرح المشكلة: لما في كل مرة ينفذ فيها الشخص عملية يروح يخزن في جدول TRANSACTION بيكون هذا الجدول كبير وبما إننا مانحتاج إلا آخر 10 فممكن نقول لو كان عدد العمليات الموجودة 10 وأضفنا عملية جديدة احذف أقدم عملية (كيف أسويها؟؟) لكن بتظهر مشكلة السحب اليومي لأنه ممكن تنحذف سجلات خاصة بسحوبات اليوم وبالتالي لما أحسب مجموع السحوبات في هذا اليوم ممكن يكون بعضها قد انحذف لحل ذلك فكرنا بإضافة خانتين لجدول ACCOUNT هما : DAILY_WITHDRAWAL LAST_DATE_WITHDRAWAL وبالتالي فإنه كل مرة يسوي فيها سحب من الرصيد فإننا نشيك أولاً: If (LAST_DATE_WITHDRAWAL= today) then If (DAILY_WITHDRAWAL+value>something) then Msg(cannot) else DAILY_WITHDRAWAL = DAILY_WITHDRAWAL + value BALANCE= BALANCE -value End if Else LAST_DATE_WITHDRAWAL=today DAILY_WITHDRAWAL=value BALANCE= BALANCE-value End if وبعدين بنحدث هذه الخانات فكرنا نسوي كذا علشان بس نقلل من حجم القاعدة ومايصير فيها أشياء ما نستخدمها هل هذه الطريقة جيدة؟ هل فيها عيب من عيوب تصميم قواعد البيانات؟ إذا لأ ياليت تساعدوني في كتابة الاستعلامات بطريقة صحيحة .. ونأسف للإطالة ملاحظة: كل ماكتبته عبارة عن psudu-code وليست أكواد صحيحة
مصلح الحريصي قام بنشر نوفمبر 19, 2004 قام بنشر نوفمبر 19, 2004 أعمل كود يقوم بإختبار العمليات للعميل بموجب رقم العميل ويقوم ويحسب عدد العمليات التي أجراها هذا العميل بواسطة الدالة ( Dcount ) مقرونة برقم العميل وبتم الإختبار عند إجراء أي عملية من قبل العميل فكل ما تجاوز عشر عمليات يتم حذف أول عملية بواسطة الدالة ( DFirst ) مشروطة برقم العميل لكي تطمئن بأن البرنامج لا يحذف أي عمليات أخرى. ما بالنسبة مشكلة السحب اليومي أن كنت تريد الإحتفاظ بسحوبات اليوم ولو تجاوزت عشر عمليات اضف لما سبق شرط أخر وهو التاريخ حتى لا يتم حذف أي عملية تمت من قبل العميل اليوم.
learn قام بنشر نوفمبر 19, 2004 الكاتب قام بنشر نوفمبر 19, 2004 شكراَ أخي مصلح على ردك وجزاك الله خير.. بجرب هالطريقة وأشوف النتيجة
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.