কিছু মন্তব্য ইতিমধ্যে এটি বলেছে, একটি সমাধান হল একটি নতুন প্রাথমিক কী ব্যবহার করা
উদাহরণ (@onedaywhen যেমন নিম্নলিখিত), এর যাক বলতে যে টেবিল বিদ্যমান দিন বই যে বই একটি তালিকা সংরক্ষণ এবং আমরা "ব্যবহার" প্রাথমিক কী-এর মত আইএসবিএন নির্ধারণ। তবে কিছু লেখক ভুল আইএসবিএন টাইপ করার ভুল করেছিলেন তাই তারা আইএসবিএন পরিবর্তন করার জন্য বলেছিল, এতে পরবর্তী কাজগুলি জড়িত ছিল:
- টেবিল বইগুলিতে একটি নতুন রেজিস্ট্রি তৈরি করুন
- পুরানো আইএসবিএন থেকে নতুন আইএসবিএন-এর সমস্ত উল্লেখ নির্দেশ করুন। (*)
- এবং শেষ পর্যন্ত, টেবিল বই থেকে পুরানো রেজিস্ট্রি মুছুন।
(*) এটি একটি বিদেশী কী ব্যবহার করে এমন একটি ডেটাবেজ মডেলের সমস্ত রেফারেন্সগুলি তুচ্ছ হতে পারে তবে কিছু মডেলের এটির অভাব রয়েছে।
Table Books
ISBN is the primary key
NAME is a simple field.
etc.
আমরা এটি হিসাবে পরিবর্তন
Table Books
InternalBookId as the primary key
ISBN as a simple field or an indexed field.
NAME is a simple field.
etc.
যেখানে নতুন ইন্টার্নালবুকআইড এমনকি স্বায়ত্তশাসিত মান হতে পারে।
এটি সম্পর্কে কনস:
এটি একটি নতুন ক্ষেত্র যুক্ত করে যা আরও স্থান / সংস্থান ব্যবহার করে।
এটির জন্য পুরো মডেলটি আবার লিখতে হবে।
নতুন মডেলটির স্ব-ব্যাখ্যা কম হতে পারে।
প্রো
- "প্রাথমিক কী" রূপান্তর করার অনুমতি দেয়।
- এমনকি "প্রাথমিক কী" ফেলে বা রিফ্যাক্ট করার অনুমতি দেয়, উদাহরণস্বরূপ, পুরাতন কলামটি ফেলে দেওয়া এবং একটি নতুন তৈরি করার জন্য বইগুলি আইএসবিএন -13 এ পরিবর্তন করা এত সহজ create
নতুন টেবিল:
Table Books
InternalBookId as the primary key
ISBN13 is a new field.
NAME is a simple field.
etc.