التنبيهات التالية ظهرت :
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 864 - File: showthread.php PHP 7.4.33 (Linux)
File Line Function
/showthread.php 864 errorHandler->error



تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس الثاني - تطبيق انشاء قاعدة البيانات لبرنامجنا
#1
كاتب الموضوع : أحمد جمال

بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .

إذا كنت قد اطلعت على الرابط الذي اضفته في الدرس السابق ، فإنك الآن تستطيع تكوين DFD و ERD لبرنامجنا مع ما يحلقهما ، ولكن هذا ليس ضرورياً في سير الدورة نظراً لإنه لم يتم شرحه بالكامل ، ولذا فهو ليس اجبارياً ، ولكن في الواقع سيتم الالتزام بهذا الجزء وكما أسلفنا فستكون هناك سلسلة دروس بخصوص هذا الموضوع في القسم الخاص بتحليل وتصميم النظم .


ولمن اطلع على الرابط ، وأراد تكوين DFD للبرنامج ، فإنه ما زال محتاجاً لمعرفة خطوات سير البرنامج ، في البداية يمكن أن تكون هذه الخطوات نموذج مبسط من سير البرنامج .


* ادخال بيانات المورد - تخزينها في جدول الموردين .
مطلوب في هذه الخطوة : بيانات المورد .
* ادخال بيانات النوع - تخزينها في جدول الأنواع .
مطلوب في هذه الخطوة : بيانات النوع .
* ادخال بيانات البضاعة - تخزينها في جدول البضائع .
مطلوب في هذه الخطوة : بيانات البضاعة + موردها + نوعها .
* تطبيق عملية بيع على بضاعة .
مطلوب في هذه الخطوة : بيانات عملية البيع + البضاعة .
* تطبيق عملية شراء على بضاعة ( وعملية الشراء الكاملة تشتمل على عدد من البضائع ) .
مطلوب في هذه الخطوة : بيانات عملية الشراء + البضاعة .
* عرض تقرير بالبضائع الموجودة في المخزن .
مطلوب في هذه الخطوة : بيانات البضائع والموردين والأنواع + عمليات البيع والشراء عليها .
* عرض تقرير الأنواع .
مطلوب في هذه الخطوة : بيانات الأنواع + بيانات بضائعه وعمليات البيع والشراء عليها .
* عرض تقرير الموردين .
مطلوب في هذه الخطوة : بيانات الموردين + بيانات بضائعه وعمليات البيع والشراء عليها .
* عرض التقرير اليومي أو على فترة .
مطلوب في هذه الخطوة : تاريخ اليوم أو الفترة + عمليات البيع والشراء التي تمت خلالها .


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

* عمليات البحث .
* حماية قاعدة البيانات . ومعلومات السوبر ماركت وخلافه .
* نسخ واستيراد قواعد البيانات .


وهكذا تستطيع تكوين DFD خاص بالبرنامج ،


ERD :

سنتجاوز بعض العناصر ونقفز مباشرة إلى ERD ومن سير البرنامج السابق نستطيع أن نستبين عناصر حفظ البيانات المطلوبة وهي :

* جدول بيانات الموردين .
* جدول بيانات الأنواع .
* جدول بيانات البضائع .
* جدول عمليات البيع والشراء .

* وجدول اضافي آخر وهو الخاص بالحماية ومعلومات المحل وغير ذلك .


كما وسنجد العلاقات التالية بين الجداول السابقة :

* علاقة One-Many بين الموردين والبضائع ( مورد واحد يورد مجموعة من البضائع ) .

* علاقة One-Many بين الأنواع والبضائع ( نوع واحد يحوي مجموعة من البضائع ) .

* علاقة One-Many بين البضائع وعمليات البيع والشراء ( صنف بضاعة واحد يدخل في العديد من عمليات البيع والشراء ) .


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




أولاً : جدول الموردين . الاسم Tb_Factory

الحقول :


* Number رقم المورد ، وهو من نوع Auto Number - ترقيم تلقائي ، كذلك فهو Primary Key - مفتاح رئيسي .


* Name : اسم المورد ، وهو من النوع Text - نص ، وطول الحقل Field Size لا ينبغي أن يزيد على 30 مثلاً .




ثانياً : جدول الأنواع . الاسم Tb_Category

الحقول :


* Number رقم النوع، وهو من نوع Auto Number - ترقيم تلقائي ، كذلك فهو Primary Key - مفتاح رئيسي .


* Name : اسم المورد ، وهو من النوع Text - نص ، وطول الحقل Field Size لا ينبغي أن يزيد على 30 مثلاً .



سنضيف أيضاً حقل تحت اسم View من نوع Yes/No - نعم / لا ، وهذا الحقل يقوم بتوضيح الموردين أو الأنواع الذين يتم حذفهم ، وذلك حتى إذا انتهت آخر بضاعة تحت أي منهم يتم حذفه بالكلية من الجدول .


أو بمعنى آخر : عند الحذف سوف يأخذ هذا الحقل قيمة False مؤقتاً حتى يتم حذف آخر بضاعة تقع تحته ، في هذه الحالة فقط سوف يحذف المورد أو النوع .




ثالثاً : جدول البضائع . الاسم Tb_Product

الحقول :


* Number رقم النوع، وهو من نوع Auto Number - ترقيم تلقائي ، كذلك فهو Primary Key - مفتاح رئيسي .


* Name : اسم البضاعة ، وهو من النوع Text - نص ، وطول الحقل Field Size لا ينبغي أن يزيد على 30 مثلاً .


* Factory المورد أو مصنع البضاعة ، وهو من النوع Number - رقم ، وحجم الحقل Field Size هو عدد صحيح طويل ، وسيتم ربطه لاحقاً بجدول الموردين .


* Category النوع ، وهو من النوع Number - رقم ، وحجم الحقل Field Size هو عدد صحيح طويل ، وسيتم ربطه لاحقاً بجدول الأنواع .


* Price وهو سعر الوحدة ( الأساسي مع امكانية تغييره في عمليات البيع والشراء ) وهو من نوع Number - رقم ، وطول الحقل Field Size هو ( مزدوج - Double ) وذلك لاتاحة الفرصة للكسور ( مثلاً 5.5 ) .


* Count وهو العدد الأولي للبضاعة ، والذي سيزيد أو ينقص تبعاً لعمليات البيع أو الشراء . وهو من نوع عدد صحيح طويل .



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


لذا اعذروني على هذا الخطأ الذي أخطأته في الدورة السابقة ، ومحدش يعمل زيي


وقريباً الأخ بدرميديا سيقوم بسلسلة دروس بخصوص normalization وسيوضح لنا بإذن الله هذه المواضيع بالتفصيل - لبست الأخ بدرميديا - .



* Box_Count عدد الوحدات في كل صندوق ، ويفيد هذا الحقل في حالة اضافة بضائع بالصندوق أو بيعها بنفس الطريقة لمعرفة عدد الوحدات المباعة . وهذا الحقل من نوع Number - رقم ، وكذلك من طول : عدد صحيح طويل .



يتبع ...
}}}
تم الشكر بواسطة:


الردود في هذا الموضوع
الدرس الثاني - تطبيق انشاء قاعدة البيانات لبرنامجنا - بواسطة Raggi Tech - 15-10-12, 07:21 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الدرس الرابع والثلاثون والأخير - نبذة عن العملية العكسية + تجهيز البرنامج على Cd RaggiTech 0 11,194 15-10-12, 09:10 AM
آخر رد: RaggiTech
  الدرس الثالث والثلاثون - كيفية عمل اعداد Setup للبرنامج RaggiTech 0 3,983 15-10-12, 09:08 AM
آخر رد: RaggiTech
  الدرس الثاني والثلاثون - التحويل إلى exe RaggiTech 0 4,074 15-10-12, 09:07 AM
آخر رد: RaggiTech
  الدرس الحادي والثلاثون - تعددية المستخدمين - البحث وطباعة الفواتير - التعليمات ... RaggiTech 2 4,959 15-10-12, 09:05 AM
آخر رد: RaggiTech
  الدرس الثلاثون - التعامل مع شريط الأدوات ToolBar RaggiTech 0 3,827 15-10-12, 08:59 AM
آخر رد: RaggiTech
  الدرس التاسع والعشرون - التعامل مع أشرطة الحالة Statues Bar RaggiTech 0 3,606 15-10-12, 08:57 AM
آخر رد: RaggiTech
  الدرس الثامن والعشرون -الطباعة في البرنامج . RaggiTech 4 5,301 15-10-12, 08:56 AM
آخر رد: RaggiTech
  الدرس السابع والعشرون - مقدمة إلى التعامل مع التقارير من خلال DataReport RaggiTech 2 6,118 15-10-12, 08:45 AM
آخر رد: RaggiTech
  الدرس السادس والعشرون - التقارير اليومية ، والتقارير بين تاريخين RaggiTech 1 4,350 15-10-12, 08:39 AM
آخر رد: RaggiTech
  الدرس الخامس والعشرون - الإحصائيات والرسوم البيانية RaggiTech 0 3,770 15-10-12, 08:37 AM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم