নর্মালাইজেশন এবং ডিনরমালাইজেশনের মধ্যে পার্থক্য

নর্মালাইজেশন এবং ডিনরমালাইজেশনের মধ্যে পার্থক্য
নর্মালাইজেশন এবং ডিনরমালাইজেশনের মধ্যে পার্থক্য

ভিডিও: নর্মালাইজেশন এবং ডিনরমালাইজেশনের মধ্যে পার্থক্য

ভিডিও: নর্মালাইজেশন এবং ডিনরমালাইজেশনের মধ্যে পার্থক্য
ভিডিও: Откат до iOS 4.3.5, 5.1.1, 6.1.3, jailbreak iOS 5 и iOS 6. S0meiyoshino. Прокачка iPhone 4 2024, নভেম্বর
Anonim

নরমালাইজেশন বনাম ডিনরমালাইজেশন

রিলেশনাল ডাটাবেসগুলি সম্পর্ক (সম্পর্কিত টেবিল) নিয়ে গঠিত। টেবিল কলাম গঠিত হয়. যদি টেবিল দুটি বড় হয় (অর্থাৎ একটি টেবিলে অনেক কলাম), তাহলে ডাটাবেসের অসঙ্গতি ঘটতে পারে। যদি টেবিল দুটি ছোট হয় (অর্থাৎ ডাটাবেস অনেকগুলি ছোট টেবিলের সমন্বয়ে গঠিত), এটি অনুসন্ধানের জন্য অদক্ষ হবে। নরমালাইজেশন এবং ডিনরমালাইজেশন দুটি প্রক্রিয়া যা ডাটাবেসের কর্মক্ষমতা অপ্টিমাইজ করতে ব্যবহৃত হয়। সাধারণীকরণ ডেটা টেবিলে উপস্থিত অপ্রয়োজনীয়তা কমিয়ে দেয়। ডিনরমালাইজেশন (স্বাভাবিককরণের বিপরীত) অপ্রয়োজনীয় ডেটা বা গ্রুপ ডেটা যোগ করে।

নর্মালাইজেশন কি?

নর্মালাইজেশন হল একটি প্রক্রিয়া যা রিলেশনাল ডাটাবেসে ডেটাতে থাকা রিডানড্যান্সিগুলিকে কমিয়ে আনার জন্য করা হয়। এই প্রক্রিয়াটি প্রধানত বড় টেবিলকে ছোট টেবিলে বিভক্ত করবে যেখানে কম অপ্রয়োজনীয়তা রয়েছে (যাকে "স্বাভাবিক ফর্ম" বলা হয়)। এই ছোট টেবিলগুলি ভালভাবে সংজ্ঞায়িত সম্পর্কের মাধ্যমে একে অপরের সাথে সম্পর্কিত হবে। একটি ভাল স্বাভাবিক ডাটাবেসে, ডেটাতে যে কোনও পরিবর্তন বা পরিবর্তনের জন্য শুধুমাত্র একটি টেবিল পরিবর্তন করতে হবে। প্রথম সাধারণ ফর্ম (1NF), দ্বিতীয় সাধারণ ফর্ম (2NF), এবং তৃতীয় সাধারণ ফর্ম (3NF) এডগার এফ. কড দ্বারা প্রবর্তিত হয়েছিল। Boyce-Codd নরমাল ফর্ম (BCNF) 1974 সালে Codd এবং Raymond F. Boyce দ্বারা প্রবর্তিত হয়েছিল। উচ্চতর সাধারণ ফর্মগুলি (4NF, 5NF এবং 6NF) সংজ্ঞায়িত করা হয়েছে, কিন্তু সেগুলি খুব কমই ব্যবহার করা হচ্ছে৷

একটি সারণী যা 1NF মেনে চলে তা নিশ্চিত করে যে এটি আসলে একটি সম্পর্কের প্রতিনিধিত্ব করে (অর্থাৎ এটিতে পুনরাবৃত্তি হয় এমন কোনো রেকর্ড নেই), এবং সম্পর্কযুক্ত মূল্যবান কোনো বৈশিষ্ট্য নেই (i.e সমস্ত বৈশিষ্ট্যের পারমাণবিক মান থাকা উচিত)। 2NF মেনে চলার জন্য একটি টেবিলের জন্য, এটি 1NF মেনে চলতে হবে এবং যে কোনো অ্যাট্রিবিউট যা কোনো ক্যান্ডিডেট কী-এর অংশ নয় (যেমন নন-প্রাইম অ্যাট্রিবিউটগুলি) সম্পূর্ণভাবে টেবিলের যেকোনো প্রার্থীর কীগুলির উপর নির্ভর করতে হবে। Codd এর সংজ্ঞা অনুসারে, একটি টেবিলকে 3NF তে বলা হয়, যদি এবং শুধুমাত্র যদি, সেই টেবিলটি দ্বিতীয় স্বাভাবিক আকারে (2NF) থাকে এবং টেবিলের প্রতিটি বৈশিষ্ট্য যা প্রার্থী কী এর অন্তর্গত নয় তা সরাসরি প্রতিটির উপর নির্ভর করে সেই টেবিলের প্রার্থী কী। BCNF (3.5NF নামেও পরিচিত) কিছু অসঙ্গতি ক্যাপচার করে যা 3NF দ্বারা সুরাহা করা হয় না।

ডিনরমালাইজেশন কি?

ডিনরমালাইজেশন হল স্বাভাবিকীকরণ প্রক্রিয়ার বিপরীত প্রক্রিয়া। কার্যকারিতা অপ্টিমাইজ করার জন্য অপ্রয়োজনীয় ডেটা বা গ্রুপিং ডেটা যোগ করে ডিনরমালাইজেশন কাজ করে। যদিও, অপ্রয়োজনীয় ডেটা যোগ করা বিপরীত-উৎপাদনশীল বলে মনে হয়, কখনও কখনও ডিনরমালাইজেশন রিলেশনাল ডাটাবেস সফ্টওয়্যারের কিছু ত্রুটিগুলি কাটিয়ে উঠতে একটি অত্যন্ত গুরুত্বপূর্ণ প্রক্রিয়া যা স্বাভাবিক ডেটাবেসগুলির সাথে ভারী কার্যকারিতা জরিমানা করতে পারে (এমনকি উচ্চতর কর্মক্ষমতার জন্য সুরক্ষিত)।এর কারণ হল একটি ক্যোয়ারীতে একটি ফলাফল তৈরি করতে বেশ কয়েকটি সম্পর্ক (যা স্বাভাবিক করার ফলাফল) যোগদান করা কখনও কখনও ডাটাবেস সিস্টেমের প্রকৃত বাস্তবিক প্রয়োগের উপর নির্ভর করে ধীর হতে পারে৷

নর্মালাইজেশন এবং ডিনরমালাইজেশনের মধ্যে পার্থক্য কী?

– স্বাভাবিকীকরণ এবং অস্বাভাবিককরণ দুটি প্রক্রিয়া যা সম্পূর্ণ বিপরীত।

– নর্মালাইজেশন হল বড় টেবিলকে ছোট টেবিলে ভাগ করার প্রক্রিয়া যা অপ্রয়োজনীয় ডেটা হ্রাস করে, যখন ডিনরমালাইজেশন হল কার্যকারিতা অপ্টিমাইজ করার জন্য অপ্রয়োজনীয় ডেটা যোগ করার প্রক্রিয়া।

– ডাটাবেসের অসঙ্গতি রোধ করার জন্য সাধারণীকরণ করা হয়৷

– ডাটাবেসের পঠন কর্মক্ষমতা উন্নত করার জন্য সাধারণত ডিনরমালাইজেশন করা হয়, কিন্তু ডিনরমালাইজেশনের জন্য ব্যবহৃত অতিরিক্ত সীমাবদ্ধতার কারণে, রাইট (যেমন ঢোকান, আপডেট এবং ডিলিট অপারেশন) ধীর হয়ে যেতে পারে। অতএব, একটি অস্বাভাবিক ডাটাবেস একটি স্বাভাবিক ডাটাবেসের চেয়ে খারাপ লেখার কার্যকারিতা দিতে পারে।

– এটি প্রায়ই সুপারিশ করা হয় যে আপনি "ব্যথা না হওয়া পর্যন্ত স্বাভাবিক করুন, এটি কাজ না করা পর্যন্ত অস্বাভাবিক করুন"।

প্রস্তাবিত: