Subqueries এবং Complex Queries

Database Tutorials - আরাঙ্গো (ArangoDB) Joins এবং Relational Queries |
245
245

Subqueries এবং Complex Queries হলো ArangoDB-এর শক্তিশালী কোয়েরি ফিচার, যা জটিল ডেটা বিশ্লেষণ এবং প্রসেসিংকে সহজ করে। Subquery একটি কোয়েরির মধ্যে আরেকটি কোয়েরি হিসেবে কাজ করে এবং Complex Query বিভিন্ন ডেটাসেট এবং শর্তের ভিত্তিতে উন্নত বিশ্লেষণ করতে সাহায্য করে।


Subqueries

Subquery হল একটি কোয়েরি যা অন্য একটি কোয়েরির মধ্যে নেস্ট করা থাকে। এটি মূলত কোয়েরির একটি অংশ হিসেবে কাজ করে এবং একটি নির্দিষ্ট ফলাফল প্রদান করে, যা পরে প্রধান কোয়েরিতে ব্যবহার করা হয়।

উদাহরণ

১. Subquery দিয়ে Nested Data রিটার্ন করা:
FOR user IN Users
  LET posts = (
    FOR post IN Posts
      FILTER post.author == user._key
      RETURN post
  )
  RETURN { user: user, posts: posts }

এখানে:

  • প্রথম কোয়েরি Users থেকে ব্যবহারকারীদের তথ্য আনছে।
  • Subquery Posts থেকে প্রতিটি ব্যবহারকারীর পোস্ট সংগ্রহ করছে।
  • প্রধান কোয়েরি ব্যবহারকারী এবং তাদের পোস্টের একটি সমন্বিত ফলাফল রিটার্ন করছে।
২. Subquery ব্যবহার করে Grouped Data:
FOR category IN Categories
  LET products = (
    FOR product IN Products
      FILTER product.category == category._key
      RETURN product.name
  )
  RETURN { category: category.name, products: products }

এটি প্রতিটি ক্যাটাগরির সাথে সংশ্লিষ্ট পণ্যের নামগুলো রিটার্ন করে।


Complex Queries

Complex Query বিভিন্ন শর্ত, Subqueries, Joins এবং Aggregations ব্যবহার করে আরও জটিল ডেটা বিশ্লেষণের জন্য ব্যবহৃত হয়। এটি একাধিক ডেটাসেট এবং Nested Data নিয়ে কাজ করে।

উদাহরণ

১. Multiple Filters এবং Aggregations:
FOR order IN Orders
  FILTER order.status == "delivered" AND order.amount > 100
  COLLECT customer = order.customer INTO ordersGrouped
  RETURN { customer: customer, totalOrders: LENGTH(ordersGrouped) }

এখানে:

  • Filters: delivered স্ট্যাটাস এবং amount > 100 এর জন্য ফিল্টার।
  • Aggregation: প্রতি গ্রাহকের মোট অর্ডারের সংখ্যা গণনা।
২. Complex Query with Join এবং Subquery:
FOR user IN Users
  LET totalSpent = SUM(
    FOR order IN Orders
      FILTER order.customer == user._key
      RETURN order.amount
  )
  RETURN { user: user.name, totalSpent: totalSpent }

এখানে:

  • Subquery ব্যবহার করে প্রতিটি ব্যবহারকারীর মোট ক্রয়ের পরিমাণ গণনা।
  • প্রধান কোয়েরি এটি ব্যবহারকারীর নামসহ রিটার্ন করছে।
৩. Nested এবং Linked Data Process:
FOR user IN Users
  LET friends = (
    FOR friend IN Friends
      FILTER friend.user == user._key
      RETURN friend
  )
  LET posts = (
    FOR post IN Posts
      FILTER post.author == user._key
      RETURN post
  )
  RETURN { user: user.name, friends: friends, posts: posts }

এটি প্রতিটি ব্যবহারকারীর নাম, তার বন্ধুদের তালিকা এবং তার পোস্টগুলো রিটার্ন করে।


Subqueries এবং Complex Queries এর সুবিধা

ডেটা বিশ্লেষণের গভীরতা

  • Nested এবং সম্পর্কিত ডেটার উন্নত বিশ্লেষণ করা যায়।

অপ্টিমাইজড পারফরম্যান্স

  • Subqueries-এর সাহায্যে প্রয়োজনীয় ডেটা কমিয়ে কোয়েরি অপ্টিমাইজ করা যায়।

গ্রাফ ডেটার সমর্থন

  • Complex Queries গ্রাফ ডেটার জন্য বিশেষভাবে কার্যকর।

পুনঃব্যবহারযোগ্য কোড

  • Subqueries কোয়েরি কাঠামোকে Modular এবং পুনঃব্যবহারযোগ্য করে তোলে।

সারাংশ

Subqueries এবং Complex Queries ArangoDB-এর একটি অত্যন্ত শক্তিশালী ফিচার, যা জটিল এবং সম্পর্কিত ডেটা বিশ্লেষণ সহজ করে। Nested কোয়েরি, Aggregations, এবং Joins ব্যবহার করে বড় এবং জটিল ডেটাবেস থেকে কার্যকর ফলাফল পাওয়া যায়। এটি ডেটা মডেলিং এবং ডেটা ট্রান্সফর্মেশনের জন্য একটি অপরিহার্য হাতিয়ার।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion