Lorem ipsum dolor sit amet, consectetur adipiscing elit. Test link

ষষ্ঠ অধ্যায়- ডেটাবেজ ম্যানেজমেন্ট সিস্টেম

Data/উপাত্তঃ সুনির্দিষ্ট ফলাফল বা আউটপুট পাওয়ার জন্য প্রসেসিংয়ে ব্যবহৃত কাঁচামাল সমুহকে ডেটা বা উপাত্ত বলে। অন্যভাবে বলা যায়- তথ্যের ক্ষুদ্রতম একককে বলা হয় উপাত্ত। Data এর অর্থ ফ্যাক্ট(Fact) যার একবচন হলো Datum। ডেটা এক বা একাধিক বর্ণ (A-Z, a-z), চিহ্ন(+,-,/,*,<,>,= ) বা সংখ্যা(0-9) হতে পারে।
ডেটার শ্রেণী বিভাগঃ
Information/তথ্যঃ তথ্য হল কোন প্রেক্ষিতে সুশৃঙ্খলভাবে সাজানো ডেটা যা অর্থবহ এবং ব্যবহারযোগ্য। অন্যভাবে বলা যায়- ডেটা প্রক্রিয়াকরণ পরবর্তী অর্থপূর্ণ রূপ হলো ইনফরমেশন বা তথ্য। মানুষ বিভিন্ন কাজে তথ্য ব্যবহার করে।
উপাত্ত ও তথ্যের উদাহরণঃ কোন ছাত্রের প্রতিটি বিষয়ে প্রাপ্ত নম্বর হল ডেটা । অপরপক্ষে সকল বিষয়ের প্রাপ্ত নম্বর হিসাব করে তৈরি করা ফলাফল বা রিপোর্ট হলো তথ্য।
উপাত্ত ও তথ্যের মধ্যে পার্থক্যঃ
উপাত্ততথ্য
সুনির্দিষ্ট ফলাফল বা আউটপুট পাওয়ার জন্য প্রসেসিংয়ে ব্যবহৃত কাঁচামাল সমুহকে ডেটা বা উপাত্ত বলে।ডেটা প্রক্রিয়াকরণ পরবর্তী অর্থপূর্ণ রূপ হলো ইনফরমেশন বা তথ্য যা অর্থবহ এবং ব্যবহারযোগ্য।
উপাত্ত একটি একক ধারণা।তথ্য একটি সমষ্টিগত ধারণা।
উপাত্তের সাহায্যে কোন ব্যাক্তি বা বস্তু সম্পর্কে পুর্নাঙ্গ ধারণা পাওয়া যায় না।তথ্যের সাহায্যে কোন ব্যাক্তি বা বস্তু সম্পর্কে পুর্নাঙ্গ ধারণা পাওয়া যায় ।
উপাত্ত সরাসরি ব্যবহার করা হয় না।মানুষ প্রয়োজনে সরাসরি তথ্য ব্যবহার করে থাকে।
উপাত্তের বিভিন্ন শ্রেণীবিভাগ আছে।তথ্যের এই ধরণের কোন শ্রেনীবিভাগ নেই।

 Database: Data শব্দের অর্থ হচ্ছে উপাত্ত এবং Base শব্দের অর্থ হচ্ছে সমাবেশ। শাব্দিক অর্থে ডেটাবেজ হচ্ছে কোনো সম্পর্কিত বিষয়ের ওপর ব্যাপক উপাত্তের সমাবেশ। অন্যভাবে বলা যায়, পরস্পর সম্পর্কযুক্ত এক বা একাধিক ফাইল বা টেবিল নিয়ে গঠিত হয় ডেটাবেজ।

ডেটা সংগঠন (Data Hierarchy): বিট হতে ডেটাবেজ পর্যন্ত পর্যায়ক্রমিক ধারাকে ডেটা সংগঠন বলে।

ডেটাবেজের সুবিধাসমুহঃ
১। একই তথ্যের পুনরাবৃত্তি রোধ করে স্থানের সর্বোচ্চ ব্যবহার করা যায়।
২। তথ্যের অসামঞ্জস্যতা দূর করা যায়।
৩। একই সময়ে একাধিক ব্যবহারকারী একই তথ্য নিয়ে কাজ করতে পারে।
৪। তথ্যের নিরাপত্তা নিশ্চিত করা যায়।
৫। স্বল্পতম সময়ে তথ্য খুঁজে বের করা যায়।
৬। সহজে এবং কম সময়ে একটি ডেটাবেজ বা তথ্যভান্ডার তৈরি করা যায়।
৭। ডেটা উপস্থাপন করা সহজ ও দ্রুত হয়।.
৮। সংরক্ষিত ডেটাকে যখন তখন প্রয়োজনীয়ভাবে আপডেট করা যায়।
৯। প্রয়োজনীয় সময়ে অত্যন্ত দক্ষতার সাথে ডেটা পরিচালনা করা যায়।
ডেটাবেজের অসুবিধাসমুহঃ
১। ভুল ডেটার কারণে অনেক সময় প্রক্রিয়াকরণ ধীর গতি সম্পন্ন হয়।
২। কিছু কিছু ভুল ডেটা সম্পূর্ন ডেটাবেজকে নষ্ঠ করতে পারে।
৩। ডেটাবেজ ব্যবস্থাপনার জন্য অভিজ্ঞ জনশক্তির প্রয়োজন হয়।
৪। ডেটা নিরাপত্তার ব্যবস্থা থাকতে হয়।

ডেটাবেজ ব্যবস্থাপনা প্রণালির এলাকা সমূহ:

১। ব্যাংকিং: গ্রাহক, একাউন্ট, ঋণ এবং লেনদেনের তথ্য সংরক্ষণে ব্যাংকিং খাতে ডেটাবেজ অত্যাবশ্যকীয়।
২। বিমান: আসন বুকিং, সময় সূচির তথ্য ব্যবস্থাপনা, বিমানের অবস্থানের তথ্য সংরক্ষণে এবং সারা বিশ্বের বিভিন্ন প্রান্তের টার্মিনালগুলো ফোন লাইনের মাধ্যমে একটি কেন্দ্রিয় ডেটাবেজের সাথে যুক্ত থাকে।
৩। লাইব্রেরীঃ লাইব্রেরীর বই ব্যবস্থাপনার ক্ষেত্রে।
৪। শিক্ষা প্রতিষ্ঠান: ছাত্র-ছাত্রীদের তথ্য, কোর্সের নিবন্ধন ও রিপোর্ট তৈরি ইত্যাদি ক্ষেত্রে ডেটাবেজ ব্যবকভাবে ব্যবহৃত হয়।.
৫। ক্রেডিট কার্ড লেনদেন: ক্রেডিট কার্ড দিয়ে ক্রয়, লেনদেন ও মাসিক বিবরণী প্রস্তুতের উদ্দেশ্যে।
৬। টেলিকমিউনিকেশন: ফোন কলের তথ্য রাখার জন্য, মাসিক বিল প্রস্তুত, প্রিপেইড কল কার্ডের ব্যালেন্স এবং যোগাযোগ নেটওয়ার্কের তথ্য সংরক্ষনের জন্য।
৭। প্রোডাকশন এবং ডিস্ট্রিবিউশনঃ কোম্পানির উৎপাদিত প্রোডাক্ট এবং বিতরণের হিসাব সংরক্ষণে।
৮। আর্থিক: আর্থিক তথ্য যেমন- ক্রয়, বিক্রয়, জমা, স্টক এবং বন্ডের হিসাব সংরক্ষণ।.
৯। মানব সম্পদ: কর্মচারীদের তথ্য, বেতন, ট্যাক্স, ভাতা, চেক প্রদানের তথ্য এবং অন্যান্য সুযোগ সুবিধার তথ্য সংরক্ষণে।
১০। স্টক এবং শেয়ার মার্কেটঃ শেয়ার মার্কেটের তথ্য সংরক্ষণে। 
ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (DBMS): ডেটাবেজ ম্যানেজমেন্ট সিস্টেম বা DBMS হলো এমন একটি সফটওয়্যার যা ডেটাবেজ তৈরি, পরিবর্তন, সংরক্ষণ, নিয়ন্ত্রণ এবং পরিচালনার কাজে ব্যবহৃত হয়। উদাহরণঃ MySQL, PostgreSQL, Microsoft Access, SQL Server, FileMaker, Oracle, dBASE, Clipper, and FoxPro. ইত্যাদি।
DBMS এর কাজসমূহঃ
১। প্রয়োজন অনুযায়ী ডেটাবেজ তৈরি করা (Create)।
২। নতুন ডেটা/রেকর্ড অন্তর্ভুক্ত করা (Append)।
৩। ডেটার ভূল অনুসন্ধান করা ও সংশোধন করা (Debug)।
৪। অপ্রয়োজনীয় ডেটা/রেকর্ড বাদ দেওয়া(Delete)।
৫। সম্পাদনার কাজ সম্পন্ন করা (Edit)।
৬। প্রয়োজনীয় ডেটা অনুসন্ধান করা (Search)।
৭। প্রয়োজন অনুয়ায়ী সম্পুর্ন ডেটাবেজকে যেকোন ফিল্ডের ভিত্তিতে বিন্যস্ত করা (Sort)।
৮। রিপোর্ট তৈরি করা ও প্রয়োজনীয় ডেটাবেজের প্রিন্ট নেওয়া(Print)।
৯। ডেটাবেজের বিভিন্ন উপাত্ত সংরক্ষণ করা (Save)।
১০। ডেটাবেজের নিরাপত্তা নিশ্চিত করা (Security)।
১১। ডেটাবেজের রেকর্ডের আধুনিকীকরণ করা (Update)।
১২। ডেটার সত্যতা ও বৈধতা যাচাই করা (Validation & Verification)।
DBMS এর সুবিধাসমূহ:
১। ডেটার বাহুল্য কমায়।
২। রেকর্ডের ভিত্তিতে আধুনিকীকরণ করা যায়।
৩। সহজে ডেটাবেজ থেকে নির্দিষ্ট রেকর্ড অনুসন্ধান করা যায় এবং বিভিন্ন ধরনের রিপোর্ট তৈরি করা যায়।
৪। ডেটার সঠিকতার নিশ্চয়তা প্রদান করা যায়।
৫। ডেটার নিরাপত্তা নিশ্চিত করা যায় অর্থাৎ ডেটার অননুমোদিত ব্যবহার রোধ করা যায়।
৬। ডেটা রিডানডেন্সি দূর করা যায়।
৭। প্রোগ্রাম ডেটা নির্ভরশীলতা দূর করে।
৮। সহজেই ডেটা শেয়ার করা যায়।
DBMS এর অসুবিধাসমূহ:
১। ভুল ডেটার কারণে অনেক সময় ডেটাবেজ প্রক্রিয়াকরণ পদ্ধতি ধীরগতি সম্পন্ন হয়।
২। কিছু ভুল ডেটা সম্পূর্ণ ডেটাবেজকে প্রভাবিত করতে পারে।
৩। অভিজ্ঞ জনশক্তির প্রয়োজন হয়।
৪। অধিক ব্যয় সাপেক্ষ।
RDBMS: এর পূর্ণনাম Relational Database Management System। RDBMS সাধারণত ডেটাবেজ ও ডেটাবেজ ব্যবহারীর মধ্যে সমন্বয়কারী সফটওয়্যার হিসেবে কাজ করে। এটি সাধারণত রিলেশনাল ডেটাবেজ মডেলের উপর ভিত্তি করে তৈরি করা হয়েছে। যেমন- Oracle, MySQL (Free software), Microsoft SQL Server, PostgreSQL (Free software), IBM DB2, Microsoft Access ইত্যাদি।
RDBMS এর বৈশিষ্ট্য সমুহঃ
১। RDBMS এর সাহায্যে সহজেই টেবিল তৈরি ও ডেটা ইনপুট দেওয়া যায় এবং একাধিক টেবিলের মধ্যে রিলেশন তৈরি করা যায়।
২। RDBMS এর সাহায্যে একটি ডেটাবেজ একসাথে একাদিক ব্যবহারকারী ব্যবহার করতে পারে এবং এক ডেটাবেজের সাথে অন্য ডেটাবেজের তথ্য আদান-প্রদান করা যায়।
৩। RDBMS এর সাহায্যে ডেটাবেজ টেবিলের ডেটাগুলোকে সাজিয়ে উপস্থাপন করা যায়, ডেটা গুলোর বিভিন্ন ফরমেটের রিপোর্ট তৈরি করা যায় এবং ডেটার ভিত্তিতে প্রয়োজনীয় গ্রাফ ও চার্ট তৈরি করা যায়।
৪। উইন্ডোজের গ্রাফিক্যাল ইন্টারফেসের সাহায্যে ডেটা এন্ট্রি ফর্ম তৈরি করা যায় এবং ডেটা ভ্যালিডেশনের সাহায্যে ডেটা এন্ট্রি নিয়ন্ত্রণ করা যায়।
৫। অন্য কোন প্রোগ্রাম থেকে ডেটা ইমপোর্ট করে ডেটাবেজে ব্যবহার করা যায় এবং ডেটাবেজের ডেটার উপর ভিত্তি করে বিভিন্ন অ্যাপ্লিকেশন সফটওয়্যারও তৈরি করা যায়।
RDBMS এর ব্যবহার সমুহঃ
১। বড় প্রতিষ্ঠানের বিভিন্ন বিভাগের তথ্য ব্যবস্থাপনার জন্য।
২। অন-লাইন বিমান, ট্রেন, বাস এবং বিভিন্ন খেলা বা ইভেন্ট এর টিকিট ব্যবস্থাপনার জন্য।
৩। ব্যাংকের যাবতীয় লেনদেনের হিসাব-নিকাশ রাখা এবং ইলেকট্রনিক পেমেন্ট সিস্টেমে।
৪। ব্যবসা প্রতিষ্ঠান বা ই-কমার্স এর ক্ষেত্রে তথ্য ব্যবস্থাপনার জন্য।
৫। বিভিন্ন শিক্ষা প্রতিষ্ঠানের সকল তথ্য ব্যবস্থাপনার জন্য।
৬। রাষ্ট্রীয় বিভিন্ন গুরুত্বপূর্ণ মন্ত্রণালয় ও দপ্তরের গুরুত্বপূর্ণ তথ্য সংরক্ষণে।
৭। দেশের জনসংখ্যার তথ্য, আদমশুমারি ও ভোটার লিস্ট তৈরির জন্য।
৮। ডাইনামিক ওয়েবসাইট তৈরিসহ আরো অনেক ক্ষেত্রে RDBMS এর গুরুত্বপূর্ণ ব্যবহার রয়েছে।

DBMS ও RDBMS এর মধ্যে পার্থক্যসমুহঃ

DBMSRDBMS
DBMS এর পূর্ণরুপ Database Management System.RDBMS এর পূর্ণরুপ Relational Database Management System.
DBMS ডেটা ফাইল হিসেবে সংরক্ষণ করে।RDBMS ডেটা টেবুলার ফর্মে সংরক্ষণ করে।
ডেটা এলিমেন্ট এককভাবে অ্যাকসেস করতে হয়।একাধিক ডেটা এলিমেন্ট একসাথে একই সময় অ্যাকসেস করা যায়।
ডেটা সমূহের মধ্যে কোন রিলেশন থাকে না।ডেটা সমূহ টেবিলে সংরক্ষণ হয়  এবং টেবিলগুলো একে অপরের সাথে সম্পর্কিত।
DBMS ডিস্ট্রিবিউটেড ডেটাবেজ সাপোর্ট করে না।RDBMS ডিস্ট্রিবিউটেড ডেটাবেজ সাপোর্ট করে।
ডেটা রিডানডেন্সি থাকে।ডেটা রিডানডেন্সি থাকে না।
অল্প সংখ্যক ডেটা নিয়ে কাজ করার জন্য বিভিন্ন ছোট অরগানাইজেশনে ব্যবহৃত হয়।অধিক সংখ্যক ডেটা নিয়ে কাজ করার জন্য বিভিন্ন  বড় অরগানাইজেশনে ব্যবহৃত হয়।
DBMS সিঙ্গেল ইউজার সাপোর্ট করে।RDBMS একাধিক ইউজার সাপোর্ট করে।
DBMS এ ডেটার লো-লেভেল সিকিউরিটি থাকে।RDBMS এ ডেটার মাল্টি-লেভেল সিকিউরিটি থাকে।
উদাহরণ-  XML, Microsoft Access ইত্যাদি।উদাহরণ-  MySQL, PostgreSQL, SQL Server, Oracle, ইত্যাদি।

 ডেটাবেজ অ্যাডমিনিস্ট্রেটর(DBA): যে ব্যক্তি বা ব্যক্তিবর্গের উপর ডেটাবেজের কেন্দ্রীয় নিয়ন্ত্রণ ব্যবস্থা অর্পিত থাকে সেই ব্যক্তি বা ব্যক্তিবর্গকে ডেটাবেজ অ্যাডমিনিস্ট্রেটর বলে। সংক্ষেপে বলা যায়, ডেটাবেজের সার্বিক দায়িত্বে নিয়োজিত ব্যক্তিকে ডেটাবেজ অ্যাডমিনিস্ট্রেটর বলে।

ডেটাবেজ অ্যাডমিনিস্ট্রেটরের কাজঃ

১। ডেটাবেজ সার্ভার এবং অ্যাপ্লিকেশন টুলস ইন্সটল এবং আপগ্রেড করা।
২। ডেটাবেজ সিস্টেমের জন্য সিস্টেম স্টোরেজ বরাদ্দ এবং প্রয়োজনীয় স্টোরেজের জন্য পরিকল্পনা করা।
৩। প্রয়োজনে ডেটাবেজ গঠন সংশোধন করা।
৪। সিস্টেমের নিরাপত্তা বজায় রাখা।
৫। ডেটাবেজ ব্যবহারকারীর অ্যাক্সেস নিয়ন্ত্রণ এবং পর্যবেক্ষণ।
৬। ডেটাবেজ মনিটরিং এবং ডেটাবেজের কর্মক্ষমতা অপ্টিমাইজ করা।
৭। ডেটাবেজ ব্যাকআপ এবং ডেটাবেজের তথ্য পুনরুদ্ধারের জন্য পরিকল্পনা।
৮। ডেটাবেজ ব্যাকআপ এবং পুনরুদ্ধার।
৯। প্রয়োজন অনুযায়ী ডেটাবেজ অনুসন্ধান করে বিভিন্ন রিপোর্ট তৈরি।
১০। তথ্য প্রতিলিপি ব্যবস্থাপনা এবং পর্যবেক্ষণ।
ডেটাবেজ তৈরি: Database তৈরি করার জন্য DBMS হিসেবে Microsoft Access 2010 এর ব্যবহার দেখানো হল। প্রথমেই Microsoft Access 2010 অ্যাপ্লিকেশনটি ইন্সটল দিতে হবে। তারপর প্রোগ্রামটি রান করলে নিচের মত করে চিত্র প্রদর্শিত হবে।


চিত্রের ডান পার্শে নিচে File Name থেকে ডেটাবেজের নাম এবং ডেটাবেজের লোকেশন পরিবর্তন করা যায়। অবশেষে create button এ ক্লিক করলে ডেটাবেজ তৈরি হবে।
টেবিল তৈরি: ডেটাবেজ হলো পরস্পর সম্পর্কযুক্ত একাধিক টেবিলের সমন্বয়ে গঠিত। প্রত্যেকটি টেবিল আবার কতকগুলো রেকর্ড নিয়ে গঠিত। পরস্পর সম্পর্কযুক্ত কতকগুলো ফিল্ড মিলে গঠিত হয় রেকর্ড। সুতরাং ফিল্ড হচ্ছে ডেটাবেজের ভিত্তি।কোনো টেবিল তৈরি করার পূর্বে টেবিলের প্রত্যেকটি রেকর্ডে কি কি ফিল্ড থাকবে তা নির্দিষ্ট করতে হয়। কোনো ডেটাবেজে কি কি ফিল্ড থাকবে তা নির্ভর করবে ডেটাবেজের উদ্দেশ্য বা ডেটাবেজে কী ধরনের ডেটা থাকবে তার উপর। আবার প্রত্যেকটি ফিল্ডে কী ধরনের ডেটা থাকবে অর্থাৎ ডেটা টাইপ কি হবে তা নির্ধারণ করতে হয়।
ডেটাবেজ টেবিলের ফিল্ডের ডেটা টাইপ সমূহ:
Short Text: বেশিরভাগ ডেটাবেজে ব্যবহৃত প্রধান Data type হলো Text। Short Text ফিল্ডে অক্ষর, সংখ্যা, চিহ্ন ইত্যাদি ব্যবহার করা যায়। সাধারণত এ ফিল্ডে সর্বোচ্চ ২৫৫টি বর্ণ/ অঙ্ক/চিহ্ন এককভাবে বা সম্মিলিতভাবে ব্যবহার করা যায়। তবে, সংখ্যা ব্যবহার করলেও এ ডেটার উপর গাণিতিক কাজ করা যায় না।
Long Text: Long Text ফিল্ডে অক্ষর, সংখ্যা, চিহ্ন ইত্যাদি ব্যবহার করা যায়। সাধারণত এ ফিল্ডে ৬৩৯৯৯ সংখক বর্ণ/ অঙ্ক/চিহ্ন এককভাবে বা সম্মিলিতভাবে ব্যবহার করা যায়। তবে, সংখ্যা ব্যবহার করলেও এ ডেটার উপর গাণিতিক কাজ করা যায় না।
Number: যে ফিল্ডে গাণিতিক ডেটা ব্যবহার করা হয়, সেই ফিল্ডকে প্রকাশ করার জন্য নাম্বার ব্যবহৃত হয়। নাম্বার ফিল্ডে যোগ বা বিয়োগ চিহ্নসহ/ছাড়া পূর্ণসংখ্যা ও ভগ্নাংশ মিলিয়ে প্রয়োজনীয় সংখ্যা ব্যবহার করা যায়। এ ফিল্ডের ডেটার উপর গাণিতিক অপারেশন (যোগ, বিয়োগ, গুণ ও ভাগ) করা যায়।
AutoNumber: এটি একটি নাম্বার ডেটা টাইপ। এটি সিরিজ জাতীয় বা ধারাবাহিক ডেটার ক্ষেত্রে ব্যবহৃত হয়। এ ডেটা টাইপের সুবিধা হচ্ছে এতে ডেটা এন্ট্রি করতে হয় না। স্বয়ংক্রিয়ভাবে ডেটা এন্ট্রি হয়।
Yes/No: যুক্তিনির্ভর ফিল্ডের ডেটা টাইপ প্রকাশ করার জন্য Yes/No ব্যবহৃত হয়। কোনো ফিল্ডের মান ‘হ্যাঁ’ অথবা ‘না’ এ দুটি তথ্য এ ফিল্ডে সংরক্ষণ করা যায়। এই ফিল্ডের জন্য মেমোরিতে ১ বিট জায়গা প্রয়োজন।
Date/Time: এ ফিল্ডটি তারিখ বা সময়ের জন্য ব্যবহার করা হয়। ১০০ থেকে ৯৯৯৯ বছরের তারিখ ও সময়ের জন্য এ ফিল্ড ব্যবহৃত হয়। এ ফিল্ডের জন্য মেমরিতে ৮ বাইট জায়গা প্রয়োজন। তারিখ ও সময় বিভিন্ন ফরমেটে হতে পারে।
Memo: Memo, Text এর পরিপূরক হিসেবে ব্যবহৃত হয়। সাধারণত বর্ণনামূলক লেখা বা বর্ণনার জন্য এ ফিল্ড ব্যবহার করা হয়। এ ফিল্ডের ধারণ ক্ষমতা কম্পিউটার ডিস্কের ধারণ ক্ষমতার উপর নির্ভর করে। সাধারণত এ ফিল্ডে ৬৫,৫৩৬টি ক্যারেক্টর লেখা যায়। সাধারণত Remark, Address ফিল্ডে এ ডেটা টাইপ ব্যবহার করা হয়।
Currency: মুদ্রা বা টাকার অঙ্ক ইনপুট করার জন্য $ ব্যবহার করা হয়। শুধুমাত্র মুদ্রা বা টাকা সংক্রান্ত ডেটা এন্ট্রি করার জন্য Currency টাইপ সিলেক্ট করতে হয়। এ ফিল্ডের ডেটার উপর গাণিতিক অপারেশন সম্পূর্ণ প্রযোজ্য। এ ফিল্ডের জন্য মেমোরিতে ৮ বাইট জায়গা প্রয়োজন।
OLE(Object Linking Embedding) Object: যেসব তথ্য ডেটাবেজ নয় এমন সফটওয়্যারে আছে এবং লিংক এর মাধ্যমে স্বয়ংক্রিয়ভাবে ডেটাবেজে নেয়ার ক্ষেত্রে এ ডেটা টাইপ ব্যবহার করা হয়। যেমন- মাইক্রোসফট এক্সেল, পাওয়ার পয়েন্ট ইত্যাদি প্রোগ্রাম হতে শব্দ, ছবি, টেক্সট, গ্রাফ ইত্যাদি ডেটাবেজের কোন ফিল্ডে নেয়ার জন্য এ ডেটা টাইপ ব্যবহার করা হয়।
Hyperlink: সাধারণত ডেটাবেজ প্রোগ্রামের সাথে ওয়েব পেজের কোনো ফাইল কিংবা অন্য কোনো ব্যবহারিক প্রোগ্রামের ফাইল লিংক করার জন্য এ ডেটা টাইপ ব্যবহার করা হয়।
Look up wizard: সরাসরি কোনো ডেটা এন্ট্রি না করে কোনো লিস্ট বা টেবিল থেকে ডেটা নির্বাচন করে ডেটা ইনপুট করার জন্য এ ডেটা টাইপ ব্যবহার করা হয়।

কুয়েরিঃ ডেটাবেজে সংরক্ষিত অসংখ্য তথ্য থেকে নির্দিষ্ট কোনো শর্ত সাপেক্ষে তথ্য খুঁজে বের করাকে বলা হয় কুয়েরি।  কুয়েরির সাহায্যে নির্দিষ্ট ফিল্ডের ডেটা,নির্দিষ্ট গ্রুপের ডেটা নির্দিষ্ট শর্ত সাপেক্ষে প্রদর্শন করা যায়।

বিভিন্ন প্রকার কুয়েরিঃ 

  • সিলেক্ট কুয়েরি (Select Query): কোনো ডেটাবেজ টেবিলের ফিল্ড বা কলাম নির্বাচন করে যে কুয়েরি করা হয় তাকে সিলেক্ট কুয়েরি বলা হয়।
  • প্যারামিটার কুয়েরি (Parameter Query): ডায়লগ বক্সের তথ্য পূরণ করে যে কুয়েরি করা হয় তাকে প্যরামিটার কুয়েরি বলে।
  • ক্রসট্যাব কুয়েরি (Cross tab Query): শর্তারোপ করে কুয়েরিকৃত ফলাফল সামারি আকারে প্রদর্শনের জন্য যে কুয়েরি করা হয় তাকে, ক্রসট্যাব কুয়েরি বলে।
  • অ্যাকশন কুয়েরি (Action Query): কোনো কুয়েরি যখন ডেটাবেজের ডেটার মানের পরিবর্তন করে তাকে অ্যাকশন কুয়েরি বলে।যেমন-
    • Append Query- নতুন রেকর্ড যুক্ত করার জন্য ব্যবহার করা হয়।
    • Update Query -কোনো ডেটার পরির্বতনের জন্য ব্যবহার করা হয়।
    • Delete Query- টেবিল থেকে ডেটা মুছে ফেলার জন্য ব্যবহার করা হয়।
    • Make Table Query- কুয়েরিকৃত ফলাফল দিয়ে নতুন টেবিল তৈরির জন্য ব্যবহার করা হয়।
কুয়েরি ভাষাঃ যে ভাষার সাহায্যে কুয়েরি করা হয় তাকে কুয়েরি ভাষা বলে। ডেটা ম্যানিপুলেশনের উপর ভিত্তি করে তিন ধরণের কুয়েরি ভাষা আছে। যেমন-
1. QUEL (Query Language)
2. QBE (Query By Example)
3. SQL (Structured Query Language)
QUEL: QUEL এর পূর্ণ রূপ হলো Query Language। এটি INGRES এর জন্য ডেটা ডেফিনিশন এবং ডেটা ম্যানিপুলেশন। INGRES এর পূর্ণ রূপ হলো Interactive Graphics and Retrieval System। INGRES একটি রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম যা মাইকেল স্টোনব্রকারের(Michael Stonebraker) তৈরি করেন। QUEL রিলেশনাল বীজগণিত অপারেশনগুলি যেমন-ইন্টারসেকশন, বিয়োগ বা ইউনিয়ন সমর্থন করে না। এটি টাপল ক্যালকুলাসের উপর ভিত্তি করে তৈরি এবং এটি নেস্টেড সাব কুয়েরিগুলিকে সমর্থন করে না।
QBE: QBE এর পূর্ণ রূপ হলো Query by example। এটি একটি কুয়েরি ভাষা যা রিলেশনাল ডেটাবেজে ব্যবহৃত হয়। এটি টেবিল থেকে তথ্য অনুসন্ধানের জন্য ব্যবহারকারীদের একটি সাধারণ ইউজার ইন্টারফেস সরবরাহ করে যেখানে ব্যবহারকারী তার যে তথ্যটি অ্যাক্সেস করতে চায় তার একটি উদাহরণ ইনপুট করতে সক্ষম হবে। SQL এর উন্নয়নের সমান্তরালে 1970-এর দশকে IBM এ Moshe Zloof কর্তৃক QBE তৈরি করা হয়েছিল। এটি একটি গ্রাফিক্যাল কুয়েরি ভাষা যেখানে ব্যবহারকারীরা শর্ত এবং উদাহরণ উপাদানগুলির মতো কমান্ডগুলি টেবিলে ইনপুট করতে পারে। ব্যাকগ্রাউন্ডে ব্যবহারকারীর কুয়েরিটি ডেটাবেজ ম্যানিপুলেশন ভাষায় (যেমন SQL) রূপান্তরিত হয় এবং এই SQL ব্যাকগ্রাউন্ডে কার্যকর হবে।
SQL(Structured Query Language): SQL এর পূর্ণ রূপ হলো Structured Query Language। SQLএকটি non-procedural বা Functional Language। কারণ SQL এ যে তথ্যাবলি দরকার কেবল তা বলে দিলেই হয়, কীভাবে কুয়েরি করা যাবে তা বলার দরকার হয় না। SQL একটি শক্তিশালী ডেটা ডেফিনেশন ল্যাঙ্গুয়েজ অর্থাৎ SQL ব্যবহার করে ডেটাবেজ ম্যানেজমেন্ট সিস্টেমে ডেটাবেজ ফাইল তৈরি, ডেটাবেজ ফাইল পরিবর্তন, ডেটাবেজ ফাইল ডিলিট, ডেটাবেজ অবজেক্ট(টেবিল, ভিউ, ইনডেক্স ইত্যাদি) তৈরি, পরিবর্তন এবং ডিলিট করা যায় এবং SQL একটি শক্তিশালী ডেটা মেনিপুলেশন ল্যাঙ্গুয়েজ অর্থাৎ SQL ব্যবহার করে ডেটাবেজ টেবিলে ডেটা ইনসার্ট, আপডেট ও ডিলিট করা যায়। তাছাড়া ইউজার একসেস নিয়ন্ত্রন করা যায়। এ কারণে SQL কে ডেটাবেজের জন্য একটি শক্তিশালী হাতিয়ার বলা হয়।
SQL বিভিন্ন স্টেটমেন্ট এর সমন্বয়ে গঠিত। যেমন-
1.Data Definition Language (DDL)
2.Data Manipulation Language (DML)
3.Transaction Control Language(TCL)
4.Data Control Language (DCL)
5.Data query language (DQL)
বিভিন্ন SQL স্টেটমেন্ট বা কমান্ডসমূহঃ
Data Definition Language (DDL): DDL এর সাহায্যে টেবিলের গঠন পরিবর্তন যেমন- টেবিল তৈরি, টেবিল আপডেট, টেবিল মুছে ফেলা ইত্যাদি পরিবর্তনগুলি করা হয়। সকল DDL কমান্ডগুলি auto-committed। এর মানে এটি ডেটাবেজে স্থায়ীভাবে সমস্ত পরিবর্তন সংরক্ষণ করে।
DDL কমান্ডসমূহ:
CREATE- ডেটাবেজে নতুন টেবিল তৈরি করতে ব্যবহৃত হয়। নিচের সিনট্যাক্সটি লক্ষ্য কর-
CREATE TABLE table_name (column_name data_types[,….]);
ALTER- ডেটাবেজের স্ট্রাকচার পরিবর্তন করতে ব্যবহৃত হয়। যেমন- টেবিলে নতুন কোন ফিল্ড যোগ করা বা ডিলিট করা ইত্যাদি। নিচের সিনট্যাক্সটি লক্ষ্য কর-
ALTER TABLE table_name ADD column_name COLUMN-definition;
DROP- ডেটাবেজের টেবিল মুছে ফেলতে ব্যবহৃত হয়। নিচের সিনট্যাক্সটি লক্ষ্য কর-
DROP TABLE table_name;
TRUNCATE- টেবিলের সকল রেকর্ড মুছে ফেলতে এবং টেবিলের স্পেস খালি করতে ব্যবহৃত হয়। নিচের সিনট্যাক্সটি লক্ষ্য কর-
TRUNCATE TABLE table_name;
RENAME- টেবিলের নাম পরিবর্তন করতে ব্যবহৃত হয়।
Data Manipulation Language (DML): DML কমান্ডসমূহ টেবিলে সংরক্ষিত তথ্য ম্যানিপুলেট করার জন্য ব্যবহৃত হয়। DML কমান্ডসমূহ auto-committed নয়। এর মানে হল পরিবর্তনগুলি ডেটাবেজের জন্য স্থায়ী নয়, তারা আবার পূর্বাবস্থায় আসতে পারে।
DML কমান্ডসমূহ:
INSERT – টেবিলের সারিতে ডেটা ইনসার্ট করার জন্য ব্যবহৃত হয়। নিচের সিনট্যাক্সটি লক্ষ্য কর-
INSERT INTO table_name(col1, col2, col3,…. col N) VALUES (value1, value2, value3, …. valueN);
UPDATE- টেবিলের কলামের মান পরিবর্তন করতে ব্যবহৃত হয়। নিচের সিনট্যাক্সটি লক্ষ্য কর-
UPDATE table_name SET [column_name1= value1,…column_nameN = valueN] [WHERE CONDITION]
DELETE- টেবিলের এক বা একাধিক সারি বা রেকর্ড ডিলিট করতে ব্যবহৃত হয়। নিচের সিনট্যাক্সটি লক্ষ্য কর-
DELETE FROM table_name [WHERE condition];
Transaction Control Language(TCL): TCL কমান্ডগুলো ডেটাবেজের উপর অন্যান্য কমান্ডগুলোর প্রভাব চেক করে। TCL কমান্ডগুলো কেবলমাত্র ইনসার্ট, ডিলিট এবং আপডেটের মতো DML কমান্ডগুলোর সাথে ব্যবহার হতে পারে। এই অপারেশনগুলো স্বয়ংক্রিয়ভাবে ডেটাবেজে committed হয়, তাই তারা টেবিল তৈরি করার সময় বা তাদের ড্রপ করার সময় ব্যবহার করা যাবে না।
TCL কমান্ডসমূহ:
COMMIT- ডেটাবেজের সকল ট্রানজেকশন সংরক্ষণ করতে ব্যবহৃত হয়।
COMMIT;
ROLLBACK- যেসকল ট্রানজেকশন এখনো ডেটাবেজে সংরক্ষণ হয় নাই তাদেরকে undo করতে এই কমান্ড ব্যবহৃত হয়।
ROLLBACK;
SAVEPOINT- সমস্ত ট্রানজেকশনটি roll back না করে একটি নির্দিস্ট পয়েন্টে ট্রানজেকশনটি roll back করার জন্য ব্যবহৃত হয়।
SAVEPOINT SAVEPOINT_NAME;
Data Control Language (DCL): DCL কমান্ডসমূহ ডেটাবেজের যেকোন ব্যবহারকারীকে অথরিটির এক্সেস দেওয়া এবং তা ফিরিয়ে নিতে ব্যবহৃত হয়।
DCL কমান্ডসমূহ:
GRANT- ডেটাবেজে ইউজার এক্সেস সুবিধা দিতে ব্যবহৃত হয়।
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
REVOKE- ডেটাবেজে ইউজার এক্সেস সুবিধা বাতিল করতে ব্যবহৃত হয়।
REVOKE SELECT, UPDATE ON MY_TABLE FROM USER1, USER2;
Data query language (DQL): DQL কমান্ডটি ডেটাবেজ টেবিল থেকে শর্ত সাপেক্ষে ডেটা আনতে ব্যবহৃত হয়।
SELECT- শর্ত সাপেক্ষে ডেটাবেজ টেবিলের অ্যাট্রিবিউট বা কলাম সিলেক্ট করতে ব্যবহৃত হয়। নিচের সিনট্যাক্সটি লক্ষ্য কর-
SELECT column_name–/* FROM table_name WHERE conditions;
ডেটাবেজের অপারেটর সমূহঃ ডেটাবেজের বিভিন্ন SQL কমান্ড লেখার জন্য বিভিন্ন অপারেটর প্রয়োজন হয়। ডেটাবেজের বিভিন্ন অপারেটর সমূহ নিচে আলোচনা করা হল-১। Arithmetic অপারেটর
২। Comparison অপারেটর
৩। Concatenation অপারেটর
৪। Logical অপারেটর
৫। Special অপারেটর
Arithmetic অপারেটরঃ নিউমেরিক এক্সপ্রেশন তৈরি করতে Arithmetic অপারেটর ব্যবহার করা হয়। যেমন – যোগ, বিয়োগ, গুণ,ভাগ ইত্যাদির জন্য ব্যবহৃত হয়।
Comparison অপারেটরঃ দুটি এক্সপ্রেশনের মধ্যে তুলনা করতে Comparison অপারেটর ব্যবহৃত হয়। একে রিলেশনাল অপারেটরও বলা হয়।

Concatenation অপারেটরঃ দুটি স্ট্রিংকে যোগ করার জন্য Concatenation অপারেটর ব্যবহার করা হয়। & চিহ্ন হচ্ছে

Concatenation অপারেটর। এছাড়া + চিহ্ন দ্বারাও দুটি স্ট্রিংকে যোগ করা যায়।যেমন- string_1=“Con” এবং string_2=“catenation”
result = string_1 & string_2 অথবা result = string_1 + string_2
Logical অপারেটরঃ দুটি এক্সপ্রেশনকে একত্র করে এবং এক্সপ্রেশনটি সত্য বা মিথ্যা মূল্যায়ন করে।

DDL (Data Definition Language ) এর ব্যবহারঃ 

একটি ডেটাবেজ তৈরির  SQL কমান্ডের সিনট্যাক্সঃ 

CREATE DATABASE database_name;

db_sagc নামে একটি ডেটাবেজ তৈরির  SQL কমান্ড:  

CREATE DATABASE db_sagc;

টেবিল তৈরির  SQL কমান্ডের সিনট্যাক্সঃ 

CREATE TABLE table_name (   column_1 data_type(size),   column_2 data_type(size),   .............................   column_n data_type(size) );

student_info নামের উপরের টেবিলটি তৈরির SQL কমান্ডঃ

CREATE TABLE student_info (   Id number PRIMARY KEY, Name   text(20), Section text(5), GPA     number, City text(20) );

টেবিলে নতুন ফিল্ড যোগ করার SQL কমান্ডের সিনট্যাক্সঃ 

ALTER TABLE table_name ADD (  new_column_1 data_type(size),  new_column_2 data_type(size) );

student_info নামের উপরের টেবিলে Contact নামে নতুন একটি ফিল্ড যোগ করার SQL কমান্ডঃ

ALTER TABLE student_info ADD ( Contact text(25) );

SQL কমান্ডটি রান করলে টেবিলটির গঠন নিম্নরূপ হবে- 

টেবিল থেকে একটি  ফিল্ড মুছে ফেলার SQL কমান্ডের সিনট্যাক্সঃ 

ALTER TABLE table_name DROP column_name;

student_info নামের উপরের টেবিল থেকে City  ফিল্ড মুছে ফেলার SQL কমান্ডঃ

ALTER TABLE student_info DROP City ;

SQL কমান্ডটি রান করলে টেবিলটির গঠন নিম্নরূপ হবে- 

ডেটাবেজ থেকে টেবিল মুছে ফেলার SQL কমান্ডের সিনট্যাক্সঃ 

DROP TABLE table_name;

ডেটাবেজ থেকে student_info নামের টেবিল মুছে ফেলার SQL কমান্ডঃ

DROP TABLE student_info;

DML(Data Manipulation Language) এর ব্যবহারঃ 

কোন টেবিলে নতুন রেকর্ড যোগ করার SQL কমান্ডের সিনট্যাক্সঃ 

INSERT INTO table_name (column_1,column_2,..) VALUES(Value_1,Value_2,..);

student_info নামে উপরের টেবিলে নতুন রেকর্ড যোগ করার SQL কমান্ডঃ

INSERT INTO student_info(Id, Name, Section, GPA, City) VALUES( 1, “Ashek", ”A”, 5.00, "Dhaka“ ) ;

নতুন রেকর্ড যোগ করার ফলে টেবিলটি দেখতে নিম্নরূপ হবে-

এক বা একাদিক রেকর্ড আপডেট করার জন্য SQL কমান্ডের সিনট্যাক্সঃ 

UPDATE table_name SET column_1=value, column_2=value, ... WHERE condition;

student_info নামে উপরের টেবিলের Id = 2  রেকর্ডটির City এর মান Khulna করার জন্য SQL কমান্ডঃ  

UPDATE student_info SET City="Khulna“ WHERE Id = 2;

SQL কমান্ডটি রান করলে টেবিলটি দেখতে নিম্নরূপ হবে- 

এক বা একাদিক রেকর্ড ডিলিট করার জন্য SQL কমান্ডের সিনট্যাক্সঃ

DELETE FROM table_name WHERE condition;

student_info নামে উপরের টেবিলের Id =1  রেকর্ডটি ডিলিট করার জন্য SQL কমান্ডঃ 

DELETE FROM student_info WHERE Id = 1;

SQL কমান্ডটি রান করলে টেবিলটি দেখতে নিম্নরূপ হবে- 

একটি টেবিলের সবগুলো রেকর্ড ডিলিট করার জন্য SQL কমান্ডের সিনট্যাক্সঃ

DELETE FROM table_name;

DQL (Data Query Language ) এর ব্যবহারঃ 

একটি টেবিল থেকে  সকল ফিল্ড  সিলেক্ট করে দেখানোর SQL কমান্ডের সিনট্যাক্সঃ

SELECT * FROM table_name;

student_info নামে উপরের টেবিলের সকল ফিল্ড সিলেক্ট করে দেখানোর SQL কমান্ডঃ 

SELECT * FROM student_info;

SQL কমান্ডটি রান করলে আউটপুট টেবিলটি দেখতে নিম্নরূপ হবে- 

একটি টেবিল থেকে  নির্দিস্ট কিছু ফিল্ড  সিলেক্ট করে দেখানোর SQL কমান্ডের সিনট্যাক্সঃ

SELECT column_1,column_2,.. FROM table_name;

student_info নামে উপরের টেবিলের Name, Section, GPA ফিল্ড সিলেক্ট করে দেখানোর SQL কমান্ডঃ 

SELECT Name, Section, GPA FROM student_info;

SQL কমান্ডটি রান করলে আউটপুট টেবিলটি দেখতে নিম্নরূপ হবে- 

টেবিল থেকে নির্দিষ্ট শর্তসাপেক্ষে নির্দিষ্ট রেকর্ড দেখানোর SQL কমান্ডের সিনট্যাক্সঃ

SELECT */ column_1,column_2,.. FROM table_name WHERE condition;

 

student_info নামে উপরের টেবিলে যাদের GPA=5.00 তাদের তথ্য দেখানোর SQL কমান্ডঃ

SELECT * FROM student_info WHERE GPA=5.00;

SQL কমান্ডটি রান করলে আউটপুট টেবিলটি দেখতে নিম্নরূপ হবে- 

Full Stack Web Developer & Content Creator

Post a Comment

NextGen Digital Welcome to WhatsApp chat
Howdy! How can we help you today?
Type here...