# طريقة الكيانات والعلاقات

طريقة الكيانات والعلاقات (بالإنجليزية: Entity–relationship model)‏ هي طريقة للقيام بالنموذج التصوري لقواعد البيانات.

## التأسيس

تأسست طريقة الكيانات والعلاقات عام 1976 خلال أبحاث شين (Chen). في عام 1983، تم تأسيس طريقة «ميريز» (MERISE) خلال أبحاث (Tardieu وآخرين)، وهي طريقة للتحليل المعلوماتي مخصصة لمفهوم قواعد البيانات، وقد شكلت طريقة الكيانات والعلاقات صلب هذه الطريقة وهذا ما جعلها طريقة فعالة وناجحة.
تعتمد طريقة الكيانات والعلاقات على ثلاثة مفاهيم:
* الكيان.
* العلاقة.
* الصفة.

## نظرة عامة

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

### نموذج البيانات المفاهيمي

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

### نموذج البيانات المنطقية

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

## الكيان

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

## العلاقات

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

## عددية العلاقة

تتمثل عددية العلاقة (Cardinality) بحساب الحد الأدنى والحد الأعلى (Minimum & Maxuimum) لعدد تجسيدات العلاقة التي يشارك فيها كيان مشارك في هذه العلاقة. ويتم حساب العددية لكل كيان مشارك في العلاقة، ويتم عرض العددية على الشكل التالي: (الحد الأدنى، الحد الأعلى)
يوجد ثلاث أنواع كبرى من العددية:
* 1، ع
* ع، م
* 1.1

## الكيان الضعيف

بعض الكيانات تدعى «كيانات ضعيفة» لا تنوجد الا بتواجد كيانات أخرى تدعى كيانات معرفة. الكيان المعرف يسمى «المعرف الغريب» والعلاقة التي تصلهما تدعى «العلاقة المعرفة».
يعتبر تحديد الكيانات الضعيفة امرا بالغ الأهمية في مسار بناء النموذج:
* نوع العلاقة رأس برأس حيث ان كل قسم لة موظف واحد يديرة، حدد مدير كل قسم؟
* المشاركة الكلية للكيان قسم حيث انه لا يوجد قسم بدون موظف يديرة.
* المشاركة الجزئية لكيان موظف حيث انة ليس كل موظف مديرا لقسم.

## طريقة كيانات العلاقات المطورة

تم مؤخرا تحديث طرقة الكيانات والعلاقات الكلاسيكية لإعطائها قدرة أكبر على التمثيل. هذ التحسين يسمح بتعزيز البعد التصوري والاقتراب من العرض الغرضي، مثل الUML:
* يمكن للصفة أن تكون مؤلفة من عدد من الصفات الأخرى.
* يمكن للصفة أن تكون متعددة القيمة.
* يمكن لقيمة الصفة أن تكون مشتقة من من قيمة صفة أخرى أو أكثر.
* الكيان يمكن ان يكون متفرعا من كيان أخر أكثر شمولية، وهذا مشابه لمبدأ «الواراثة» في التحليل الغرضي التوجه، والذي يمثل بدوره النموذج المفاهيمي.
يوجد طريقتين للقيام بهذا النموذج:
* طريقة الكيانات والعلاقات (Entity relationship): وهذه الطريقة تستطيع ان تطبق بمفهومين:
*   * مفهوم شين (Chen): والذي انجزه الباحث شين (Chen) عام 1976 ويعتير شين المؤسس لطريقة الكيانات العلاقات
*   * مفهوم الMERISE والتي انجزت بواسطة (Tardieu وآخرين) عام 1985.
* وطريقة (Class diagrams of UML).

## النموذج الترابطي

النموذج الترابطي هو المرحلة الثانية في عملية تحليل قواعد البيانات. ويعتبر هذا النموذج من المراحل الآساسية في مفهوم قواعد البيانات فمن خلال هذا النموذج تتم عملية التطبيق على الآلة.
تتم عملية بناء هذا النموذج بتحويل النموذج التصوري إلى علاقات، عبر اتباع قواعد محددة. العلاقة هي عبارة عن مجموعة فرعية من مجموعة الضرب الديكارتي (Cartesian Poduct) بين عدد من المجالات (Domain).
يمكن تشبيه العلاقة بجدول من عدة عواميد، وكل خط منه يعتبر تجسيد(instantiation) لهذه العلاقة.
وقد تم مؤخرا إصدار نموذج جديد يدعى النموذج الترابطي الغرضي (Relationnel object) وهو مقتبس عن التحليل الغرضي التوجه، حيث تصبح العلاقات عبارة عن جداول أغراض.
وبعد عملية بناء النموذج الترابطي، غالبا ما يتم ما يسمى بالتطبيع (Nomalisation) حيث يتم دراسة النموذج الترابطي في هدف تحسينه.
وهناك عدة أشكال من التطبيع وكل واحدة منها لديها قواعد محددة:
* الشكل التطبيعي الأول (1NF: First normal form)
* الشكل التطبيعي الثاني (2NF)
* الشكل التطبيعي الثالث (3NF)
* الشكل التطبيعي ل بويس-كود (Boyce_Codd NF)
* الشكل التطبيعي الرابع (4NF)
* الشكل التطبيعي الخامس (5NF)
وغالبا يتم السعي إلى تطبيق الشكل التطبيعي الثالث.

## النموذج التقني

النموذج التقني هو المرحلة الأخيرة من مفهوم قواعد البيانات، حيث يتم تطبيق النموذج الترابطي على الآلة، عبر برامج إدارة قواعد البيانات واستخدام لغة ال "الأس كي أل (SQL).
ويوجد العديد من هذه البرامج، منها:
* أوراكل(ORACLE)، وهو برنامج إدارة قواعد بيانات ترابطية، وترابطية غرضية في آخر اصداراته. وهو نظام مخصص للتطبيقات العالية المستوى (Professional).
* ماي أس كيو أل (MySQL)، وهو برنامج إدارة قواعد بيانات ترابطية، ويستخدم خصوصا لبناء مواقع متحركة على شبكة الإنترنت بمساعدة لغة الPHP.
* بوسغر أس كيو أل (PosgreSQL) وهو برنامج إدارة قواعد بيانات ترابطية وترابطية غرضية، وهو برنامج منتج وقوي ويشكل بديلا مفتوح المصدر (Open Source) للبرامج التجارية مثل أوراكل.
* أكسس (Access) وهو برنامج إدارة قواعد بيانات ترابطية من شركة مايكروسوفت العالمية، وهو مخصص للتطبيقات الصغيرة.
* أس كيو أل سيرفر (SQL-Server) وهو نظام إدارة قواعد البيانات ترابطية من مايكروسوفت مخصص للتطبيقات والبرمجيات الكبيرة ويستخدم في المواقع والمخدمات التي يشغلها نظام خادم IIS التابع لمايركوسوفت أيضا.

## مراجع

* ↑ Beynon-Davies، Paul (2004). Database Systems. Basingstoke, UK: Palgrave: Houndmills. ISBN:1403916012.
* ↑ “Designing a Logical Database: Supertypes and Subtypes” نسخة محفوظة 26 أغسطس 2017 على موقع واي باك مشين.
* ↑ Chen، Peter (مارس 1976). "The Entity-Relationship Model - Toward a Unified View of Data". ACM Transactions on Database Systems. ج. 1 ع. 1: 9–36. DOI:10.1145/320434.320440.