দ্বিতীয় সাধারণ ফর্ম একটি ডাটাবেস স্থাপন
গত মাসে, আমরা একটি ডাটাবেস টেবিলের সাধারণকরণের বেশ কিছু দিক বিবেচনা করেছি। প্রথমত, আমরা ডাটাবেসের স্বাভাবিককরণের প্রাথমিক নীতির বিষয়ে আলোচনা করেছি। শেষবার, আমরা প্রথম স্বাভাবিক ফর্ম (1 এনএফ) দ্বারা নির্ধারিত মৌলিক প্রয়োজনীয়তাগুলি আবিষ্কার করেছি। এখন, আসুন আমাদের যাত্রা শুরু করি এবং দ্বিতীয় স্বাভাবিক ফর্ম (2 এনএফ) এর নীতিগুলি আবরণ করি।
2 এনএফ এর সাধারণ প্রয়োজনীয়তাগুলি প্রত্যাহার করুন:
- সারণির একাধিক সারিগুলিতে প্রয়োগ করে এমন ডেটাগুলির সাবসেটগুলি সরান এবং সেগুলিকে পৃথক সারণিতে স্থাপন করুন
- বিদেশী কী ব্যবহার করে এই নতুন টেবিলের এবং তাদের পূর্বসুরীদের মধ্যে সম্পর্ক তৈরি করুন।
এই নিয়মাবলী একটি সাধারণ বিবৃতিতে সংক্ষিপ্ত করা যেতে পারে: 2NF এটি খোলার মাধ্যমে একটি টেবিলে অপ্রয়োজনীয় ডেটা পরিমাণ কমাতে চেষ্টা করে, এটি নতুন সারণিতে স্থাপন করে এবং সেই টেবিলগুলির মধ্যে সম্পর্ক তৈরি করে।
আসুন একটি উদাহরণ তাকান। একটি অনলাইন স্টোর কল্পনা করুন যে একটি ডাটাবেস গ্রাহক তথ্য রক্ষণাবেক্ষণ। তাদের নিম্নলিখিত উপাদানের সাথে গ্রাহক নামে এক টেবিল থাকতে পারে:
- CustNum
- নামের প্রথম অংশ
- নামের শেষাংশ
- ঠিকানা
- শহর
- রাষ্ট্র
- জিপ
এই টেবিলের একটি সংক্ষিপ্ত বর্ণন একটি অপ্রয়োজনীয় তথ্য ছোট পরিমাণ প্রকাশ করে। আমরা "সাগর ক্লিফ, NY 11579" এবং "মিয়ামি, FL 33157" এন্ট্রিগুলি দুবার প্রতিস্থাপন করছি। এখন, এটা আমাদের সহজ উদাহরণে খুব বেশি পরিমাণে স্টোরেজ বলে মনে হতে পারে না, তবে আমাদের টেবিলে যদি হাজার হাজার সারি থাকে তবে কীভাবে অপচয় করা যায় সেটি কল্পনা করুন। উপরন্তু, যদি সাগর ক্লিফের জন্য জিপ কোড পরিবর্তন করা হতো, তবে আমাদের ডাটাবেসে সারা বিশ্বে অনেক পরিবর্তন করতে হবে।
একটি 2NF- অনুবর্তী ডাটাবেস কাঠামোর মধ্যে, এই অপ্রয়োজনীয় তথ্য একটি পৃথক সারণিতে নিষ্কাশিত এবং সংরক্ষণ করা হয়। আমাদের নতুন টেবিলের (এর এটির নাম দিন) নিম্নলিখিত ক্ষেত্র থাকতে পারে:
- জিপ
- শহর
- রাষ্ট্র
আমরা যদি অতি কার্যকরী হতে চাই, আমরা এই টেবিলের আগেও পূরণ করতে পারি - ডাকঘর সমস্ত বৈধ জিপ কোড এবং তাদের শহর / রাষ্ট্রীয় সম্পর্কের একটি ডিরেক্টরি প্রদান করে। নিশ্চয়ই, আপনি এমন একটি পরিস্থিতির সম্মুখীন হয়েছেন যেখানে এই ধরনের ডাটাবেস ব্যবহার করা হয়েছে। কোনও অর্ডার গ্রহণকারী কেউ হয়তো প্রথমে আপনাকে আপনার জিপ কোডের জন্য জিজ্ঞাসা করতে পারে এবং তারপর আপনি যে শহর এবং রাষ্ট্র থেকে ফোন করছেন তা জানত। এই ধরনের ব্যবস্থা অপারেটর ত্রুটি এবং বৃদ্ধি দক্ষতা হ্রাস।
এখন যেহেতু আমরা গ্রাহকদের টেবিলের দ্বিগুণ তথ্য মুছে ফেলেছি, আমরা দ্বিতীয় স্বাভাবিক ফর্মের প্রথম নিয়মটি সন্তুষ্ট করেছি। আমরা একসঙ্গে দুটি টেবিস গিঁট একটি বিদেশী কী ব্যবহার করতে হবে। আমরা সেই সম্পর্ক তৈরি করতে জিপ কোড (পিপ টেবিল থেকে প্রাথমিক কী) ব্যবহার করব। এখানে আমাদের নতুন গ্রাহক টেবিল:
- CustNum
- নামের প্রথম অংশ
- নামের শেষাংশ
- ঠিকানা
- জিপ
আমরা এখন ডাটাবেসের মধ্যে সংরক্ষিত অপ্রয়োজনীয় তথ্য পরিমাণ কমিয়ে আনা এবং আমাদের গঠন দ্বিতীয় স্বাভাবিক ফর্ম!
যদি আপনি আপনার ডাটাবেসটি স্বাভাবিককরণ নিশ্চিত করতে চান তবে এই সিরিজের অন্যান্য নিবন্ধগুলি সন্ধান করুন:
- ডাটাবেস সাধারণকরণের মূলসূত্র
- আপনার সাধারণ ডেটাবেস প্রথম সাধারণ ফর্মে ঢুকিয়ে দিন
- দ্বিতীয় সাধারণ ফর্ম আপনার ডাটাবেস স্থাপন
- তৃতীয় সাধারণ ফর্ম আপনার ডাটাবেস স্থাপন