هل هو سيء لاستخدام اسم المستخدم والمفتاح الأساسي في تصميم قاعدة البيانات؟

StackOverflow https://stackoverflow.com/questions/1825613

سؤال

وقيل لي من قبل صديق:

<اقتباس فقرة>   

وماذا المفتاح الفريد الذي تستخدمه؟ اتمنى انك   لم يتم توفير اسم المستخدم بأكمله   --- هذا سوف تستخدم مساحة كبيرة جدا الطاولة! تعيين هوية المستخدم فريدة من نوعها لكل   (فريد) اسم المستخدم وحفظ هذا هوية المستخدم   (يجب أن يكون صحيحا غير موقعة   AUTO_INCREMENT أو BIGINT غير موقعة   زيادة تلقائية). لا تنسى أن   إنشاء مرجع

     

والمفاتيح الخارجية (userID) مراجع   usertable (userID) في جميع الجداول   باستخدام هوية المستخدم.

هل العبارة أعلاه صحيح؟ لماذا أو لماذا لا؟

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

المحلول

واعتقد انه من الصواب (لسبب خاطئ) لأن المفتاح الأساسي لا يمكن أن تتغير، ولكن username يمكن أن تتغير. لذلك يجب عليك استخدام userid لأنه لن يتغير.

نصائح أخرى

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

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