osama ababneh قام بنشر يوليو 14, 2008 مشاركة قام بنشر يوليو 14, 2008 (معدل) بسم الله الرحمن الرحيم أخواني في منتدانا العزيز اوفيسنا , اولا وقبل تقريبا كل شيئ سيتم شرحة هنا تم شرحة سابقا في المنتدى ولكن في مواضيع متعددة مع بعض الاضافات وستكون مشاركتي هذه للمساعدة في توضيح كيفية انشاء برنامجك الخاص ابتداء من الجداول وانتهاء بالتقارير وارجو من خبراء منتدانا تصويبي والمشاركة بما لديهم من معلومات فانا ما زلت تلميذا مبتدئاً سيتم تقسيم هذا الشرح الى عدة اقسام وهي: 1 – قواعد عامة 2- الجداول والروابط والاستعلامات 3 – النماذج والوحدات النمطية (الكود) 4 – التقارير قبل ان ندخل الى الاكسس دعونا نتعرف على قواعد عامة يجب مراعاتها قبل البدء باي برنامج قواعد عامة 1- عليك التفكير بمخرجات البرنامج أي التقارير المطلوبة من البرنامج قبل ان تفكر بما هي الجداول المطلوبة او النماذج وهذه تعتبر أول خطوة في البدء بتصميم برنامجك بشكل سليم 2- عليك التفكير بشكل كبير بمستخدم البرنامج ووضع جميع الاحتمالات التي ممكن ان يكون نوع المستخدم فيها.... فليس كل الناس متشابهين في القدرات وليس كلهم يفكرون بنفس طريقتك 3- حاول ان تستخدم رموز معينة اثناء تسمية الجداو او الاستعلامات لتمييزها فيما بعد فمثلا لتسمية الجداول استخدم رمز(Tbl)قبل اسم ايجدول وفي الاستعلامات رمز(Qry) وبالتالي تستطيع تمييز الجدول من الاستعلام عندما تكثر الجداول والاستعلامات واليك هذه الامثلة: Employees = TblEmployees = QryEmployees Salaries = TblSalaries = QrySalaries 4- لا تستخدم اللغة العربية في برنامجك وخصوصا الجداول مع اعتزازنا الشديد بلغتنا الام ولكن في البرمجة ستؤدي الى ارهاقك كثيرا ويمكنك تسمية الحقول باسمها بالعربي ولكن بالحروف الانجليزية مثلا Mouadhaf= موظف ....... وهكذا. 5- عند استخدامك للغة الانجليزية ابتعد عن استخدام اسماء محجوزة مثلا في التاريخ لا تسمي الحقل Date فيمكنك ان تضيف لها رمز ومثلا SC في البداية لتصبح ScDate 6- لا تستخدم الفراغات في التسمية مثلا Sc date ولكن يمكنك ان تصيغها بالشكل Sc_date او ScDate 7- ابتعد عن استخدام الصور والوسائط التي لا علاقة لها ببرنامجك لانها ستزيد حجم البرنامج بشكل كبير جدا وركز على انك تصمم البرنامج من اجل الحصول على قاعدة بيانات رصينة وليس للحصول على اشكال وتأثيرات جمالية فاذا كان هدفك الاهتمام بالجماليات والاشكال عليك تعلم الفوتوشوب والفلاش بدل قواعد البيانات. 8- حاول الاطلاع على برامج جاهزة (ويوجد العديد منها في المنتدى) وادخل الى تصميمها وانظر الى الوحدات النمطية وما الى ذلك فهذا يعطيك افكار جديدة ممكن ان تستخدمها في برنامجك وصايا حول الموضوع لاستاذنا العزيز رضوان http://www.officena.net/ib/index.php?showtopic=13598 طبعا هناك الكثير من النصائح الاخرى وسنحاول التطرق لها في الفصول القادمة انشاء الله تم تعديل يوليو 14, 2008 بواسطه osama ababneh رابط هذا التعليق شارك More sharing options...
ابو يامن قام بنشر يوليو 14, 2008 مشاركة قام بنشر يوليو 14, 2008 أخي العزيز أسامة : في البداية أود أن أشكرك على هذا الجهد و بارك الله بك . و إذا سمحت لي ، فلي مداخلة صغيرة حول موضوع القواعد العامة و هي الإاضفة التالية : 1- يجب أن يكون مصمم البرنامج على دراية قبل البدء بتنفيذ البرنامج بموضوع معرفة ما هي العلاقات التي يجب أن يتم إخذها بعين الإعتبار قبل البدء بالتصميم . 2- أعجبتني النقطة الثانية في مشاركتك أعلاه ، و أردت أن أؤكد على الأخوى حول أهمية النظر الى البرنامج من وجهة نظر المستخدم و حاجته من البرنامج ، ومن هنا يجب أن نركز على أن المستخدم النهائي للبرنامج End User هو ليس فقط الشخص الذي يقوم بترحيل بيانات او إسنخراج معلومات بل وأيضاً يمكن إعتبار متخذ القرار الذي يعتمد على مستخرجات البرنامج مستخدم للنظام و بالتالي يجب التفكير من هذا المنظور أيضاً عند البدء ببناء البرنامج . 3- أقترح قبل البدء بالشرح عن الجداول البدء بموضوع هام و هي أنواع البيانات ( Text,Number, Date,...) و تصنيفاتها كونها ستشكل بداية جيدة في مثل هذه الموضوعات ( طبعاً هذا بعد إذنك ) و الله المستعان ، ،، ، رابط هذا التعليق شارك More sharing options...
osama ababneh قام بنشر يوليو 14, 2008 الكاتب مشاركة قام بنشر يوليو 14, 2008 اخي العزيز ابو سليم اشكرك جزيل الشكر على هذه الاضافات .... وكما اشرت سابقا فان هذه المشاركة ليست حكرا علي وحدي وانا ارجو وليس اطلب من الاخوة في المنتدى المساهمة في شرح اي شيئ يرونة ضروري ودعونا نقوم بعمل مشاركة جماعية فاي شخص لوحدة سينسى الكثير من النقاط ...... وربما هناك امور لا يعرفها كما انه ممكن ان يخطئ ومن هنا ارجو من الجميع المساهمة بما لديهم من ثروة علمية في الموضوع وبالنسبة لانواع البيانات اخي ابو سليم اعتقد اننا لو نؤجلها قليلا حتى نبدا بالجداول سيكون افضل لانني اخطط للبدء بشرح انواع الجداول ثم كيفية انشاؤها والبيانات وانواعها ان شاء الله رابط هذا التعليق شارك More sharing options...
ابو يامن قام بنشر يوليو 14, 2008 مشاركة قام بنشر يوليو 14, 2008 أخي أسامة : كل الشكر و الإحترام رابط هذا التعليق شارك More sharing options...
خليلي قام بنشر يوليو 14, 2008 مشاركة قام بنشر يوليو 14, 2008 السلام عليكم شكرا لك على بداية هذا الموضوع . ارجو الاستمرار به والتعمق فيه اكثر . رابط هذا التعليق شارك More sharing options...
الرمنسي قام بنشر يوليو 14, 2008 مشاركة قام بنشر يوليو 14, 2008 أخي أسامة اشكرك على هذا الموضوع الجميل انا سوف اتابعك إلى النهايه إلى الأمام رابط هذا التعليق شارك More sharing options...
osama ababneh قام بنشر يوليو 16, 2008 الكاتب مشاركة قام بنشر يوليو 16, 2008 الجداول لاحظت مؤخرا ان اغلب الاستفسارات والمشاكل التي تطرح في المنتدى سببها الجداول والعلاقات والاستعلامات أي بناء قاعدة البيانات قواعد عامة 1 لا تستخدم اللغة العربية في تسمية الحقول او الجداول نفسها لان ذلك سيرهقك في المراحل اللاحقة 2 لا تضع أي عمليات حسابية في الجداول (مثلا حقل للمجموع) يحسب آليا اخواني هناك انواع من قواعد البيانات وهي: 1. قاعدة بيانات المسطحة 2. قواعد البيانات العلائقية لماذا لا نستخدم جداول اكسل بدل هذه الدوخة ووجع الراس وما الى ذلك ..... هل جداول الاكسس تختلف ؟هذه تساؤلات ممكن ان تخطر على بال أي احد منا ولكن جداول الاكسل هي جدول جاهزة وتشبه جداول الاكسس ولكن تخيل ان هذا الجدول لن تعمل علية انت مصمم هذا الجدول وانما سيقوم 10 اشخاص بمساعدتك في ادخال البيانات في هذا الجدول..... النتيجة << طبعا ستختلف طريقة ادخال البيانات من شخص لاخر مثلا في حقل المرحلة الدراسية في جدول الطلاب سيتم ادخال المرحلة كما يلي الأول,الاول,اول,الأولى.... وهكذا وعندها ستجد ان مراحل الدراسة اصبحت 50 مرحلة وليس 12 فقط لان الكمبيوتر يأخذ كل قيمة على انها قيمة مستقلة ولن يفهم ان هذه العبارات كلها لها نفس المعنى . مما سبق ستجد انه في حالة وجود اكثر من مدخل بيانات فان الاكسل يصبح حل عقيما. وهذه هي قواعد البيانات المسطحة باختصار في قواعد البيانات المسطحة ستضطر الى ادخال كل البيانات في كل صف وربما تكون مكررة ففي قاعدة بيانات الطلاب تخيل انك ستدخل لكل طالب الديانة , الجنس,المرحلة وهذه البيانات متكررة كما تلاحظ وبالتالي ستكون مرهقة ومملة وقابلة لاخطاء الادخال. بسبب عقم هذا النوع في الكثير من الحالات ضهرت لدينا قواعد البيانات العلائقية والتي يتضح من اسمها أنها ذات علاقات مع بعضها (مرتبطة ببعضها) وكل الشرح اللاحق سيكون على هذا النوع وهذه قواعدها العامة والتي يجب اللتزام بها عند تصميم جدول 1 يجب ان تضع مفتاح اساسي في كل جدول لكي يتميز كل سجل برقم فريد 2 افصل البيانات المتشابهه في جدول مستقل (كل مجموعة في جدول) مثلا في قاعدة بيانات المدرسة جدول للجنسيات , واخر للمراحل .... وهكذا 3 لا تقوم بإضافة حقل يظهر فية ناتج عملية حسابية معينة لان الجداول للادخال وليس لعرض النتائج 4 لا تستخدم حقل التسميات (الحروف) كمفتاح اساسي وانما اجعلة ارقاما مثلا ان تستخدم اسم الطالب في جدول الطلاب ,وانما اضف حقل لرقم الطالب واجعلة المفتاح الاساسي 5 اذا كان احد الحقول يحتوي على احد خيارين او ثلاثة مثلا الجنس (ذكر , انثى) ليس بالضرورة ان تصمم جدول جديد لها وانما تحدد المدخل باختيار احد القيم (ذكر او انثى) من نفس الخلية وبناء على طلب اخينا ابو سليم سيتم التطرق الى نوع البيانات لكل صف عند تصميم جدول جديد ستجد ان كل كل صف له نوع بيانات فدعونا ندخل قليلا الى الخصائص ونتعرف على مل نوع من انواع البيانات ولو بلمحة موجزة 1 نص ومن الاسم يضهر لنا انه نص وفي العادة يكون طول النص في الخصائص 50 حرف وبامكانك ان تجعلة 255 حرف ويستخدم لادخال النصوص (حروف وارقام ورموز ....) 2 مذكرة وتستطيع ان تدخل فيها نص ولكنك غير مقيد بطول معين 3 رقم وتستطيع فيها ادخال الارقام فقط وغير مسموح ادخال الاحرف 4 تاريخ /\وقت وهي للتاريخ والوقت 5 نعم /لا وتستخدم في حالة اننا نريد ان نضيف خانة تكون فيها الاجابة (بنعم او لا , صح وخطأ , تشغيل و ايقاف......) 6 كائن OLE ويستخدم لادراج كائن في الجدول مثلا ملف اكسل او صورة او صوت او ....... 7 ارتباط تشعيبي وهو لاضافة ارتباط تشعيبي والكل اعتقد يعرف الارتباط التشعيبي مثلا ان تضع فية موقع www.officena.netوعند النقر يقوم بالذهاب الى الموقع 8 معالج البحث ويستخدم لانشاء قائمة منسدلة تعتمد على مصدر بيانات من جدول او استعلام اخر او من قيم معينة تختارها كما تريد ولتسهيل ذلك اليكم هذا المثال المستمد من حياة كل واحد منا الكل منا لدية أب Father وكل اب ممكن ان يكون لدية ابن او اكثر لتحويل هذه العبارة الى قاعدة بيانات علينا عمل جدولين 1 – الجدول الاول باسم (TblFathers) ويحتوي على • FatherNum ونوعة نص وحجمة 6 • FatherName ونوعة نص وحجمة 200 2- الجدول الثاني واسمة (TblSuns) ويحتوي على • SunNum ونوعة نص وحجمة 6 • SunName ونوعة نص وحجمة 20 • SunSex ونوعة نص وطولة 10 واليكم هذه البيانات FatherName==FatherNum 000001==نصر حامد امين 000002==عبد الرزاق محمد ابراهيم 000003==احمد رامي محمد 000004==محمد محمود محمد 000005==ايمن محمد راغب 000006==عمار محمد محمود 000007==ضيف الله محمد عزام 000008==موسى صالح محمد 000009==خلدون محمد خلاطي 000010==وليد خلف علي SunSex ==SunName ==SunNum 000001 ===بيان ======انثى 000002 ===ناصر ======ذكر 000003 ===ريان ======ذكر 000004 ===عبد الرحمن ===ذكر 000005 ===محمد ======ذكر 000006 ===عمر ======ذكر 000007 ===علي ======ذكر 000008 ===بادي ======ذكر 000009 ===منى ======انثى 000010 ===ولاء ======انثى 000011 ===ماجد ======ذكر 000012 ===روان ======انثى 000013 ===مي ======انثى 000014 ===نيبال ======انثى 000015 ===يوسف ======ذكر حيث سنستخدم هذا المثال في معظم الشرح اللاحق وقد وضعته لكم في المرفقات لتسهيل الامر واي استفسار او شيئ غامض ساحاول الاجابة علية بمشيئة الله اكرر رجائي الى الاخوان تصويب اي خطأ ورد او سيرد والتكرم بالمشاركة بالملاحظات واي معلومة ترونها مفيدة ولكم جزيل الشكر F_S.rar رابط هذا التعليق شارك More sharing options...
ابو يامن قام بنشر يوليو 16, 2008 مشاركة قام بنشر يوليو 16, 2008 أخي العزيز أسامة : في البداية بارك الله بك على هذا الشرح الذي أسأل الله تعالى أن يكون به الفائدة للجميع ، و أود أن أنتهز هذه الفرصة و أقدم إقتراح (بعد إذنك) و هو أن يتم إضافة جدول يوضح كافة أنواع البيانات التي قمت بذكرها جزاك الله كل الخير . مع جزيل شكري و إحترامي لك ... أخوك ابو سليم ، ، ، رابط هذا التعليق شارك More sharing options...
osama ababneh قام بنشر يوليو 17, 2008 الكاتب مشاركة قام بنشر يوليو 17, 2008 اشكرك اخي ابو سليم واليكم هذا المثال لانواع البيانات التي ممكن ان تكون عليها بيانات الجداول EX.rar رابط هذا التعليق شارك More sharing options...
osama ababneh قام بنشر يوليو 17, 2008 الكاتب مشاركة قام بنشر يوليو 17, 2008 تكملة الجداول لغاية الان لدينا بيانات لا معنى لها ولا نعرف ما ذا تعني ولكن توجد علاقات بين افرادها حيث ان افراد الجدول Suns هم ابناء الافراد في جدول Fathers ولكن كيف سنعرف من ابن من ومن اب لمن؟؟؟؟؟؟؟ لمعرفة هذا الشيئ لا بد ان نضيف حقل الى احد الجدولين ليبين العلاقة بينهم والتساؤل الان اين نضيف هذا الحقل؟؟؟ وما هو هذا الحقل؟؟؟ هذا الحقل يدعى بالحقل الغريب وهو فعلا غريب لانه يوضع في جدول ولكنة يخص جدول اخر ونضعه في جدول الابناء لان كل اب ممكن ان يكون له ابن او عدة ابناء او بدون ابناء فلو وضعناه في جدول الاباء فان الاب ممكن ان يكون لة اكثر من ابن وبالتالي سيتكرر هذا الاب عند كل ابن وممكن ان لا يكون لة ابناء وبالتالي لن يظهر هذا الاب . شروط الحقل الغريب: 1.يجب ان يكون المفتاح الاساسي في الجدول الذي قمنا باستعارتة منه 2.يجب ان يحمل نفس خصائص الحقل الاصلي (نوع البيانات وحجم الحقل..) 3.لا يجب ان يكون فارغ لانه سيؤدي الى وجود ايتام في الجدول 4.اذا كان لديك حقل سيرد فية اجابة مثلا( نعم،لا) (متزوج ، اعزب) (ذكر ، انثى) ليس بالضروره عمل جدول جديد للجنس وانما في خصائص الحقل تستطيع تحديد مدخل البيانات باختيار قيمة من هذه القيم وذلك من خلال الدخول الى خصائص الحقل ثم بحث 1.غير القيمة عرض عناصر التحكم من مربع نص الى مربع تحرير وسرد 2.غير القيمة مصدر الصف من جدول\استعلام الى قائمة القيم 3.مقابل مصدر الصف ضع "ذكر";"انثى" 4.مقابل التزام بالقائمة اختر نعم بهذه الطريقة حددنا المدخل باختيار احدى القيمتين فقط ومنعناه من الاجتهاد والخطا وتدمير قاعدة البيانات الان نعود الى المثال ونضيف هذا الحقل في جدول الابناء ويصبح الجدول كالاتي SunNum== SunSex==SunName==FatherNum 000001=== 000001=== بيان=== انثى 000002=== 000003=== ناصر=== ذكر 000003=== 000002=== ريان=== ذكر 000004=== 000007=== عبد الرحمن==ذكر 000005=== 000006=== محمد=== ذكر 000006=== 000004=== عمر=== ذكر 000007=== 000009=== علي=== ذكر 000008=== 000010=== بادي=== ذكر 000009=== 000008=== منى=== انثى 000010=== 000003=== ولاء=== انثى 000011=== 000002=== ماجد=== ذكر 000012=== 000003=== روان=== انثى 000013=== 000009=== مي=== انثى 000014=== 000010=== نيبال=== انثى 000015=== 000002=== يوسف=== ذكر الان اصبح لدينا ابناء ولهم اباء واذا تركنا احدهم بدون اب فانة سيصبح يتيم وهو في علم قواعد البيانات يسمى بالحقل اليتيم أيضا لذلك يجب ان يحتوي هذا الحقل على قيمة. الان كيف سننشئ العلاقة بين الجدولين؟؟؟ العلاقات هناك ثلاثة انواع من العلاقات وهي 1.علاقات من نوع ا إلى متعدد 2.علاقات من نوع ا إلى 1 3.علاقات من نوع متعدد إلى متعدد لمزيد من المعلومات انظر الى شرح أستاذنا محمد طاهر http://www.officena.net/Tips/Access-Relations.htm طبعا النوع الثاني لن نتطرق لة وذلك لقلة الحاجة الية وقلة استخدامة. حسب مثالنا فان الاب ممكن ان يكون له اكثر من ابن أي اب 1 الى ابناء متعددين ولكن استحالة ان يكون للابن اكثر من اب أي ان العلاقة الموجودة لدينا هي من النوع الاول (واحد إلى متعدد) وهذا اكثر الانواع شيوعا واستخداما. الان افرض اننا سندرس استخدام الابناء لمجموعة العاب موجودة في حديقة ما. معنى ذلك انه لدينا جدول جديد وهو جدول الالعاب (TblGames) ويحتوي على: 1.GameNum = نص= طولة 2 2.SunNum = نص= طولة 6 لانة الحقل الغريب ويجب ان يكون بنفس مواصفات الحقل الاصلي 3.GameName = نص = طوله 50 هذا يعني ان كل ولد يستطيع اللعب باي لعبة يريد ولكن لا يمكن لباقي الاولاد اللعب بهذه اللعبة و هذا مخالف للواقع لان الولد يستطيع ان يلعب بكل الالعاب وكل الاولاد ممكن ان بلعبوا بنفس اللعبة ارجع واحذف الحقل الغريب لان مكانة ليس هنا GameNum==GameName 01===اللعبة 1 02===اللعبة 2 03===اللعبة 3 04===اللعبة 4 05===اللعبة 5 هل الحل هو ان يكون الحقل الغريب في جدول الابناء ؟؟؟ .... طبعا لا لاننا اذا وضعناه في جدول الابناء سيكون الان ما هو نوع العلاقة بين جدول الابناء وجدول الالعاب؟؟؟؟ العلاقة هنا (يستطيع الولد استخدام اكثر من لعبة وكل لعبة ممكن ان يستخدمها اكثر من ولد) اذا العلاقه هذة المرة من النوع متعدد الى متعدد ولحل هذه المشكلة يتم انشاء جدول جديد يحمل حقلين غريبين وليس واحد وهذا الجدول اسمة العلمي الجدول التقاطعي انشئ جدول جديد اسمة TblSunGame وفية 1. SunNum = نص = طولة 6 2. =GameNum نص = طولة 2 الان كيف نضع المفتاح الاساسي ؟؟؟ هنا نستخدم مفتاحين اساسيين وليس واحد وذلك عن طريق تضليل الحقلين معا والضغط على مفتاح اساسي وهنا يكون المفتاح الاساسي الفعلي هو الناتج من دمج المفتاحين معا فلو كان الحقل الاول مفتاحة الرئيسي000001 والثاني 04 فان المفتاح الجديد سيكون 00000104 الان بعد ان تعرفنا على انواع الروابط سنتعرف على كيفية الربط بعد ان انتهينا من تصميم الجداول الاربعة الان سنربطها مع بعضها وكما يلي ادخل على علاقات واضف الجداول الاربعة 1. لربط جدول الاباء مع جدول الابناء اضغط على الخانة FatherNum الموجودة في جدول الاباء واسحبها الى الحقل الغريب FatherNum الموجود في جدول الابناء , ستفتح لك شاشة جديدة وما عليك الا ان تضع اشارة صح على فرض التكامل المرجعي او Enforce referential Integrity ثم تحديث الحقول الموجوده في الاسفل او Cascade update related field واخيرا حذف الحقولCascade delete related field ووضيفة العبارتين الاخيرتين (التحديث والحذف) انه اذا قمنا بتحديث حقل فان كل السجلات المرتبطة ستتحدث تلقائيا واذا حذفناه فانه سيتم حذف السجلات المرتبطة به 2. لربط جدول الابناء مع الجدول التقاطعي (SunGame) اختر الخانة SunNum من جدول الابناء واسحبها الى القيمة المقابلة في الجدول التقاطعي واختر فرض التكامل المرجعي والتحديث والحذف 3. لربط جدول الالعاب استخدم نفس الطريقة السابقة طبعا قمت انا بانشاء جداول جديدة وروابط جديدة ستجدونها في الملف المرفق وارجو الدخول الى العلاقات لمشاهدة تخطيط العلاقات كيف اصبح هنيئا الان لديك جداول منظمة ومرتبطة مع بعضها بعلاقات متينة ولا يشوبها أي عيب وهذا المرفق بعد تعديلة في المرفقات اكرر رجائي الى الاخوان تصويب اي خطأ ورد او سيرد والتكرم بالمشاركة بالملاحظات واي معلومة ترونها مفيدة ولكم جزيل الشكر F_S.rar رابط هذا التعليق شارك More sharing options...
mhareek قام بنشر يوليو 17, 2008 مشاركة قام بنشر يوليو 17, 2008 الف الف شكر اخى الحبيب جزاك الله خيرا رابط هذا التعليق شارك More sharing options...
صباح حسين قام بنشر يوليو 17, 2008 مشاركة قام بنشر يوليو 17, 2008 شكراً لجهودكم الخيرة والى دروس اعمق ان شاء الله رابط هذا التعليق شارك More sharing options...
ابو يامن قام بنشر يوليو 17, 2008 مشاركة قام بنشر يوليو 17, 2008 مشكور أخي أسامة ، ما شاء الله تسلسلك في الطرح منطقي و رائع بالتوفيق و الى الأمام رابط هذا التعليق شارك More sharing options...
aideladha1 قام بنشر يوليو 19, 2008 مشاركة قام بنشر يوليو 19, 2008 أخي الكريم بارك الله فيك على هذا المجهود الطيب غير أني أرى خاصية Enforce referential Integrity مهمة جدا وتحتاج لوحدها درس طويل والصدفة في ذلك أنها تتناسب مع مثالك هذا اي تستطيع بواسطة هذا المثال ان تشرح لنا الخاصية التي تحمل شرطين هما التحديث + الحذف وفي الأخير كان الله في عونك رابط هذا التعليق شارك More sharing options...
osama ababneh قام بنشر يوليو 19, 2008 الكاتب مشاركة قام بنشر يوليو 19, 2008 اخواني اشكركم على الردود المشجعة اخي aideladha1 فعلا كما تفضلت فان هذا الموضوع ليس بالسهل ويحتاج الى المزيد من التوضيح وجزاك الله خيرا على المداخلة طبعا انا ساشرحة بشكل مختصر لفهم الموضوع عموما وليس تفاصيلة الكاملة بالنسبة للتكامل المرجعي Enforce referential Integrity فانه يعني ان الحقل الغريب يجب ان تكون له قيمة من القيم الموجودة في المفتاح الاساسي للجدول الاخر المرتبط بهذا الجدول وحسب مثالنا السابق فان كل ابن يجب ان يتم ادخال اب له في حقل رقم الاب ويجب ان يكون هذا الرقم موجود في جدول الاباء اي لا يمكننا ان نضع رقم 000103 ولا يوجد لدينا اب بهذا الرقم وفائدة التكامل المرجعي تكمن في انه يمنع وجود ابناء ايتام . اما بالنسبة لتحديث الحقول المرتبطة فانها تعمل على ان يتم اجراء التعديلات على كل الحقول الاخرى في الجداول المرتبطة اذا عدلنا اي حقل في الجدول الحالي وحسب المثال اذا غيرنا رقم الاب 000003 الى 000053 فان ابناء هذا الاب سيتم تعديل رقم الاب الخاص بهم وبالتالي يبقوا مرتبطين بهذا الاب اما حذف الحقول المرتبطة فانها تعمل على حذف الحقول المرتبطة بهذا الحقل عند حذفة فاذا حذفنا الاب رقم 000003 فان كل ابناؤة سيتم حذفهم وبالتالي كل ما يرتبط بابناؤة من علامات او العاب او درجات ايضا سيحذف اي ان هناك تماسك في قاعدة البيانات كل حقل مرتبط بحقول اخرى ولو فرضنا انه على ارض الواقع في قاعده بيانات خاصة باصناف معينة وتم اكتشاف خطأ في كود صنف معين بعد مرور فترة من العمل فان عملية تغيير الكود سيكون مرهق اذا اردنا الدخول الى كل السجلات للبحث عن هذا الصنف وتعديلة ولكن وباستخدام تحديث الحقول المرتبطة ستتغير كل القيم في الحقول المرتبطة تلقائيا وكذلك اذا افترضنا ان الاب 000003 هاجر الى دولة اخرى هو واولادة وبعد خمس سنوات لا نريد الاحتفاظ بسجلات ابناء هذا الاب فان الدخول الى جدول الاباء وحذف سجل الاب لوحدة كفيل بان يتم حذف جميع بيانات ابناؤة والبيانات التابعة لهم ادعو الله ان اكون قد وفقت في توضيح الموضوع وادعو الله تعالى ان يوفقني في الشروحات اللاحقة وارجو من اخواني في المنتدى عدم التردد في اي مداخلة او شرح يرونة ضروري رابط هذا التعليق شارك More sharing options...
ابو يامن قام بنشر يوليو 20, 2008 مشاركة قام بنشر يوليو 20, 2008 الله يوفقك و يديمك و أسال الله أن يمدك بالصحة ومزيد من التقدم أخي أسامة . وبالفعل مشاركة الأخ aideladha1 صائبة حيث أن التكامل المرجعي من المواضيع المهمة في قواعد البيانات بشكل عام و بالآكسس بشكل خاص ، لما له من أهمية من الناحية التحليلية لقواعد البيانات و الجداول . رابط هذا التعليق شارك More sharing options...
aideladha1 قام بنشر يوليو 20, 2008 مشاركة قام بنشر يوليو 20, 2008 أخي الكريم بارك الله فيك وشرحك جميل ومجهودك مثاب إنشاء الله بما أني أتابع موضعك باهتمام بقي لي أن أسأل عن شيئ فيما يتعلق بالخاصية Enforce referential Integrity في أي الحالات نستعملها ومتى تكون ضرورية وغير ضرورية وكيف لى أن أستعمل شرط واحد أو كلاهما طبعا مع التبيان لنا نوع العلاقة بين الجدولين أرجو أن يكون سؤالي واضحا و أن لا أكون أثقلت عليك و في الأخير أقول لك كان الله في عونك رابط هذا التعليق شارك More sharing options...
osama ababneh قام بنشر يوليو 20, 2008 الكاتب مشاركة قام بنشر يوليو 20, 2008 اخي aideladha1 بالنسبة للتكامل المرجعي نستخدمة لتكوين علاقة بين جدولين ونوع العلاقة واحد الى متعدد فاذا لم نستخدمة تكون العلاقة واحد الى واحد وبالنسبة لاستخدام التكامل المرجعي و الشروط المرتبطة فية (تحديث و حذف) فانها تكون حسب برنامجك وطبيعة العلاقة في قاعدة بياناتك فكل قاعدة بيانات تختلف عن الاخرى كما تعرف واليك هذا المثال للتبسيط لنفرض انك تصمم قاعدة بيانات مطعم يحتوي على طلبيات على الهاتف ولديك جدول للزبائن والمفتاح الاساسي فية رقم الهاتف والاخر للطلبيات الان لنفكر بشكل منطقي : اليس من الممكن ان يقوم احد الزبائن بتغيير رقم هاتفة؟؟؟؟ فاذا غير هاتفة هل سيتم الاحتفاظ بسجلاته السابقة على الرقم القديم وابتداء من هذه اللحظة سندرج له سطر جديد في جدول الزبائن ونعتبرة كزبون جديد؟؟؟؟ فاذا قررنا انه سيتم تحديث الرقم القديم وان يكون لدينا القدرة على معرفة سجلاتة السابقة ( الطلبيات السابقة وتفاصيلها) فاننا سنستخدم شرط التحديث وبالتالي فانرقم الهاتف في السجلات القديمة سيتم تغييرة بالرقم الجديد اما اذا قررنا اننا لا نريد ان نعرف اي شيئ عن ماضي هذا الزبون مع المطعم وان نعتبرة كزبون جديد فاننا لا نستخدم هذا الشرط وبالتالي فان تحديث رقم الهاتف في جدول الزبائن سيؤدي الى وجود طلبيات في جدول الطلبيات غير مرتبطة بزبون معين ( وهي ما يسمى بالسجلات اليتيمة) ونفس الشيئ بالنسبة لشرط الحذف فاذا اردنا بعد سنة ان نحذف جميع الزبائن الذين لم يشترو منذ اكثر من ستة شهور فاننا نقوم بحصرهم وثم بمجرد الدخول الى جدول الزبائن وحذف سجل العميل فان كل الطلبيات الخاصة به سيتم حذفها ايضا اي سيتم حذف الزبون من جذورة ولن يتبقى لدينا اي شيئ يخص هذا الزبون اتمنى ان اكون فهمت المطلوب وان يكون الشرح كافي ولكن بشكل عام حسب احتياجات البرنامج نستخدم هذه الامور رابط هذا التعليق شارك More sharing options...
aideladha1 قام بنشر يوليو 21, 2008 مشاركة قام بنشر يوليو 21, 2008 أخي الكريم شكرا لك على هذا الشرح الوفي و أسأل الله لك الثبات في القول و العمل هل أكملت هذه السلسة من الدروس أم فتحت لها موضوعا جديد رابط هذا التعليق شارك More sharing options...
osama ababneh قام بنشر يوليو 22, 2008 الكاتب مشاركة قام بنشر يوليو 22, 2008 الاستعلامات الان اصبح لدينا جداول تحتوي على بيانات غير مفهومة على الاطلاق وكل مجموعة من هذه البيانات توجد في جدول ..... لحسن الحظ ان هذه الجداول مرتبطة مع بعضها ..... فهل يمكن دمج بيانات هذه الجداول مع بعضها البعض لتتكون لدينا معلومات تكون مفهومة؟ طبعا يمكن ....... الحل هو استخدام الاستعلام تعالوا الان نتعرف على الاستعلامات فما هي وما هي انواعها و و و ...... لمزيد من المعلومات راجع شرح أستاذنا محمد طاهر http://www.officena.net/ib/index.php?showtopic=228 والاستعلام هو جدول ولكنة يختلف عن الجداول بانك تتحكم بالبيانات الموجود ه فية كما تريد أي انه جدول مرن تتحكم فية ليعرض لك ما تريد من الجداول المختلفة وبالرجوع الى المثال السابق دعونا نصمم استعلام ليعرض لنا البيانات الموجودة في الجداول ولكن بطريقة مفهومة 1. ادخل الى الاستعلام واختر انشاء استعلام في طريقة عرض التصميم واعمل إضافة للجداول التالية ( الاباء , الامهات, الابناء ) 2. اخترما يلي بالنقر المزدوج (FatherName , MotherName, SunName) 3. احفظ الاستعلام وسمية QryNames الان استمتع باستعراض البيانات بالشكل المفهوم حيث انها تحولت الى معلومات ولم تبقى مجرد بيانات الان بامكانك ان تعمل استعلام ليعطيك معلومات حسب طلبك مثلا الابناء مع الجنسيات والالعاب او الاباء و الابناء والالعاب ... الخ يمكننا القول ان هناك استخدامين للاستعلامات 1. الاستعلامات من اجل عرض البيانات بالشكل والكيفية التي تريدها 2. الاستعلامات من اجل التحكم في الجداول (حذف , تعديل , إضافة) وعليك الحذر الشديد في استخدام النوع الثاني لان أي خطأ ممكن ان يحذف بياناتك او او ...... الخ من مشاكل محتملة . ولن ندخل في انواع الاستعلامات وتفاصيلها اكثر من ذلك لانني ضعيف في السباحة وهذا بحر عميق ولمن يريد الابحار في ذلك فعلية ان يتابع شروحات اساتذتنا الموجودة في مكتبة الموقع وهذا رابطها http://www.officena.net/ib/index.php?showtopic=5605 الان اذا فتحت أي جدول ستجد ارقام في الحقل الغريب مثلا في جدول الابناء ستجد ان الاباء هي ارقام ولا نعرف لمن هذا الرقم ولتحويلة الى نص (الاسم) ادخل الى تصميم الجدول ضع المؤشر على الخقل الغريب FatherNum في الاسفل ستجد خصائص الحقل اختر بحث وغير القيمة الموجودة مربع نص الى مربع قائمة ادخل على مصدر الصف ستفتح لك نافذة استعلام واضف فيها الجدول TblFathers وادرج الحقول FatherNum ثم FatherName اغلقة وقم بالحفظ في عدد الاعمدة غير القيمة 1 لتصبح 2 في عرض الاعمدة اكتب 0سم;1 سم اغلق واحفظ وافتح من جديد لترى النتيجة طبق هذه العملية على كل الجداول واليكم الملف بعد التعديل طبعا من يريد ان يتعلم علية ان يطبق بنفسة .... فاختر معهايير معينة وصمم عليها استعلام لترى النتائج فهذا الشيى سيوسع فهم الموضوع طبعا للموضوع تكملة ولكن لضيق وقتي شرحت هذا القدر فقط F_S.rar رابط هذا التعليق شارك More sharing options...
osama ababneh قام بنشر يوليو 28, 2008 الكاتب مشاركة قام بنشر يوليو 28, 2008 تكملة الاستعلامات الان تعالوا نتعرف على كيفية وضع شرط في الاستعلام لو فرضنا اننا نريد استعلام يبين لنا الاولاد الذكور فقط ففي هذه الحالة نقوم بانشاء استعلام نضع فية ما نريد من بيانات ومن الضروري ان يكون فية حقل الجنس وتحت هذا الحقل نضع في معايير كلمة ذكر الان عند فتح الاستعلام لن تجد فية الا الذكور .... ولكن ماذا لو اردنا وضع شرط ويكون هذا الشرط قابل للتغيير أي ان لا يكون الشرط ثابت مثلا اظهار بيانات الاولاد الذين اسم اباهم احمد رامي او نصر حامد او ..... الخ ........ دعونا نترك هذا عندما نصل الى النماذج . وبامكاننا ان نضع أي شرط لإظهار السجلات التي ينطبق عليها هذا الشرط فقط فممكن ان يكون الشرط هو اظهار بيانات محصورة بين تاريخين او اكبر او اصغر من قيمة معينة .... وهذه الشروط ممكن ان نربطها مع النماذج وبالتالي فان الشرط يتم تحديده واختياره من النموذج وبالتالي ايضا نربط التقرير بهذا الاستعلام فتظهر لنا نتائج معينة فقط وليس كل ما في قاعدة البيانات. تصميم الاستعلامات حسب SQL ان الاصل في الاستعلامات هو برمجة SQL وهي في الواقع ليست بالمعقدة او الصعبة حيث انها فعليا لا تحتوي الا على القليل من الاوامر (على الاقل التي نحتاجها في الاكسس) ان عملية تصميم الاستعلام بالطريقه العادية هي نفسها بلغة SQL ولكن بطريقة قامت شركة مايكروسوفت بتبسيطها ويمكنك ان ترى ذلك بالدخول الى تصميم استعلام معين ثم اختيار عرض SQL وعندها سترى كود SQL الخاص بهذا الاستعلام. وفي الحقيقة يوجد شرح رائع جدا في المنتدى موجود في هذه المشاركة انصحكم بالدخول والاطلاع علية http://www.officena.net/ib/index.php?showtopic=16932 اخواني في المواضيع القادمة لن اقوم بارفاق امثلة وانما سيكون الشرح بشكل عام حيث اننا سندخل الى النماذج واذا اردنا ان نضع مثال على كل موضوع فاننا نحتاج الى ما لا نهاية من الامثلة وذلك كون كل فكرة ممكن ان تخطر في بالنا ستحتاج الى نموذج ولكن ممكن ان نقوم بادراج امثلة حسب الطلب رابط هذا التعليق شارك More sharing options...
osama ababneh قام بنشر أغسطس 4, 2008 الكاتب مشاركة قام بنشر أغسطس 4, 2008 النماذج بعد ان قمنا بانشاء الجداول والاستعلامات (قاعدة البيانات) الان سندخل الى تصميم واجهات الادخال (النماذج). اخواني كون النماذج هي احد اكبر الهموم التي تواجة الذي يصمم برنامج وهي عادة ما يقوم المصمم العادي بالتفكير به اول شيئ سعطي لهذا الموضوع نوع من الاهتمام الخاص وسنقسم الشرح الى عدة اقسام: 1- عام 2 – تصميم النماذج بشكل عام 3 – ربط النماذج بالاستعلامات والجداول 4- بعض الكودات الضرورية في العمل 5- ربط النماذج بالتقارير 6- بعض المشاركات المفيدة والتي انصحكم بالاطلاع عليها اولا : عام تعتبر النماذج واجهة البرنامج وفي العادة (في البرامج الصغيرة) يكون التركيز عليها اكثر من أي شيئ اخر في البرنامج حيث انها الشيئ المرئي في البرنامج على العكس من العناصر الاهم (الجداول والاستعلامات) وبالتالي كلما كانت النماذج مصممة بصورة جميلة كان الانطباع عن البرنامج ككل بانة جيد والعكس. وفي الاكسس ممكن ان يكون النموذج اما نموذج عادي او ورقة بيانات (طبعا توجد اشكال اخرى) ولكن هذه هي الانواع هي الاكثر استخداما وممكن القول انها هي فقط التي يتم استخدامها. وقبل البدئ لا بد من التمييز بين مربع النص والتسمية حيث انني لاحظت بعض المشاركات تكون المشكلة فيها بسبب اللبس بين هذين النوعين.... فمربع النص يكون مرجع البيانات لة احد حقول الجداول او الاستعلامات ( أي انه يستخدم لعرض او ادخال البيانات في قاعدة البيانات) اما مربع التسمية فانة يستخدم لادراج نص معين داخل النموذج وممكن التحكم بالنص الموجود فية برمجيا ويمكن ان يتم ربط النص الموجود فية بمربع نص وذلك عن طريق الكود. ثانيا : تصميم النماذج بشكل عام يمكن ان نقوم باستخدام معالج النماذج لتصميم النموذج وهي فعليا الطريقة الاسهل حيث ان وظيفتك هي الاختيار فقط واتباع التعليمات للحصول على نموذج كما يمكن ان نقوم بانشاء نموذج عن طريق انشاء نموذج في طريقة عرض التصميم وهي ايضا سهلة ولكن خطواتها اكثر ان عملية تصميم نموذج مبني على جدول او استعلام ليتم الادخال مباشرة عملية سهلة ولا تحتاج أي شرح وكل ما في الامر هو تصميم النموذج ثم البدئ باستخدام البرنامج ولكن تكمن القضية في ان نقوم باستخدام نماذج فرعية داخل النموذج وهذا ما يحتاج الى بعض التوضيح فقبل ان تقوم بادراج نموذج فرعي تذكر ان النموذج الفرعي يجب ان تكون له علاقة بالنموذج الرئيسي. تصميم النماذج بشكل عام عملية سهلة وصعبة في نفس الوقت فالجانب السهل منها هو تصميم نموذج عادي ليتم ادخال البيانات فية اما الجانب الصعب هو عندما نبدأ بالتفكير باضافة الحركات والشروط والتعليمات البرمجية الى هذا النوذج .... واعتقد ان هذا هو اجمل ما في الموضوع لدى الكثير منا. ثالثا: ربط النماذج بالاستعلامات والجداول للذي تابع معنا الشرح منذ البداية فاذا تذكرون في قسم الاستعلامات اجلنا بعض المواضيع للنماذج حيث سيتم حاليا شرح وضع شروط معينة في النموذج ليتم تحقيقها في الاستعلام. فلنفرض اننا نريد ان يتم عرض السجلات في نموذج بناء على استعلام فتكون الخطوات عمل نموذج مبني على هذا الاستعلام ولكن ماذا اذا اردنا ان لا يتم اظهار كل السجلات الموجودة في الاستعلام وانما السجلات التي تحقق شرط معين مثلا السجلات المحصورة بين تاريخين, او السجلات التي فيها الجنس = ذكر, او انثى ان عملية وضع شرط في النموذج من الامور السهلة للغاية فما عليك سوى ان تقوم بوضع مربع نص في النموذج يعرض قيما معينة مثلا ذكر، انثى ونسمية SunSex ثم تذهب الى الاستعلام (مصدر النموذج) وتضع في الشرط اسفل الجنس الكود التالي [forms]![form_name]![sunsex]= ثم تقوم بعمل نموذج فرعي وتضع فية النموذج المبني على الاستعلام ولفهم الية العمل لهذه الطريقة عند وضع الكود في الاستعلام وكانك تقول للكمبيوتر اعرض لي السجلات التي يكون فيها جنس الطفل مساويا للقيمة الموجوده في النوذج الفلاني في مربع النص الفلاني وطبعا هناك الكثير من الشروط والكثير من الاوامر التي ممكن ان نستخدمها في الاستعلام وعليك ان تبحث عنها وستجد الكثير منها في المنتدى عندما تدخل الى تصميم أي برنامج من البرامج التي يرفقها الاخوة في المنتدى طبعا انا لن اطيل في شرح الموضوع لانه موضوع لا نهاية له وهو ليس ببحر وانما محيط كبير رابعا : بعض الكودات الضرورية في العمل وكيفية كتابة الكود للاسف لن اقوم بشرح هذا الموضوع في هذه المشاركة حيث انني قمت بشرح جزئ من ذلك في مشاركة سابقة وهذا رابطها http://www.officena.net/ib/index.php?showtopic=23698 طبعا لمن يريد التعلم فان افضل طريقة كي تتعلم الكودات والية كتابتها هي الدخول الى البرامج الجاهزة والموجود الكثير منها في المنتدى ورؤية الكودات الموجودة فيها وما هي الية عمل كل كود وما الى ذلك خامسا: ربط النماذج بالتقارير كما تكلمنا سابقا عن ربط النماذج بالاستعلامات فاننا بنفس الطريقة ممكن ان نربط النماذج بالتقارير فممكن ان نعرض التقارير بناء على شروط معينة ومن خلال النموذج وذلك باضافة زر امر لفتح التقرير وفي الكود الخاص بهذا الزر ممكن ان نضع شرط معين ليتم عرض البيانات بناء علية لم يتبقى الان الا التقارير والتقارير اخواني لا تحتاج الى شرح على ما اعتقد كما ان هناك الكثير من الشروحات حول هذا الموضوع في مكتبة المنتدى ولذلك لن قوم بشرحها اما اذا كان لاحدكم استفسار فانا جاهز ان شاء الله واخواننا في المنتدى ايضا على اهبة الاستعداد لتقديم اي مساعدة . وارجو ان اكون قد وفقت من الله في تقديم وتبسيط هذا الموضوع .... ولا تنسونا من دعائكم رابط هذا التعليق شارك More sharing options...
abdopasha قام بنشر ديسمبر 1, 2017 مشاركة قام بنشر ديسمبر 1, 2017 السلام عليكم الاخ الكريم السلام عليكم جميعا أريد مساعدة منكم فى تصميم قاعدة بيانات طبية لقسم داخلى بمستشفى تحتوى على جدول للمرضى وجدول للمستهلكات وعتد ادخال بيانات مريض : تكون شاشة الادخال بها بيانات المريض مع مستهلكاته وبالنسبة للاستعلام: يكون كالتالى : استعلام عن مريض استعلام عن مريض بالمستهلكات استعلام عن المرضى فى فترة بالمستهلكات بالنسبة لواجهة البرنامج كالتالى : ادراج صورة مريض البحث عن مريض التقارير كالتالى : مريض بالمستهلكات و المرضى فى فترة معينة بالمستهلكات مع أمكانية طباعة التقرير برجاء الاطلاع على هذا التصميم البسيط لأنى مشعارف اظبطه BURNS.zip رابط هذا التعليق شارك More sharing options...
الردود الموصى بها
من فضلك سجل دخول لتتمكن من التعليق
ستتمكن من اضافه تعليقات بعد التسجيل
سجل دخولك الان