ياجماعة عندي سؤال...
عملت مرة تجربة لرؤية الفرق بين عمود الفورين كي والعمود الأصلي من نفس الجدول من حيث المساحة
يعني كان فيه عمود جدول كان لازم أضع فيه قيمة واحدة من خمس قيم كل قيمة من هذي الخمس القيم
حجمها فوق 30 حرف فبدلا ما أكتبها في عمود في نفس الجدول عملت لها جدول خاص يعوض عنها برقم
( يعني ما أرجع أكتب هذي القيم الخمسة نفسها لأ أكتب رقم بدلا عنها ) من أجل أوفر في المساحة المشكلة
عملت الطريقتين عملت جدول فيه هذا العمود صاحب القيم الخمس في قاعدة بيانات لنفسه وطبقت نفس
الفكرة في قاعدة بيانات جديدة لكن هذي المرة أستخدمت الفورين كي وعندما جئت لمشاهدة حجم قاعدة
البيانات ظهرت قاعدة البيانات الأثنين بنفس الحجم لماذا ؟ المفروض تكون قاعدة البيانات المستخدم فيها
فورين كي أصغر من الأولى لأنها يتم التعويض عنها برقم في عمود الفورين ... هل أحد يقدر يشرح السبب/
أو الفروقات والأختلافات بين الطريقتين و أيهما أفضل...وشكرا
الأخ عبدالله عمر
فهمك الأولي صحيح
إذا كنت قد قمت بإنشاء عمود في جدول باستخدام FOREIGN KEY يجب أن تكون هناك فارق في حجم قاعدة البيانات بين الجدولين لكن هناك بعض النقاط التي يمكن أن تسبب عدم ظهور الفارق المتوقع
1-الفهرسة (Indexing): إذا كانت القيم التي تقوم بتخزينها في العمود الأصلي مفهرسة يمكن أن يكون هناك فارق في حجم قاعدة البيانات
2-تكنولوجيا قاعدة البيانات: قد تختلف طرق التنفيذ من نظام إدارة قواعد البيانات (DBMS) إلى آخر قد يكون هناك تفاوت في كيفية التعامل مع البيانات والترتيبات الداخلية.
3-حالة البيانات (NULL values): إذا كان لديك NULL values في العمود الأصلي فإن FOREIGN KEY قد يتطلب قيما غير قابلة للإشارة (non-NULL values) مما قد يؤدي إلى زيادة في حجم البيانات
بخصوص أيهما أفضل يعتمد ذلك على سياق استخدامك ومتطلبات التطبيق الفورين كي تستخدم لتحقيق علاقات بين الجداول وهي طريقة قوية للربط بين البيانات ومن الجيد أيضا مراعاة أداء الاستعلامات وسهولةالصيانةعند اتخاذ قرار بتصميم قاعدةالبيانات
التعليقات