مقدمة لنموذج بيانات التقارير الإلكترونية

نظرة عامة بسيطة ولكنها شاملة لنموذج بيانات علاقة الكيان

النموذج بيانات العلاقة بين الكيانات، أيضا يسمىER، هي واحدة من مختلفنماذج البياناتيمكنك استخدامها لتوضيح بياناتك.

على وجه الخصوص ، إنه ملفنموذج البيانات المفاهيمي، لأنه غير مرتبط بأي تنفيذ معين. هذه مهمة تركت لنموذج البيانات المنطقية.

النموذج بيانات ERهي عامة جدًا وذات مستوى عالٍ بحيث يمكن تنفيذها عن طريق مجموعة متنوعة من قواعد البيانات المختلفة تمامًا.

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

أجد مخططات ER رائعة في مساعدتك على تحليل سيناريو يتم فيه تضمين البيانات.

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

هناك عنصران يؤلفان نموذج ER:

  • الجهات
  • العلاقات

الكيانات هي أنواع من البيانات ، مثل العناصر أو الأشخاص ، التي لها خصائص مشتركة.

العلاقات هي العلاقات بين الكيانات.

دعني أعطيك مثالاً ، لنتحدث عن الكتب ومؤلفيها. نملك2 الكيانات:

  • الكتاب
  • مؤلف

كتاب معين هو مثال على كيان الكتاب.

نظرًا لأن لدينا كيانين ، فلدينا كيانان2 العلاقاتبينهم. أحدهما هو العلاقة بين كتاب واحد وكيان المؤلفين. أحدهما هو العلاقة بين مؤلف واحد وكيان الكتب. إذا فكرنا في الأمر ، فلديك:

  • كتاب له مؤلف
  • يمكن للمؤلف كتابة العديد من الكتب المختلفة

التدوين المرئي للكيانات

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

ملاحظة: هناك العديد من الطرق المختلفة لرسم مخططات ER. سأستخدم ذلك ،فى اعتقادي، أكثر وضوحًا وأكثر منطقية

يتم تمثيل الكيانات على شكل مستطيلات ، مع وجود بعض النصوص فيها للتعرف عليها:

Entities

التدوين المرئي للعلاقات

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

Relation example

لاحظ أنني لم أقم بإنشاء علاقتين "للكتاب مؤلف" و "المؤلف كتب كتاب". لقد أقمت علاقة واحدة "مؤلف" بين كتاب ومؤلف.

الكاردينالات

بمجرد أن تكون لدينا علاقة ، يجب أن نشير الآن إلى الأرقام المعنية. في الوقت الحالي ، لدينا العديد من الأسئلة:

  • كم عدد المؤلفين الذين يمكن أن يمتلكها الكتاب؟
  • هل يستطيع المؤلف كتابة كتب متعددة؟
  • هل يحتاج المؤلف إلى كتابة كتاب واحد على الأقل ليتم تسميته مؤلفًا؟
  • هل يمكن تأليف كتاب من قبل مؤلفين متعددين؟
  • هل يمكن أن يوجد كتاب بدون مؤلف على الأقل؟

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

هناك طرق مختلفة للإشارة بصريًا إلى العناصر الأساسية في الرسم التخطيطي. يفضل البعض تغيير شكل الخط عندما يرتبط بكيان.

أفضل الأرقام التي تجعل الأمور أكثر وضوحًا:

Cardinality example

الأرقام أعلاه تعني هذا: يمكن تأليف الكتاب من قبل مؤلف واحد أو أكثر.nيعني أي عدد من العناصر.

ويمكن للمؤلف أن يؤلف من 0 كتب (ربما يكتب كتابًا الآن) إلى عدد لا حصر له من الكتب.

الأول يسمىعلاقة من صفر بأطراف. والثاني هوعلاقة واحد بأطراف.

يمكننا أيضًا الحصول على:

  • العلاقات الفردية
  • علاقات كثير إلى كثير
  • العلاقات من صفر إلى واحد

صفات

يمكن أن يكون لكل كيان سمة واحدة أو أكثر.

لنفترض أننا سنستخدم العلاقة أعلاه في محل لبيع الكتب. كل مؤلف له اسم وسيرة ذاتية وعنوان URL لموقع الويب.

كل كتاب له عنوان وناشر وسنة نشر ورقم ISBN. يمكن أن يكون الناشر كيانًا أيضًا ، إذا أردنا ذلك. لكن يمكننا أيضًا تعريفه على أنه سمة من سمات الكتاب.

هذه هي الطريقة التي يمكننا بها تمثيل المعلومات أعلاه:

Attributes example

سمات المعرف

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

نحدد السمات الأساسية الأساسية من خلال تحديدها:

Key

المؤلف ، من ناحية أخرى ، ليس لديه معرف فريد في الوقت الحالي. يمكن أن يكون لمؤلفين نفس الاسم.

لذلك يجب علينا إضافة سمة رئيسية فريدة. على سبيل المثالidينسب:

id attribute

يمكن أن تمتد سمات المعرف على سمات متعددة.

على سبيل المثال ، معرف جواز السفر والبلد المؤلف يحدد هوية الشخص بشكل فريد ، ويمكن أن يحل محلidالسمة التي أضفناها:

multiple attributes key

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

سمات العلاقة

السمات ليست فريدة للكيانات. يمكن أن يكون للعلاقات سمات أيضًا.

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

relation without attribute

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

relation attributes

كيانات ضعيفة

تحدثنا عن المفاتيح الأساسية أعلاه ، وكيف تحدد المساعدة الكيان بشكل فريد.

بعض الكيانات تعتمد على كيانات أخرى في وجودها ، ويتم استدعاؤهاكيانات ضعيفة.

افترض أننا بحاجة إلى نماذج الطلبات لمتجر عبر الإنترنت.

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

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

weak entity

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

إنه كيان ضعيف لأنه لا يمكن أن يوجد كيان صنف مرتب بدون كيان طلب.

العلاقات العودية

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

recursive relation

يمكن لأي شخص أن يكون من 0 إلى n أطفال ، وللأطفال أبوين (مع الأخذ في الاعتبار أبسط سيناريو).

علاقات ISA

يرمز ISA إلى IS-A ، وهي طريقة لنمذجة التعميمات في نموذج ER.

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

كلاهما له اسم ، لذلك نحن نستخرج الاسم حتى الكيان الشخصي ، وندير فقط خصائص كونك مؤلفًا أو قارئًا في الكيان المقابل:

isa relation

العلاقات غير الثنائية

ليست كل علاقة ثنائية بشكل صارم. لنأخذ سيناريو الدرس.

يتم أخذ الدرس في غرفة بالمدرسة اليوم في الساعة 10:00 ، مع معلم يتحدث إلى فصل دراسي عن الفيزياء.

لذلك ، يتم إعطاء الدرس في وقت معين من اليوم ، فهو يتضمن موضوعًا ، ومعلمًا ، وفصلًا ، وغرفة.

يمكننا نمذجه بهذه الطريقة:

non-binary relation


المزيد من دروس قواعد البيانات: