اذهب الي المحتوي
أوفيسنا

بناء قاعدة البيانات


الردود الموصى بها

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

وهنا بعض من أسس بناء قواعد البيانات فمن خلالها نبني القاعدة على أساس سليم .

(راجع في ذلك الكتب التي تتكلم عن بناء قواعد البيانات مثل كتاب (بناء قواعد البيانات تأليف (ألين تايلور) وهو مترجم) بالإضافة إلى ما كتبه الأستاذ الفاضل (إنترنت ماستر) من هنافي الفريق العربي للبرمجة ) ..

وبإلماحة سريعة عن بناء قواعد البيانات فإن هناك مفاهيم ومصطلحات لابد من معرفتها :

1- الجدول الأب والجدول الابن :

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

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

2- الجدول التابع والجدول المتبوع(المستقل) :

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

3- توحيد الجداول :

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

بيانات الكتاب

بيانات الناشرين

بيانات المؤلفين .. الخ

فنقوم بتفصيلها كالتالي :

فجدول بيانات الكتاب يضم الحقول التالية : اسم الكتاب ، تاريخ الطبع ، عدد المجلدات ، سعر الشراء .. الخ

وجدول بيانات الناشرين يضم الحقول التالية : اسم الناشر ، المدينة ، البلد ، الهاتف ، صندوق البريد .. الخ

وجدول بيانات المؤلفين يضم الحقول التالية : اسم المؤلف ، كنيته .. الخ

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

4- المفتاح الأساسي والمفتاح الفرعي :

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

5- التكامل المرجعي :

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

1- تتالي التحديث :

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

2- تتالي الحذف :

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

هناك توجيهات تخصك كمطور قواعد بيانات منها :

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

2- ابتعد عن تسمية الكائنات بأسماء محجوزة لدى نظام قاعدة البيانات فمثلاً لا تسم الجدول باسم Table أو Tables أو النماذج باسم Form أو Forms كذلك Report للتقارير ، User وكل الكلمات والعبارات المحجوزة من قبل نظام قواعد البيانات حتى لا تقع في مشاكل أنت في غنى عنها .

3- اختر الأسماء كما تفهمها أنت والتي تدل على ما يراد منها .

4- بعد أن تنجح في كتابة كود وتعتمده اكتب تعليقاً يوضح عمله .

5- احتفظ بنسخ من قاعدة البيانات حتى لا يذهب جهدك سدى .

هذه بعضاً منها مما يحضرني الآن ولعل الإخوة الإكرام يثرون هذا الموضوع بخبراتهم وتجاربهم واطلاعاتهم .

  • Like 2
رابط هذا التعليق
شارك

  • 5 months later...
  • 2 weeks later...
  • 3 years later...
اتفق دهاقنة مصممي قواعد البيانات وكبراؤها من أولهم إلى آخرهم إلى أن على مصمم قاعدة البيانات أن يبدأ بتصميم القاعدة على الورق أولاً وقبل أن يتجه إلى الحاسب .. فيأتي بالأفكار من هنا وهناك ويعرضها على عقله ويتأملها فيكتب ويشطب ويزيد وينقص ويضيف ويحذف ويخطط لقاعدة البيانات كما تخطط المدن حتى تكون القاعدة التي يريد إنشاءها واضحة لديه تماماً .. فعند بداية فكرة القاعدة تكون القاعدة في المخيلة كمدينة كثيرة الأحياء كثيرة الطرق متشعبة المداخل والمخارج فيجلس المصمم مدة كافية يخطط ويدرس حتى تكون المدينة في مخيلته كقرية صغيرة جداً يعرف مداخلها ومخارجها .. هذا أمر لابد منه قبل الانتقال إلى الحاسب الآلي لتجسيد ما كتب على الورق إلى واقع ملموس .. ومن لم يتبع هذه الطريقة التي اتفق عليها خبراء مصممي قواعد البيانات فسوف يلهث خلف سراب لن يدركه وسيصلى بحر التعب والإرهاق بلا فائدة .

وهنا بعض من أسس بناء قواعد البيانات فمن خلالها نبني القاعدة على أساس سليم .

(راجع في ذلك الكتب التي تتكلم عن بناء قواعد البيانات مثل كتاب (بناء قواعد البيانات تأليف (ألين تايلور) وهو مترجم) بالإضافة إلى ما كتبه الأستاذ الفاضل (إنترنت ماستر) من هنافي الفريق العربي للبرمجة ) ..

وبإلماحة سريعة عن بناء قواعد البيانات فإن هناك مفاهيم ومصطلحات لابد من معرفتها :

1- الجدول الأب والجدول الابن :

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

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

2- الجدول التابع والجدول المتبوع(المستقل) :

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

3- توحيد الجداول :

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

بيانات الكتاب

بيانات الناشرين

بيانات المؤلفين .. الخ

فنقوم بتفصيلها كالتالي :

فجدول بيانات الكتاب يضم الحقول التالية : اسم الكتاب ، تاريخ الطبع ، عدد المجلدات ، سعر الشراء .. الخ

وجدول بيانات الناشرين يضم الحقول التالية : اسم الناشر ، المدينة ، البلد ، الهاتف ، صندوق البريد .. الخ

وجدول بيانات المؤلفين يضم الحقول التالية : اسم المؤلف ، كنيته .. الخ

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

4- المفتاح الأساسي والمفتاح الفرعي :

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

5- التكامل المرجعي :

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

1- تتالي التحديث :

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

2- تتالي الحذف :

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

هناك توجيهات تخصك كمطور قواعد بيانات منها :

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

2- ابتعد عن تسمية الكائنات بأسماء محجوزة لدى نظام قاعدة البيانات فمثلاً لا تسم الجدول باسم Table أو Tables أو النماذج باسم Form أو Forms كذلك Report للتقارير ، User وكل الكلمات والعبارات المحجوزة من قبل نظام قواعد البيانات حتى لا تقع في مشاكل أنت في غنى عنها .

3- اختر الأسماء كما تفهمها أنت والتي تدل على ما يراد منها .

4- بعد أن تنجح في كتابة كود وتعتمده اكتب تعليقاً يوضح عمله .

5- احتفظ بنسخ من قاعدة البيانات حتى لا يذهب جهدك سدى .

هذه بعضاً منها مما يحضرني الآن ولعل الإخوة الإكرام يثرون هذا الموضوع بخبراتهم وتجاربهم واطلاعاتهم .

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

"المعلم الصغير"

  • Like 1
رابط هذا التعليق
شارك

  • 1 month later...
  • 6 years later...
  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information