আমি আমার একটি কাস্টম এসকিউএল বিল্ডার ( ডায়ালেক্ট ) এর রিডমি ফাইলের ভিত্তিতে একটি উত্তর সরবরাহ করব
(সরল পাঠ্য অনুসরণ করে, সরানো লাইব্রেরি-নির্দিষ্ট উল্লেখ)
আবশ্যকতা
- একাধিক ডিবি বিক্রেতাদের সমর্থন করুন (উদাঃ মাইএসকিউএল, পোস্টগ্রিসএসকিউএল, এসকিউলাইট, এমএস এসকিউএল / এসকিউএল সার্ভার, ওরাকল, ডিবি 2, ..)
- সহজেই নতুন ডিবিগুলিতে প্রসারিত (পছন্দসই, বাস্তবায়ন-স্বাধীন, কনফিগারেশন সেটিং এর মাধ্যমে)
- পরিমিতি এবং বাস্তবায়ন-স্বতন্ত্র স্থানান্তরযোগ্যতা
- নমনীয় এবং স্বজ্ঞাত এপিআই
বৈশিষ্ট্য
- ব্যাকরণ ভিত্তিক টেম্পলেট
- কাস্টম নরম মতামত সমর্থন
- ডিবি বিমূর্ততা, পরিমিতি এবং স্থানান্তরযোগ্যতা
- প্রস্তুত টেমপ্লেট
- তথ্য পলায়ন
আমি মনে করি যে উপরের বৈশিষ্ট্যগুলি এবং প্রয়োজনীয়তাগুলি কোনও এসকিউএল অ্যাবস্ট্রাকশন বিল্ডার ব্যবহার করবে তার কারণগুলি স্কেচ করে
উপরের বৈশিষ্ট্যগুলির বেশিরভাগই বেশিরভাগ এসকিউএল নির্মাতারা সমর্থিত (যদিও আমি মনে করি না যে সমস্ত তালিকাভুক্ত আমার সমর্থিত সমর্থিত)
ব্যবহারের ক্ষেত্রে উদাহরণসমূহ:
- সিএমএস প্ল্যাটফর্ম একাধিক ডিবি বিক্রেতাদের সাথে (অন্তর্নিহিত কোডের কোনও পরিবর্তন ছাড়াই) কাজ করতে সক্ষম
- কাস্টম অ্যাপ্লিকেশন কোড যেখানে ডিবি বিক্রেতার পরিবর্তন করতে উপযুক্ত এবং / অথবা ডিবি স্কিমার গতিশীল (এটি এর অর্থ অনেকগুলি প্রশ্নের হার্ড-কোডিং করা যায় না তবে এখনও যথেষ্ট পরিমাণে বিমূর্ত হওয়া দরকার তাই কোড পরিবর্তন করার পক্ষে শক্তিশালী)
- উত্পাদনে ব্যবহৃত একের চেয়ে অন্য ডিবিতে প্রোটোটাইপিংয়ের জন্য (কমপক্ষে কিছু কোডের জন্য নকল কোড বেসের প্রয়োজন হবে)
- অ্যাপ্লিকেশন কোডটি নির্দিষ্ট ডিবি সরবরাহকারী এবং / অথবা বাস্তবায়নের সাথে শক্তভাবে মিলিত হয় না (এমনকি একই ডিবি বিক্রেতার মধ্যে, যেমন ডিবি বিক্রেতার বিভিন্ন সংস্করণ), সুতরাং এটি আরও দৃ rob়, নমনীয় এবং মডুলার
- ক্যোয়ারী এবং ডেটা থেকে বেরিয়ে আসার অনেকগুলি সাধারণ কাঠামো নিজেই ফ্রেমওয়ার্ক দ্বারা পরিচালিত হয় এবং সাধারনত এটি সর্বোত্তম এবং দ্রুত উভয়ই
ফিনালি, আমি ব্যবহারের ক্ষেত্রে একটি উদাহরণ। আমি একটি অ্যাপ্লিকেশন তৈরি করছিলাম যেখানে অন্তর্নিহিত ডিবি স্কিমা (ওয়ার্ডপ্রেস) যে ধরণের ডেটা ক্যোয়ারীগুলি করা দরকার তার জন্য ভালভাবে উপযোগী ছিল না, সাথে সাথে ডাব্লুপি টেবিলগুলির কয়েকটি (যেমন পোস্ট) ব্যবহার করতে হয়েছিল (সুতরাং সম্পূর্ণ নতুন টেবিল রয়েছে) সমস্ত অ্যাপ্লিকেশন ডেটার জন্য একটি বিকল্প ছিল না)।
সেক্ষেত্রে একটি এমভিসি-এর মতো অ্যাপ্লিকেশন তৈরি করতে সক্ষম হওয়া যেখানে মডেলটি কাস্টম / ডায়নামিক শর্তাবলী দ্বারা অনুসন্ধান করা যেতে পারে ক্যোয়ারিকে হার্ড-কোডিং প্রায় একটি দুঃস্বপ্ন বলে made কল্পনা করুন যে সম্ভবত যোগ দিতে পারে এমন 2-3 টি টেবিলকে জিজ্ঞাসাবাদ করার জন্য সমর্থন করতে হবে এবং শর্তগুলি ফিল্টার করে কোন টেবিলের সাথে কী যোগ দিতে হবে এবং প্রয়োজনীয় উপাধিগুলিও যত্ন নিতে হবে ইত্যাদি দেখুন।
স্পষ্টতই এটি অ্যাবস্ট্রাকশন ইউজ-কেস-এর একটি ক্যোয়ারী ছিল এবং আরও বেশি, কাস্টম সফট ভিউগুলি সংজ্ঞায়িত করার ক্ষমতা রাখার জন্য এটির (বা কিছুটা হলেও উপকৃত হতে পারে) যোগ হওয়া টেবিলগুলির একত্রিত করা যেমন তারা মডেলের জন্য উপযুক্ত একটি কাস্টম টেবিল ছিল) । তারপরে এটি ছিল অনেক সহজ, ক্লিনার, মডুলার এবং নমনীয়। অন্য দিকটিতে, অ্যাপ্লিকেশন (কোড) কোয়েরি অ্যাবস্ট্রাকশন স্তরটিকে (ডিবি স্কিমা) নরমালাইজেশন সরঞ্জাম হিসাবেও ব্যবহার করেছে । কেউ কেউ বলে, এটি ছিল ভবিষ্যতের প্রমাণ ।
যদি, আগামীকাল, লোকেরা সিদ্ধান্ত নেয় যে তাদের কিছু অতিরিক্ত বিকল্প বা ডেটা প্রয়োজন, তবে মডেলটিতে কয়েকটি লাইনে যুক্ত করা এবং সূক্ষ্মভাবে কাজ করা খুব সহজ। সংযোজন, যদি, টমমরো, লোকেরা সিদ্ধান্ত নেয় যে তারা আর ওয়ার্ডপ্রেস ব্যবহার করতে চান না (যেমন অ্যাপ্লিকেশনটি একটি প্লাগইন হিসাবে ওয়ার্ডপ্রেসের সাথে আলগাভাবে মিশ্রিত হয়), এটি কয়েকটি লাইনগুলিতে মডেলগুলিও পরিবর্তন করা সহজ ( কেবলমাত্র সংজ্ঞা ) কোডটি নতুন স্কিমা মানিয়ে নিতে।
আমি কি বলতে চাইছি?