LibreOffice-Suite-Base/C4/Database-Design-Primary-Key-and-Relationships/Bengali

From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:00 LibreOffice বেস এর এই কথ্য টিউটোরিয়াল-এ আপনাদের স্বাগত |
00:04 এই টিউটোরিয়াল ডাটাবেজ নকশা সংক্রান্ত পূর্ববর্তী টিউটোরিয়াল-এর পরের অংশ |
00:10 এবং এখানে নিম্নলিখিত বিষয়গুলি সম্পর্কে আলোচনা করবো :
00:13 4. তথ্য উপাদান কলামে পরিবর্তন করা ।
00:17 5. প্রধান কী নির্দিষ্ট করা ।
00:20 6. টেবিলে সম্পর্কগুলি স্থাপন করা ।
00:23 শেষ টিউটোরিয়ালে, আমরা একটি সহজ গ্রন্থাগার অ্যাপ্লিকেশনের জন্য ডাটাবেস গঠন প্রক্রিয়াটি শুরু করেছিলাম ।
00:30 আমরা প্রথমে গ্রন্থাগার ডাটাবেস নির্মাণের উদ্দেশ্য নির্ধারন করেছিলাম ।
00:36 তারপর আমরা গ্রন্থাগার সম্পর্কে তথ্য খুঁজে বের করে সংগঠিত করেছিলাম এবং
00:44 আমরা সব তথ্যকে কয়েকটি টেবিল-এর মধ্যে বিভক্ত করেছিলাম ।
00:49 আমাদের গ্রন্থাগার ডাটাবেসের মধ্যে চারটি টেবিল রাখা হয়েছিল: Books, Authors, Publications and Members
01:00 তাহলে এবার আমাদের পরবর্তী ধাপে যাওয়া যাক : তথ্য উপাদানগুলিকে কলামে পরিবর্তন করা ।
01:07 এখানে, আপনাকে সিদ্ধান্ত নিতে হবে, প্রতিটি টেবিলে আপনি ঠিক কোন তথ্য উপাদানগুলিকে রাখতে চান ।
01:13 আমাদের আগে চিহ্নিত করা, প্রতিটি তথ্য উপাদান, একটি ক্ষেত্র হয়ে যাবে এবং টেবিলের মধ্যে কলাম হিসাবে প্রদর্শিত হবে ।
01:23 পর্দার ছবিতে দেখা যাচ্ছে, Books টেবিলে ৫ টি কলাম আছে, যেগুলিকে ক্ষেত্র বলা হয় ।
01:31 তাহলে এখানের প্রত্যেক সারি বা রেকর্ড-এ একটি বই সম্পর্কে তথ্য বিভিন্ন কলামে রয়েছে ।
01:40 একইভাবে, Authors টেবিলের প্রত্যেকটি রেকর্ডে মাত্র একজন লেখক সম্পর্কে তথ্য রয়েছে ।
01:49 পাবলিশার্সস টেবিলের প্রতিটি রেকর্ড-এ মাত্র একজন প্রকাশক সম্পর্কে তথ্য রয়েছে ।
01:58 এখন, আপনি প্রয়োজন অনুযায়ী কলামগুলি আরো পরিমার্জন করতে পারবেন ।
02:04 উদাহরণস্বরূপ, আপনি লেখকদের নাম, নাম ও পদবিতে বিভক্ত করতে পারেন, যাতে সেই কলাম অনুযায়ী খোঁজা বা সাজানো সহজ হয়ে যায় ।
02:17 টেবিলের মধ্যে গণনার ফলাফল পৃথক কলাম হিসাবে সংরক্ষণ করার প্রয়োজন নেই ।
02:24 আপনি যখনি ফলাফল দেখতে চাইবেন, বেস তেখনি সেটাকে গণনা করা দেখিয়ে দেবে ।
02:31 এখন আমাদের টেবিল ও কলাম সম্পর্কে স্পষ্ট ধারণা হয়ে গেছে, এরপর শেখা যাক কিভাবে প্রধান কি নির্দিষ্ট করা যায় ।
02:41 আগে প্রধান কী সম্পর্কে একটু আলোচনা করা যাক ।
02:44 প্রতিটি টেবিলে অবশ্যই এমন একটি কলাম বা ক-একটি কলাম-এর গুচ্ছ থাকা উচিত, যা প্রতিটি সারিকে আলাদাভাবে সনাক্ত করবে |
02:54 এই কলাম বা কলাম্গুলির গুচ্ছকে টেবিলের প্রধান কী বলা হয় |
03:00 এটি সাধারনতঃ একটি অনন্য সনাক্তকারী সংখ্যা হয় যেমন একটি বই-এর ID অথবা কোনো লেখক আইডি |
03:08 এই প্রধান কী ক্ষেত্র ব্যবহার করে, আমরা খুব দ্রুত একাধিক টেবিল থেকে সম্পর্কিত তথ্য যুক্ত করতে পারি এবং তথ্যগুলি একসাথে আনতে পারি |
03:21 এছাড়াও, প্রধান কী-তে কোনো মান পুনরাবৃত্তি হতে পারবে না |
03:26 উদাহরণস্বরূপ, আপনি প্রধান কী হিসাবে, মানুষ এর নাম ব্যবহার করতে পারবেন না, কারণ নাম সবার জন্য আলাদা নাও হতে পারে |
03:34 একই টেবিলে একই নামের দুজন মানুষ থাকতেই পারে |
03:40 এছাড়াও, একটি প্রধান কীতে সবসময় কোনো মান থাকতে হবে |
03:45 যদি এটি খালি বা Null হয়, তাহলে আমরা এটিকে কোনো প্রাথমিক কী হিসাবে গণ্য করতে পারবো না |
03:52 একটি প্রধান কী কলাম-এ সবসময় কোনো না কোনো মান অবশ্যই থাকা সুনিশ্চিত করতে, আমরা সেই কলাম এর তথ্য প্রকার 'AutoNumber' নির্দিষ্ট করতে পারি, যার মান বেস স্বয়ংক্রিয়ভাবে উৎপন্ন করে |
04:09 এবার পর্দায় ছবিতে যেমন দেখানো হবে, আপনি সেভাবে টেবিলের জন্য প্রধান কী নির্দিষ্ট করতে পারেন:
04:20 Books টেবিলের জন্য BookId
04:24 Authors টেবিলের জন্য AuthorId
04:28 Publishers টেবিলের জন্য PublishersId
04:33 একইভাবে, যদিও এখানে দেখানো হয়নি, Members টেবিলের জন্য প্রধান কী হবে MemberId
04:42 আসলে, আমরা টেবিলের মধ্যে প্রধান কী নির্দিষ্ট করার দ্বারা Entity Integrity বজায় রাখছি ।
04:52 Entity Integrity নিশ্চিত করে যে টেবিলের মধ্যে কোন রেকর্ড দুবার নেই ।
05:00 এটি আরো নিশ্চিত করে যে, যে ক্ষেত্রটি টেবিলের মধ্যে প্রত্যেকটি রেকর্ডকে আলাদাভাবে সনাক্ত করে সেটি unique বা অনন্য হয় এবং সেটি ফাঁকা না থাকে ।
05:10 এখন যখন তিনটি টেবিলে প্রধান কী রয়েছে, তখন আমরা সম্পর্ক স্থাপন করে টেবিল-গুলিকে সংযুক্ত করতে পারি ।
05:20 যেহেতু আমরা বেস-এ সম্পর্ক স্থাপন করতে পারি, এটিকে একটি রিলেশনাল ডাটাবেজ ম্যানেজমেন্ট সিস্টেম বা সংক্ষেপে বলতে গেলে RDBMS বলা হয় ।
05:32 সম্পর্ক কয়েক ধরনের হয় । এখন সেগুলি নিয়ে আলোচনা করা যাক ।
05:37 প্রথমে জানা যাক One-to-Many বা এক-থেকে-অনেক সম্পর্কটি কি ।
05:43 Books এবং Members টেবিল দুটিকে দেখুন ।
05:49 একটি বই একজন লেখকের দ্বারা লিখিত হয় ।
05:55 এমনও হতে পারে, কোনো বই-এর দুই বা তার বেশি সহলেখক আছে ।
06:02 কিন্তু আমরা আমাদের আলোচনাকে একটি লেখার একজনমাত্র লেখকেই সীমিত রাখবো |
06:10 আমাদের উদাহরণ-এ, একজন লেখক অনেক বই লিখতে পারেন |
06:17 সুতরাং Authors টেবিলে থাকা একজন লেখক-এর জন্য, Books টেবিলে সেই লেখক-এর দ্বারা লিখিত অনেক বই আছে থাকতেই পারে |
06:28 অতএব, এটি একটি এক থেকে বহুর সম্পর্ক |
06:32 এই সম্পর্কটিকে গ্রন্থাগার ডাটাবেসের মধ্যে উপস্থাপন করতে,
06:36 আমাদের Authors টেবিলের প্রধান কী অর্থাত Author Id -কে .., Books টেবিল-এর মধ্যে যোগ করে |
06:46 তাহলে, Books টেবিলে, Author Id হলো ফরেন কী |
06:53 একইভাবে, পাবলিশার্স টেবিলের প্রধান কী অর্থাত Publisher Id কে Books টেবিলে যোগ করলে সেটি Books টেবিলে ফরেন কী হয়ে যাবে |
07:06 সুতরাং কয়েকটি টেবিলের মধ্যে একটি বা একাধিক কলামগুচ্ছ ভাগ করে নিলে, আমরা ডাটাবেসের মধ্যে এক থেকে বহুর সম্পর্ক উপস্থাপনা করতে পারব |
07:17 এবং ফরেন কি ব্যবহার করে টেবিলগুলির মধ্যে সম্পর্ক স্থাপন করা যাবে |
07:23 তাহলে, দুটি টেবিলের মধ্যে সম্পর্ক স্থাপন করতে, একটি টেবিল-এর প্রধান কী টিকে দ্বিতীয় টেবিলে ফরেন কী হিসাবে ব্যবহার করতে হবে |
07:34 একে Referential integrity বলা হয় |
07:39 অর্থাত, একটি টেবিল-এর প্রতিটি ফরেন কী-এর মান, সম্পর্কিত টেবিলের, কোনো একটি প্রধান কী মানের সাথে সমান হতেই হবে |
07:50 এর পরে, যানা যাক, বহু-থেকে-বহু সম্পর্ক বলতে কী বোঝায় |
07:56 এখন টেবিল নকশায় ফিরে যাওয়া যাক |
07:59 একটি বই গ্রন্থাগারের অনেক সদস্যদের দেওয়া যেতে পারে, (এখানে আমরা ধরে নিয়েছি, বইটির অনেকগুলি কপি গ্রন্থাগারে উপলব্ধ আছে )|
08:09 একইভাবে একজন সদস্য অনেকগুলি বই ধার করতে পারেন (এখানেও ধরে নিচ্ছি, বইগুলি উপলব্ধ রয়েছে )
08:17 তাই, এটি একটি উদাহরণ, যেখানে একাধিক বই একাধিক সদস্যদের দেওয়া হচ্ছে |
08:25 যা বহু থেকে বহুর সম্পর্ক বোঝায় |
08:29 এবার, আমাদের ডাটাবেসের মধ্যে এই বহু থেকে বহুর সম্পর্ক উপস্থাপন করতে
08:35 একটি তৃতীয় টেবিল তৈরি করতে হবে, BooksIssued টেবিল, যেটিকে একটি সন্ধি টেবিল বলা হয় |
08:45 এখানে, আমরা, Books এবং Members এই দুটি টেবিল থেকেই প্রধান কী নিয়ে BooksIssued টেবিল-এ, যোগ করবো |
08:57 ফলস্বরূপ, BooksIssued টেবিল-এ, সদস্যদেরকে দেওয়া প্রতিটি বই-এর তথ্য থাকবে |
09:05 তাহলে, একটি তৃতীয় সন্ধি টেবিল তৈরি করে, আমরা বহু থেকে বহু সম্পর্ক উপস্থাপন করতে পারি |
09:13 এবং পরিশেষে এক থেকে এক সম্পর্ক নিয়ে আলোচনা করা যাক |
09:18 কখনও কখনও, কিছু বৈশিষ্ট্য বা কলাম শুধুমাত্র কিছু নির্দিষ্ট তথ্য সাপেক্ষ হয়, তাই সেই কলামগুলি খুব কমই মান থাকে |
09:30 যেমন ধরুন, শুধুমাত্র একজন লেখক ছাড়া অন্য কারুর কোনো ওয়েবসাইট ঠিকানা নেই |
09:38 এবং তাই Authors টেবিলের নতুন, ওয়েবসাইট কলাম অধিকাংশই খালি থেকে যাচ্ছে, এবং সেইজন্যই ডিস্ক এর অনেক স্থান নষ্ট হচ্ছে |
09:47 এর পরিবর্তে, আমাদের এই কলাম্-টিকে আর-একটি প্রাসঙ্গিক টেবিলে স্থানান্তরিত করে দিতে হবে, যেটির-ও প্রাথমিক কী হবে একই author আইডি |
09:58 প্রাসঙ্গিক টেবিলের প্রত্যেকটি রেকর্ড, প্রধান টেবিলের ঠিক একটি রেকর্ড-এর সাথেই মিলবে |
10:06 যা এক থেকে এক সম্পর্ককে বোঝায় |
10:10 তাহলে, আমরা এখানে ডাটাবেসের মধ্যে সম্পর্ক স্থাপন করতে শিখেছি |
10:15 এখানেই, LibreOffice বেস-এ ডাটাবেস নকশা সংক্রান্ত টিউটোরিয়াল-এর দ্বিতীয় ভাগ সমাপ্ত হলো |
10:23 সংক্ষেপে, আমরা ডাটাবেস নকশা সম্পর্কে এই নিম্নলিখিত বিষয়গুলি আলোচনা করেছি :
10:28 4. তথ্য অংশগুলিকে কলাম-এ পরিবর্তন করা |
10:32 5. প্রধান কী নির্দিষ্ট করা |
10:34 6. টেবিলের মধ্যে সম্পর্ক স্থাপন করা |
10:38 স্পোকেন্ টিউটোরিয়াল্ Talk to a Teacher প্রকল্পের অংশবিশেষ যা ভারত সরকারের ICT, MHRD এর National Mission on Education দ্বারা সমর্থিত ।
10:48 এই প্রকল্পটি http://spoken-tutorial.org দ্বারা পরিচালিত হয় ।
10:54 এই সম্পর্কে আরও তথ্য নিম্নলিখিত লিঙ্ক থেকে পাওয়া যাবে ।
10:58 আমি অন্তরা এই টিউটোরিয়াল - টি অনুবাদ এবং রেকর্ড করেছি | এই টিউটোরিয়াল - এ অংশগ্রহন করার জন্য ধন্যবাদ । শুভবিদায় ।

Contributors and Content Editors

Antarade, Gaurav, Kaushik Datta