এসকিউএল এবং পিএল / এসকিউএল এর মধ্যে পার্থক্য কীভাবে করবেন?


16

আমি জানি প্রশ্নটি খুব বোকা লাগতে পারে তবে আমি এই অংশটি কখনই বুঝতে পারি নি।

এসকিউএল * প্লাস এসকিউএল এবং পিএল / এসকিউএল উভয়ের সাথেই কাজ করে। কিছু কোড এসকিউএল বা পিএল / এসকিউএল কিনা তা আমি কীভাবে জানতে পারি? আমার কোডটিতে যদি লুপের জন্য থাকে তবে এটি কি আর এসকিউএল নয়?

পিএল / এসকিউএল হ'ল এসকিউএল এর লুপস, কন্ডিশনাল ইত্যাদির এক্সটেনশন? তাহলে কোনও এসকিউএল কোড ডিফল্ট পিএল / এসকিউএল কোড হয়? তাই না?

এসকিউএল এবং পিএল / এসকিউএল মধ্যে সীমাবদ্ধতা আছে?

বি / ডাব্লু ডাব্লু এসকিউএল এবং পিএল / এসকিউএল পার্থক্যের দুটি উদাহরণ যা এই প্রশ্নকে ট্রিগার করেছিল:

এই দুটি তৈরি টেবিল বিবৃতি মধ্যে পার্থক্য কি?

/programming/2267386/oracle-11g-varray-of-objects/2267813#2267813

উত্তর:


12

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

সংক্ষিপ্ত শব্দটির সংজ্ঞাটি দেখে আপনি প্রতিটি কার্যকারিতা কী কী ক্ষেত্রগুলির মধ্যে রয়েছে সে সম্পর্কে ধারণা পেতে শুরু করেছেন:

এসকিউএল - স্ট্রাকচার্ড ক্যোয়ারী ল্যাঙ্গুয়েজ

পিএল / এসকিউএল - পদ্ধতিগত ভাষা / কাঠামোগত ক্যোয়ারী ভাষা

পর্যবেক্ষক পাঠক লক্ষ্য করতে পারেন এসকিউএল কীভাবে দু'বার প্রদর্শিত হয়)) কারণ এসকিউএল প্রায়শই পিএল / এসকিউএল এর মধ্যে এম্বেড থাকে - পিএল / এসকিউএল এমন একটি ভাষা যা একটি মালিকানাধীন ৪ র্থ প্রজন্মের ভাষা (৪ জিএল) সরবরাহ করার জন্য তৈরি করা হয়েছিল যা ডাটাবেস অবজেক্টের সাথে খুব ভাল খেলেছে ওরাকল।

এসকিউএল এবং পিএল / এসকিউএল উভয় ক্ষেত্রে উইকিপিডিয়ায় বেশ ভাল উপাদান রয়েছে

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

তেমনি, আপনি নিজের পিএল / এসকিউএল এর মধ্যে এসকিউএল কোড এম্বেড করতে পারেন। উদাহরণস্বরূপ, পিএল / এসকিউএল এ একটি ফর লুপ একটি এসকিউএল কোয়েরির উপর ভিত্তি করে তৈরি করা যেতে পারে। তোমার মনটা একটু ফুঁকছে, তাই না? আপনি এসকিউএল ব্যবহার করে এমন একটি পদ্ধতি তৈরি করেন যা ডাটাবেস থেকে রেকর্ডে কিছু ক্রিয়া সম্পাদনের জন্য অভ্যন্তরীণভাবে এসকিউএল ব্যবহার করে।

আমাকে জিজ্ঞাসা করলে দুর্দান্ত জিনিস।


2
প্রকৃতপক্ষে, লাইন অস্পষ্ট। আপনি একটি পিএল / এসকিউএল পদ্ধতি তৈরি করতে একটি এসকিউএল স্টেটমেন্ট লিখতে পারেন যার মধ্যে একটি এসকিউএল স্টেটমেন্ট রয়েছে যাতে এটি একটি পিএল / এসকিউএল ফাংশনকে কল করে যার মধ্যে একটি এসকিউএল বিবৃতি রয়েছে ইত্যাদি।
লেইফ রিফেল

1
@ খরগোশের গর্তটি নীচে যান!
স্কটচের

আমি বলব না যে লাইনটি একেবারেই অস্পষ্ট ছিল। পিএল / এসকিউএল এসকিউএল জন্য পদ্ধতিগত মোড়ক হয়। বেশিরভাগ পিএল / এসকিউএল-তে এসকিউএল স্টেটমেন্ট থাকে, যদিও এটির দরকার নেই। আপনি প্রকৃত এসকিউএল কার্সার v$sqlইত্যাদির সন্ধান করতে পারেন
উইলিয়াম রবার্টসন

12

যদি তা গুটিয়ে রাখা হয়

  • BEGIN ... END
  • DECLARE ... END
  • CREATE OR REPLACE ... END
  • একটি ওয়ান-লাইনার উপসর্গযুক্ত EXECUTE

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

এটি ওরাকল যেমন করে সেগুলি সঞ্চিত পদ্ধতির একটি "হত্যাকারী সুবিধা"; আসলে একটি পিএল / এসকিউএল সঞ্চিত প্রোক বা ট্রিগার কার্যকর করে ফলাফল পাওয়ার জন্য নিখুঁত ন্যূনতম পরিমাণ গণনা করে। ওরাকল কার্নেলের বাইরে চালিত অ্যাপ্লিকেশন কোড যেখানে এটি অবিশ্বস্ত সেখানে ডেটা পাওয়ার জন্য আরও হুপের মধ্য দিয়ে ঝাঁপিয়ে পড়তে হবে। দৃC়ভাবে টাইপযুক্ত, প্রাসঙ্গিকভাবে স্বচ্ছ উচ্চ-স্তরের ভাষার জন্য যেমন ওসিএএমএল বা হাস্কেল - এটি একই যুক্তি, সংকলন সময়ে আরও বেশি কাজ করুন এবং কোডটি কার্যকর হওয়ার লক্ষ লক্ষ সময় উপকারের ফসল কাটাবেন।


2
মিশ্রণটি যুক্ত করতে সিএএলএল হ'ল একটি এসকিউএল বিবৃতি যা একটি সঞ্চিত প্রোগ্রাম ইউনিট সম্পাদন করতে ব্যবহৃত হয়, এবং এটি একটি হ'ল বগিন হিসাবে পুনরায় লেখা হয় ... সমাপ্তি
গ্যারি

2
যেমন এক্সিকিউটি, এটি সিনট্যাকটিক চিনি
গাইস

5

এসকিউএল এবং পিএল / এসকিউএল মধ্যে সীমাবদ্ধতা আছে?

এসকিউএল একটি মান *।

পিএল / এসকিউএল এসকিউএল স্ট্যান্ডার্ড * এর একজন বিক্রেতার এক্সটেনশন।

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

তবে পিএল / এসকিউএল একজন বিক্রেতা এক্সটেনশন হওয়ায় এর ভাষার অংশ থাকবে যা অন্যান্য বিক্রেতারা সমর্থন করতে পারে না।


3
আমি বলব যে পিএল / এসকিউএল একটি ডি স্ট্যাক্ট স্ট্যান্ডার্ড, এসকিউএল একটি ডি জুর স্ট্যান্ডার্ড :-)
গাইউস

3
@ গাউস এবং এই বিবৃতি থেকে আমি কেবল দুটি জিনিস অনুমান করব: আপনি একটি ওআরএ দেব, এবং আপনি মনে করেন যে টিএসকিউএল কেবল অগোছালো: পি
জেকোলেব্র্যান্ড

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

@ গাইউস আহ, হ্যাঁ, মান সম্পর্কে পুরানো তর্কটি এত ভাল যেহেতু অনেকগুলি বেছে নিতে পারে। আমি মনে করি এসকিউএল একটি "স্ট্যান্ডার্ড" এবং এটি পিএল / এসকিউএল মালিকানাধীন তাই +1 @ jcolebrand হিসাবে চিহ্নিত করা ভাল its
স্কটচের

@ স্কটচের for এর জন্য ধন্যবাদ। আমি বোবা বোধ করছি এটি মানক কারণ এটি অনুমোদনের সিল দিয়ে মুদ্রাঙ্কিত করার জন্য এবং এটির একটি নম্বর দেওয়ার জন্য কোনও মানক সংস্থা নেই (আফাইক)। তবে এটি ভালভাবে সংজ্ঞায়িত এবং একমত হয়েছে। ;)
jcolebrand
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.