random

آخر الأخبار

random
جاري التحميل ...

القواعد الذهبية لتصميم قواعد البيانات والتعامل معها

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


database tables

جداول قاعدة البيانات database tables

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

تحديد الجداول اللازمة لقواعد البيانات

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

تحديد الجداول اللازمة لقواعد البيانات

تحديد الحقول اللازمة لكل جدول

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

تحديد الحقول اللازمة لكل جدول

أنواع الحقول

لكل حقل نوع البيانات الخاص به Field Data Type فمثلا حقل الاسم ، يكون نوعه حقله "نصي" Text لأنه سيحتوي على بيانات نصيه ، بينما حقل "تاريخ الميلاد" سيكون من نوع "تاريخ/وقت" Date/Time لأنه سيضم بيانات تواريخ.
وهناك أنواع حقول بيانات عديدة مثل الحقول الرقمية Numbers التي تقبل إدخالات الأرقام فقط بتنسيقاتها المختلفة، وهناك حقول العملة Currency التي تقبل إدخالات الأرقام وتقوم بإظهارها في التنسيقات المحاسبية التي يمكن إضافة رموز العملة بها، وهناك حقول الترقيم التلقائى AutoNumber التي يتم تعبئتها تلقائيا مع كل سجل جديد يتم إضافته بالجدول، وهناك الحقول المنطقية Yes/No التي تحتوي على قيمة واحدة فقط (نعم أو لا).


أنواع الحقول


خصائص الحقول

لكل حقل مجموعة من الخصائص Field Properties التي تتحكم في خصائص هذا الحقل، فيمكن ضبط خاصية الحجم Size لحقل "نصي" Text مثلا على 50، يعنى ذلك أنه لا يمكن إدخال نصوص أكثر من 50 حرفا في هذا الحقل، وحقول "التاريخ والوقت" يمكن ضبطها مثلا لتظهر في تنسيق التاريخ الطويل أو المتوسط أو الطويل.
وكذلك الحال بالنسبة لكل نوع من أنواع الحقول الأخرى.

خصائص الحقول


المفتاح الأساسي

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

المفتاح الأساسي


الفهارس

تمكن الفهرس Indexes برنامج قواعد البيانات من العمل بسرعة أثناء البحث والترتيب، وهي طريقة فيزيائية لترتيب السجلات وهي تعمل بنفس طريقة الفهارس العادية الموجودة في الكتب والأدلة، ويمكن إنشاء الفهارس على حقل أو أكثر من حقل في جداول قاعدة البيانات.


الفهارس

تحديد العلاقات بين الجداول

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

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

 علاقة رأس بأطراف

إنشاء العلاقة بين جدولين

قبل البدء في إعداد علاقة بين جدولين يجب في البداية تحديد طبيعة هذه العلاقة أو نوعها ويجب تصميم الجداول المرتبطة بعلاقات تصميما صحيحا لأنه ربما يتوجب إضافة حقل في جدول لم يكن موجودا من قبل ليتم إنشاء العلاقة من خلاله أو حذف حقل من جدول يتوجب وجوده في جدول أخر.
توجد ثلاثة أنواع من العلاقات تستخدم للربط بين الجداول هي:
1- علاقة ارتباط رأس بأطراف One to Many.
2- علاقة ارتباط أطراف بأطراف Many to Many.
3- علاقة ارتباط رأس برأس One to One.


علاقة ارتباط رأس بأطراف One To Many

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

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

 علاقة ارتباط رأس بأطراف One To Many

فرض التكامل المرجعي

يمكن فرض التكامل المرجعي Referential Integrity في بعض العلاقات عندما يتم إضافة أو حذف سجلات من الجداول المرتبطة ويساعد التكامل المرجعي على التأكد من صحة العلاقات بين السجلات وعدم حذف بيانات مرتبطة بغير قصد.
فإذا تم مثلا حذف موظف من جدول "بيانات الموظفين"، فيتم حذف كافة السجلات المرتبطة به في جدول "المرتبات" إذا تم ضبط التكامل المرجعي على خاصية "تتالي حذف السجلات المرتبطة"، وكذلك الحال عند تحديث بيانات لسجلات مرتبطة.
يتم فرض التكامل المرجعي عند تحقق الشروط التالية:
- أن يكون حقل الارتباط في الجدول الأساسي للعلاقة مفتاحا أساسيا أو يحتوى على فهرس فريد (لا يحتوى على بيانات مكررة).
- أن تحتوى الحقول المرتبطة على نفس النوع من البيانات.
- أن ينتمي الجدولان لقاعدة بيانات واحدة.

فرض التكامل المرجعي




عن الكاتب

Ahmed Shahen

التعليقات


اتصل بنا

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

جميع الحقوق محفوظة

دورات تكنولوجيا المعلومات والتسويق الإلكتروني