এসকিউএল কোয়েরি বিল্ডারগুলি ব্যবহার করার সুবিধা কী কী?


17

কাঁচা এসকিউএল ব্যবহার না করে কোয়েরি বিল্ডার ব্যবহারের কি কোনও সুবিধা আছে?

যেমন

$q->select('*')
  ->from('posts')
  ->innerJoin('terms', 'post_id')
  ->where(...)

বনাম:

SELECT * FROM posts WHERE ...

আমি দেখতে পাচ্ছি যে অনেকগুলি ফ্রেমওয়ার্ক এ জাতীয় বিমূর্ত স্তর ব্যবহার করে তবে আমি সুবিধাগুলি বুঝতে ব্যর্থ হই।


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

1
@ ব্যবহারকারী 18১5৫২: সম্ভবত কিছুটা সুরক্ষা এবং নিখরচায় ফিল্টারিং ব্যতীত, মতামতের বিরুদ্ধে প্রশ্নগুলি কীভাবে সরবরাহ করতে পারে যে টেবিলের বিরুদ্ধে অনুসন্ধানগুলি সরবরাহ করতে পারে না?
রবার্ট হার্ভে

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

@ user61852 মোটামুটি যথেষ্ট।
রবার্ট হার্ভে

@ রবার্ট হার্ভে আমি এটিকে উত্তরে পরিণত করেছি।
তুলাইনস কর্ডোভা

উত্তর:


20

ভাল একটি ফ্রেমওয়ার্ক মাধ্যমে এসকিউএল লেখার বিমূর্ততা, বিমূর্ততা।

এসকিউএল হাতে হাতে লেখা নিজেই খারাপ হয় না, তবে আপনি পালানোর এবং স্যানিটাইজিংয়ের সমস্যাগুলি পেতে শুরু করেন এবং এটি একটি গোলযোগে পরিণত হয়। একটি বিমূর্ত স্তর আপনার কোডটি পরিষ্কার এবং প্রচুর mysql_real_escape_string()কল বা এ জাতীয় পছন্দমুক্ত থাকতে দেয় এমন পর্দার পিছনে এই সমস্তটির যত্ন নিতে পারে ।

অতিরিক্তভাবে, এটি এসকিউএলের বিভিন্ন উপভাষার জন্য অ্যাকাউন্টিংয়ের সম্ভাবনা নিয়ে আসে। সমস্ত ডেটাবেস একই রকম নির্মিত হয় না এবং কীওয়ার্ডে বা কোনও নির্দিষ্ট কার্যকারিতার সিনট্যাক্সের বিভিন্নতা থাকতে পারে। অ্যাবস্ট্রাকশন স্তরটি ব্যবহার করে আপনার বৈকল্পিকের জন্য গতিগতভাবে সঠিক সিনট্যাক্স তৈরির ক্ষমতা নিয়ে আসে।

যদিও কোনও বিমূর্ত স্তরটি একটি পারফরম্যান্স হিটকে পরিচয় করিয়ে দিতে পারে, আপনি সাধারণত পরিচ্ছন্নতা এবং কোডটির দৃust়তার সাথে তুলনায় এটি তুলনামূলকভাবে নগণ্য।


1
আমি মনে করি না যে এসকিউএল উপভাষাগুলি আরডিবিএমএস জুড়ে আলাদা। এবং পিএইচপি-তে PDO রয়েছে যা আপনার জন্য স্যানিটাইজেশন করে
আন্না কে।

12
এসকিউএল উপভাষাগুলি পৃথক হয়, এ কারণেই এগুলিকে উপভাষা বলা হয়। PDO হিসাবে, বিমূর্ত স্তরটি কেবল আমাদের থেকে এই জগাখিচুটি লুকায়।

@ গ্লেননলসন আনা বিভিন্ন ব্যাক-এন্ড (পিএসকিউএল / মাইএসকিউএল /
এসকিউএলাইট

2
@AnnaK। উপভাষাটি পরিবর্তন নাও হতে পারে তবে কখনও কখনও বৈশিষ্ট্যগুলি পৃথক হয়। উদাহরণস্বরূপ, মাইএসকিউএল (মাইআইএসএএম ইঞ্জিন সহ) বিদেশী কী বিধিনিষেধকে সমর্থন করে না, অন্যদিকে পোস্টগ্রিসও তা করে। হয় উপভাষাকে এ জাতীয় জিনিস নিজেই পরিচালনা করতে হবে (যার জন্য জ্যাঙ্গো ওআরএম এর মতো ডেটা কাঠামোর সম্পূর্ণ জ্ঞান প্রয়োজন), বা সম্ভবত আরও: ব্যবহারকারীরা কীভাবে এটি ব্যবহার করবেন সে সম্পর্কে স্মার্ট থাকতে হবে, যা এটি চেহারা তৈরি করতে পারে উপস্থাপনের পরিবর্তনের মতো পরিস্থিতি অনুসারে।
ইজকাটা

1
একটি ভাল-নির্মিত সরঞ্জাম আপনার জন্য পালাবার এবং স্যানিটাইজিং করার জন্য +1। এটি যদি বৈধকরণও করতে পারে তবে আরও ভাল।
ড্যান রে

11

ক্যোয়ারি বিল্ডাররা আমার পোষা প্রাণীকে ঘৃণা করে, এগুলি ব্যবহার এড়াতে আমি নিজের ফ্রেমওয়ার্ক (অ্যাপিল) লিখেছি!

আপনি যদি পিডিও ব্যবহার করেন (যা আমি আপনাকে অবশ্যই সুপারিশ করি) তবে ইনপুটটি স্যান্টাইজিং আপনার জন্য পরিচালিত হবে।

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

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

আপনার জিজ্ঞাসা নির্মাতার কিউবার্কের সাথে আঁকড়ে উঠতে সময় ব্যয় করা (তারপরে আপনি যখন আরও ভালটির দিকে স্যুইচ করেন তখন পুনরায় শেখা) আপনার এসকিউএলকে কীভাবে অপ্টিমাইজ করতে হয় তা শিখতে আরও বেশি উত্পাদনশীল ব্যয় হবে।

যাইহোক যে কারণে একটি ব্যবহার না করা, কিছু লোক যদিও তাদের ভালবাসে।


4

তাত্ত্বিকভাবে? হ্যাঁ. গ্লেন নেলসন উল্লেখ করেছিলেন যে তারা কীভাবে আপনাকে প্রায়শই সহায়তা করবে। (যদি এটি একটি ভাল ক্যোয়ারী নির্মাতা)।

প্রস্তুতিতে? সবসময় তত্ত্বের সাথে বেঁচে থাকে না এবং আসলে সমস্যা তৈরি করতে পারে। মনে করুন যে আপনি কিছু জনপ্রিয় ডিবিএমএসের বিপরীতে কোয়েরি বিল্ডার ব্যবহার করছেন এবং সবকিছুই পীচিযুক্ত। তারপরে কোনও গ্রাহক আপনাকে তাদের ডিবিএমএস-এ আঘাত করতে বলে যাতে কিছু বাছাই রয়েছে যা আপনার নির্বাচিত ক্যোয়ারী বিল্ডার কেবল পরিচালনা করতে পারবেন না। (যখন আমি বিস্তৃত পুরানো সংস্করণ নিয়ে কাজ করতে হয়েছিল তখন আমি এই সমস্যার মুখোমুখি হয়েছি))

কিন্ত! আপনার একেবারে যা করা উচিত তা হ'ল ডেটা অ্যাক্সেস লেয়ার আলাদা করে দেওয়া এবং প্রয়োজনীয়তার প্রয়োজনে আপনি কোনও নতুনকে পরিবর্তন করতে পারেন তা নিশ্চিত করে। এইভাবে আপনি এই দুর্দান্ত বৈশিষ্ট্যটি নির্মাতাকে সমস্ত বৈশিষ্ট্য সহ করতে পারেন তবে আপনার যদি এমন কোনও নতুন প্লাগ করতে হয় যা ডিবিতে প্রশ্নটির জন্য সেই অদ্ভুত সিউডো-এসকিএল ব্যবহার করে।


2
এর আগে ডিবি কৌতুক পরিস্থিতি সমাধান করা উচিত নয়? আমি বলতে চাইছি আপনার ক্লায়েন্ট ডিবি কী ব্যবহার করছে এবং এটি অনুসারে যথাযথ ফ্রেমওয়ার্ক / লাইব্রেরি নির্বাচন করা এমন কিছু যা আপনি কোডের একক লাইন লেখার আগে পরিচালনা করা উচিত ।

3

আমি মনে করি ক্যোয়ারী বিল্ডারের ব্যবহারিক, দিনের বেনিফিট - কোড পুনরায় ব্যবহার এবং ডিআরওয়াই নীতি অনুসরণ করার ক্ষমতা follow

ক্যোয়ারী নির্মাতার সাথে আপনি এসকিউএল এর পুনরাবৃত্তি অংশগুলি পদ্ধতিগুলিতে রাখতে পারেন। এবং তারপরে জটিল এসকিউএল রচনা করতে এই পদ্ধতিগুলি ব্যবহার করুন। একটি উদাহরণ যেমন উদাহরণস্বরূপ পুনঃব্যবহারযোগ্য যোগ ক্লজ:

function joinTaskWithClient($queryBuilder) {
    $queryBuilder->join('task', 'contract', 'task.contract_id = contract.id')
                 ->join('contract', 'client', 'contract.client_id = client.id');
}

সুতরাং ব্যবহার হবে:

$queryBuilder->select('client.name')
             ->from('client')
             ->where('task.id=:task')->setParameter('task', 42);
joinTaskWithClient($queryBuilder);

যেমন আপনি খেয়াল করতে পারেন - ক্যোয়ারী বিল্ডারের সাথে আপনি এসকিউএল স্ট্রিংটি ম্যানুয়ালি সংগ্রহ করার ক্ষেত্রে বিপরীতে আপনি যে কোনও ক্রমে এসকিউএল এর অংশগুলি (যেমন একের পরে অংশ যোগ করুন) যুক্ত করতে পারেন। এছাড়াও, আপনি এর উদ্দেশ্য এবং বেনিফিটগুলি দেখতে বিল্ডার প্যাটার্ন সম্পর্কে পড়তে পারেন।

আমি পালানো এবং স্যানিটাইজিং সম্পর্কিত বিষয়ে একমত, তবে এটি ডাব্লু / ও কোয়েরি বিল্ডারকেও অর্জন করতে পারে। ডিবি টাইপ / ডায়ালেক্ট অ্যাবস্ট্রাকশন সম্পর্কিত - এটি বেশ তাত্ত্বিক এবং প্রশ্নোত্তর সুবিধা, যা অনুশীলনে খুব কমই ব্যবহৃত হয়।


আমার জন্য, এটিও একটি প্রধান সুবিধা। আর একটি হ'ল পদ্ধতিগুলিতে বিমূর্ততা প্রয়োগের মাধ্যমে আপনি পদ্ধতিগুলিকে আরও অর্থপূর্ণ নাম দিতে পারেন এবং এ থেকে একটি ডোমেন নির্দিষ্ট ভাষা তৈরি করতে পারেন, অভিপ্রায়টি আরও পরিষ্কার করে। আপনি কোয়েরি বিল্ডারকে পাশাপাশি পাসও করতে পারেন এবং বিভিন্ন উপাদান এটিতে এটি নির্দিষ্ট বিট যুক্ত করতে দিন। সর্বশেষে তবে অন্তত আমি খুঁজে পেলাম না যে এটি আমাকে অর্থবহ-নামযুক্ত পদ্ধতির পিছনে নিদর্শনগুলি আবদ্ধ করার অনুমতি দিয়েছে .... আমি এমন কিছু ক্যোয়ারী বিল্ডারকে পেয়েছি যেখানে কলামগুলি বোকামির সাথে পূর্বের ওভাররোটে যুক্ত করা হয়েছে, যা ধরণের উপরের
অনেকগুলি

2

আমি আমার একটি কাস্টম এসকিউএল বিল্ডার ( ডায়ালেক্ট ) এর রিডমি ফাইলের ভিত্তিতে একটি উত্তর সরবরাহ করব

(সরল পাঠ্য অনুসরণ করে, সরানো লাইব্রেরি-নির্দিষ্ট উল্লেখ)

আবশ্যকতা

  1. একাধিক ডিবি বিক্রেতাদের সমর্থন করুন (উদাঃ মাইএসকিউএল, পোস্টগ্রিসএসকিউএল, এসকিউলাইট, এমএস এসকিউএল / এসকিউএল সার্ভার, ওরাকল, ডিবি 2, ..)
  2. সহজেই নতুন ডিবিগুলিতে প্রসারিত (পছন্দসই, বাস্তবায়ন-স্বাধীন, কনফিগারেশন সেটিং এর মাধ্যমে)
  3. পরিমিতি এবং বাস্তবায়ন-স্বতন্ত্র স্থানান্তরযোগ্যতা
  4. নমনীয় এবং স্বজ্ঞাত এপিআই

বৈশিষ্ট্য

  1. ব্যাকরণ ভিত্তিক টেম্পলেট
  2. কাস্টম নরম মতামত সমর্থন
  3. ডিবি বিমূর্ততা, পরিমিতি এবং স্থানান্তরযোগ্যতা
  4. প্রস্তুত টেমপ্লেট
  5. তথ্য পলায়ন

আমি মনে করি যে উপরের বৈশিষ্ট্যগুলি এবং প্রয়োজনীয়তাগুলি কোনও এসকিউএল অ্যাবস্ট্রাকশন বিল্ডার ব্যবহার করবে তার কারণগুলি স্কেচ করে

উপরের বৈশিষ্ট্যগুলির বেশিরভাগই বেশিরভাগ এসকিউএল নির্মাতারা সমর্থিত (যদিও আমি মনে করি না যে সমস্ত তালিকাভুক্ত আমার সমর্থিত সমর্থিত)

ব্যবহারের ক্ষেত্রে উদাহরণসমূহ:

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

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

সেক্ষেত্রে একটি এমভিসি-এর মতো অ্যাপ্লিকেশন তৈরি করতে সক্ষম হওয়া যেখানে মডেলটি কাস্টম / ডায়নামিক শর্তাবলী দ্বারা অনুসন্ধান করা যেতে পারে ক্যোয়ারিকে হার্ড-কোডিং প্রায় একটি দুঃস্বপ্ন বলে made কল্পনা করুন যে সম্ভবত যোগ দিতে পারে এমন 2-3 টি টেবিলকে জিজ্ঞাসাবাদ করার জন্য সমর্থন করতে হবে এবং শর্তগুলি ফিল্টার করে কোন টেবিলের সাথে কী যোগ দিতে হবে এবং প্রয়োজনীয় উপাধিগুলিও যত্ন নিতে হবে ইত্যাদি দেখুন।

স্পষ্টতই এটি অ্যাবস্ট্রাকশন ইউজ-কেস-এর একটি ক্যোয়ারী ছিল এবং আরও বেশি, কাস্টম সফট ভিউগুলি সংজ্ঞায়িত করার ক্ষমতা রাখার জন্য এটির (বা কিছুটা হলেও উপকৃত হতে পারে) যোগ হওয়া টেবিলগুলির একত্রিত করা যেমন তারা মডেলের জন্য উপযুক্ত একটি কাস্টম টেবিল ছিল) । তারপরে এটি ছিল অনেক সহজ, ক্লিনার, মডুলার এবং নমনীয়। অন্য দিকটিতে, অ্যাপ্লিকেশন (কোড) কোয়েরি অ্যাবস্ট্রাকশন স্তরটিকে (ডিবি স্কিমা) নরমালাইজেশন সরঞ্জাম হিসাবেও ব্যবহার করেছে । কেউ কেউ বলে, এটি ছিল ভবিষ্যতের প্রমাণ

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

আমি কি বলতে চাইছি?


1

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

এখন, এটি এই বলার অপেক্ষা রাখে না যে আমরা বিকাশকারীকে বিশ্বাস করি না, তবে কোয়েরি গঠন করা সহজ হতে পারে, তবে সর্বত্র সম্ভাব্য বৈধতা যাচাইয়ের পুনরাবৃত্তি কেবল ইঙ্গিত দেয় যে আপনি কখনও কখনও ঘটনাক্রমে মিস হয়ে যেতে পারেন বা কোয়েরিকে সংশোধন করতে পারেন তবে কোয়েরিকে পরিবর্তন করবেন না তবে ডন বৈধতা যাচাই আপডেট করবেন না। কিছু নবাগত এমনকি এ থেকে নিখোঁজ হওয়ার সমস্ত বিপদগুলিও জানতে পারে। অতএব কোয়েরি বিল্ডার বিমূর্ততা বেশ প্রয়োজনীয়।


0

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

এই জাতীয় কোয়েরি বিল্ডারদের ব্যবহার করা ভাল , তবে আমি মনে করি যে লোকেরা তাদের উপর খুব বেশি নির্ভর করে তারা ডিবিএ জিজ্ঞাসা না করে: "আরে, এটি এমন একটি প্রশ্ন যা আমি অনেক বেশি ব্যবহার করি, দয়া করে এটি থেকে একটি দৃষ্টিভঙ্গি তৈরি করুন"।

আমাকে ভুল করবেন না

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

আবার আমাকে ভুল বলবেন না, আপনি ক্যোয়ারী বিল্ডারদের মতামতগুলি জিজ্ঞাসা করতে ব্যবহার করতে পারেন, তবে অনেকগুলি মতামত একটি স্নাতক প্রক্রিয়া হিসাবে উপস্থিত হয়েছে যা কোয়েরি লিখতে হবে এবং আপনার ডিবিএকে জিজ্ঞাসা করার ফলস্বরূপ: "মানুষ, এটি তৈরি করুন, দয়া করে" ।

আমি কি ভেবে ভুল করছি যে প্রশ্নগুলি না লিখে আপনি নির্দিষ্ট মতামত তৈরির প্রয়োজনীয়তা সনাক্ত করতে ব্যর্থ হন?

আরেকটি বিষয় যা আমাকে উদ্বেগ করে তা হ'ল নবজাতক প্রোগ্রামাররা এসকিউএলকে মাস্টারিং না করে, এটি তৈরি না করেই মানুষ তৈরি করা প্রযুক্তির অন্যতম সুন্দর টুকরো।


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

এটি সম্পূর্ণ ভিন্ন পরিস্থিতি, এবং পুরোপুরি ঠিক আছে।
তুলাইনস কর্ডোভা

আমি কেবল ডিবিএর সাথে যুক্ত হওয়ার মতোই অনুভব করছি প্রতিবার কোনও কোয়েরি কোনও টেবিল থেকে একটি একক রেকর্ড টেনে নিয়ে যায় বা ভিউ বিকাশ প্রক্রিয়াতে কোনও বাধা সৃষ্টি করে।
জেফো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.