مخطط قاعدة البيانات الأمثل
-
12-12-2019 - |
سؤال
أنا على وشك إعادة تصميم مخطط قاعدة البيانات وأفكر في استخدام ORM في تطبيقي، هل سيعمل المخطط أدناه، على سبيل المثال، مع Eloquent ORM، أم هل سيتعين علي أيضًا إضافة جداول JOIN أيضًا؟
ISSUES(ID, ORGANIZATION_ID, DATE, TIME, CATEGORY_ID, TYPE_ID, ISSUE_DETAILS_ID)
ISSUE_DETAILS(ID, NAME, STATUS, EMAIL)
ORGANIZATIONS(ID, NAME, ADDRESS, CONTACT)
CATEGORIES(ID, CATEGORY)
TYPES(ID, TYPE, CATEGORY_ID)
المحلول
الشيء الوحيد الذي ربما القيام به بشكل مختلف هو issue_id
المفتاح الخارجي على issue_details
الجدول بحيث يمكن أن يكون لديك واحد إلى واحد علاقة.
حتى إذا كنت تستخدم بليغة هل يمكن أن تفعل شيئا مثل هذا.
echo $issue->details->name;
أنا لست متأكدا تماما ما سوف يكون التخزين في تفاصيل الجدول على الرغم ربما سيكون هناك عدة تفاصيل القضية في هذه الحالة سيكون لديك العديد من العديد من علاقة.
نصائح أخرى
بالإضافة إلى ما اقترحه جيسون، يمكنك أيضًا إزالة ملف category_id
من issues
الجدول منذ كل type
لديها بالفعل category
, ، لديك حق الوصول إلى الفئة من خلال النوع.
أي. $issue->type->category