هل أسماء المستخدمين مرشح صالح للمفتاح الأساسي؟
-
23-09-2019 - |
سؤال
أعلم أن المفاتيح الأولية البديلة موصى بها بشكل عام على المفاتيح الأساسية الطبيعية ، ولكن هل هناك أي حجج لصالح المفاتيح الأولية البديلة عندما يتعلق الأمر بأسماء المستخدمين؟
المحلول
إذا كنت لا ترغب في الحصول على أسماء مستخدمة مكررة ، قم بإنشاء أ UNIQUE constraint
.
ماذا إذا DWong1145
يريد تغيير اسم المستخدم؟ هل ستجعل جميع علاقات قاعدة البيانات UPDATE CASCADE
?
نصائح أخرى
لا, ، يجب استخدم اسم المستخدم فقط كمفتاح/ثابت فريد. يمكن تغيير اسم المستخدم ، فقط ومثال: قد يكون علامة تجارية ويطلب منك المالك إسقاطها.
إنه مرشح جيد إلى حد ما ، ومع ذلك عليك أن تفكر إذا كنت تريد حقًا القيام بذلك. على سبيل المثال ، لديك مستخدم يحمل اسم مستخدم معين ، ثم يتم "حذف" المستخدم (أو تم وضع علامة عليه كما تم حذفه). لذلك ، لا يوجد في الواقع أي سبب لعدم السماح بإنشاء مستخدم آخر بنفس اسم المستخدم ، لكنه "تم أخذه بالفعل" ، لأنه مفتاح أساسي.
من وجهة نظر العميل ، تراهن. لا أريد أن يكون اسم المستخدم الخاص بي DWONG1145.
من العيوب الكبيرة المتمثلة في وجود سلسلة كمفتاح أساسي ، بغض النظر عما إذا كان اسم مستخدم أو أي شيء آخر ، هو أن جميع أعمدة المفاتيح الخارجية التي تشير إلى الجدول يجب أن تكون أيضًا سلاسل ، والتي هي أبطأ وتضيع مساحة أكبر.