ডেটাবেসের স্ট্রাকচার পরিবর্তন করার প্রক্রিয়া মূলত দুটি পদ্ধতিতে ক্যাটাগরাইজ করা যায়: নরমালাইজেশন এবং ডিনরমালাইজেশন।
নরমালাইজেশন এবং ডিনরমালাইজেশনের মধ্যে গুরুত্বপূর্ণ পার্থক্যগুলো নিচে দেওয়া হলো।
| Sr. No. | Key | নরমালাইজেশন | ডিনরমালাইজেশন |
|---|---|---|---|
| 1 | Implementation | নরমালাইজেশন ডেটাবেস থেকে রিডান্ডান্ট ডেটা সরাতে এবং নন-রিডান্ডান্ট এবং কনসিস্টেন্ট ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। | ডিনরমালাইজেশন একাধিক টেবিলের ডেটা একত্রিত করে একটি টেবিলে রাখতে ব্যবহৃত হয় যাতে কুইক্লি কোয়েরি করা যায়। |
| 2 | Focus | নরমালাইজেশন মূলত অপ্রয়োজনীয় ডেটা ক্লিয়ার করতে এবং ডেটা রিডান্ডেন্সি এবং ইনকনসিস্টেন্সি কমানোর ফোকাস করে। | ডিনরমালাইজেশন অন্যদিকে রিডান্ডেন্সি যোগ করে কোয়েরি এক্সিকিউশন দ্রুত করার ফোকাস করে। |
| 3 | Number of Tables | নরমালাইজেশনে ডেটা কম হলে ডেটাবেস থেকে টেবিল ডিলিট হয়, তাই টেবিলের সংখ্যা কম। | ডিনরমালাইজেশনে ডেটা একই ডেটাবেসে ইন্টিগ্রেট হয়, তাই টেবিলের সংখ্যা বেড়ে। |
| 4 | Memory consumption | নরমালাইজেশন অপ্টিমাইজড মেমোরি ব্যবহার করে এবং তেজ। | ডিনরমালাইজেশন কিছু মেমোরি বর্জন সৃষ্টি করে। |
| 5 | Data integrity | নরমালাইজেশন ডেটা ইন্টিগ্রিটি রক্ষা করে। | ডিনরমালাইজেশন কোনো ডেটা ইন্টিগ্রিটি রক্ষা করে না। |
| 6 | Where to use | নরমালাইজেশন সেখানে ব্যবহার করা হয় যেখানে ইনসার্ট/আপডেট/ডিলিট অপারেশন বেশি এবং জয়েন এক্সপেনসিভ নয়। | ডিনরমালাইজেশন সেখানে ব্যবহার করা হয় যেখানে জয়েন এক্সপেনসিভ এবং ফ্রিকোয়েন্ট কোয়েরি এক্সিকিউট হয়। |