(বেসিক) এসকিউএল কোয়েরিগুলি উচ্চতর অর্ডার ফাংশনের সমানভাবে সমান?


11

এসকিউএল মূলত মানচিত্রের + + ভাঁজ + ফিল্টারের একটি ডোমেন নির্দিষ্ট উদাহরণ?

এটি আমার কাছে মনে হয় যে নিম্নলিখিত এসকিউএল:

SELECT name
FROM fruits
WHERE calories < 100 

নিম্নলিখিত মানচিত্র + ফিল্টার + ভাঁজ অপারেশনের জন্য কেবল সিনট্যাকটিক চিনি is

var fruits = [{id : 1, name: 'orange', calories : 100},
    {id : 2, name : 'banana',  calories : 150},
    {id : 3, name: 'apple', calories : '50'}];

fruits.map(function(fruit) { return { name : fruit.name, calories : fruit.calories })
    .filter(function(obj) { return obj.calories < 100 })
    .reduce(function (accumulator, obj) { accumulator + "\n" + val.name; });

এটি কি কাকতালীয়, বা এমন কোনও শব্দার্থার্থ সমতা যা প্রমাণিত হতে পারে? মোটামুটিভাবে কীভাবে?

আমি অনুশীলনে জানি এসকিউএলটিতে প্রচুর ঘণ্টা এবং হুইসেল রয়েছে তবে এর মূল অংশে এটি কি কেবল একটি মানচিত্র-ভাঁজ-ফিল্টার অপারেশন রয়েছে?

নিম্নলিখিত নিবন্ধটি প্রাসঙ্গিক: http://blogs.msdn.com/b/doriancorompt/archive/2013/01/21/bringing-the-querying-power-of-sql-to-javascript.aspx


1
আপনি কীভাবে কোনও ক্লিনিকের মাধ্যমে কোনও যোগদান বা একটি গ্রুপকে মডেল করবেন?
Ixrec


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

1
ওহ, আমার অন্য পোস্টটি মুছার কথা। সম্পন্ন.
শ্রীধর সারনোবাত

1
@ শ্রীধর-সারনোব্যাট: সাধারণত, যখন বেশ কিছু ব্যবহারকারী আপনার প্রশ্নটিকে প্রোগ্রামার্স.এসইতে স্থানান্তরিত করার জন্য ভোট দেয়, তখন এটি স্বয়ংক্রিয়ভাবে স্থানান্তরিত হবে। প্রয়োজনীয় প্রশ্নে পৌঁছানোর আগে আপনি আপনার প্রশ্নটি বন্ধ করে দিয়েছেন।
ব্রায়ান

উত্তর:


6

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

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


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

1
@ বার্ট: তারপরে প্রশ্ন ছিল "এমন কোনও শব্দার্থার্থ সমতা যা প্রমাণিত হতে পারে?" অন্য বিষয় হিসাবে একটি জিনিস বাস্তবায়ন কম্পিউটার বিজ্ঞানের মধ্যে সমতা প্রমাণ করার জন্য একটি সময় সম্মানিত কৌশল। উদাহরণস্বরূপ, কোনও ভাষা প্রমাণ করার একটি উপায় যা ইতিমধ্যে টুরিং-সম্পূর্ণ হিসাবে পরিচিত বলে পরিচিত অন্য কোনও ভাষা প্রয়োগের জন্য এটি ব্যবহার করে টুরিং-সম্পূর্ণ।
ম্যাসন হুইলারের

অর্থগত সমতুল্যের জন্য, আমি আশা করব যে আপনি উভয় দিকেই এটি প্রদর্শন করতে পারেন। এসকিউএল ক্যোয়ারী উভয়ই উচ্চতর-ক্রম ফাংশনে প্রকাশ করা যেতে পারে এবং আপনি এসকিউএল সিনট্যাক্সে একটি উচ্চ-অর্ডার ফাংশন প্রকাশ করতে পারেন।
বার্ট ভ্যান ইনজেন শেেনা

2
সম্ভবত আমি প্রশ্নটি আনুষ্ঠানিকভাবে পর্যাপ্তরূপে বলিনি। আমার ধারণা আমার 100% ক্ষেত্রে দ্বিদ্বৈতভাবে সমতুল্য হওয়ার দরকার নেই। কেবলমাত্র একটি পদ্ধতির মাধ্যমে সাধারণ প্রশ্নগুলি অন্য হিসাবে পুনরায় লেখা যেতে পারে।
শ্রীধর সারনোবাত

2
ন্যায়সঙ্গতভাবে, প্রশ্নটি " উচ্চতর অর্ডার ফাংশনগুলির সমতুল্য এসকিউএল কোয়েরিগুলি " হিসাবে প্রশ্নটি বাক্যটি দিয়েছিল, "" এসকিউএল ভাষাটি একটি কার্যকরী প্রোগ্রামিং ভাষার সমতুল্য নয় ", সুতরাং কোনও উত্তরই ভুল নয়।
Ixrec

9

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

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


রিলেশনাল বীজগণিত / ক্যালকুলাস কি আদৌ ফাংশনাল প্রোগ্রামিংয়ের সাথে সম্পর্কিত? আমি মনে করি যে রিলেশনাল ভাষাগুলি সেট থিয়োরি থেকে উদ্ভূত হয়েছে তবে নিশ্চিত নয় যে এটি সেগুলি কার্যকরী করে তোলে কিনা।
শ্রীধর সারনোবাত

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