Difference between revisions of "LibreOffice-Suite-Base/C4/Database-Design-Primary-Key-and-Relationships/Bengali"
From Script | Spoken-Tutorial
(Created page with ' {| border=1 !Visual Cues !Narration |- ||00:00 ||LibreOffice বেজ এর এই কথ্য টিউটোরিয়াল-এ আপনাদের স্বাগত…') |
|||
Line 227: | Line 227: | ||
|- | |- | ||
||09:18 | ||09:18 | ||
− | ||কখনও কখনও, কিছু বৈশিষ্ট্য বা কলাম শুধুমাত্র কিছু নির্দিষ্ট তথ্য সাপেক্ষ হয়, তাই সেই কলামগুলি খুব কমই ভার থাকে ||- | + | ||কখনও কখনও, কিছু বৈশিষ্ট্য বা কলাম শুধুমাত্র কিছু নির্দিষ্ট তথ্য সাপেক্ষ হয়, তাই সেই কলামগুলি খুব কমই ভার থাকে | |
+ | |- | ||
||09:30 | ||09:30 | ||
||যেমন ধরুন, শুধুমাত্র একজন লেখক ছাড়া অন্য কারুর কোনো ওয়েবসাইট ঠিকানা নেই | | ||যেমন ধরুন, শুধুমাত্র একজন লেখক ছাড়া অন্য কারুর কোনো ওয়েবসাইট ঠিকানা নেই | | ||
Line 271: | Line 272: | ||
|- | |- | ||
||10:58 | ||10:58 | ||
− | ||আমি অন্তরা এই টিউটোরিয়াল - টি অনুবাদ এবং রেকর্ড করেছি | + | ||আমি অন্তরা এই টিউটোরিয়াল - টি অনুবাদ এবং রেকর্ড করেছি | এই টিউটোরিয়াল - এ অংশগ্রহন করার জন্য ধন্যবাদ । শুভবিদায় । |
− | + |
Revision as of 00:34, 28 October 2013
Visual Cues | 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 | এর পরিবর্তে, আমরা এই কলাম্-টিকে আর-একটি প্রাসঙ্গিক টেবিলে স্থানান্তরিত করে দিতে হবে, যেটির-ও প্রাথমিক কী হবে একই লেখক আইডি | |
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 | আমি অন্তরা এই টিউটোরিয়াল - টি অনুবাদ এবং রেকর্ড করেছি | এই টিউটোরিয়াল - এ অংশগ্রহন করার জন্য ধন্যবাদ । শুভবিদায় । |