منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
كيف تصمم قاعدة بيانات - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة Delphi (http://vb4arb.com/vb/forumdisplay.php?fid=213)
+--- قسم : قسم مقالات Delphi (http://vb4arb.com/vb/forumdisplay.php?fid=214)
+--- الموضوع : كيف تصمم قاعدة بيانات (/showthread.php?tid=30581)

الصفحات: 1 2 3 4


RE: كيف تصمم قاعدة بيانات - viv - 29-07-19

ولكن لحظة ...؟
دخلت الوحدة على الخط
وهنا المفترض ان يكون لنا لكل صنف عدة وحدات .
قطعة او صندوق - او علبة - ألخ
اذا يجب ان تكون هناك كمية في الوحدات
اسم الصنف الوخدة قطعة طبيعي ان تكون الكمية 1
اسم الصنف الوحدة صندوق الكمية تكون مثلا 30 قطعة
وسعر الشراء والبيع ينتقل الى جدول الوحدات
لان سعر القطعة غير سعر الصندوق

الكمية في جدول الوحدات تشير الى الكمية بالصندوق او الوحدة الواحدة للصنف كقطعة او عبوة
والكمية بجدول الحركة تشير الى الكمية للوحدة
عدد 5 للقطعة يساوي 5 قطع وللصندوق يساوي 5 صناديق مضروب في سعر الوحدة للقطعة او الصندوق
وبذلك يكون الامر منطقي اكثر

[attachment=22261]


RE: كيف تصمم قاعدة بيانات - abu ammar - 29-07-19

بارك الله فيكم جميعا .. اسمحوا لي بالمشاركة في هذا الحوار الممتع
أرى أن تطبيقات قواعد البيانات لها جانبان :
** جانب نظري (تصميم قاعدة البيانات)
** جانب عملي (تصميم الشاشات والجدوال المرتبطة .. الخ وكل مبرمج له اسلوبه وذوقه في البرمجة
أرى أن أفضل وسيلة للتعليم هي الفلاش مثلا هناك مجموعة رائعة في منتدى دلفي لكل العرب ولكن المنتدى نفسه مريض ويحتضر
وشكرا


RE: كيف تصمم قاعدة بيانات - viv - 29-07-19

إقتباس : مثلا هناك مجموعة رائعة في منتدى دلفي لكل العرب 


اهلا بك اخ ابو عمر أجل كنت راغب في التحدث مع البعض هناك لاخد الادوات التي صمموا بها ، فقد اخذت منهم مرة واحدا وضاع مني


إقتباس :ولكن المنتدى نفسه مريض ويحتضر

لي زمان انا من ضمن اعضائه ربما من سنة 2013
هو لا يملك اي تفاعل وله اسلوب خاص بالنسبة للمبتدئين يتم وضع دروس لهم بمعنى تريد ان تتعلم اقراء الدروس
لن تجد ردود وتفاعل معك غالبا عند السؤال .
من فيه محترفين جدا في الدلفي حتى انني لا افهم ما يقولون احيانا في التحدث عن علوم معينة خاصة بالهاردوير او نظام التشغيل والهندسة العكسية وما شابه
ليس لديهم ما يكتبون واذا كتبوا كانت دروس وحوار متقدم غالبا ليس للمبتدئين او المتوسطين
هذا ما لمسته فيه

وربما هو يختضر ، فما ينشط المنتدى حوار المبتدئ الذي هم الشباب الجدد
اما الكبار فغالبا لا يتحدثون الا لامر ضروري لهذا المنتدى صامت ومهجور هذا ما تلمسه


RE: كيف تصمم قاعدة بيانات - viv - 31-07-19

يبدو انه لا يوجد احد متابع خطوات التحليل بدقة لان لا احد اعترض على ان جدول المخازن مرتبط بجدول الاصناف وهذا خطاء
جدول المخازن المفترض ان يرتبط بجدول الحركة او جسم الفاتورة
من يقول لي لماذا ...؟

[attachment=22326]


RE: كيف تصمم قاعدة بيانات - sendbad100 - 31-07-19

السلام عليكم

انا متابع معك باذن الله

احاول ان افهم ما الفكرة التي سوف تستخدمها  في 

1-  ادارة المخزون.  (يبدو لي انك تريد استخدام الاستعلام كلما  تريد معرفة كمية صنف ).  

2- التعامل مع الوحدات  (حبة = 1   درزن = 12  كرتون 24 ) مثلاً


اكمل على بركة الله  وعندما تكتمل الفكرة لدي  سوف استفسر عن اي صعوبات تواجهني.

او  اي ملاحظات لدي.

بارك الله فيك ولك 

لا تلتفت للمتابعين الان  سياتي عطشان ذات يوم ويشرب من بئرك .

قد لا يهتم اكثرهم بالمبيعات .

ولكن  انا مثلاً عندما احتجت قبل فترة طويلة دخلت كل المنتديات ابحث عن الفكرة (ولم اجد الفكرة كامله في اي مكان)
من كل مكان التقط فكرة . او ضياع للوقت.

اسال الله ان يجعل كل تعبك ووفتك لوجهه الكريم  وان يجزيك خير الجزاء.



RE: كيف تصمم قاعدة بيانات - viv - 31-07-19

وعليكم السلام اخ سندباد

إقتباس :دارة المخزون.  (يبدو لي انك تريد استخدام الاستعلام كلما  تريد معرفة كمية صنف


في التصميم السليم والصحيح ستم الاستعلام عن الكمية بجدول الحركة ولن يتم حفظها باي مكان كقيمة ثابتة تدل على كامل الصنف
المخزن كانت له وظيفة واحدة فقط ، وهي توزيع البضاعة عليه
هناك بظاعة لمخزن المحل وبظاعة احيانا للمخزن الرئيسي 
وعليه يجب ان يرتبط جدول المخازن بعملية الحركة الخاصة بالمشتريات او المبيعات
وليس جدول الاصناف


RE: كيف تصمم قاعدة بيانات - viv - 01-08-19

في جدول الحركة ولاجل سهولة الاستعلامات فيما بعد يجب جعل الكمية موزعة في حقلين
حقل Qin مثلا لكمية البضاعة مشتريات ومسترجع مبيعات
حقل Qout مثلا لكمية البضاعة مبيعات ومسترجع مشتريات
فعندما تريد الاستعلام عن كمية صنف فيما بعد ستجد ذلك سهلا Qin - Qout = Quantity
بحيث عند دخول اي بضاعة للمخزن يتم حفظها في الحقل Qin وعند خروجها الكمية تكون في Qout
لو كانت هناك فواتير مبدئية يمكن ان يتم جعل قيمة Qin تساوي Qout وبذلك لا تؤثر على كمية المخزون
الفكرة بسيطة ولكنها توفر الكثير من الجهد


RE: كيف تصمم قاعدة بيانات - sendbad100 - 01-08-19

السلام عليكم

رائع اخي /ابو همام  احب الافكار المبتكرة

ماذا عن بضاعة اول المدة ؟  
وماذا عن فروقات الجرد العجز او الزيادة؟

هل نستخدم نفس الحقلين حسب الحاجة زيادة او نقص. 

الن ياثر  على سرعة البرنامج الاستعلام عن الكميات كل مرة نحتاجها  مع مرور الوقت وزيادة المشتريات والمبيعات.

اذكر اني جربته من قبل على قادة بيانات اكسس تحتوي على مليون صف
وكان النتيجة غير مرضية  بالذات عند معاينة كل الكميات المتوفرة يعني عرض كل الاصناف مع كمياتها.
(ملاحظة كانت من 3 جداول  جدول حركةالمشتريات ومردودها - حركة المبيعات ومشترياتها - جدول حركة الجرد والتالف ) 

(كنت احفظ الكمية بالموجب او بالسب  في نفس الجدول )



RE: كيف تصمم قاعدة بيانات - viv - 01-08-19

وعليكم السلام ورحمة الله

إقتباس :[b]ماذا عن بضاعة اول المدة ؟  [/b]

حسب رأيي لا يوجد طريقة معينة هذا يرجع لما يساعدك انت كمبرمج
حسب التصميم هنا رصيد اول المدة موجود بجدول الاصناف تأخذه دائما تم تطرح منه المعادلة السابقة
وهناك فكرة اخرى وهي في نوع الحركة بجدول راس الفاتورة حيث تكون اما
مشتريات او مبيعات او مسترجع
لما لا يكون فيها نوع اخر مثلا فاتورة برصيد اول المدة تخزن لمرة واحدة فيها كامل الكمية ويتم الغاء رصيد اول المدة بجدول الاصناف
كما توجد فاتورة للفاقد مثلا نختار نوع الفاتورة ويكون فاقد ولها رقم وتاريخ وفيها الكميات المفقودة مثلا ضائعة او تالفة وغير ذلك

بحيث يمكننا باي وقت الاستعلام عن فواتير البضاعة المفقودة والتالفة او فاتورة اول المدة والتي تحمل تاريخ اول بداية العمل بالمنظومة ايضا وهو تاريخ الفاتورة
كما نحصل على تاريخ كل البضائع التالفة او الضائعة وكمياتها وبتواريخها وهو تاريخ فتح الفاتورة

إقتباس :الن ياثر  على سرعة البرنامج الاستعلام عن الكميات كل مرة نحتاجها  مع مرور الوقت وزيادة المشتريات والمبيعات.

لن يؤثر استخدم Sqlite او mySQL او FireBird بالنسبة الى Access لا ارى اي منطق في استخدامها في الدلفي حيث ان التعامل مع كل قواعد البيانات بنفس الكود ونفس الاسلوب ونفس الطريقة
وعلى العموم انا جربت عليها حوالي 100 الف فاتورة ولم اللاحظ اي مشكلة

إقتباس :وكان النتيجة غير مرضية  بالذات عند معاينة كل الكميات المتوفرة يعني عرض كل الاصناف مع كمياتها.

(ملاحظة كانت من 3 جداول  جدول حركةالمشتريات ومردودها - حركة المبيعات ومشترياتها - جدول حركة الجرد والتالف ) 

يبدو لي ان هذا سبب المشكلة فكلما كان هناك جداول اكثر وروابط اكثر كان الاستعلام اكثر تعقيدا واكثر بطئ ايضا
اما في تصميمنا هذا فنحن نتحدث عن جدول واحد فقط يعني السرعة ستكون موجودة حتى مع قاعدة بيانات اكسس
غالبا التصميم عندما يكون خاطئ يأتي بالكثير من المشاكل .
جرب هذا على قاعدة بيانات اكسس ولاحظ بنفسك
طبعا مليون فاتورة كمية كبيرة لا اعتقد ان هناك محل او مركز مبيعات له هذه الكمية وعلى العموم هذه افضل طريقة لتفادئ البطئ


RE: كيف تصمم قاعدة بيانات - sendbad100 - 01-08-19

السلام عليكم

صح الله بدنك عزيزي/ ابا همام

انا استخدم  فعلياً  فاتورة لعمل التالف  وعمل الجرد   ولكن باسم اخر  يبدو انها  طرية جيده فعلاً

إقتباس :بالنسبة لبضاعة اول المدة انا استخدم فاتورة كذلك 
ولكن في بالي فكرة اخرى 

وهي كالتالي : نضع عمود بجوار الصنف  نضع فيه كمية اول المدة اثناء حفظ الصنف. مع السماح بتعديلة.

وضع زر اقفال  بضاعة اول المدة  بعد الانتهاء من اضافه الاصناف والكميات (اقصد كميات اول الفترة)

يضغط المستخدم على الزر   يقوم باضافة الاصناف كما لو انها فاتورة في جدولنا جسم الفاتورة  مع الكميات.
ويقفل تعديل اصناف اول المدة 

ثم يقوم بعمل قيد ببضاعة اول المدة 

بالنسبة لتجربتي على مليون صف   فهي منطقية في السوبر ماركات  والتخفيضات  ومليون صف لا يعني مليون فاتورة قد تحتوي الفاتورة على  صف  او 5 او 10 اصناف   (عندي عميل يوصل 500000 صف  في السنة ) صف او صنف وليس فاتورة .