سؤال

هل هناك أي ميزة في إنشاء سياسة تتطلب مطورين لتحديد القيم الافتراضية لجميع الأعمدة الفارغة؟

هل كانت مفيدة؟

المحلول

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

وأعتقد أن فكرة عظيمة.

نصائح أخرى

إذا كنت بحاجة إلى قيمة افتراضية لجميع الأعمدة الفارغة، فيمكنك أن تجعلها ليست فارغة!

غالبا ما تكون Nulls مصدرا للارتباك، بسبب منطق القيمة الثلاثة التي تنطوي عليها. على سبيل المثال، الاستعلام ...

select * from employee where job != 'MANAGER'

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

قد يكون هذا هو الأساس المنطقي وراء سياسة القيم الافتراضية.

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

تضمين التغريدة

... قد يتوقع أن يعيد جميع الموظفين الذين ليسوا مديريين. ومع ذلك، بطبيعة الحال، إذا كان الوظيفة قد تكون فارغة، فلن يعيد هذا الاستعلام الموظفين الذين وظيفتهم فارغة. قد يكون هذا هو الأساس المنطقي وراء سياسة القيم الافتراضية ....

اخترع NULL للتعامل مع القيمة المفقودة، لذلك لاستفسارك عقلاني تماما لعدم إرجاع الصفوف ذات قيمة فارغة في مجال الوظيفة! أنت تسأل DBMS لإرجاع الصفوف التي لا تعمل الوظيفة؛ هذا يعني عدم إعادني أولئك الذين وظائفهم غير معروفة. إذا كنت تريد الوظائف المفقودة أيضا، فهذا سؤال مختلف.

فقط تخيل قد يكون هناك بعض المديرين هناك حقول عملهم فارغة (مفقودة، غير مدخل بعد) لذلك إذا عودة قاعدة البيانات، فإن نتيجة الاستعلام سيكون مخطئا تماما!

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

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