سؤال

أود أن تحسين فهم أصل القيود في إيه البيانية.

لدي اثنين من الكيانات:

  1. User
  2. Location

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

للقيام بذلك تحتاج إلى إدخال رابطة الدرجة UserLocation.

هل من الصحيح أن تقول لدي الآن 3 الكيانات ؟

إذا كنت رسم إيه diagam سبق ، أن أرسم في UserLocation الكيان, و أن أصل تبدو مثل هذا ؟

User 1 ------ * User Location *  ------ 1 Location
هل كانت مفيدة؟

المحلول

لا تحتاج إلى كيان ثالث.

في عالم الكيان ، تم تصميم هذا على النحو التالي:

  • مستخدم الكيان لديه قائمة بالمواقع.
  • يحتوي موقع الكيان على قائمة بالمستخدمين.

في العالم العلائقي ، تم تصميم هذا مثل هذا:

  • مستخدم جدول ، مع مفتاح user_id الأساسي
  • موقع جدول ، مع مفتاح أساسي الموقع _id
  • جدول user_location ، مع مفتاحين أجنبيين ، واحد لكل من الجداول أعلاه.

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

المستخدم * ------- * الموقع

نصائح أخرى

كل هذا يتوقف على نوع و مستوى entitiy الخرائط تقومون به.

يمكنك التعبير عن العلاقة كما هي

كيان 1 <> كيان 2

مثل استخدام 'أقدام الغربان' لتمثيل العلاقة عديدة.

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

كيان 1 > 3 الكيان < كيان 2

حيث كيان 3 (الخاص intermedite الجدول): يعقد PK لكل من الجداول و أحيانا أي بيانات أخرى مثل هوية فريدة من نوعها.... الخ

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top