আমাকে পুরানো স্কুল এনেছে - যেখানে আমরা অ্যাপ্লিকেশনটির ব্যবসায়ের স্তর (বা অন্য সব কিছুর জন্য OOAD ব্যবহার করে) আগে ডেটাবেস স্কিমা ডিজাইন করতে শিখেছি। আমি স্কিমার ডিজাইনিং (আইএমএইচও :) এর সাথে বেশ ভাল ছিলাম এবং কেবল অপ্রয়োজনীয় অপ্রয়োজনীয়তা অপসারণের জন্যই স্বাভাবিক করেছি তবে এটির গতি যেখানে প্রভাবিত করেছিল তা নয়, যদি যোগ দেয় কোনও পারফরম্যান্স হিট হয়, তবে অতিরিক্ত কাজটি জায়গায় রেখে দেওয়া হয়েছিল। তবে বেশিরভাগ ক্ষেত্রে তা ছিল না।
রুবির অ্যাক্টিভেকর্ড বা অ্যাক্টিভজেডিবিসি এর মতো কিছু ওআরএম ফ্রেমওয়ার্কের আবির্ভাবের সাথে (এবং আরও কয়েকজন যা আমি মনে করতে পারি না তবে আমি নিশ্চিত যে প্রচুর পরিমাণে আছে) মনে হয় তারা প্রতিটি টেবিলের জন্য একটি সার্গেট কী রাখা পছন্দ করেন যদিও কারও কাছে প্রাথমিক কী রয়েছে যেমন 'ইমেল' - সরাসরি 2NF ভঙ্গ করছে। ঠিক আছে, আমি খুব বেশি বুঝতে পারি না, তবে এই আমার কিছুটা ওআরএম (বা প্রোগ্রামার) 1-1 বা 1-0 | 1 (যেমন 1 থেকে 0 বা 1) স্বীকৃতি দেয় না তখন তা আমার স্নায়ুগুলিতে পড়ে (প্রায়)। তারা দৃp় প্রতিজ্ঞা করে যে এটি একটি বড় টেবিল হিসাবে সবকিছুই থাকা ভাল, যদি এটির একটি টন থাকে তবে nulls
"আজকের সিস্টেমগুলি এটি পরিচালনা করতে পারে" মন্তব্যটি আমি প্রায়শই শুনেছি is
আমি একমত যে মেমরির প্রতিবন্ধকতাগুলি সাধারণীকরণের সাথে সরাসরি সম্পর্কযুক্ত ছিল (এর অন্যান্য সুবিধাগুলিও রয়েছে :) তবে সস্তার মেমোরি এবং কোয়াড-কোর মেশিনগুলির সাথে আজকের সময়ে ডিবি সাধারণীকরণের ধারণাটি কেবল পাঠ্যপুস্তকেই রেখে গেছে? ডিবিএ হিসাবে আপনি এখনও 3NF (বিসিএনএফ না হলে) এ স্বাভাবিককরণের অনুশীলন করেন? এটা কোন ব্যাপার? "নোংরা স্কিমা" ডিজাইন কি উত্পাদন সিস্টেমের জন্য ভাল? এখনও যদি এটি প্রাসঙ্গিক হয় তবে কীভাবে একজনকে "সাধারণ" করার জন্য মামলাটি করা উচিত।
( দ্রষ্টব্য: আমি ডেটাওয়ারহাউসের তারকারা / স্নোফ্লেক স্কিমার কথা বলছি না যার নকশার অংশ / প্রয়োজন হিসাবে অতিরিক্ত কাজ আছে তবে স্ট্যাকএক্সচেঞ্জের মতো ব্যাকএন্ড ডাটাবেসযুক্ত বাণিজ্যিক ব্যবস্থা রয়েছে)