আমি আমার ডাটাবেস সাধারন করা উচিত?

রিয়েল ওয়ার্ল্ড মধ্যে সাধারণকরণ

ডেটাবেজ স্বাভাবিককরণ হল অ্যাপ্লিকেশন ডেভেলপমেন্টের পবিত্র গরু। আপনি গ্রহণ করেছেন এমন প্রত্যেক স্নাতক স্নাতক প্রোগ্রামের কোর্স বা সম্ভবত আপনার পড়া বইটি স্বাভাবিককরণের উপাত্তগুলির গুরুত্ব বহন করে

এটা যে truism চ্যালেঞ্জ সময় কখনও কখনও আপনার ডাটাবেস denormalize ঠিক আছে!

কখন আপনাকে স্বাভাবিক করা উচিত?

ডেটাবেস স্বাভাবিকীকরণ আপনার ডেটা এর সততা রক্ষা করে। এটি অনেক ক্ষেত্রে একটি মহান ধারণা, এবং আপনি মনে করা হচ্ছে স্বাভাবিককরণের সঙ্গে কোনো ডাটাবেস নকশা প্রচেষ্টা শুরু করা উচিত। আপনি আপনার ডাটাবেস স্বাভাবিক করতে পারেন, এটি জন্য যান! প্রকৃতপক্ষে, এই সাইটের আপনার ডাটাবেসকে স্বাভাবিক করার জন্য এখানে কিছু ব্যবহারিক উপদেশ দেওয়া আছে:

নিচের লাইনটি হল আপনার ডাটাবেসকে স্বাভাবিক করা উচিত যতক্ষণ না আপনার কোনও যথাযথ কারণ নেই। স্বাভাবিককরণ সাধারণত শব্দ নকশা অনুশীলন হয়। এটি অপ্রয়োজনীয় তথ্য হ্রাস করে, কর্মক্ষমতা অনুকূলিত করে এবং আপনার ডাটাবেসের বিভিন্ন কোণে আটকানো একই ডেটা থাকার ফলে আপনার ডেটা অখণ্ডতা বিষয় থাকবে এমন সম্ভাবনা হ্রাস করে।

কিছু ভাল কারণ সাধারণ না

যে বলেন, আপনার ডাটাবেস স্বাভাবিক না কিছু ভাল কারণ আছে। আসুন কয়েকটি দেখুন:

  1. যোগদানগুলি ব্যয়বহুল । আপনার ডাটাবেস সাধারণকরণে বেশিরভাগ টেবিলের তৈরি করা হয়। আসলে, আপনি সহজেই 5/10 টি টেবিলগুলিকে স্প্যান করা সহজ ক্যোয়ারির মত মনে করতে পারেন। আপনি যদি কখনও পাঁচ টেবিল যোগদান চেষ্টা করেছি, আপনি এটি নীতির মধ্যে কাজ করে জানি, কিন্তু অনুশীলন তার ধীরে ধীরে ধীরে। যদি আপনি একটি ওয়েব অ্যাপ্লিকেশন তৈরি করছেন যা বৃহত টেবিলের বিরুদ্ধে একাধিক-যোগে প্রশ্নগুলির উপর নির্ভর করে, আপনি হয়ত নিজেকে চিন্তা করতে পারেন, "যদি কেবলমাত্র এই ডেটাবেস স্বাভাবিক না হয়ে থাকে!" আপনি যখন আপনার মাথায় এই চিন্তাধারা শুনতে পান, তখন এটি একটি ভাল সময় denormalizing বিবেচনা। আপনি যদি সত্যিই আপনার তথ্য অখণ্ডতা jeopardizing ছাড়া একটি একক টেবিলে যে ক্যোয়ারী দ্বারা ব্যবহৃত সব তথ্য আটকাতে পারেন, এটি জন্য যান! একটি বিদ্রোহী হতে এবং আপনার ডাটাবেস denormalize। তুমি ফিরে দেখবে না!
  2. সাধারণ নকশা কঠিন । আপনি যদি একটি জটিল ডাটাবেস স্কিমা সঙ্গে কাজ করছেন, আপনি সম্ভবত স্বাভাবিককরণ জটিলতা জটিলতার উপর আপনার টেবিলের বিরুদ্ধে আপনার মাথা banging সম্ভবত খুঁজে পাবেন থাম্বের একটি সহজ নিয়ম হিসাবে, যদি আপনি চতুর্থ স্বাভাবিক আকারে সরানো যায় তা খুঁজে বের করার চেষ্টা করার জন্য সমস্ত দিন ব্যয় করছেন, তাহলে আপনি খুব বেশি সময় নরমাইজেশন গ্রহণ করতে পারেন। ফিরে আসুন এবং নিজেকে জিজ্ঞাসা করুন যদি এটি সত্যিই মূল্য অব্যাহত।
  1. দ্রুত এবং মলিন দ্রুত এবং ময়লা হতে হবে আপনি যদি শুধু একটি প্রোটোটাইপ উন্নয়নশীল, ঠিক যা কিছু দ্রুত কাজ করে না। সত্যিই। ঠিক আছে. র্যাপিড অ্যাপ্লিকেশন ডেভেলপমেন্ট মার্জিত নকশা তুলনায় মাঝে মাঝে আরো গুরুত্বপূর্ণ। আপনি ফিরে prototyping পর্যায় অতিক্রম করতে প্রস্তুত একবার একবার ফিরে যান এবং আপনার নকশা একটি সতর্কতা অবলম্বন মনে রাখবেন। একটি দ্রুত এবং নোংরা ডেটাবেস নকশা জন্য আপনি মূল্য দাম আপনি এটি নিক্ষেপ এবং উত্পাদন করার জন্য সময় এর সময় শুরু যখন শুরু হতে পারে।
  2. আপনি যদি NoSQL ডেটাবেস ব্যবহার করছেন তবে ঐতিহ্যগত স্বাভাবিকীকরণটি উপভোগ্য নয়। পরিবর্তে, BASE মডেল ব্যবহার করে আপনার ডাটাবেসটি ডিজাইন করুন যা অনেক বেশি ক্ষমাশীল। এটি দরকারী যখন আপনি ইমেল, ছবি বা ভিডিওগুলির মতো অনিয়ন্ত্রিত তথ্য সংরক্ষণ করছেন।

কিছু শব্দ সতর্কতা

ডাটাবেস স্বাভাবিকীকরণ সাধারণত একটি ভাল ধারণা হয়। আপনি স্বাভাবিকীকরণের মূলনীতি অনুসরণ করার চেষ্টা করা উচিত যখন এটি করার জন্য যুক্তিসঙ্গত মনে হয়। কিন্তু যদি সব সূচকগুলি স্বাভাবিককরণে প্রয়োগ করার জন্য খুব জটিল বলে উল্লেখ করে, তবে আপনার ডেটা সুরক্ষিত করার সময় একটি কাজটি যেটি করা হবে তা বিবেচনা করুন।

অবশেষে - যদি আপনি স্বাভাবিককরণের নিয়মগুলি থেকে ভ্রান্তি বেছে নেন, তবে আপনি কীভাবে ডাটাবেস অখণ্ডতা বজায় রাখতে পারেন সে বিষয়ে অতিরিক্ত সতর্ক থাকুন। যদি আপনি অকার্যকর তথ্য সঞ্চয় করেন, তাহলে ট্রিগারগুলি এবং অন্য নিয়ন্ত্রণগুলিকে স্থানান্তরিত করুন যাতে নিশ্চিত হন যে তথ্যটি সুসংগত থাকে।