الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الأكسس .. ببساطة للهواه .. من وجهة نظر هاوى

بدأه nababeer في 24 نوفمبر 2010 · 31 رد · 5,473 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

إخوانى الأعزاء فى منتدانا الجميل ..

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

كل منا لديه أسبابه التى يدخل لأجلها هنا فى المنتدى .. فمنا المحترف الذى يدخل ويشارك لمساعدة الآخرين ، ومنا المبتدئ الذى يدخل للإستفادة ..، ومنا المبتدئ الذى يدخل فقط للسؤال عن كل خطوة فى قاعدة بياناته التى ربما بدأها وهو لا يدرى كيف سيكملها ولا ما هى المخرجات المطلوبه منها ... ومنا من يستكشف هذا العالم من بعيد إذ ربما يجد فيه ما يحقق طموحه .. ومنا ..، ومنا ... المهم أننا كلنا هنا الآن .. وهذا يكفى .

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

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

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

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

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

وأكرر لكم يا إخوانى .. والله أنا أيضاً مبتدئ .. أنا فقط أريد ان أساعد إخوانى المبتدئين أيضا بما عرفته .. ولا أطمح فى شكر أو تقدير .. بل أطمح فى نقد وتصحيح وتنقيح لى ولزملائى المبتدئين ..

وأنا الآن .. أجهز الحلقة الأولى .. وعلى الله قصد السبيل ..

وحتى أرفع الحلقة .. أرجو التعليق والرد بما ترونه فى هذا الموضوع ..

عذراً على الإطالة .. ولكن وجب التوضيح حتى لا تظنونى من محترفى المنتدى وتنتظروا ما لا أستطيع تقديمه ..

أخوكم .. م / نبيل عبد الحميد

تم تعديل هذه المشاركة بواسطة nababeer في 24 نوفمبر 2010 في 12:07

1

سبحان الله وبحمده ... سبحان الله العظيم

#2

الحلقة الأولى :

موضوع الحلقة : البداية الصحيحة ودراسة الجدوى

بعد هذه الحلقة سيكون لديك :

1- القدرة على تحديد الهدف من قاعدة البيانات التى تود إنشاءها .. (وجه الإستفادة من المعلومات المخرجة من القاعدة وكيفية إستغلالها لرفع كفاءة العمل والتحكم بالوقت)

2- القدرة على تحديد الشكل المبدئى للتقارير النهائية ( إن وجدت) .

أذكر أول أيام تعرفت فيها على الأكسس وبدأت أستوعب ( بدون معلم ولا كتاب ) ما هو الأكسس وكيف أستفيد منه .. وما هى قاعدة البيانات .. و.. و.. وكنت أعتمد على ملفات المساعدة المدمجة مع البرنامج .. ومن إنبهارى – وقتها – بالإمكانيات الرهيبة التى تمكننى من استخراج الكثير من المعلومات والإحصائيات التى تساعدنى فى رفع كفاءة العمل والتحكم فى الوقت إلى جانب الدقة وطريقة التقديم الجيدة للمعلومات .. وفى هذه الأيام كنت أقضى قرابة الخمس ساعات يومياً بعد الدوام .. أقرأ وأقرأ .. فى ملفات المساعدة حتى أتمكن من عمل جدول ليس كبيراً .. ثم أقوم بعمل نموذجForm واحد فقط لأستعرض فيه ما قمت بإدخاله من بيانات فى الجدول أو أضيف بيانات جديدة .. ولم أكن أعرف كيفية إستخدام الإستعلامات Queries الإستخدام الأمثل ولا التقاريرReports أيضاً ..

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

ماذا تريد من قاعدة البيانات ؟

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

25ba09e2dd.jpg

شكل رقم 1

أولاً : المدخلات

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

إسم الطفل – تاريخ الميلاد - إسم الأم – إسم المعلمه – الفصل – إشتراك الباص – سداد الرسوم – تليفون الأم – تليفون الأب – إسم الأب – وظيفة الأب

إلى جانب كل ما ستحتاجه من مدخلات للحصول على ما تريده من مخرجات ولاحظ أننا كتبنا مدخلاتنا بطريقة السرد ولم نتطرق بعد لطريقة صياغة هذه المدخلات وتقسيمها إلى جداول .

ثانياً : المخرجات

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

• قائمة بأسماء كل أطفال الدار مع أسماء والديهم وبياناتهم

• قائمة بأسماء الأطفال الذين سددوا الرسوم .

• قائمة بأسماء الأطفال وأمهاتهم الذين لم يسددوا الرسوم .

• قائمة بأسماء الأطفال المشتركين فى خدمة الباص .

• قائمة بأرقام تليفونات الآباء والأمهات .

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

أرجو أن تكون الآن قادر على تحديد قائمة مدخلاتك .. وتحديد مخرجاتك أيضاً .. وذلك طبعاً بعد دراسة الجدوى للقاعدة التى تنوى إنشاءها ..

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

6628f1ac3d.jpg

شكل رقم 2

تم تعديل هذه المشاركة بواسطة nababeer في 24 نوفمبر 2010 في 16:59

2

سبحان الله وبحمده ... سبحان الله العظيم

#3

الاخ nababeer

بالطبع انت تستحق +10000

طريقتك فى شرح اول درس سلسه

و نتمنى نرى الباقى على هذا المنوال

و بصراحه سعدت جدا عندما شاهدت مقدمة الموضوع

لانك نفذت الى طبقه ليست باليسيرة فى المنتدى و لكن للأسف تائهين

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

و لكن المشكلة ان معظمهم يتعامل مع السائل كأنه دارس اكاديمى

مثال صغير

اريد ان ابدء تعلم برمجه و سألت و كانت الاجابات تعلم لغه كذا بعدها ابدأ فى البرمجه الفلانيه حتى تتعلم الهيكلية التنظيميه

انا معكم ان التعلم الصح هو الاصح

انما انا اخبر كل مرة

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

ما علينا

المهم انا سعيد لانى حاسس انك سوف تصل ببساكتك لتلك الطبقه من رواد المنتدى

فى انتظار الباقى

-----

ملحوظه صغيرة

الصورة غير ظاهرة

اعتذر لك عن الملحوظه

ظهرت الصور الان

كيميائى / محمد طه

#4

أخى الكريم محمد طه ..

أنا سعيد جداً بمشاركتك .. فعلاً .. ولقد تقابلنا منذ فترة فى سلسلة الأستاذ أحمد مبارك الحيقى ( مذكرات فى قواعد البيانات وتطبيقاتها) ... وأذكرك جيداً ...

والله يا أخى ما دفعنى لكتابة الموضوع هو اننى أشعر بكل مبتدئ لأنى أيضاً مبتدئ .. ولكننى لدى من الصبر ما يؤهلنى لمواصلة البحث والقراءة ..

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

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

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

وأدعو الله ان يوفقنى فقط فى نقل ما تعلمته ( البسيط) لزملائى .. وكلنا نستفيد ..

أشكرك مرة ثانية على متابعتك ..

سبحان الله وبحمده ... سبحان الله العظيم

#5

جزاك الله كل خير وجعله الله فى ميزان حسناتك

وتستاهل والله +1

على هذا الإسلوب البسيط فى الشرح وإن شاء الله سيفيد جميع المبتدئين

توكل على الله اخى نبيل وتمنياتى لك يالتوفيق

#6

الحلقة الثانية :

موضوع الحلقة : إعادة ترتيب المدخلات وتصنيفها

بعد هذه الحلقة سيكون لديك :

1- القدرة على تجميع المدخلات التى تصف نفس العنصر ( مثل تاريخ ميلاد الطفل و إسم الطفل هما مدخلان لنفس العنصر وهو الطفل) .

2- القدرة على تحديد المكان المناسب لتخزين البيانات فيه بصفة أساسية .

الآن وبعد أن رسمنا الشكل المبدئى للمخرجات ( التقارير) لنبدأ معاً بجدية العمل الحقيقى ... إنتبه .. إننا مازلنا فى مرحلة الورقة والقلم .. لم نبدأ إستخدام الأكسس بعد .

لنتفق أولاً على العناصر التى سنبنى عليها قاعدة البيانات هذه ... أو بمعنى أصح .. هذه البيانات ( المدخلات) .. لمن ؟ .. تصف من ؟ .. مرتبطه بمن ؟ مرتبطة بالعناصر التالية:

1- الأطفال – لها خصائص فردية تصفها بطريقة مباشرة ( مثل الإسم وتاريخ الميلاد و .. )

2- الأمهات – لها خصائص تصفها بطريقة مباشرة ( مثل الإسم ورقم التليفون )وخصائص تصف الأطفال بطريقة غير مباشرة (لأن عنصر الأم أصلاً عبارة عن خاصية أو صفة من صفات الطفل لاحظ الخط الداكن فى النقطة السابقة) حيث أن الأم من خصائصها انها ( أم فلان – الطفل).

3- المدرسات – لها خصائص تصفها بطريقة مباشرة ( مثل الإسم و تاريخ التعيين و.. و.. ) وهى أيضاً لها إرتباط بالطفل حيث أنها مرتبطة بالفصل الذى يدرس فيه الطفل .

4- دار الحضانة - لها خصائص فردية تصفها بطريقة مباشرة. ( مثل الإسم و التليفون والفاكس و .. و ..)

5- الباص – له خصائص فردية مثل ( رقم اللوحات و المسار وإسم السائق ورقم تليفون السائق ) ومرتبط بالأطفال بطريقه غير مباشرة لأن لكل طفل مسار فى الذهاب والعودة يتم بناءاً عليه تسجيله فى باص معين .

6- سداد الرسوم – عنصراً يتكون من عدة عناصر أخرى مثل ( اسم الطفل و المبلغ المطلوب و تاريخ السداد و المدفوع )

لاحظوا الجدول التالى :

9bc0e1b4fe.jpg

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

الصفات الملونة باللون الأزرق هى صفات أساسية مرتبطة بالعنصر الذى تصفة ..

الصفات الملونة بالأصفر هى صفات مرتبطة بطريقة غير مباشرة بالعنصر الذى تصفه .. أى أنها فى الأساس تصف عنصراً أخر.

لقد تهنا منك يا بلبل ... ما هذه اللخبطة ...

ما أقصد أن أقوله أننا فى الصف رقم 7 لدينا باللون الأزرق ( إسم الأم) يصف عنصر ( الأم ) بطريقة مباشرة .. ولدينا فى الصف رقم 5 باللون الأصفر ( إسم الأم ) ولكن فى هذه المرة يصف عنصر ( الطفل) بطريقة غير مباشرة .

من فضلك وضح أكثر ....

ما أريد أن أقولة بدون مصطحات .. أن البيانات يجب تخزينها أولاً فى اللون الأزرق .. حتى يمكننى أن أشير إليها لاحقاً فى الصفات الملونه بالأصفر .. يعنى يجب أن أدخل بيانات الأمهات أولاً قبل أن أدخل بيانات الأطفال .. لأن من ضمن بيانات الأطفال ( إسم الأم ) الذى يجب أن أستعيده من عنصر الأمهات أو أربطه به ..

الخطوة التالية إن شاء الله .. هى إنشاء الجداول بطريقة سلسة نضمن بها تماسك البيانات ..

يتبع

2

سبحان الله وبحمده ... سبحان الله العظيم

#7

بسم الله ما شاء الله ..

مهندس نبيل تسلم الأيادي وجزاك الله كل خير ..

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

.. وفقك الله لكل خير .. :)

تحياتي ..+

27169617.gif
#8
محمد أبو عدنان كتب:

بسم الله ما شاء الله ..

مهندس نبيل تسلم الأيادي وجزاك الله كل خير ..

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

.. وفقك الله لكل خير .. :)

تحياتي ..+

شهادة كبيرة جداً جداً أعتز بها والله .. وأخجلتنى .. أخى أبو عدنان

سبحان الله وبحمده ... سبحان الله العظيم

#9

ماشاء الله رائع أخي المهندس نبيل ،

سر وواصل على بركة الله في هذا الموضوع الرائع المفيد ،

إلى الأمام إن شاء الله تعالى

أخوك محمد وليد علوش

post-12787-12741339659298.jpg

ومامن يد إلا يد الله فوقها *** وما من ظالم إلا سيبلى بأظلم

تفضل أخي الكريم | موسوعة الحميدي الذهبية | بأجزائها الثلاثة مع هدية الموسوعة .

#10

اخ نبيل

لو كان هذا اسلوب شخص مبتدىء فنحن لم نصل الى البداية بعد

جزاك الله خيرا و بالتوفيق ان شاء الله

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

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

فاى برنامج يحتاج الى دراسة متأنية قبل البدء فى تصميمه و برمجته

و من الجيد ان يجد اى مبتدأ من ينير له الطريق و يضعه هلى المسار الصحيح

و بالتوفيق للجميع

و اشكرك مرة ثانية

لانك كنت سببا لكى نرى اخونا الحبيب محمد وليد الغائب منذ فترة

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#11
hamidymom كتب:

ماشاء الله رائع أخي المهندس نبيل ،

سر وواصل على بركة الله في هذا الموضوع الرائع المفيد ،

إلى الأمام إن شاء الله تعالى

أخوك محمد وليد علوش

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

وسوف أكون زعلان لو أخبرتنى أنك أتيت إلى مكة ولم تتصل بى ..

ياااااااه .. والله زمان

أخى أبو يوسف ..

إنه شرف كبير لى تشريفك الموضوع .. وإن كنت اطمح فى تصحيحات أو تلميحات منك ومن مشرفينا الكرام .. ومن محمد علوش أيضاً .. فأنتم لكم باع فى ترتيب الأفكار وتصميم القواعد ..

سبحان الله وبحمده ... سبحان الله العظيم

#12

بارك الله فيك وجزاك الله خير اخونا الفاضل نبيل

الله يعطيك الصحة والعافيه

شرح وافي

وفقك الله ونفع بعلمك

نحن بانتظار ابداعك الرائع

احترامي وتقديري

اتق الله حيث ماكنت

#13

الحلقة الثالثة :

موضوع الحلقة : إنشاء الجداول ( حجر أساس القاعدة)

بعد هذه الحلقة سيكون لديك :

1- القدرة على وضع التصور النهائى لحقول الجدول .

2- القدرة على إختيار مفتاح الجدول من بين حقول الجدول المتعددة .

3- القدرة على تحديد نوع البيانات المناسبة لكل حقل .

4- القدرة على تحديد الحقول التى سيتم ربطها بحقول أخرى فى جداول أخرى .

تنبيهات وملاحظات هامة قبل البدء فى إنشاء الجداول :

• دعنا نتفق مبدئياً على أن يكون إسم الجدول وأسماء الحقول بحروف إنجليزية وليس بحروف عربية لأن ذلك يؤدى إلى العديد من المشاكل ورسائل الخطأ المحبطة المصاحبة للنغمة المزعجة Beep .. ألا توافقونى الرأى فى أنها مزعجة ؟

• التسمية بحروف إنجليزية لها طرق متعدده .. فهناك فريق يضع ( _ ) بدلاً من المسافة هكذا Table_Name وهناك فريق آخر ومنهم أنا أستخدم فقط حرف كبير فى بداية كل كلمة بدون إستخدام ( _ ) هكذا TableName وهناك من يبدأ تسمية الجداول بكلمة tbl ثم يتبعها بإسم الجدول .. وفى كل الأحوال ، إختر التسمية المناسبة من وجهة نظرك وإجعلها ثابتة فى كل الجداول .. بل فى كل القواعد التى ستصممها بعد ذلك .

• لا تقوم بإدخال أى بيانات فى أى جدول إنتهيت من تصميمة قبل أن تصمم باقى الجداول وتنشئ العلاقات بينهم أولاً .. حتى لا تسبب فقدان بعض البيانات .

إنشاء الجداول ( على الورق ) .. لا تتعجل الأكسس .. فجهاز الكمبيوتر لن يبرح مكانه ...

الجدول الأول : جدول الأطفال

هذا هو جدول العناصر الذى رأيناه مسبقاً :

c463ffedab.jpg

نقوم الأن بإختيار نوع البيانات الملائمة لكل خاصية من الخصائص .. إنظر الجدول التالى:

255e6108da.jpg

ما معنى نص – 30 ؟

معناه أن نوع البيانات فى هذا الحقل هو (نص) بحد أقصى 30 حرف .. وهذه طرق إعتيادية للحفاظ على حجم القاعدة .

والآن نأتى إلى مرحلة مهمة ... سؤال يجب أن تسأله لنفسك قبل أن تنتهى من إنشاء الجدول :

هل من الممكن أن تتشابه كل الصفات المذكورة لشخصين مختلفين ؟؟؟ بمعنى آخر : هل يوجد هناك ما يمنع أن يتم تسجيل البيانات التالية مرتين:

( أحمد محمد – 19/2/2005 - 3 – 34565 – 1000 ريال )

الحقيقة أنه لا يوجد شرط أو قيد يمنعنى كمستخدم للقاعدة أن أكرر هذا السجل ...وهذا بالطبع يخل بالقاعدة لأنها ستحتوى على بيانات متكررة مما سيأتى بنتائج خاطئة فى الإستعلام ..

إذن فلتبحث عن ( بصمة الإصبع ) كما أسميها .. لا يوجد شخصين بالدنيا كلها لديهم نفس بصمة الإصبع .. أليس كذلك ؟؟ إبحث عنها إذن بين خصائص العنصر .. وهذا ما يسميه الأكسس ( المفتاح الأساسى) ...

هاه .. هل توصلت إلى شئ؟؟ الحقيقة أنه لا يوجد لدينا فى الخصائص المذكورة أعلاه ما يصلح لأن يكون ( بصمة إصبع) .. ولكن هناك حل آخر ولا يوجد غيره .. وهو:

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

30331e23c4.jpg

النجمة الموجودة بجوار (رقم الطفل) تعنى أن هذا الحقل هو مفتاح الجدول الأساسى

الآن أصبح مفتاح الجدول هو ( الفهرس) الذى يكون مرجع كل سجل من السجلات ... ماذا؟؟ سجلات ؟؟ أعتقد أنى سمعت هذه الكلمة من قبل .. ألم تقل أنك لن تستخدم مصطلحات معقدة .. ماذا إذن ؟؟

آسف يا أخى .. لا مفر من أن تعرف السجلات أو الـ Records ... فمجموعة الخصائص ( الحقول) التى تصف عنصراً معيناً تسمى (سجل) ..

وهناك أمراً آخر .. اتفقنا من قبل أن الصفات ( الحقول) الملونه بالأصفر هى تابعة ( مرتبطة) بحقول أخرى ملونة باللون الأزرق فى جداول أخرى ..إذن ينبغى أن تعلم أن حينما نصمم الجداول الأخرى التى تحتوى على نفس هذه الحقول ولكن باللون الأزرق .. ينبغى أن تكون البيانات من نفس النوع ونفس الطول .. ( الطول هنا يقصد به عدد الأحرف) .

نأتى الآن للمرحلة الأخيرة من تصميم الجدول ( على الورق ) .. وهى تخيل لعملية الإدخال لكل حقل من الحقول .. تخيلو معى الآتى:

1- رقم الطفل : سيتم إدخالة بطريقة تلقائية .. أى أنه حينما نضغط على زر ( إضافة سجل جديد) سيقوم الأكسس بإضافة الرقم التالى تلقائيا (لامشكلة).

2- إسم الطفل : سيتم إدخالة يدوياً وهو صفة غير مرتبطة بجداول أخرى . (لا مشكلة) .

3- تاريخ الميلاد : سيتم إدخاله يدوياً .. ومن الممكن أن نضع شروط للإدخال .. بمعنى انه من البديهى ألا يقل عمر الطفل عند التقدم للحضانه عن سن (كذا) .. وأيضاً لا يمكن أن يكون تاريخ الميلاد أحدث من تاريخ اليوم . (لا مشكلة).

4- رقم الفصل : سيتم إدخاله يدويا .. ولكن الشرط هنا أننا يجب أن ندخل قيمة مخزنه مسبقاً فى جدول الفصول .. (لا مشكلة)

5- رقم الباص : سيتم إدخاله يدويا .. ولكن الشرط هنا أننا يجب أن ندخل قيمة مخزنه مسبقاً فى جدول الباص .. (لا مشكلة)

6- إسم الأم : سيتم إدخاله يدويا .. ولكن هناك مشكلة .. ماذا لو تشابهت أمان ( مثنى أم ) فى نفس الإسم ؟؟ كيف سيعرف الأكسس أيهما تكون أم الطفل .. هذه أم تلك ؟؟ إذن يجب عمل تعديل هنا .. نستبدل الحقل ( إسم الأم) بحقل آخر .. وهو (رقم الأم) ..

يا باشمهندس نبيل .. كيف سأستبدل ( إسم الأم) بحقل ( رقم الأم) مع أن جدول الأمهات لا يحتوى أصلاً على حقل يسمى (رقم الأم) ؟؟ الآن أنت تدرك تماماً معنى تماسك البيانات .. وبدأت تفهم ما أرمى إليه ..

الآن يا صديقى أنت تعلم جيداً أننا إذن لابد وأن نضيف حقل ( رقم الأم ) هنا فى جدول الأطفال ونضيفه أيضاً لاحقاً فى جدول الأمهات .. وسيكون هذا الحقل فى جدول الأمهات هو ( بصمة الإصبع) .. حيث أنه لكل أم رقم مميز لا يتكرر .. ووقتها حينما نكتب ( رقم الأم ) فى جدول الأطفال .. لن يشعر الأكسس بأى مشكلة .. حتى لو كانت الأمهات كلها تحمل نفس الإسم ... ووقتها سيصبح شكل جدول الأطفال كالتالى :

c58566ca5a.jpg

7- المبلغ المطلوب : إدخال يدوى مباشر .. ( لماذا نضع هذا الحقل فى جدول الأطفال) .. المفروض أن الرسوم ثابتة .. لا يا صديقى .. فأى حقل له علاقة بالمبالغ والنقود لابد وأن يكون مرناً فى الإدخال .. بمعنى أنه من الممكن أن يتغير المبلغ المطلوب حسب عمر الطفل .. أو حسب نسبة تخفيض معينة .. فلو أن هناك اماً لها ثلاثة أطفال فى الحضانة .. بالتأكيد ستحصل على خصم .. وسيكون المبلغ المطلوب على كل طفل أقل من المبالغ المطلوبة من زملائه .. وطبعاً قاعدة بيانات الحضانة هذه قاعدة إفتراضية لا يشترط صحة جداولها وحقولها بنسنة 100% .. وإنما أنا هنا أستخدمها لغرض الشرح فقط .. فأنا لم أتعامل فى مثل هذه المشاريع ..)

الآن يا صديقى .. إنتهينا من تصميم الجدول على الورق .. هل إستوعبت الجدول الأول؟؟

يتبع

1

سبحان الله وبحمده ... سبحان الله العظيم

#14

منطقي جدا

أنك فعلا تستحق لقب أساذ ومعلم ، ولقد درستني من قبل في هذا الموضوع في عمل برنامج الاستمارة الالكترونية وكنت وما زلت أساذا كبيرا

ألف شكر لك مرة أخرى يا استاذ نبيل وجعله الله في ميزان حسناتك

#15

بارك الله فيك وجزاك الله خير اخي الفاضل نبيل

ابدعت وفقك الله ورعاك ونفع بعلمك

اخي عندي سؤال

ايهما افضل انا نجعل رقم الطفل ترقم تلقائي

او نجعلة ترقيم يدوي

شكرا

احترامي وتقديري

اتق الله حيث ماكنت

#16

بارك الله بك مهندس نبيل وجزاك الله خير ..

لو يسمح لي مهندسنا الغالي نبيل :

خارج الموضوع وهو مجرد اقتراح طالما نحن هنا لنتعلم : متابعة بيانات الأخوة ممكن عمله بهذ الطريقة

اسم الام خصائص فردية = نعم ولا داعي للجدول ...رغم ان الدرس وكشرح منطقي جدا ما تقوله

ولكن بهذه النقطة بالذات ارى من وجهة نظري لا داعي لذلك ونتكتفي بالرقم المدني للأب أو الأم للربط بين الأحوة.

أعلم أن هذا الموضوع شائك وفيه حالات كثيرة مثلا ابن من نفس الاب ونفس الام وابن من نفس الأب وأم ثانية وهكذا ..

حاول الغاء البند رقم 5 وحول نفس الشرح بالبند رقم 6 الى بيانات الباص

وهذه صورة توضيحية لكيفية الربط ..

post-139265-056260100 1290675145_thumb.p

تحياتي لك ..

المرفقات
55.png

تم تعديل هذه المشاركة بواسطة محمد أبو عدنان في 25 نوفمبر 2010 في 12:00

27169617.gif
#17

تابع الحلقة الثالثة : إنشاء الجداول

نأتى للحظة التنفيذ ..

قم بإنشاء قاعدة جديدة نسميها Nursery وقم بالبدء فى تصميم جدول جديد إسمه Children وأسماء الحقول ونوع بياناتها كما فى الصورة التاليه :

4579d85a1d.jpg

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

10746c0bd4.jpg

رقم 1095 الموجود فى Validiation Rule معناه تاريخ اليوم مطروحاً منه 1095 يوم أى ثلاث سنوات

وأيضاً كما فى الحقل (Fees) .. حيث يتم تحديد الحد الأدنى للرسوم 500 ريال .. كما فى الصورة التالية:

8aa8718d73.jpg

قلت أن الحد الأدنى للرسوم هو 500 ريال .. ومع ذلك كتبتها 499 لماذا ؟؟؟ لأن رقم 500 يجب أن يكون مقبولاً لدى الأكسس .. فجعلنا الشرط 499 أى لابد أن يكون أكبر من 499 .. وبالتالى ستكون اقل قيمة يمكن كتابتها هى 500 .. ( أو 499.50 إذا هناك واحد عاوز يحرجنى) ..

أرجو أن يكون الجدول واضح الآن .. وعموماً مرفق القاعدة بتنسيق 2003 للتواصل .. والمتابعة .

Nursery.rar

سبحان الله وبحمده ... سبحان الله العظيم

#18
محمد أبو عدنان كتب:

اسم الام خصائص فردية = نعم ولا داعي للجدول ...رغم ان الدرس وكشرح منطقي جدا ما تقوله

ولكن بهذه النقطة بالذات ارى من وجهة نظري لا داعي لذلك ونتكتفي بالرقم المدني للأب أو الأم للربط بين الأحوة.

أعلم أن هذا الموضوع شائك وفيه حالات كثيرة مثلا ابن من نفس الاب ونفس الام وابن من نفس الأب وأم ثانية وهكذا ..

post-139265-056260100 1290675145_thumb.p

تحياتي لك ..

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

سبحان الله وبحمده ... سبحان الله العظيم

#19
at_aziz كتب:

بارك الله فيك وجزاك الله خير اخي الفاضل نبيل

ابدعت وفقك الله ورعاك ونفع بعلمك

اخي عندي سؤال

ايهما افضل انا نجعل رقم الطفل ترقم تلقائي

او نجعلة ترقيم يدوي

شكرا

احترامي وتقديري

أخى الكريم ..

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

ومن الممكن أن يفيدنا مشرفينا الكرام فى هذه النقطة

سبحان الله وبحمده ... سبحان الله العظيم

#20

الجدول الثانى : جدول الأمهات

هذا هو جدول العناصر الذى رأيناه مسبقاً :

6f7c975faa.jpg

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

dfbf482dc7.jpg

الآن أصبح مألوفاً لدينا .. لماذا إستخدام الترقيم التلقائى لحقل رقم الأم ..

نأتى لحقل ( رقم الهاتف) .. و قد إخترت نوع البيانات به ( نص) لماذا ..؟؟ إنه فى الحقيقة رقم لأنه لا يحتوى على أى حروف .. إذن لماذا النص ؟

1- لأننا لا نحتاج لأن نجرى عمليات حسابية على هذا الحقل .. لن نجمعه او نطرحة أو نقسمه أو نضربه فى أى حقل آخر.

2- لن نحتاج لأن نرتب القيم فى الحقل حسب رقم التليفون .

3- لإظهار الرقم 0 فى بداية الرقم .. لأنه لو كان نوع الحقل رقم وكتبنا ( 0543223445) سيحفظها الحقل كالآتى (543223445) لأن وجود الصفر على اليسار ليس له قيمة ..

الأن .. نفتح القاعدة التى أنشاناها سابقاً Nursery ونقوم بعمل جدول جديد إسمة Mother كالآتى :

bc6777cf7d.jpg

الآن .. إنتهينا من الجدول الثانى .. الأمهات ..

Nursery.rar

تم تعديل هذه المشاركة بواسطة nababeer في 27 نوفمبر 2010 في 04:05

سبحان الله وبحمده ... سبحان الله العظيم

#21

تابع الحلقة الثالثة: إنشاء الجداول

العلاقة بين جدول الأمهات وجدول الأطفال

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

لهذا ..

قبل أن نستكمل تصميم باقى الجداول .. أود أن نقوم معاً بتوضيح العلاقات بين جدول الأطفال وجدول الأمهات ..

الحقول المرتبطة بين جدول الأطفال وجدول الأمهات ..

حقل وحيد ( رقم الأم ) .. دعنا نسمى هذين الحقلين ( الأب) و ( الإبن) .. الحقل الأب دائماً يكون فى المكان الطبيعى الذى يصف العنصر مباشرة .. أو أن الحقل يمثل صفة فردية لوصف العنصر ..

ببساطة .. إتفقنا من قبل أن ( رقم الأم ) هو صفة فردية من صفات الأم ( لا تستمد قيمتها من جدول آخر ) ..

والحقل الإبن يحتوى على صفة ( غير مباشرة) لوصف العنصر .. أى أن رقم الأم فى حقل الأطفال لا يصف الطفل بطريقة مباشرة .. وإنما يصف الطفل عن طريق تمييزه بأمه التى هى أصلاً مسجلة فى جدول آخر ..

هذه هى العلاقة .. ، وبعد أن يعرف الأكسس أن الأم (س) هى والدة الطفل (ع ) .. يتم ربطهما معاً بعلاقة ( واحد إلى متعدد ) أى من الممكن وجود أم ( واحد) لأكثر من طفل ( متعدد) .. كما بالشكل التالى :

deccd5eded.jpg

بالضغط على الخط الواصل بين الجدولين تظهر لنا هذه النافذة:

007bed63b4.jpg

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

Nursery.rar

تم تعديل هذه المشاركة بواسطة nababeer في 27 نوفمبر 2010 في 12:53

سبحان الله وبحمده ... سبحان الله العظيم

#22

إليكم الحلقات السابقة فى ملف وورد

حلقات أكسس.rar

1

سبحان الله وبحمده ... سبحان الله العظيم

#23

جزاك الله كل خير أخى نبيل

شرح جميل وميسر ربنا يعينك تمنياتى لك بالتوفيق ومزيد من التقدم

لك منى +1

رجاء من المشرفين الكرام تثبيت الموضوع حتى يكون مرجع من ضمن مراجع قسم الاكسس لكل طالب علم

#24
طالب علم مبتدىء كتب:

جزاك الله كل خير أخى نبيل

شرح جميل وميسر ربنا يعينك تمنياتى لك بالتوفيق ومزيد من التقدم

لك منى +1

رجاء من المشرفين الكرام تثبيت الموضوع حتى يكون مرجع من ضمن مراجع قسم الاكسس لكل طالب علم

شكراً يا أخى .. ولكن الموضوع أبسط وأقل من ان يتم تثبيته .. ولكن شكراً لك لأنك بترفع من معنوياتى ..

وشكراً على التصويت

سبحان الله وبحمده ... سبحان الله العظيم

#25

اخى نبيل

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

ارجو منك الشرح على الاصدار 2003 لانى لم اتمكن من رؤيه الملفات ده لو أمكن لك

وجزاك الله كل خير

مواضيع مشابهة