DEV Community

Vijayan S
Vijayan S

Posted on

02. DBMS என்றால் என்ன? What is a DBMS?

1. DBMS என்றால் என்ன?

Database Management System (DBMS) என்பது ஒரு மென்பொருள், இது ஒரு Database-ஐ நிர்வகிக்க, சேமிக்க, பெற மற்றும் மாற்ற பயன்படுகிறது. இது Database மற்றும் அதன் பயனர்களுக்கு இடையே ஒரு மத்தியஸ்தராக செயல்படுகிறது, தரவை எளிதாக அணுகவும் பாதுகாப்பாக வைத்திருக்கவும் உதவுகிறது.


2. DBMS-இன் கூறுகள்

DBMS-க்கு பின்வரும் முக்கிய கூறுகள் உள்ளன:

a. Database Engine

  • இது DBMS-இன் மையம் ஆகும்.
  • Query Processing: பயனர்கள் கேட்ட தகவல்களை செயல்படுத்த (execute) செய்யும்.
  • பரிவர்த்தனை மேலாண்மை (Transaction Management): ACID Properties (Atomicity, Consistency - நிலைத்தன்மை, Isolation - தனிமைப்படுத்துதல், Durability - நிலைப்புத்தன்மை)-ஐ பின்பற்றும்.

Atomicity என்பது ACID பண்புகளின் (Atomicity, Consistency, Isolation, Durability) ஒரு முக்கிய அம்சமாகும். இது ஒரு transaction-ஐ ஒரு முழுமையான, பிரிக்க முடியாத செயலாகக் கருதுகிறது. Atomicity என்பதன் மூலம் கீழ்காணும் இரண்டு தருணங்கள் உறுதி செய்யப்படும்:

  1. ஒரு transaction முழுமையாக நிறைவேற வேண்டும் அல்லது அது ஒரு பங்காகவே இல்லாதது போல இருக்க வேண்டும்.

2.Transaction நடத்தியபோது எந்தவித தோல்வியும் (உதாரணமாக, system crash, network issue, அல்லது invalid operation) ஏற்பட்டால், அந்த transaction முழுமையாக rollback செய்யப்படும், மற்றும் database தனது முந்தைய நிலைக்கு திரும்பும்.

Atomicity உதாரணம்
ஒரு வங்கியின் $500 பணத்தை Account A-ல் இருந்து Account B-க்கு மாற்றும் நிகழ்வை கற்பனை செய்யுங்கள்:

Account A-யில் இருந்து $500 debit செய்ய வேண்டும்.
Account B-க்கு $500 credit செய்ய வேண்டும்.
Atomicity பேணப்படுவதற்காக:

இந்த இரண்டு படிகளும் (debit மற்றும் credit) வெற்றிகரமாக நிறைவேற வேண்டும். அதில் எதாவது ஒரு பக்கம் தோல்வியடைந்தால், எந்த மாற்றமும் database-இல் நிகழக்கூடாது.
System crash ஏற்பட்டால் (உதாரணமாக, Account A-யில் இருந்து $500 debit செய்யப்பட்ட பிறகு Account B-க்கு credit செய்யும் முன்பு), rollback மூலம் Account A-யின் நிலை முந்தைய நிலைக்கு திரும்ப வேண்டும்.
Atomicity இல்லையெனில், கீழ்கண்ட நிலைகள் ஏற்படலாம்:

Account A-யில் இருந்து $500 குறைக்கப்படும் ஆனால் Account B-க்கு அது சேர்க்கப்படாது.


b. Database Schema

  • Data-வை எப்படி structure செய்வது என்பதை வரையறுக்கிறது (உதாரணம்: tables, fields, relationships).

c. Data Definition Language (DDL)

  • Database schema-ஐ வரையறுக்கும் மொழி.
  • உதாரணம்:
CREATE TABLE Customers (ID INT, Name VARCHAR(50), Age INT);
Enter fullscreen mode Exit fullscreen mode

d. Data Manipulation Language (DML)

  • Data-வை Insert, Update, Delete, Select போன்றவை செய்ய உதவும்:
    • INSERT: புதிய தகவலைச் சேர்க்க.
    • UPDATE: உள்ள தகவலை மாற்ற.
    • DELETE: தேவையற்ற தகவலை அகற்ற.
    • SELECT: தரவை தேடி பெற.

e. Metadata

  • Data பற்றி தகவல் (e.g., structure, constraints).

f. Database Users

  • End-users: GUI அல்லது application மூலம் பயன்படுத்துவோர்.
  • DBA (Database Administrator): பாதுகாப்பு மற்றும் செயல்திறனை மேம்படுத்துவோர்.
  • Developers: Database-ஐ அடிப்படையாகக் கொண்டு செயலிகள் உருவாக்குவோர்.

g. Query Processor

  • பயனர்களின் queries-ஐ database-க்கு புரியும் commands-ஆக மாற்றும்.

h. Transaction Management

  • Transactions-ஐ பாதுகாப்பாக நிர்வகிக்கும்:
    • Atomicity: முழு transaction அல்லது எதுவும் இல்லை.
    • Consistency: Data சரியாக இருப்பதை உறுதி.
    • Isolation: ஒருவரின் transaction மற்றவரை பாதிக்கக்கூடாது.
    • Durability: Data நிச்சயமாகச் சேமிக்கப்படும்.

3. DBMS Architecture

DBMS-ஐ கீழே காட்டப்பட்டுள்ள architecture-களின் அடிப்படையில் அமைக்கலாம்:

a. 1-Tier Architecture

  • DBMS மற்றும் database ஒரே machine-ல் இருக்கும். Single-user applications-க்கு ஏற்றது.

b. 2-Tier Architecture

  • Client DBMS server-இன் மேல் நேரடியாக செயல்படும். சிறிய மற்றும் நடுத்தர அமைப்புகளில் பயன்படுத்தப்படும்.

c. 3-Tier Architecture

மூன்று அடுக்குகளைக் கொண்டது:

  1. Presentation Layer: GUI அல்லது web interfaces.
  2. Application Layer: Business logic (server-ல் இயங்கும்).
  3. Database Layer: Database மற்றும் DBMS.

4. DBMS வகைகள்

a. Relational DBMS (RDBMS)

  • Data-வை tables-இல் rows மற்றும் columns வடிவில் அமைக்கிறது.
  • SQL மூலம் செயல்படும்.
  • உதாரணங்கள்: MySQL, PostgreSQL, Oracle DB.
  • Advantages: எளிய querying, துல்லியமான structure, data integrity.

Relational DBMSImage Source

b. Hierarchical DBMS

  • Data-வை tree-like structure-ஆக அமைக்கிறது.
  • Example: IBM's IMS.
  • Usage: File systems.

Hierarchical DBMSImage Source

c. Network DBMS

  • Data-வை graph-ஆக நிறுவுகிறது, பல parent-child relationships ஐ ஆதரிக்கிறது.
  • Example: Integrated Data Store (IDS).

Network DBMSImage Source

d. Object-Oriented DBMS

  • Data-வை objects வடிவில் சேமிக்கிறது.
  • Examples: db4o, ObjectDB.

e. NoSQL DBMS

  • Flexible schema கொண்டது; பெரிய அளவிலான மற்றும் அமைப்பில்லாத data-க்கு உகந்தது.
  • Types:
    • Document-based (MongoDB)
    • Key-Value Stores (Redis)
    • Column Stores (Cassandra)
    • Graph Databases (Neo4j).

5. DBMS-இன் சிறப்பம்சங்கள்

  • Data Independence: Data structure-ல் மாற்றங்கள் applications-ஐ பாதிக்காது.
  • Data Security: Authentication, Access Control போன்றவை உண்டு.
  • Multi-user Support: பல பயனர்களின் ஒரே நேரத்திலான access-ஐ ஆதரிக்கிறது.
  • Backup and Recovery: Data-ஐ பாதுகாக்க உதவும்.
  • Data Consistency: Primary keys, Foreign keys போன்ற constraints மூலம் தரவின் துல்லியம் பாதுகாக்கப்படும்.

6. DBMS-இன் நன்மைகள்

  1. Reduces Redundancy: Data duplication குறைக்கிறது.
  2. Ensures Data Integrity: Data துல்லியமாக இருக்கும்.
  3. Improves Accessibility: Data-ஐ எளிதாகத் தேட முடியும்.
  4. Enhances Collaboration: பலர் ஒரே நேரத்தில் data-ஐ அணுகலாம்.
  5. Automates Backup: Data loss-ஐ தடுக்கிறது.
  6. Scalability: Data அதிகமானால் கூட efficient-ஆக இயங்கும்.

7. DBMS-இன் பயன்பாடுகள்

a. Banking Systems

  • Accounts, Transactions மற்றும் பயனரின் தரவுகளை நிர்வகிக்கிறது.
  • Data security-ஐ உறுதிசெய்யும்.

b. E-Commerce

  • Inventory, Orders, Customer Profiles நிர்வகிக்கிறது.
  • Example: Amazon, Flipkart போன்ற online platforms.

c. Healthcare

  • Patient Records, Appointments மற்றும் மருந்து பரிந்துரைகளைச் சேமிக்கிறது.
  • Data confidentiality-ஐ பாதுகாக்கிறது.

d. Education

  • Student Records, Courses, Grades ஆகியவற்றை நிர்வகிக்கிறது.

e. Telecommunications

  • Call Records, Billing, Customer Management.

8. DBMS பயன்படுத்தும் போது சவால்கள்

  • Cost: நிறுவுதல் மற்றும் பராமரிப்பு செலவு அதிகமாக இருக்கும்.
  • Complexity: திறமையான administrators தேவை.
  • Performance: சில நேரங்களில் file systems-ஐ விட மெதுவாக இயங்கும்.
  • Scalability Issues: சில பழைய DBMS-கள் பெரிய அளவிலான data-ஐ கையாள முடியாது.

Top comments (2)

Collapse
 
sanjaykhanssk profile image
SSK

Great nanba, keep continuing .

Collapse
 
vajravijay profile image
Vijayan S

nandri Nanba