Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

العلاقات في عالم البرمجة

  • مفهوم العلاقات
  • العلاقات في قواعد البيانات
  • العلاقات في لغات البرمجة
  • العلاقات بين الوحدات أو المكونات

مفهوم العلاقات

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

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

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

العلاقات في قواعد البيانات

العلاقات في جداول ( Tables ) قواعد البيانات يمكننا تصنيفها إلى ثلاثة أصناف كما يلي.


1- علاقة واحد إلى واحد ( One to One )

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


2- علاقة واحد إلى متعدد ( One to Many )

هذه العلاقة تعني ارتباط الكيان بأكثر من كيان، و هي أكثر أنواع العلاقات استخداماً.
مثال: الشخص يستطيع إمتلاك عدة شهادات، هواتف، سيارات، منازل إلخ..


3- علاقة متعدد إلى متعدد ( Many to Many )

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

العلاقات في لغات البرمجة

العلاقات في لغات البرمجة تكون بين الكائنات ( Objects ) لذا فهي قريبة من علاقات البشر مع بعضهم.


1- الوراثة ( Inheritance )

الوراثة هي حين يرث كلاس خصائص ( Attributes ) و دوال ( Methods ) من كلاس آخر.
مثال: كلاس يمثّل سيارة Car يرث من كلاس يمثّل مركبة Vehicle مما يعني أن السيارة هي نوع خاص من المركبات.


2- التكوين ( Composition )

التكوين هو عندما يحتوي الكلاس على كائن من كلاس آخر كجزء منه. هذا يعني أن "الكل" لا يمكن أن يوجد بدون "الجزء".
مثال: كلاس خاص يمثّل سيارة Engine و الذي هو جزء أساسي للسيارة حيث لا يمكن أن توجد السيارة بدون محرك.


3- التجميع ( Aggregation )

مشابه للتكوين، و لكن هنا "الكل" يمكن أن يوجد بدون "الجزء" حيث أن العلاقة تكون "يمتلك" أو "يحتوي على".
مثال: الفصل الدراسي Classroom قد يحتوي على طلاب Students. و لكن الفصل الدراسي يمكن أن يوجد بدون طلاب، و كذلك الأمر الطلاب يمكن أن يوجدوا بدون فصل دراسي معين.


4- الترابط ( Association )

الترابط هو الصلة المنطقية التي تكون موجودة بين الكلاسات. يمكن أن تكون هذه العلاقة أحادية الاتجاه أو ثنائية الاتجاه.
مثال: عميل Customer ينشئ طلب Order.

العلاقات بين الوحدات أو المكونات

الأنظمة البرمجية الكبيرة غالباً ما تتضمن وحدات ( Modules ) و مكونات ( Components ) و لكنها تعمل مع بعضها البعض أو تكمّل بعضها.

العلاقات بين الوحدات و المكونات تشمل ما يلي.


1- التبعيات ( Dependencies )

عندما يعتمد مكون واحد على مكون آخر لأداء وظيفته.


2- الاستدعاءات ( Calls )

عندما يستدعي مكون وظيفة أو خدمة من مكون آخر.

آخر تحديث في 10-07-2025

Asem Najee

ادرس تخصص هندسة البرمحيات ، ومهتم بتطوير الويب واتعلم لاصبح Full Stack Web Developer.

AsemNajee.github.io/Portfolio

تعليقات 1

أضف تعليق

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