এটি বেশিরভাগই লিনকিউয়ের ইতিহাসে নেমে আসে।
লিনকুই মূলত এসকিউএল-জাতীয় হওয়ার উদ্দেশ্যে তৈরি হয়েছিল এবং এসকিউএল ডাটাবেসে সংযোগ রাখতে (মূলত যদিও একচেটিয়াভাবে নয়) ব্যবহৃত হয়েছিল। এটির অনেকগুলি পরিভাষা এসকিউএল ভিত্তিক হয়ে থাকে।
সুতরাং, "নির্বাচন" এসকিউএল থেকে এসেছিলেন select
বিবৃতি, এবং "সমষ্টিগত" এসকিউএল সমষ্টিগত ফাংশন থেকে এসেছেন (যেমন, count
, sum
, avg
, min
, max
)।
যারা লিনকিউ মূলত এসকিউএল সম্পর্কিত ডিগ্রি নিয়ে প্রশ্ন করেছিলেন তাদের জন্য, আমি সি (সি) সম্পর্কিত মাইক্রোসফ্টের নিবন্ধগুলি উল্লেখ করব, যা মাইক্রোসফ্ট রিসার্চ দ্বারা রচিত একটি ভাষা ছিল এবং এটি যেখানে লিনকিউয়ের মূলসূত্রগুলির বেশিরভাগ বুনিয়াদি কাজ করেছিল সেগুলি সি # এবং .NET- এ যুক্ত হওয়ার আগেই বের হয়ে গেল।
উদাহরণস্বরূপ, সি-তে একটি এমএসডিএন নিবন্ধ বিবেচনা করুন , যা বলে:
সিএ-তে ক্যোয়ারী অপারেটর ω
সি সি # ভাষায় ক্যোয়ারী অপারেটরগুলির দুটি বিস্তৃত শ্রেণি যুক্ত করে:
- নাম বা প্রকারের দ্বারা কোনও বস্তুর সদস্য ভেরিয়েবল অনুসন্ধানের জন্য এক্সপথ ভিত্তিক অপারেটরগুলি।
- প্রজেকশন, গোষ্ঠীকরণ এবং এক বা একাধিক অবজেক্টের ডেটা যোগদানের সাথে জড়িত অত্যাধুনিক প্রশ্নের সম্পাদনের জন্য এসকিউএল-ভিত্তিক অপারেটর।
কমপক্ষে আমি যতটা জানি, এক্সপথ ভিত্তিক অপারেটরগুলি কখনই সি # তে যুক্ত করা হয়নি, কেবলমাত্র অপারেটরদের ডকুমেন্ট করা ছিল (লাইনকিউয়ের আগে) সরাসরি এসকিউএল ভিত্তিক ছিল।
এখন, এটি অবশ্যই সত্য যে লিনকিউ সি-তে এসকিউএল-ভিত্তিক ক্যোয়ারী অপারেটরগুলির মতো নয় ω বিশেষত, লিনিকিউ সি # এর মৌলিক অবজেক্টগুলি এবং ফাংশন কল সিনট্যাক্সকে সি এর চেয়ে অনেক কাছাকাছি অনুসরণ করে। সি-কোয়েরিগুলি এসকিউএল সিনট্যাক্সটিকে আরও ঘনিষ্ঠভাবে অনুসরণ করেছিল, যাতে আপনি এরকম কিছু লিখতে পারেন (আবার উপরে বর্ণিত নিবন্ধ থেকে সরাসরি আঁকা):
rows = select c.ContactName, o.ShippedDate
from c in DB.Customers
inner join o in DB.Orders
on c.CustomerID == o.CustomerID;
এবং হ্যাঁ, একই নিবন্ধটি এসকিউএল-ভিত্তিক অনুসন্ধানগুলি প্রকৃত এসকিউএল ডাটাবেসগুলি থেকে আসা ডেটা ক্যোয়ারী ব্যবহার করার বিষয়ে বিশেষভাবে কথা বলেছে:
সি-এর একটি এসকিউএল ডাটাবেসের সাথে সংযোগ স্থাপন করতে, এটি অবশ্যই একটি পরিচালিত সমাবেশ হিসাবে প্রকাশ করা উচিত (এটি একটি। নেট গ্রন্থাগার ফাইল), যা অ্যাপ্লিকেশন দ্বারা রেফারেন্স করা হয়। Sql2comega.exe কমান্ড লাইন সরঞ্জাম বা ভিজ্যুয়াল স্টুডিওর মধ্যে থেকে ডেটাবেসস স্কিমা যোগ করুন ... ডায়ালগ ব্যবহার করে একটি রিলেশনাল ডাটাবেস কোনও সিই-র দ্বারা পরিচালিত অ্যাসেম্বলি হিসাবে প্রকাশ করা যেতে পারে । ডেটাবেস অবজেক্টগুলি সার্ভার দ্বারা আয়োজিত সম্পর্কিত ডেটাবেজ উপস্থাপন করতে সি দ্বারা ব্যবহৃত হয়। একটি ডাটাবেস অবজেক্টে প্রতিটি টেবিল বা দেখার জন্য একটি সর্বজনীন সম্পত্তি এবং ডাটাবেসে পাওয়া প্রতিটি টেবিলের মূল্যবান ফাংশন রয়েছে। একটি সম্পর্কিত সম্পর্কিত ডাটাবেস জিজ্ঞাসা করতে, একটি টেবিল, ভিউ, বা টেবিল-মূল্যযুক্ত ফাংশন এক বা একাধিক এসকিউএল-ভিত্তিক অপারেটরের ইনপুট হিসাবে নির্দিষ্ট করতে হবে।
নিম্নলিখিত নমুনা প্রোগ্রাম এবং আউটপুট সি-তে একটি সম্পর্কিত সম্পর্কিত ডাটাবেস জিজ্ঞাসা করার জন্য এসকিউএল-ভিত্তিক অপারেটরগুলি ব্যবহার করার কিছু দক্ষতা দেখায় ω এই উদাহরণে ব্যবহৃত ডাটাবেস হ'ল মাইক্রোসফ্ট এসকিউএল সার্ভারের সাথে আসা নমুনা নর্থওয়াইন্ড ডাটাবেস। উদাহরণে ব্যবহৃত ডিবি নামটি sql2comega.exe ব্যবহার করে উত্পন্ন নর্থউইন্ড.ডিল সমাবেশের নর্থওয়াইন্ড নেমস্পেসের একটি ডাটাবেস অবজেক্টের একটি বিশ্বব্যাপী উদাহরণকে বোঝায় ।
সুতরাং, হ্যাঁ, প্রথম থেকেই (বা এমনকি আপনার দৃষ্টিভঙ্গির ভিত্তিতে শুরুর আগে) লিনকিউ স্পষ্টভাবে এসকিউএল এর উপর ভিত্তি করে তৈরি হয়েছিল এবং বিশেষত এসকিউএল ডাটাবেসে ডেটা অ্যাক্সেসের অনুমতি দেওয়ার উদ্দেশ্যে তৈরি হয়েছিল।