LibreOffice-Suite-Base/C3/Create-simple-queries-in-SQL-View-II/Bengali

From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:02 LibreOffice বেজ এর এই কথ্য টিউটোরিয়ালে আপনাদের স্বাগত |
00:06 এই টিউটোরিয়াল-এ, আমরা শিখবো কিভাবে
00:10 এসকিউএল ভিউ ব্যবহার করে প্রশ্ন লেখা যায় |
00:13 ORDER BY বাক্যাংশ ব্যবহার |
00:15 JOIN ব্যবহার |
00:17 Aggregate ফাংশন ব্যবহার |
00:19 GROUP BYবাক্যাংশ ব্যবহার |
00:21 এবং sql -এর বিভন্ন ফাংশান ব্যবহার |
00:26 এসকিউএল কোয়েরি বা প্রশ্ন লেখার বিষয়ে আরও বিশদে জানা যাক |
00:31 এর জন্য, আমাদের পরিচিত লাইব্রেরী ডাটাবেস খুলুন |
00:36 এখন, বাম প্যানেলের Queries তালিকায় ক্লিক করুন |
00:42 এবং তারপর ক্লিক করুন ‘Create Query in SQL View’ |
00:49 প্রথমে দেখা যাক আপনি কিভাবে একটি প্রশ্নের ফলাফল সাজাতে পারেন |
00:55 একটি উদাহরণ নিয়ে আলোচনা করা যাক:
00:59 কেমব্রিজ বা অক্সফোর্ড দ্বারা প্রকাশিত সব বইয়ের শিরোনাম ও লেখকের তথ্য জানতে হবে |
01:09 এবং প্রকাশক অনুযাই তাদের উর্ধক্রমানুসারে সাজানো, তারপর বইয়ের শিরোনাম অনুসারে ঊর্ধক্রমে সাজাতে হবে |
01:19 এখানে প্রশ্নটি লেখা যাক  :
01:22 SELECT Publisher, Title, Author
01:28 FROM Books
01:31 WHERE Publisher IN ( 'Cambridge', 'Oxford')
01:42 ORDER BY Publisher ASC, Title ASC
01:50 আমরা শিরনামের কলামটি নির্দিষ্ট ক্রমানুসারে সাজাতে ORDER BY বাক্যাংশ ব্যবহার করেছি |
01:58 এছাড়াও কমা অক্ষরটি লক্ষ্য করুন যা সাজানোর জন্য আরও কলাম যোগ করতে সাহায্য করে |
02:05 এবং উর্ধক্রম বা নিম্নক্রম উল্লেখ করতে, আপনাকে শুধু প্রতিটি কলামের নামের পাশে A S C বা D E S C লিখতে হবে |
02:19 এখন, ফাইল মেনু বারের নিচে Run Query আইকনের উপর ক্লিক করা যাক |
02:26 এখানে বই-এর তালিকা দেখা যাচ্ছে যা প্রথমে প্রকাশক দ্বারা এবং তারপর বইয়ের শিরোনাম অনুসারে সাজানো রয়েছে |
02:34 পরবর্তী প্রশ্নে যাওয়া যাক |
02:38 এখন এমন বইগুলির শিরোনামের একটি তালিকা প্রস্তুত করা যাক যেগুলি সদস্যরা ফেরত দেননি, তালিকায় বই দেবার তারিখটিও থাকবে |
02:48 যেহেতু শিরোনাম Books টেবিলে আছে এবং বই দেবার তারিখ, BooksIssued টেবিলের আছে, তাই |
02:55 আমাদের এই দুটিকে কোনভাবে একত্রিত করতে হবে |
03:00 আমরা এই দুই টেবিল-এর যোগদানের জন্য, JOIN কী-ওয়ার্ড ব্যবহার করবো |
03:07 এবং আমরা এই দুই টেবিল সংযুক্ত করতে সাধারণ কলাম, BookId, ব্যবহার করবো |
03:14 তাহলে প্রশ্নটি হবে  :
03:17 SELECT B.title, I.IssueDate, I.Memberid

FROM Books B JOIN BooksIssued I

03:35 ON B.bookid = I.BookId

WHERE CheckedIn = FALSE

03:48 FROM বাক্যাংশের B এবং I কলাম-দুটি লক্ষ্য করুন |
03:55 এগুলিকে alias বা ছদ্মনাম বলা হয়, এটি হয় বর্ণনামূলক নতুবা শুধু একটি অক্ষর হতে পারে, এগুলিকে পড়ার সুবিধার জন্য ব্যবহার করা হয় |
04:06 লক্ষ্য করুন উভয় টেবিল-এর BookId কলাম রয়েছে |
04:11 তাই আমরা কোনপ্রকার সংশয় এড়াতে কলামের নাম বোঝাতে বা বিশেষিত করতে alias ছদ্মনাম ব্যবহার করবো |
04:21 ঠিক আছে, লক্ষ্য করুন আমরা FROM বাক্যাংশ-এর JOIN শব্দ ব্যবহার করে দুটি টেবিলকে সংযুক্ত করেছি ।
04:31 এবং সংযুক্ত করার জন্য BookId কলাম ব্যবহার করেছি । এটি বোঝাতে লেখা হয়েছে:

ON B.bookid = I.BookId

04:46 এবার এই প্রশ্নটি চালানো যাক |
04:49 এবং আমরা বই এবং বই ফেরত দেবার তারিখ-এর একটি তালিকা দেখতে পাচ্ছি এবং CheckedIn কলাম-টি লক্ষ্য করুন, এটি false রয়েছে ।
04:59 এবার লক্ষ্য করুন, আমরা ফলাফল-এ শুধুমাত্র memberId দেখতে পাচ্ছি, এটা খুব একটা সুবিধাজনক নয়, তাই না ?
05:08 তাহলে কিভাবে আমরা Members টেবিলের সদস্যদের নাম দেখাতে  ?
05:15 খুব সহজ , আমাদের প্রশ্নের সাথে Members টেবিল সংযুক্ত করব । লিখুন :
05:21 SELECT B.Title, I.IssueDate, I.MemberId, M.Name

FROM Books B

05:37 JOIN BooksIssued I ON B.BookId = I.BookId

JOIN Members M ON I.MemberId = M.MemberId

05:58 WHERE CheckedIn = FALSE
06:02 Members টেবিলের সাথে দ্বিতীয় সংযোগটি লক্ষ্য করুন । এক্ষেত্রে যোগ দেওয়ার জন্য MemberId কলাম ব্যবহার করা হয়েছে |
06:12 এবার প্রশ্নটি চালানো যাক |
06:14 এখানে সদস্যদের নাম এবং পাশে তাদেরকে দেওয়া বইগুলি দেখা যাচ্ছে |
06:20 এরপরে, aggregates বা সমষ্টি এবং grouping বা দলবদ্ধকরণ নিয়ে আলোচনা করা যাক ।
06:26 কিভাবে আমরা লাইব্রেরির সকল সদস্যদের সংখ্যা গণনা করতে পারি?
06:31 এক্ষেত্রে প্রশ্নটি হবে :
06:34 SELECT COUNT(*) AS "Total Members"

FROM Members

06:47 এখানে COUNT শব্দটি লক্ষ্য করুন |
06:51 এটিকে একটি সমষ্টিগত ফাংশন বলা হয় কারণ এটি অনেকগুলি রেকর্ডকে মূল্যায়নের করে শুধু একটা মান ফেরত দেয় |
07:02 এছাড়াও আমরা একটি ছদ্মনাম ‘Total Members’ যোগ করেছি |
07:07 এখন এই প্রশ্নটি চালানো যাক |
07:10 তাহলে এখানে, বেস ৪ টি সদস্য রেকর্ড মূল্যায়ন করেছে এবং ফলাফলে সংখ্যা 4 দেখাচ্ছে যেটি হলো সদস্যদের মোট সংখ্যা |
07:22 সমষ্টিগত ফাংশন-এর কিছু উদাহরণ SUM, MAX এবং MIN |
07:30 এখন তথ্য দলবদ্ধ করার বিষয়ে জানা যাক |
07:36 কিভাবে আমরা প্রতিটি প্রকাশক দ্বারা প্রকাশিত বই-এর গণনা করতে পারি?
07:40 এক্ষেত্রে প্রশ্নটি হবে :
07:43 SELECT Publisher, COUNT(*) AS "Number of Books" FROM Books

GROUP BY Publisher ORDER BY Publisher

08:03 এখানে নতুন GROUP BY বাক্যাংশটি লক্ষ্য করুন |
08:06 তাহলে আমরা প্রকাশক এবং বই-এর সংখ্যা নির্বাচন করেছি । প্রতিটি প্রকাশক দ্বারা প্রকাশিত বইগুলি একদলে রাখতে GROUP BY বাক্যাংশ ব্যবহার করছি |
08:18 এখন এই প্রশ্নটি চালানো যাক |
08:21 দেখুন, প্রকাশকদের নাম এবং তার পাশে সেই প্রকাশক দ্বারা প্রকাশিত বই-এর সংখ্যা |
08:33 এরপর SQL-এ ফাংশন এর ব্যবহার নিয়ে আলোচনা করা যাক |
08:38 ফাংশন হলো একটি বিবৃতি যা একটি মান ফেরত দেয় |
08:43 উদাহরণস্বরূপ, CURRENT_DATE আজকের তারিখ দেয় |
08:49 তাহলে সেই সমস্ত বই-এর শিরোনামের তালিকা তৈরী করা যাক যেগুলি সদস্যরা ফেরত দেয়নি |
08:56 তাহলে প্রশ্নটি হবে :
08:58 SELECT B.Title, I.IssueDate, I.ReturnDate
09:08 FROM Books B JOIN BooksIssued I ON B.bookid = I.BookId
09:21 WHERE CheckedIn = FALSE and ReturnDate < CURRENT_DATE
09:31 এখানে, CURRENT_DATE ফাংশন-এর ব্যবহার লক্ষ্য করুন |
09:36 এখানে তাহলে আমরা সেই বইগুলি দেখতে চাইছি যেগুলির ফেরত দেবার তারিখ আজকের তারিখের আগে ছিল |
09:43 এই প্রশ্নটি চালানো যাক |
09:45 এই বইগুলি এখনো ফেরত দেওয়া বাকি আছে |
09:51 HSQLdb –এর সব ফাংশন-গুলির তালিকার জন্য: http://hsqldb.org/doc/2.0/guide/builtinfunctions-chapt.html তে যান |
10:23 ব্যবহারকারীদের জন্য সম্পূর্ণ নির্দেশাবলী আপনি এই ওয়েবসাইট থেকে পেয়ে যাবেন ।
10:29 Http://www.hsqldb.org/doc/2.0/guide/
10:48 এখন একটি অনুশীলনী রয়েছে :
10:50 নিম্নলিখিত বিষয়ের ওপর এসকিউএল প্রশ্নও লিখুন এবং পরীক্ষা করে দেখুন :
10:55 1. গ্রন্থাগারে সব বইয়ের সংখ্যা গণনা করুন |
10:58 2. প্রতিটি লেখক দ্বারা লিখিত বই এর একটি গণনা করুন |
11:03 3. সেইসব সদস্যদের নাম এবং তাদের ফোন নম্বরের একটি তালিকা প্রস্তুত করুন, যাদের আজ বই ফেরত দেওয়া প্রয়োজন |
11:11 4. এই প্রশ্নটি কী করে তা ব্যখ্যা করুন ?

SELECT (price) AS "Total Cost of Cambridge Books"

11:24 FROM Books

WHERE publisher = 'Cambridge'

11:32 এখানেই LibreOffice বেস-এ এসকিউএল প্রশ্নের এই বিশদ টিউটোরিয়ালটি সমাপ্ত হলো |
11:40 সারসংক্ষেপে আমরা শিখেছি কিভাবে:
11:43 এসকিউএল ভিউ-তে প্রশ্ন লেখা |
11:47 ORDER BY বাক্যাংশ ব্যবহার করা |
11:49 JOINS ব্যবহার |
11:51 Aggregate ফাংশন ব্যবহার |
11:54 GROUP BY বাক্যাংশ ব্যবহার |
11:57 sql -এর নিজস্ব ফাংশান ব্যবহার ।
12:00 স্পোকেন্ টিউটোরিয়াল্ Talk to a Teacher প্রকল্পের অংশবিশেষ যা ভারত সরকারের ICT, MHRD এর National Mission on Education দ্বারা সমর্থিত । এই প্রকল্পটি http://spoken-tutorial.org দ্বারা পরিচালিত হয় । এই বিষয় বিস্তারিত তথ্য এই লিঙ্ক-এ প্রাপ্তিসাধ্য ।
12:21 আমি অন্তরা এই টিউটোরিয়াল - টি অনুবাদ এবং রেকর্ড করেছি | এই টিউটোরিয়াল - এ অংশগ্রহন করার জন্য ধন্যবাদ । শুভবিদায় ।

Contributors and Content Editors

Antarade, Gaurav, Kaushik Datta