Table of Contents

    Class - XII: SEMESTER – IV: Unit – 1: Database Management System: Section 1: Introduction

    Database Management System

    Introduction — 20 Marks | Total Teaching Time: 50 Hours | Class 12 Bangla Medium Students

    ১. Introduction বা পরিচিতি

    Database Management System বা DBMS হলো এমন একটি software system যার মাধ্যমে data বা তথ্যকে organized way-তে store, manage, update, retrieve এবং secure করা যায়। সহজ ভাষায়, DBMS হলো database পরিচালনা করার একটি system। এখানে database বলতে বোঝায় logically related data-এর organized collection। যেমন একটি school database-এ students, teachers, subjects, marks, fees, attendance ইত্যাদি তথ্য থাকতে পারে।

    আগে অনেক প্রতিষ্ঠান data রাখার জন্য সাধারণ file system বা manual register ব্যবহার করত। কিন্তু data বেড়ে গেলে, user বেড়ে গেলে এবং information দ্রুত খুঁজে বের করার দরকার হলে file system যথেষ্ট কার্যকর থাকে না। তাই data management সহজ, secure এবং efficient করার জন্য DBMS ব্যবহার করা হয়।

    সহজ সংজ্ঞা:
    Database Management System বা DBMS হলো একটি software system, যা database তৈরি, সংরক্ষণ, পরিবর্তন, অনুসন্ধান, নিরাপত্তা প্রদান এবং বিভিন্ন user-এর মধ্যে data sharing পরিচালনা করে।

    DBMS user এবং database-এর মধ্যে bridge বা মধ্যস্থতাকারী হিসেবে কাজ করে। User সরাসরি storage device-এর সঙ্গে কাজ না করে DBMS-এর মাধ্যমে data access করে। ফলে data access সহজ, controlled এবং secure হয়।

    উদাহরণ:
    একটি school-এ ২০০০ students আছে। প্রত্যেক student-এর নাম, roll number, class, section, marks, attendance, guardian phone number ইত্যাদি data একটি database-এ রাখা হলো। এই data add, update, search এবং report করার জন্য যদি software ব্যবহার করা হয়, তাহলে সেটি DBMS-এর ব্যবহারিক উদাহরণ।

    ২. Data, Information, Database এবং DBMS

    DBMS বোঝার আগে Data, Information, Database এবং DBMS-এর মধ্যে পার্থক্য জানা জরুরি।

    Term বাংলা ব্যাখ্যা উদাহরণ
    Data Raw facts বা অপরিশোধিত তথ্য, যার নিজে নিজে অর্থ পরিষ্কার নাও হতে পারে। 85, Rina, Class XII, Kolkata
    Information Processed data, যা user-এর জন্য meaningful হয়। Rina Class XII-তে 85 marks পেয়েছে।
    Database Related data-এর organized collection। School students database
    DBMS Database তৈরি ও পরিচালনার software system। MySQL, Oracle, MS SQL Server, PostgreSQL

    ৩. Drawbacks of Legacy System বা পুরনো File-Based System-এর অসুবিধা

    Legacy System বলতে সাধারণত পুরনো data management system বা file-based system-কে বোঝানো হয়, যেখানে data আলাদা আলাদা file-এ রাখা হতো। যেমন student data একটি file-এ, marks data অন্য file-এ, fees data আরেকটি file-এ রাখা হলো। এই system ছোট কাজের জন্য কিছুটা useful হলেও বড় organization-এর জন্য অনেক সমস্যা তৈরি করে।

    ৩.১ Data Redundancy বা একই data বারবার থাকা

    File-based system-এ একই data একাধিক file-এ থাকতে পারে। যেমন student-এর name এবং roll number attendance file, marks file এবং fees file—সব জায়গায় রাখা হতে পারে। এতে storage waste হয় এবং data manage করা কঠিন হয়।

    উদাহরণ:
    Rahul নামে একজন student-এর address তিনটি আলাদা file-এ আছে। Rahul-এর address change হলে তিনটি file-ই update করতে হবে। যদি একটি file update করা হয় কিন্তু অন্য দুটি না হয়, তাহলে problem হবে।

    ৩.২ Data Inconsistency বা তথ্যের অমিল

    একই data যদি একাধিক file-এ থাকে এবং সব file একসঙ্গে update না হয়, তাহলে data inconsistency তৈরি হয়। অর্থাৎ একই student-এর address এক file-এ Kolkata, অন্য file-এ Howrah দেখা যেতে পারে।

    ৩.৩ Difficult Data Access বা data খুঁজে পাওয়া কঠিন

    File system-এ user-কে অনেক সময় manual search করতে হয়। যদি specific report দরকার হয়, যেমন “Class XII-এর যেসব student 80-এর বেশি marks পেয়েছে তাদের list”, তাহলে আলাদা program লিখতে হতে পারে।

    ৩.৪ Poor Security বা দুর্বল নিরাপত্তা

    Legacy file system-এ সব user একই file access করতে পারে। কোন user কোন data দেখতে বা পরিবর্তন করতে পারবে, তা control করা কঠিন। ফলে sensitive data leak হওয়ার ঝুঁকি থাকে।

    ৩.৫ Data Isolation বা data আলাদা আলাদা format-এ থাকা

    আলাদা application আলাদা format-এ data store করলে data combine করা কঠিন হয়। যেমন fees data Excel file-এ, attendance data text file-এ এবং marks data অন্য software-এ থাকলে combined report তৈরি করা কঠিন।

    ৩.৬ Integrity Problem

    Data integrity মানে data correct এবং valid থাকা। File system-এ rules enforce করা কঠিন। যেমন marks 0 থেকে 100-এর মধ্যে হওয়া উচিত, কিন্তু file system-এ ভুল করে 150 লেখা হয়ে যেতে পারে।

    ৩.৭ Atomicity Problem

    একটি transaction সম্পূর্ণ হবে অথবা একেবারেই হবে না—এই concept-কে atomicity বলা যায়। File system-এ যদি transaction মাঝপথে fail করে, তাহলে data incomplete বা incorrect হতে পারে।

    ৩.৮ Concurrent Access Problem

    যদি একাধিক user একই file একই সময়ে update করতে চায়, তাহলে data conflict হতে পারে। File-based system-এ concurrency control দুর্বল হয়।

    ৩.৯ Backup এবং Recovery Problem

    File system-এ data loss হলে automatic recovery করা কঠিন। যদি file delete হয়ে যায় বা corrupt হয়, তাহলে data ফিরিয়ে আনা কঠিন হতে পারে।

    Legacy System-এর সমস্যা ব্যাখ্যা
    Data Redundancy একই data একাধিক file-এ repeat হয়।
    Data Inconsistency একই data-এর different value দেখা যায়।
    Difficult Access প্রয়োজনীয় data quickly search করা কঠিন।
    Poor Security Data access control দুর্বল।
    Backup Problem Data loss হলে recovery কঠিন।
    Concurrency Problem একাধিক user একসঙ্গে data update করলে conflict হতে পারে।

    ৪. Advantages of DBMS বা DBMS-এর সুবিধা

    DBMS legacy file system-এর অনেক সমস্যার সমাধান করে। এটি data centralized way-তে manage করে এবং data access, security, consistency ও sharing সহজ করে।

    ৪.১ Redundancy কমায়

    DBMS data centralized করে রাখে, ফলে একই data বারবার store করার প্রয়োজন কমে। এতে storage space save হয় এবং data update করা সহজ হয়।

    ৪.২ Data Consistency বজায় রাখে

    DBMS-এ data এক জায়গায় organized form-এ থাকলে update করলে সব user একই updated data দেখতে পায়। ফলে inconsistency কমে।

    ৪.৩ Data Sharing সহজ করে

    DBMS-এ multiple users একই database access করতে পারে। যেমন school-এর admin, teacher এবং accountant একই database থেকে তাদের প্রয়োজন অনুযায়ী data ব্যবহার করতে পারে।

    ৪.৪ Security প্রদান করে

    DBMS user authentication, password, roles এবং permissions ব্যবহার করে security provide করে। কোন user কোন data দেখতে, update করতে বা delete করতে পারবে তা DBA control করতে পারে।

    ৪.৫ Data Integrity বজায় রাখে

    DBMS constraints ব্যবহার করে data-এর correctness বজায় রাখে। যেমন student marks 0 থেকে 100-এর মধ্যে হবে, roll number duplicate হবে না, phone number নির্দিষ্ট format-এ হবে—এই rules set করা যায়।

    ৪.৬ Backup এবং Recovery সুবিধা

    DBMS data backup এবং recovery support করে। system crash, power failure বা accidental deletion হলে data recover করার ব্যবস্থা থাকে।

    ৪.৭ Concurrent Access Control

    DBMS একাধিক user-এর simultaneous data access নিয়ন্ত্রণ করে। ফলে একই data একসঙ্গে update করার সময় conflict কমে।

    ৪.৮ Data Independence

    DBMS application program এবং physical data storage-এর মধ্যে separation তৈরি করে। ফলে storage structure change হলেও application অনেক সময় change করতে হয় না।

    DBMS-এর সুবিধা ব্যাখ্যা উদাহরণ
    Reduced Redundancy একই data বারবার store কম হয়। Student address এক জায়গায় রাখা।
    Data Consistency সব user updated data পায়। Address update করলে সব report-এ same address।
    Security Access control করা যায়। Teacher marks দেখতে পারে, salary data নয়।
    Backup & Recovery Data loss হলে restore করা যায়। Crash হলে backup থেকে data ফেরত।
    Data Sharing Multiple user একই database ব্যবহার করতে পারে। Admin, teacher, accountant একই database use করে।

    ৫. Layered Architecture of Database

    Database system-এ data storage এবং user interaction আলাদা স্তরে বা layer-এ বিভক্ত থাকে। এই layered architecture user-কে storage complexity থেকে দূরে রাখে এবং data independence প্রদান করে। DBMS-এর commonly discussed architecture হলো Three-Schema Architecture বা Three-Level Architecture।

    Three-Schema Architecture:
    Three-Schema Architecture হলো DBMS-এর একটি layered architecture, যেখানে database-কে তিনটি level-এ দেখা হয়: External Level, Conceptual Level এবং Internal Level।

    ৫.১ External Level বা View Level

    External level হলো user-এর view। বিভিন্ন user database-এর আলাদা আলাদা অংশ দেখতে পারে। যেমন student শুধু নিজের marks দেখতে পারে, teacher তার subject-এর marks update করতে পারে, আর principal পুরো school-এর report দেখতে পারে।

    ৫.২ Conceptual Level বা Logical Level

    Conceptual level পুরো database-এর logical structure বর্ণনা করে। এখানে কোন table থাকবে, table-এর attributes কী হবে, relationship কী হবে, constraints কী হবে—এসব define করা হয়। এটি database-এর overall logical design।

    ৫.৩ Internal Level বা Physical Level

    Internal level data কীভাবে storage device-এ physically store হবে তা বর্ণনা করে। এখানে file organization, indexing, storage path, compression ইত্যাদি বিষয় থাকতে পারে। সাধারণ user এই level সম্পর্কে জানে না।

    Three-Schema Architecture Diagram

    External Level / View Level

    Conceptual Level / Logical Level

    Internal Level / Physical Level

    Stored Database
    Level অর্থ কার জন্য গুরুত্বপূর্ণ? উদাহরণ
    External Level User-specific view End users, application users Student নিজের result দেখে
    Conceptual Level Database-এর logical structure Database designer, DBA Student, Course, Marks tables
    Internal Level Physical storage details DBA, system engineer Index, file storage, disk block

    ৬. Data Independence

    Data Independence হলো DBMS-এর একটি গুরুত্বপূর্ণ feature। এর অর্থ হলো database-এর এক level-এর schema change হলেও অন্য higher level-এর schema বা application program পরিবর্তন না করেও system কাজ করতে পারে।

    সহজ সংজ্ঞা:
    Data Independence হলো এমন ক্ষমতা, যার মাধ্যমে database structure-এর পরিবর্তন application program-কে কম প্রভাবিত করে বা প্রভাবিত করে না।

    ৬.১ Physical Data Independence

    Physical data independence হলো internal level-এ change হলেও conceptual level change না হওয়ার ক্ষমতা। যেমন data storage device পরিবর্তন করা, indexing method পরিবর্তন করা বা file organization change করা হলেও logical database design একই থাকে।

    উদাহরণ:
    School database আগে hard disk-এ ছিল, পরে SSD storage-এ move করা হলো। কিন্তু student table, marks table বা application form-এর কোনো change লাগল না। এটি physical data independence।

    ৬.২ Logical Data Independence

    Logical data independence হলো conceptual level-এ change হলেও external view বা application খুব কম change হওয়ার ক্ষমতা। যেমন table-এ নতুন column add করা হলো, কিন্তু পুরনো report application আগের মতোই কাজ করছে।

    উদাহরণ:
    Student table-এ নতুন একটি column যোগ করা হলো: Email_ID। কিন্তু যে report শুধু Roll, Name এবং Marks দেখায়, সেটি আগের মতোই কাজ করছে। এটি logical data independence।
    Data Independence-এর ধরন কোন level-এর change? কোন level unaffected থাকে? উদাহরণ
    Physical Data Independence Internal / Physical level Conceptual level Indexing method পরিবর্তন
    Logical Data Independence Conceptual / Logical level External level Table-এ নতুন column add করা

    ৭. Data Models

    Data Model হলো database design করার conceptual tool বা method, যার মাধ্যমে data, data relationship, constraints এবং meaning represent করা হয়। Data model database কীভাবে structure হবে তা বুঝতে সাহায্য করে।

    সহজ সংজ্ঞা:
    Data Model হলো database-এ data কীভাবে রাখা হবে, data-এর মধ্যে relationship কী হবে এবং data-এর rules কী হবে— তা প্রকাশ করার একটি model বা framework।

    ৭.১ Hierarchical Data Model

    Hierarchical model-এ data tree structure-এর মতো organized থাকে। এখানে parent-child relationship থাকে। একটি parent-এর একাধিক child থাকতে পারে, কিন্তু একটি child সাধারণত এক parent-এর সঙ্গে যুক্ত থাকে।

    উদাহরণ:
    School → Class → Student এই structure hierarchical model-এর মতো।

    ৭.২ Network Data Model

    Network model-এ data graph structure-এর মতো থাকে। এখানে একটি child একাধিক parent-এর সঙ্গে যুক্ত থাকতে পারে। এটি hierarchical model-এর তুলনায় বেশি flexible।

    ৭.৩ Relational Data Model

    Relational model DBMS-এর সবচেয়ে popular model। এখানে data table বা relation আকারে store হয়। প্রতিটি table row এবং column নিয়ে গঠিত। Row-কে record বা tuple এবং column-কে attribute বলা হয়।

    উদাহরণ:
    Student table: Roll_No, Name, Class, Marks — এই columns থাকবে এবং প্রতিটি student-এর data একটি row হিসেবে থাকবে।

    ৭.৪ Entity-Relationship Model বা ER Model

    ER model database design করার সময় entity, attribute এবং relationship ব্যবহার করে real-world situation represent করে। এটি logical database design-এর জন্য খুব useful।

    ৭.৫ Object-Oriented Data Model

    Object-oriented model-এ data object আকারে represent করা হয়। Object-এর মধ্যে data এবং operations দুটোই থাকতে পারে। এটি complex data যেমন image, audio, video, engineering data ইত্যাদির ক্ষেত্রে useful হতে পারে।

    Data Model Structure উদাহরণ
    Hierarchical Model Tree structure School → Class → Student
    Network Model Graph structure Student multiple courses নিতে পারে
    Relational Model Table structure Student table, Marks table
    ER Model Entity-relationship diagram Student enrolls in Course
    Object-Oriented Model Object-based structure Multimedia database

    ৮. Schemas and Instances

    DBMS-এ Schema এবং Instance খুব গুরুত্বপূর্ণ concept। অনেক students এই দুটি term confuse করে। Schema হলো database-এর structure বা design, আর Instance হলো কোনো নির্দিষ্ট সময়ে database-এ থাকা actual data।

    ৮.১ Schema

    Schema হলো database-এর blueprint বা design। এটি বলে দেয় database-এ কোন table থাকবে, table-এ কোন columns থাকবে, data type কী হবে এবং relationship কী হবে। Schema সাধারণত ঘন ঘন change হয় না।

    Schema Example:
    Student(Roll_No, Name, Class, Section, Marks)

    ৮.২ Instance

    Instance হলো কোনো নির্দিষ্ট সময়ে database-এর actual content বা data। Student table-এ আজ যে students-এর records আছে, সেটাই সেই সময়ের instance। Instance ঘন ঘন change হয়, কারণ data insert, update বা delete হতে থাকে।

    Instance Example:
    Roll_No: 101, Name: Riya, Class: XII, Section: A, Marks: 88
    Roll_No: 102, Name: Arman, Class: XII, Section: B, Marks: 76
    বিষয় Schema Instance
    অর্থ Database-এর design বা structure নির্দিষ্ট সময়ে database-এর actual data
    পরিবর্তন কম পরিবর্তন হয় বারবার পরিবর্তন হয়
    উদাহরণ Student(Roll, Name, Marks) 101, Riya, 88

    ৯. Database Languages

    Database language হলো DBMS-এর সঙ্গে communicate করার language। User বা programmer database create, modify, retrieve বা control করার জন্য database language ব্যবহার করে। SQL বা Structured Query Language relational database-এ বহুল ব্যবহৃত database language।

    ৯.১ DDL — Data Definition Language

    DDL database structure define বা modify করতে ব্যবহার করা হয়। Table create করা, table alter করা, table delete করা—এসব DDL-এর কাজ।

    • CREATE — নতুন database object তৈরি করতে
    • ALTER — structure পরিবর্তন করতে
    • DROP — database object delete করতে
    • TRUNCATE — table-এর সব data remove করতে
    Example:
    CREATE TABLE Student (Roll_No INT, Name VARCHAR(50), Marks INT);

    ৯.২ DML — Data Manipulation Language

    DML database-এর actual data insert, update, delete এবং retrieve করতে ব্যবহার করা হয়।

    • INSERT — নতুন record যোগ করতে
    • UPDATE — existing record পরিবর্তন করতে
    • DELETE — record delete করতে
    • SELECT — data retrieve করতে
    Example:
    SELECT Name, Marks FROM Student WHERE Marks > 80;

    ৯.৩ DCL — Data Control Language

    DCL database security এবং access permission control করতে ব্যবহার করা হয়।

    • GRANT — permission দিতে
    • REVOKE — permission তুলে নিতে

    ৯.৪ TCL — Transaction Control Language

    TCL database transaction control করতে ব্যবহার করা হয়।

    • COMMIT — transaction permanently save করতে
    • ROLLBACK — transaction undo করতে
    • SAVEPOINT — transaction-এর intermediate point mark করতে
    Language Type Full Form কাজ Commands
    DDL Data Definition Language Database structure define করে CREATE, ALTER, DROP
    DML Data Manipulation Language Data insert, update, delete, retrieve করে INSERT, UPDATE, DELETE, SELECT
    DCL Data Control Language User permission control করে GRANT, REVOKE
    TCL Transaction Control Language Transaction manage করে COMMIT, ROLLBACK, SAVEPOINT

    ১০. Database Users

    Database system বিভিন্ন ধরনের user ব্যবহার করে। প্রত্যেক user-এর কাজ এবং responsibility আলাদা। কেউ database design করে, কেউ application তৈরি করে, কেউ data enter করে, আবার কেউ database manage করে।

    ১০.১ Database Administrator বা DBA

    DBA হলো database system-এর main administrator। DBA database install, configure, secure, backup, recover, monitor এবং performance tune করে।

    ১০.২ Database Designer

    Database designer database-এর structure design করে। কোন table থাকবে, relationship কী হবে, constraints কী হবে—এসব পরিকল্পনা করে।

    ১০.৩ Application Programmer

    Application programmer database ব্যবহার করে software বা application তৈরি করে। যেমন school management system, library management system, banking software ইত্যাদি।

    ১০.৪ End User

    End user হলো final user, যারা application-এর মাধ্যমে database ব্যবহার করে। যেমন student result দেখে, teacher marks enter করে, librarian book issue করে।

    ১০.৫ Casual User

    Casual user মাঝে মাঝে database query করে information বের করে। যেমন principal specific report দেখতে query run করতে পারেন।

    ১০.৬ Naive বা Parametric User

    Naive user predefined application form ব্যবহার করে। তারা complex query লেখে না। যেমন bank cashier deposit/withdrawal form ব্যবহার করে।

    ১০.৭ Sophisticated User

    Sophisticated user database language ব্যবহার করে complex query বা analysis করতে পারে। যেমন data analyst বা engineer।

    User Type কাজ উদাহরণ
    DBA Database manage ও secure করে Database administrator
    Database Designer Database structure design করে ER diagram creator
    Application Programmer Database application তৈরি করে Software developer
    End User Application ব্যবহার করে data access করে Student, teacher, clerk
    Casual User Occasional query করে Principal report দেখেন
    Naive User Predefined form ব্যবহার করে Bank cashier
    Sophisticated User Complex query/analysis করে Data analyst

    ১১. DBA বা Database Administrator

    DBA বা Database Administrator হলো সেই ব্যক্তি বা team, যারা database system-এর overall management-এর জন্য responsible। DBA database-এর security, availability, performance এবং reliability নিশ্চিত করে।

    ১১.১ DBA-এর প্রধান কাজ

    • Database install এবং configure করা।
    • User account তৈরি এবং permission control করা।
    • Database backup এবং recovery plan তৈরি করা।
    • Database performance monitor করা।
    • Storage management করা।
    • Data security এবং privacy বজায় রাখা।
    • Data integrity constraints enforce করা।
    • Database schema modify ও maintain করা।
    • System failure হলে data recovery করা।
    • Database usage policy তৈরি করা।
    Exam Note:
    DBA-কে database system-এর caretaker বলা যেতে পারে। DBA database-এর security, backup, recovery, performance এবং user access manage করে।

    ১২. Data Dictionary

    Data Dictionary হলো database সম্পর্কে data বা metadata সংরক্ষণ করার একটি system catalog। Metadata মানে data about data। Data dictionary-তে database-এর tables, columns, data types, constraints, relationships, indexes, users এবং permissions সম্পর্কে information থাকতে পারে।

    সহজ সংজ্ঞা:
    Data Dictionary হলো database-এর structure, data elements এবং rules সম্পর্কে information সংরক্ষণকারী catalog। এটি database-এর data সম্পর্কে data সংরক্ষণ করে।

    ১২.১ Data Dictionary-তে কী থাকে?

    • Table names
    • Column names
    • Column data types
    • Column size
    • Primary key এবং foreign key
    • Constraints
    • Relationship information
    • Index information
    • User permissions
    • Database objects-এর details

    ১২.২ Data Dictionary-এর গুরুত্ব

    Data dictionary DBA, database designer এবং developer-দের database structure বুঝতে সাহায্য করে। এটি database documentation-এর মতো কাজ করে। যদি কোনো developer জানতে চায় Student table-এ কোন columns আছে, data type কী, primary key কোনটি—তাহলে data dictionary থেকে জানা যায়।

    উদাহরণ:
    Student table-এর data dictionary entry হতে পারে:
    Table Name: Student
    Column: Roll_No, Data Type: Integer, Key: Primary Key
    Column: Name, Data Type: Varchar(50)
    Column: Marks, Data Type: Integer

    ১৩. DBMS Components

    একটি DBMS system বিভিন্ন components নিয়ে গঠিত। এই components একসঙ্গে কাজ করে data storage, processing এবং retrieval সহজ করে।

    Component ব্যাখ্যা উদাহরণ
    Hardware Physical devices যেখানে data store ও process হয়। Server, hard disk, RAM
    Software DBMS software এবং related programs। MySQL, Oracle, PostgreSQL
    Data Database-এ stored facts। Student records
    Procedures DBMS ব্যবহার করার rules ও instructions। Backup policy, login process
    Users যারা DBMS ব্যবহার বা manage করে। DBA, developer, student
    Database Language DBMS-এর সঙ্গে communicate করার language। SQL

    ১৪. DBMS-এর বাস্তব জীবনের ব্যবহার

    DBMS শুধু computer science-এর theoretical topic নয়, বাস্তব জীবনে প্রায় সব বড় system-এ DBMS ব্যবহৃত হয়।

    • Banking System: customer account, transaction, loan, ATM data manage করতে।
    • School System: student admission, marks, attendance, fees manage করতে।
    • Railway Reservation: train schedule, ticket booking, passenger information manage করতে।
    • Hospital System: patient record, doctor schedule, medicine stock manage করতে।
    • E-commerce: products, customers, orders, payments manage করতে।
    • Library System: books, members, issue-return records manage করতে।
    • Telecommunication: call records, customer plans, billing data manage করতে।

    ১৫. Important Differences

    ১৫.১ File System এবং DBMS-এর পার্থক্য

    বিষয় File System DBMS
    Data Storage Data আলাদা file-এ store হয়। Data organized database-এ store হয়।
    Redundancy Data redundancy বেশি। Redundancy কমানো যায়।
    Security Security দুর্বল। Strong access control থাকে।
    Data Sharing Data sharing কঠিন। Multiple users data share করতে পারে।
    Backup & Recovery Manual ও কঠিন। Systematic backup ও recovery থাকে।
    Data Independence প্রায় নেই। Data independence support করে।

    ১৫.২ Schema এবং Instance-এর পার্থক্য

    Schema Instance
    Database-এর structure বা blueprint। নির্দিষ্ট সময়ে database-এর actual data।
    কম পরিবর্তন হয়। ঘন ঘন পরিবর্তন হয়।
    Example: Student(Roll, Name, Marks) Example: 101, Riya, 88

    ১৫.৩ Physical এবং Logical Data Independence-এর পার্থক্য

    Physical Data Independence Logical Data Independence
    Physical storage change হলেও logical schema unaffected থাকে। Logical schema change হলেও user view/application কম affected হয়।
    Internal level-এর সঙ্গে related। Conceptual level-এর সঙ্গে related।
    Example: Indexing method change। Example: Table-এ নতুন column add।

    ১৬. Chapter Summary

    Database Management System বা DBMS হলো database manage করার software system। এটি data store, update, retrieve, secure এবং share করতে সাহায্য করে। Legacy file-based system-এ data redundancy, inconsistency, poor security, difficult access, backup problem এবং concurrency problem দেখা যায়। DBMS এই সমস্যাগুলো কমিয়ে data consistency, security, sharing, backup, recovery এবং data independence প্রদান করে।

    DBMS-এর layered architecture সাধারণত external level, conceptual level এবং internal level নিয়ে গঠিত। Data independence DBMS-এর একটি গুরুত্বপূর্ণ feature, যার দুটি ধরন হলো physical data independence এবং logical data independence। Data model database design বুঝতে সাহায্য করে। Schema হলো database-এর structure, আর instance হলো নির্দিষ্ট সময়ের actual data। Database language যেমন DDL, DML, DCL এবং TCL database-এর structure ও data manage করতে ব্যবহার করা হয়। Database users-এর মধ্যে DBA, database designer, application programmer এবং end user গুরুত্বপূর্ণ। DBA database system-এর security, backup, recovery এবং performance manage করে। Data dictionary database-এর metadata সংরক্ষণ করে।

    ১৭. Important Key Points for Class 12

    • DBMS হলো database manage করার software system।
    • Database হলো logically related data-এর organized collection।
    • Legacy file system-এর প্রধান সমস্যা হলো data redundancy এবং inconsistency।
    • DBMS data sharing, security, backup, recovery এবং consistency প্রদান করে।
    • Three-schema architecture-এর levels হলো external, conceptual এবং internal।
    • Data independence দুই ধরনের: physical এবং logical।
    • Schema হলো database design, instance হলো actual data at a particular time।
    • Relational model-এ data table আকারে store হয়।
    • DDL database structure define করে, DML data manipulate করে।
    • DBA database-এর administrator, security এবং recovery manage করে।
    • Data dictionary metadata সংরক্ষণ করে।

    ১৮. Short Questions and Answers

    প্রশ্ন ১: DBMS কী?

    উত্তর: DBMS বা Database Management System হলো একটি software system, যার মাধ্যমে database তৈরি, সংরক্ষণ, update, retrieve এবং secure করা যায়।

    প্রশ্ন ২: Database কী?

    উত্তর: Database হলো logically related data-এর organized collection, যা নির্দিষ্ট purpose-এর জন্য store করা হয়।

    প্রশ্ন ৩: Data Redundancy কী?

    উত্তর: একই data একাধিক স্থানে repeated form-এ store হলে তাকে data redundancy বলা হয়।

    প্রশ্ন ৪: Data Inconsistency কী?

    উত্তর: একই data-এর different value বিভিন্ন file বা table-এ থাকলে তাকে data inconsistency বলা হয়।

    প্রশ্ন ৫: Three-Schema Architecture-এর levels কী কী?

    উত্তর: Three-Schema Architecture-এর তিনটি level হলো External Level, Conceptual Level এবং Internal Level।

    প্রশ্ন ৬: Data Independence কী?

    উত্তর: Data Independence হলো database-এর এক level change হলেও higher level বা application program কম affected হওয়ার ক্ষমতা।

    প্রশ্ন ৭: Schema কী?

    উত্তর: Schema হলো database-এর structure বা blueprint।

    প্রশ্ন ৮: Instance কী?

    উত্তর: Instance হলো কোনো নির্দিষ্ট সময়ে database-এ থাকা actual data।

    প্রশ্ন ৯: DBA-এর পূর্ণরূপ কী?

    উত্তর: DBA-এর পূর্ণরূপ হলো Database Administrator।

    প্রশ্ন ১০: Data Dictionary কী?

    উত্তর: Data Dictionary হলো database-এর metadata সংরক্ষণকারী catalog, যেখানে table, column, data type, constraints ইত্যাদি information থাকে।

    ১৯. Long Answer Type Questions

    প্রশ্ন ১: Legacy file system-এর drawbacks আলোচনা করো।

    উত্তর: Legacy file system বা traditional file-based system-এ data আলাদা আলাদা file-এ store করা হয়। এই system ছোট application-এর জন্য ব্যবহারযোগ্য হলেও বড় organization-এর ক্ষেত্রে অনেক সমস্যা তৈরি করে। প্রথমত, এতে data redundancy হয়, অর্থাৎ একই data একাধিক file-এ store হয়। এর ফলে storage waste হয়। দ্বিতীয়ত, data inconsistency দেখা যায়। যদি একই data একাধিক file-এ থাকে এবং সব file update না হয়, তাহলে একই data-এর different value দেখা যেতে পারে।

    তৃতীয়ত, file system-এ data access কঠিন। Specific report তৈরি করতে আলাদা program লিখতে হতে পারে। চতুর্থত, security দুর্বল, কারণ user access control করা কঠিন। পঞ্চমত, data integrity বজায় রাখা কঠিন। ভুল data entry সহজে prevent করা যায় না। এছাড়া backup ও recovery problem থাকে। system crash বা file corrupt হলে data restore করা কঠিন হতে পারে। একাধিক user একই সময়ে file access করলে concurrency problem দেখা দিতে পারে। তাই modern organization-এ file system-এর পরিবর্তে DBMS ব্যবহার করা বেশি উপযোগী।

    প্রশ্ন ২: DBMS-এর advantages আলোচনা করো।

    উত্তর: DBMS database manage করার একটি powerful software system। এর প্রধান advantage হলো এটি data redundancy কমায়। DBMS data centralized way-তে store করে, ফলে একই data বারবার store করার দরকার কম হয়। DBMS data consistency বজায় রাখে, কারণ data update হলে user updated value দেখতে পারে।

    DBMS data sharing সহজ করে। একাধিক user একই database ব্যবহার করতে পারে। যেমন school-এর teacher, admin এবং accountant একই database থেকে নিজেদের প্রয়োজনীয় data ব্যবহার করতে পারে। DBMS security provide করে, কারণ user role এবং permission define করা যায়। DBMS data integrity বজায় রাখে constraints-এর মাধ্যমে। Backup এবং recovery facility data loss থেকে protection দেয়। এছাড়া DBMS concurrency control, transaction management এবং data independence support করে। তাই large-scale data management-এর জন্য DBMS file system-এর তুলনায় অনেক বেশি effective।

    প্রশ্ন ৩: Three-Schema Architecture ব্যাখ্যা করো।

    উত্তর: Three-Schema Architecture হলো DBMS-এর একটি layered architecture, যেখানে database-কে তিনটি level-এ ভাগ করা হয়: external level, conceptual level এবং internal level। External level user-এর view represent করে। বিভিন্ন user database-এর বিভিন্ন অংশ দেখতে পারে। যেমন student নিজের result দেখে, teacher marks update করে, principal full report দেখে।

    Conceptual level database-এর complete logical structure represent করে। এখানে table, attributes, relationships এবং constraints define করা হয়। Internal level data-এর physical storage details describe করে। Data disk-এ কীভাবে store হবে, indexing কীভাবে হবে, file organization কী হবে—এসব internal level-এর বিষয়। এই architecture user application এবং physical storage-এর মধ্যে separation তৈরি করে এবং data independence প্রদান করে।

    প্রশ্ন ৪: Schema এবং Instance-এর মধ্যে পার্থক্য লেখো।

    উত্তর: Schema হলো database-এর structure বা design। এটি database-এর blueprint-এর মতো কাজ করে। Schema বলে দেয় কোন table থাকবে, table-এর columns কী হবে, data type কী হবে এবং relationship কী হবে। Schema সাধারণত ঘন ঘন পরিবর্তন হয় না।

    অন্যদিকে Instance হলো কোনো নির্দিষ্ট সময়ে database-এ থাকা actual data। যেমন আজ Student table-এ যত student record আছে, সেটি আজকের instance। Instance data insert, update বা delete-এর মাধ্যমে বারবার change হতে পারে। তাই schema হলো design, আর instance হলো current data।

    প্রশ্ন ৫: DBA-এর কাজ আলোচনা করো।

    উত্তর: DBA বা Database Administrator হলো database system পরিচালনার জন্য responsible ব্যক্তি বা team। DBA database install এবং configure করে। DBA user account তৈরি করে এবং user permission control করে। Database security বজায় রাখা DBA-এর গুরুত্বপূর্ণ কাজ। DBA backup এবং recovery plan তৈরি করে, যাতে system crash বা data loss হলে data restore করা যায়।

    DBA database performance monitor করে এবং performance improve করার জন্য indexing, storage management, query optimization ইত্যাদি কাজ করে। DBA data integrity constraints maintain করে এবং database schema manage করে। এক কথায়, DBA database-এর security, availability, reliability এবং efficiency নিশ্চিত করে।

    ২০. Conclusion বা উপসংহার

    Database Management System আধুনিক information management-এর একটি অপরিহার্য অংশ। Legacy file system data redundancy, inconsistency, security problem এবং recovery problem তৈরি করলেও DBMS এগুলোর কার্যকর সমাধান দেয়। DBMS data organized form-এ store করে এবং multiple users-এর জন্য secure access provide করে। DBMS-এর three-schema architecture data abstraction এবং data independence নিশ্চিত করে। Data models database design বুঝতে সাহায্য করে, schema ও instance database-এর structure এবং current state বুঝতে সাহায্য করে। Database languages data define ও manipulate করতে ব্যবহৃত হয়। DBA database system-এর proper management নিশ্চিত করে, আর data dictionary database-এর metadata সংরক্ষণ করে। Class 12 students-এর জন্য DBMS-এর এই introductory chapter future database learning-এর foundation তৈরি করে।