سؤال

وأنا أحاول أن إجراء مكالمة الحكم في تنفيذ SQL خادم سماليش قاعدة بيانات '08.

وأنا ترجمة ملف نصي إخراج قاعدة بيانات ملف ثابت من نظام كوبول القديم إلى قاعدة بيانات SQL Server المذكورة أعلاه. انها قاعدة بيانات السيارة والقروض العقارية، والتي يمكن تحديدها بشكل فريد عن طريق الجمع بين هوية المقرض (عدد سبعة أرقام)، رقم الحساب المصرفي (15 أرقام)، و "لاحقة الحساب" (رقمين).

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

1) تحديد كل قرض باستخدام مفتاح ثلاثة أعمدة من القيم المذكورة أعلاه، أو
2) إلغاء تطبيع البيانات عن طريق تنفيذ عمود "مفتاح" وهي سلسلة 24 حرف الجمع بين القيم الثلاث.

ووdenormalization هو قبيح، ومنح، ولكن لا يمكنني توقع الشذوذ التحديث التي تحدث، لأن القروض لا يمكن أن تنتقل ذهابا وإيابا بين البنوك أو تغيير لاحقة قروضها. مكفول أي تغيير في هذه القيم ليكون حساب مختلف.

ومفتاح المركب هو أكثر أناقة، ولكن لقد قرأت بعض الاطروحات مما يدل على أن هذا شيء سيئ.

وهكذا، والتي من المرجح أن تكون الخيار خيارا أفضل، والأهم من ذلك، لماذا؟

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

المحلول

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

نصائح أخرى

وإذا كانت هذه البيانات المرجعية التي لن يتم تحديث كثير من الأحيان، ثم استخدام مفتاح متعددة الأجزاء يجب أن يكون على ما يرام.

وإذا كانت هذه هي بيانات المعاملات حركة المرور العالية، ثم إضافة مفتاح بديل (الهوية كثافة العمليات، مجمعة المفتاح الأساسي) وجعل مفتاح مفتاح بديل من ثلاثة أجزاء.

وأود أن لا تشير الخيار 2 تنفيذ على الإطلاق.

وأود أن أقترح فقط باستخدام مفتاح بديل رقمي-تزايد السيارات. لماذا هو بحاجة إلى أن يكون المزج الأعمدة الثلاثة الأخرى "مفتاح"؟

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