Q ভাষায় Tables (টেবিল) হল একটি গুরুত্বপূর্ণ ডেটা স্ট্রাকচার, যা ডেটা সংরক্ষণ এবং বিশ্লেষণের জন্য ব্যবহৃত হয়। Simple Tables এবং Complex Tables এর মধ্যে পার্থক্য হল যে Simple Tables সাধারণত একক বা সীমিত সংখ্যক কলাম ধারণ করে, whereas Complex Tables অনেক বেশি এবং জটিল কলাম বা nested ডেটা ধারণ করতে পারে।
এখানে Simple এবং Complex টেবিল তৈরি এবং তাদের ব্যবহার নিয়ে আলোচনা করা হবে।
১. Simple Table
Simple Table একটি মৌলিক টেবিল, যেখানে সাধারণত কিছু সোজা এবং স্বতন্ত্র ডেটা থাকে। এটি সাধারণত এক বা দুইটি কলাম নিয়ে তৈরি হয়।
Example: Simple Table তৈরি
simpleTable: (`id`name!((1 2 3); "Alice" "Bob" "Charlie"))এখানে simpleTable একটি টেবিল যেখানে দুটি কলাম রয়েছে:
id: এই কলামে আইডি নম্বর থাকবে (যেমন 1, 2, 3)।name: এই কলামে নাম থাকবে (যেমন "Alice", "Bob", "Charlie")।
Output:
simpleTableআউটপুট:
id name
-----------
1 Alice
2 Bob
3 Charlieএখানে একটি সোজা টেবিল তৈরি করা হয়েছে, যেখানে দুইটি কলাম id এবং name রয়েছে।
২. Complex Table
Complex Table হল এমন একটি টেবিল, যেখানে এক বা একাধিক কলামের ভিতরে আরও সাব-টেবিল বা nested ডেটা থাকতে পারে। এতে আপনি জটিল ডেটা স্ট্রাকচার যেমন তালিকা (lists), ডিকশনারি, টাইম-সিরিজ ডেটা ইত্যাদি ধারণ করতে পারেন।
Example: Complex Table তৈরি
complexTable: (`id`name`address!((1 2 3); "Alice" "Bob" "Charlie"; ("USA" "Canada" "UK") ))এখানে complexTable একটি টেবিল যেখানে তিনটি কলাম রয়েছে:
id: এই কলামে আইডি নম্বর থাকবে (যেমন 1, 2, 3)।name: এই কলামে নাম থাকবে (যেমন "Alice", "Bob", "Charlie")।address: এই কলামে তিনটি ভিন্ন দেশ ("USA", "Canada", "UK") একটি তালিকা আকারে সংরক্ষিত থাকবে।
Output:
complexTableআউটপুট:
id name address
-----------------------
1 Alice USA
2 Bob Canada
3 Charlie UKএখানে address কলামে লিস্ট ধরনের ডেটা রয়েছে, যা Complex Table এর একটি উদাহরণ।
৩. নেস্টেড টেবিল (Nested Table)
Nested Table হল এমন একটি টেবিল, যেখানে একটি কলামের ভিতরে অন্য একটি টেবিল থাকতে পারে। এটি একটি আরও জটিল ডেটা স্ট্রাকচার তৈরি করে, যেটি বিভিন্ন ধরনের সম্পর্কযুক্ত ডেটা ধারণ করতে ব্যবহৃত হয়।
Example: Nested Table তৈরি
nestedTable: (`id`name`details!((1 2 3); "Alice" "Bob" "Charlie"; (1 2 3) each (10 20 30)))এখানে nestedTable একটি টেবিল, যেখানে:
id: এই কলামে আইডি নম্বর থাকবে (যেমন 1, 2, 3)।name: এই কলামে নাম থাকবে (যেমন "Alice", "Bob", "Charlie")।details: এই কলামে nested টেবিল রয়েছে, যেখানে প্রতিটি আইডির জন্য একটি সাব-টেবিল তৈরি হয়েছে।
Output:
nestedTableআউটপুট:
id name details
----------------------
1 Alice 10 20 30
2 Bob 10 20 30
3 Charlie 10 20 30এখানে details কলামে একটি নেস্টেড টেবিল রয়েছে, যা সংখ্যার একটি লিস্ট হিসেবে প্রতিটি আইডির জন্য তৈরি হয়েছে।
৪. Complex Table with Multiple Nested Data Types
Complex Tables সাধারণত বিভিন্ন ধরনের ডেটা ধারণ করতে পারে, যেমন তালিকা, ডিকশনারি, অথবা nested টেবিলের কম্বিনেশন। এতে আপনাকে আরও শক্তিশালী ডেটা বিশ্লেষণ করতে সাহায্য করে।
Example: Complex Table with Multiple Nested Data Types
complexDataTable: (`id`name`address`phone!((1 2 3); "Alice" "Bob" "Charlie"; ("USA" "Canada" "UK"); (`home`work!("123-456" "789-012" "345-678") ))এখানে complexDataTable একটি টেবিল, যেখানে:
id: আইডি কলাম (যেমন 1, 2, 3)।name: নাম কলাম (যেমন "Alice", "Bob", "Charlie")।address: ঠিকানা কলাম (যেমন "USA", "Canada", "UK")।phone: ফোন নাম্বারের জন্য একটি ডিকশনারি (homeএবংwork) ধারণ করে।
Output:
complexDataTableআউটপুট:
id name address phone
--------------------------------------
1 Alice USA home 123-456 work 789-012
2 Bob Canada home 345-678 work 789-012
3 Charlie UK home 345-678 work 123-456এখানে phone কলামে ডিকশনারি টাইপ ডেটা রয়েছে, যা প্রতিটি ব্যক্তির বাড়ির এবং অফিস ফোন নম্বর ধারণ করে।
সারসংক্ষেপ
- Simple Table: সাধারণ টেবিল যেখানে কিছু কলাম থাকে এবং তাদের মধ্যে সোজা ডেটা থাকে।
- Complex Table: এমন টেবিল যেখানে একটি কলামের ভিতরে আরও nested বা জটিল ডেটা স্ট্রাকচার (যেমন তালিকা, ডিকশনারি, বা nested টেবিল) থাকতে পারে।
- Nested Tables: যেখানে একটি টেবিলের ভিতরে অন্য একটি টেবিল থাকে, এবং এটি সম্পর্কযুক্ত ডেটা ধারণ করতে ব্যবহৃত হয়।
Q ভাষায় Simple এবং Complex টেবিল তৈরি করা ডেটার সংগঠন এবং বিশ্লেষণকে সহজ করে তোলে, বিশেষ করে যখন ডেটার মধ্যে সম্পর্ক বা জটিলতা থাকে।
Read more