আমি ফিল ফ্যাক্টরের ব্লগ পোস্ট নরমালাইজেশন এবং 'অ্যানিমা নোটিয়া কোপিয়া' বুকমার্ক করেছি কারণ এটি নির্দিষ্ট ধরণের ডেটার জন্য বা তার বিরুদ্ধে সাধারণভাবে মামলার সংক্ষিপ্তসার তুলে ধরেছে। একটি এসকিউএল উদাহরণে নিম্নলিখিত কোয়েরিটি চালনা করুন এবং আপনি সম্মত হন কিনা তা দেখুন।
SELECT * FROM sys.syslanguages
এসকিউএল আপনাকে সম্পর্কিত ডেটাবেস তৈরি করতে সক্ষম করে। তবে, এটির দুর্গন্ধ থাকলেও, এসকিউএল ডাটাবেসটির সাথে যতক্ষণ প্রয়োজন প্রয়োজন ততক্ষণ লুকোচুরিভাবে সম্পর্কহীন কিছু করা কোনও অপরাধ নয় এবং আপনি পার্থক্যটি বলতে পারেন; কেবল তা-ই নয় কেবলমাত্র যদি আপনি ঝুঁকি এবং এর প্রভাব সম্পর্কে অবগত হন।
আপনি উল্লেখ করেছেন যে এক্সএমএল ফাইলটিতে "ডেটাতে অতিরিক্ত তথ্য" রয়েছে। কোনও জিজ্ঞাসাবাদের উদ্দেশ্যে সম্পর্কিত কোনও ডাটাবেজে সেই মেটাডেটা মডেলিংয়ের কোনও সুবিধা আছে কি? যদি তা হয় তবে প্রাসঙ্গিক ডেটা বের করতে এবং এক্সএমএল নথি প্রকার হিসাবে বাকী এক্সএমএল চালিয়ে যাওয়ার ক্ষেত্রে একটি মামলা থাকতে পারে।
... যদি আপনি কোনও JSON স্ট্রিং বা এক্সএমএল পাস করেছেন এবং এটি একটি ডাটাবেসে সংরক্ষণের প্রয়োজন হয়, তবে আপনাকে যা করতে হবে তা হ'ল অনিমা নটিটিয়া কপিয়া (ডাটাবেসের সোল) হিসাবে আপনার ভূমিকায় নিজেকে জিজ্ঞাসা করা উচিত 'আমার কি আছে? এই আইটেমের বিষয়বস্তুগুলিতে আগ্রহী? ' উত্তরটি যদি 'না!', বা 'নিকোয়াকাম' হয়! তারপরে এটি একটি পারমাণবিক মান, তবে এটি জটিল হতে পারে।
ফিল ফ্যাক্টরের যুক্তিটি হ'ল একটি রিলেশনাল ডাটাবেসে অ-সম্পর্কযুক্ত ক্ষেত্রগুলি পুরোপুরি গ্রহণযোগ্য যদি ক্ষেত্রটিকে পারমাণবিক হিসাবে বিবেচনা করা হয় অর্থাৎ এটি পরিবর্তন হয় না, বা যখন এটি পুরো ক্ষেত্রটি পরিবর্তিত হয়, এর কোনও উপাদান নয়। এটির প্রাকৃতিক বর্ধন হ'ল যদি আপনার নথিতে এমন উপাদান রয়েছে যা আপনার আগ্রহী তবে এই উপাদানগুলির সাথে একটি সম্পর্কিত মডেল প্রয়োগ করার ক্ষেত্রে মূল্য থাকতে পারে।
প্রশ্নের সাথে সম্পর্কিত তবে মূলত বাক্যবিদ্যার জন্য, ফিলের একটি শেষ উদ্ধৃতি:
স্বাভাবিকভাবেই, আমি কখনই জেনে বুঝে এমন একটি ডাটাবেস তৈরি করি নি যে কোডড এতে ভ্রান্ত হয়ে উঠেছে, তবে প্রান্তগুলির চারপাশে আমি লিখেছি এমন ইন্টারফেস এবং ডেটা ফিড রয়েছে যা নরমালাইজেশন মৌলবাদীদের মধ্যে হিজি ফিট করে।
আমরা সবাই না!