<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: MATHAN S </title>
    <description>The latest articles on Forem by MATHAN S  (@mathan-s).</description>
    <link>https://forem.com/mathan-s</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3440144%2F3dbcbca7-bc08-4eb9-b47b-c059a0312b21.png</url>
      <title>Forem: MATHAN S </title>
      <link>https://forem.com/mathan-s</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mathan-s"/>
    <language>en</language>
    <item>
      <title>Amazon S3 Explained: Simple Storage in the Cloud</title>
      <dc:creator>MATHAN S </dc:creator>
      <pubDate>Thu, 18 Dec 2025 17:31:57 +0000</pubDate>
      <link>https://forem.com/mathan-s/amazon-s3-explained-simple-storage-in-the-cloud-1n10</link>
      <guid>https://forem.com/mathan-s/amazon-s3-explained-simple-storage-in-the-cloud-1n10</guid>
      <description>&lt;p&gt;1)Service Overview&lt;br&gt;
Amazon S3 is an object storage service provided by AWS that allows users to store, retrieve, and manage data such as files, images, videos, backups, and logs. It is highly scalable, secure, and durable.&lt;/p&gt;

&lt;p&gt;2)Key Features&lt;br&gt;
Unlimited storage capacity&lt;br&gt;
High durability &lt;br&gt;
Data versioning and lifecycle management&lt;br&gt;
Encryption at rest and in transit&lt;br&gt;
Access control using IAM and bucket policies&lt;br&gt;
Supports static website hosting&lt;/p&gt;

&lt;p&gt;3)AWS Category / Cloud Domain&lt;br&gt;
Category: Storage&lt;br&gt;
Cloud Domain: Infrastructure as a Service&lt;/p&gt;

&lt;p&gt;4)Where It Fits in Cloud / DevOps Lifecycle&lt;br&gt;
Used for application data storage&lt;br&gt;
Stores build artifacts in CI/CD pipelines&lt;br&gt;
Used for backups and disaster recovery&lt;br&gt;
Stores logs and monitoring data&lt;br&gt;
Hosts static websites in cloud architectures&lt;/p&gt;

&lt;p&gt;5)Programming Language / Access Methods&lt;br&gt;
AWS Management Console&lt;br&gt;
AWS CLI&lt;br&gt;
AWS SDKs (Java, Python, JavaScript, Go, .NET)&lt;br&gt;
REST APIs (HTTP/HTTPS)&lt;/p&gt;

&lt;p&gt;6)Pricing Model&lt;br&gt;
Pay-as-you-go model&lt;br&gt;
Charged based on:&lt;br&gt;
Amount of data stored&lt;br&gt;
Number of requests&lt;br&gt;
Data transfer out&lt;br&gt;
Free tier available with limited storage and requests&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>devops</category>
      <category>aws</category>
      <category>programming</category>
    </item>
    <item>
      <title>MURAL: A Visual Collaboration Tool in the DevSecOps Periodic Table</title>
      <dc:creator>MATHAN S </dc:creator>
      <pubDate>Thu, 18 Dec 2025 17:27:12 +0000</pubDate>
      <link>https://forem.com/mathan-s/mural-a-visual-collaboration-tool-in-the-devsecops-periodic-table-50mh</link>
      <guid>https://forem.com/mathan-s/mural-a-visual-collaboration-tool-in-the-devsecops-periodic-table-50mh</guid>
      <description>&lt;p&gt;1)Overview of the Tool&lt;/p&gt;

&lt;p&gt;MURAL is a digital collaboration and visual workspace tool used by teams to brainstorm, plan, and collaborate in real time using virtual whiteboards. It helps teams visualize ideas through sticky notes, diagrams, flowcharts, and frameworks.&lt;/p&gt;

&lt;p&gt;2)Key Features&lt;/p&gt;

&lt;p&gt;Real-time collaborative whiteboards&lt;br&gt;
Sticky notes, shapes, flowcharts, and templates&lt;br&gt;
Brainstorming, mind mapping, and design thinking tools&lt;br&gt;
Voting, comments, and facilitation features&lt;br&gt;
Integration with tools like Jira, Microsoft Teams, Slack, and Zoom&lt;/p&gt;

&lt;p&gt;3)How It Fits into DevOps / DevSecOps&lt;/p&gt;

&lt;p&gt;Helps DevOps teams during planning, sprint retrospectives, and architecture discussions&lt;br&gt;
Useful for threat modeling and security design brainstorming in DevSecOps&lt;br&gt;
Improves collaboration between developers, security teams, and operations&lt;br&gt;
Supports agile ceremonies like stand-ups, retrospectives, and workshops&lt;/p&gt;

&lt;p&gt;4)Programming Language&lt;/p&gt;

&lt;p&gt;Built using JavaScript &lt;br&gt;
Uses HTML, CSS&lt;/p&gt;

&lt;p&gt;5)Parent Company&lt;/p&gt;

&lt;p&gt;MURAL (MURAL Inc.)&lt;/p&gt;

&lt;p&gt;6)Open Source or Paid&lt;/p&gt;

&lt;p&gt;*Not open source&lt;br&gt;
*Paid tool &lt;/p&gt;

</description>
      <category>devops</category>
      <category>mural</category>
      <category>programming</category>
      <category>opensource</category>
    </item>
    <item>
      <title>NORMALIZATION In LiveSQL</title>
      <dc:creator>MATHAN S </dc:creator>
      <pubDate>Tue, 07 Oct 2025 10:16:20 +0000</pubDate>
      <link>https://forem.com/mathan-s/normalization-in-livesql-1018</link>
      <guid>https://forem.com/mathan-s/normalization-in-livesql-1018</guid>
      <description>&lt;p&gt;Normalization is one of the most important concepts in database design. In this blog, we’ll walk through normalizing a student-course-instructor dataset step by step — from 1NF to 3NF — using SQL CREATE TABLE and INSERT INTO statements.&lt;/p&gt;

&lt;p&gt;Identify Anomalies&lt;br&gt;
Insertion anomaly:&lt;br&gt;
Can’t insert a new course unless a student enrolls.&lt;/p&gt;

&lt;p&gt;Update anomaly:&lt;br&gt;
If Dr. Kumar’s phone number changes, we must update multiple rows.&lt;/p&gt;

&lt;p&gt;Deletion anomaly:&lt;br&gt;
If student S02 drops the course, we lose info about the DBMS course entirely.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Convert to 1NF (First Normal Form)&lt;/strong&gt;&lt;br&gt;
Remove repeating groups, ensure atomic values.&lt;/p&gt;

&lt;p&gt;Creation of table&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4q63y10f5cvtenzk9eou.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4q63y10f5cvtenzk9eou.png" alt=" " width="800" height="643"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Insertion of data&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdg165g79addxsqsz7840.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdg165g79addxsqsz7840.png" alt=" " width="800" height="639"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Output&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxe41eqp177hzysm26tm4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxe41eqp177hzysm26tm4.png" alt=" " width="800" height="628"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Convert to 2NF (Second Normal Form)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Remove partial dependency (non-key attributes should depend on the whole key).&lt;/p&gt;

&lt;p&gt;Create separate tables for Students, Courses, Instructors, Studentcourses.&lt;/p&gt;

&lt;p&gt;Create table for Students&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn480s5nsld98dppuiayu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn480s5nsld98dppuiayu.png" alt=" " width="800" height="626"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Insert values into the table&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs7c43i1v7ogl71uf2u3n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs7c43i1v7ogl71uf2u3n.png" alt=" " width="800" height="634"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Output&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F86kyrs1451mnwfko5i5o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F86kyrs1451mnwfko5i5o.png" alt=" " width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create table for Courses&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl3e3m4gt95wbgsko5qld.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl3e3m4gt95wbgsko5qld.png" alt=" " width="800" height="634"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Insertion of values&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg0btzp0whi0t3xjtooea.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg0btzp0whi0t3xjtooea.png" alt=" " width="800" height="632"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Output&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fexw5ta1jh666v4w60b0v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fexw5ta1jh666v4w60b0v.png" alt=" " width="800" height="632"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create table for Instructors&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnghz1m09dnrzmh3v5vei.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnghz1m09dnrzmh3v5vei.png" alt=" " width="800" height="611"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Insertion of values&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fia75q55sfn1ynsch732v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fia75q55sfn1ynsch732v.png" alt=" " width="800" height="639"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Output&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgrryojasrbcpjwmhwr7j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgrryojasrbcpjwmhwr7j.png" alt=" " width="800" height="630"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create table for Studentcourses&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frt9aohfbi7j157a2qmrh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frt9aohfbi7j157a2qmrh.png" alt=" " width="800" height="623"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Insertion of values&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhr37q5epa5he3b2xclt6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhr37q5epa5he3b2xclt6.png" alt=" " width="800" height="632"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Output&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F92mx9umps8x11x57ryw6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F92mx9umps8x11x57ryw6.png" alt=" " width="800" height="645"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Convert to 3NF (Third Normal Form)&lt;/strong&gt;&lt;br&gt;
Remove transitive dependency (non-key attributes shouldn’t depend on other non-keys).&lt;/p&gt;

&lt;p&gt;👉 In our case, the InstructorPhone depends on Instructor, not directly on Course.&lt;br&gt;
So we already separated Instructors, which makes this 3NF compliant.&lt;/p&gt;

&lt;p&gt;Final tables in 3NF:&lt;/p&gt;

&lt;p&gt;Students(StudentID, StudentName)&lt;br&gt;
Instructors(Instructor, InstructorPhone)&lt;br&gt;
Courses(CourseID, CourseName, Instructor)&lt;br&gt;
StudentCourses(StudentID, CourseID)&lt;br&gt;
&lt;strong&gt;Query Using JOINs&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5wh6mdck9c0vcdcnh7px.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5wh6mdck9c0vcdcnh7px.png" alt=" " width="800" height="646"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaway&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;By breaking down our initial table step by step:&lt;/p&gt;

&lt;p&gt;1NF → Atomic values&lt;br&gt;
2NF → Remove partial dependencies&lt;br&gt;
3NF → Remove transitive dependencies&lt;br&gt;
We achieved a clean, normalized schema that eliminates anomalies and improves consistency.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>webdev</category>
      <category>opensource</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>ACID Properties in DBMS</title>
      <dc:creator>MATHAN S </dc:creator>
      <pubDate>Tue, 07 Oct 2025 09:58:42 +0000</pubDate>
      <link>https://forem.com/mathan-s/acid-properties-in-dbms-m08</link>
      <guid>https://forem.com/mathan-s/acid-properties-in-dbms-m08</guid>
      <description>&lt;p&gt;Databases power almost every application we use daily—from banking systems to e-commerce platforms. To ensure data remains reliable, databases follow the &lt;strong&gt;ACID&lt;/strong&gt; principles: &lt;strong&gt;Atomicity, Consistency, Isolation, and Durability.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this blog, we’ll demonstrate ACID properties with SQL transactions using a simple Loan Management example.&lt;/p&gt;

&lt;p&gt;Step 1: Setup the Schema&lt;/p&gt;

&lt;p&gt;We’ll create a Loans table that stores customer loan detail&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcysu6zltyqidg16k9gtd.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcysu6zltyqidg16k9gtd.webp" alt=" " width="800" height="536"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enter the values to be inserted in the table&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1mq1uap26ahxix0qwdew.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1mq1uap26ahxix0qwdew.webp" alt=" " width="800" height="493"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check the result&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F771g5rf89oi0zk2eu3kz.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F771g5rf89oi0zk2eu3kz.webp" alt=" " width="800" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ATOMICITY&lt;br&gt;
All operations in a transaction must succeed or none should.&lt;/p&gt;

&lt;p&gt;Update and roll back&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsgx8ryyzg4rzyqhhuzo0.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsgx8ryyzg4rzyqhhuzo0.webp" alt=" " width="800" height="564"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjot1z2t7avbuozgarv13.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjot1z2t7avbuozgarv13.webp" alt=" " width="800" height="536"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdeu9834ecgvzy3fgv4ux.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdeu9834ecgvzy3fgv4ux.webp" alt=" " width="800" height="523"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Atomicity ensures no partial updates happen.&lt;/p&gt;

&lt;p&gt;Consistency&lt;/p&gt;

&lt;p&gt;Transactions must bring the database from one valid state to another. Invalid data should not enter the system.&lt;/p&gt;

&lt;p&gt;Alter&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyeiwra2sc9l15u0r61u9.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyeiwra2sc9l15u0r61u9.webp" alt=" " width="800" height="546"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F99zirgfa8b50iobm2f7c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F99zirgfa8b50iobm2f7c.png" alt=" " width="800" height="541"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Consistency ensures only valid data enters the database.&lt;/p&gt;

&lt;p&gt;Isolation&lt;/p&gt;

&lt;p&gt;Concurrent transactions should not affect each other’s intermediate results.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhvtl1pz9sxd9q23jrcix.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhvtl1pz9sxd9q23jrcix.png" alt=" " width="800" height="505"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Isolation prevents dirty reads between transactions.&lt;/p&gt;

&lt;p&gt;Durability&lt;/p&gt;

&lt;p&gt;Once a transaction is committed, the changes must persist—even if the database crashes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffi9ey45lh3u1r4mwpt23.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffi9ey45lh3u1r4mwpt23.png" alt=" " width="800" height="563"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa08h1cbf62z9jilv0ch9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa08h1cbf62z9jilv0ch9.png" alt=" " width="800" height="556"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Durability guarantees committed data survives restarts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaways&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Atomicity → All or nothing.&lt;br&gt;
Consistency → Data always valid.&lt;br&gt;
Isolation → Transactions don’t interfere.&lt;br&gt;
Durability → Data persists after commit.&lt;br&gt;
By applying ACID principles, databases remain reliable, fault-tolerant, and consistent even in high-concurrency environments like banking systems.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
      <category>devops</category>
    </item>
    <item>
      <title>CRUD OPERATION</title>
      <dc:creator>MATHAN S </dc:creator>
      <pubDate>Tue, 07 Oct 2025 08:42:20 +0000</pubDate>
      <link>https://forem.com/mathan-s/crud-operation-1c2c</link>
      <guid>https://forem.com/mathan-s/crud-operation-1c2c</guid>
      <description>&lt;p&gt;MongoDB is one of the most popular NoSQL databases used by developers today for building modern, scalable applications. Unlike traditional relational databases, MongoDB stores data in flexible JSON-like documents, making it easier to work with real-world scenarios.&lt;/p&gt;

&lt;p&gt;In this blog, We’ll walk through CRUD operations (Create, Read, Update, Delete) in MongoDB using a simple example: a student database. We’ll insert student details, query them, update academic information, and even delete records.&lt;/p&gt;

&lt;p&gt;To make it more exciting, we’ll run these queries directly on MongoDB Atlas Cluster (cloud-based MongoDB). Along the way, I’ll include screenshots of my MongoDB Atlas dashboard and outputs so you can follow along visually.&lt;/p&gt;

&lt;p&gt;Outcome:-&lt;/p&gt;

&lt;p&gt;How to insert multiple documents into a collection&lt;/p&gt;

&lt;p&gt;How to read and filter records using queries&lt;/p&gt;

&lt;p&gt;How to update documents (single &amp;amp; multiple)&lt;/p&gt;

&lt;p&gt;How to delete documents based on conditions&lt;/p&gt;

&lt;p&gt;How CRUD fits into real-world development&lt;/p&gt;

&lt;p&gt;Setup: Creating a Cluster&lt;/p&gt;

&lt;p&gt;Create a free MongoDB Atlas account&lt;/p&gt;

&lt;p&gt;Create a cluster and a database called collegeDB&lt;br&gt;
Inside it, create a collection called STUDENTS&lt;/p&gt;

&lt;p&gt;Create (Insert):-&lt;/p&gt;

&lt;p&gt;Insert at least 5 student records into the students collection.&lt;/p&gt;

&lt;p&gt;We cannot start by inserting 5 student records into our students collection together. We can create each student as separate document.&lt;/p&gt;

&lt;p&gt;Code:-&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
student_id: "S001",&lt;br&gt;
name: "harshitha",&lt;br&gt;
age: 20,&lt;br&gt;
department: "CSBS",&lt;br&gt;
year: 2,&lt;br&gt;
cgpa: 9&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxzkr60d9ukf5kw2ixhie.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxzkr60d9ukf5kw2ixhie.webp" alt=" " width="772" height="625"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
student_id: "S002",&lt;br&gt;
name: "Madhumitha",&lt;br&gt;
age: 21,&lt;br&gt;
department: "CSBS",&lt;br&gt;
year: 3,&lt;br&gt;
cgpa: 8.5&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr1wl0fwysku4equfi68o.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr1wl0fwysku4equfi68o.webp" alt=" " width="800" height="361"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
student_id: "S003",&lt;br&gt;
name: "Lokhitha",&lt;br&gt;
age: 20,&lt;br&gt;
department: "MI",&lt;br&gt;
year: 3,&lt;br&gt;
cgpa: 8&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
student_id: "S004",&lt;br&gt;
name: "Harish",&lt;br&gt;
age: 22,&lt;br&gt;
department: "IT",&lt;br&gt;
year: 3,&lt;br&gt;
cgpa: 9.2&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3uersy3qgirou82qm852.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3uersy3qgirou82qm852.webp" alt=" " width="800" height="298"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
student_id: "S005",&lt;br&gt;
name: "Dhaaraneesh",&lt;br&gt;
age: 20,&lt;br&gt;
department: "CIVIL",&lt;br&gt;
year: 2,&lt;br&gt;
cgpa: 8.8&lt;br&gt;
}&lt;br&gt;
{&lt;br&gt;
student_id: "S006",&lt;br&gt;
name: "Harish",&lt;br&gt;
age: 22,&lt;br&gt;
department: "CSE",&lt;br&gt;
year: 3,&lt;br&gt;
cgpa: 9.2&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5210c9mkhe1tn6qliahq.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5210c9mkhe1tn6qliahq.webp" alt=" " width="800" height="281"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;READ(QUERY)&lt;/p&gt;

&lt;p&gt;Find all students with CGPA &amp;gt; 8.&lt;/p&gt;

&lt;p&gt;db.students.find({ cgpa: { $gt: 8 } })&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmkdd4m1pyu78477u9wdv.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmkdd4m1pyu78477u9wdv.webp" alt=" " width="800" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Find students belonging to the Computer Science department.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjhto87nyk83jt5beqgb3.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjhto87nyk83jt5beqgb3.webp" alt=" " width="800" height="357"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;db.students.find({ department: "CSE" })&lt;/p&gt;

&lt;p&gt;UPDATE&lt;/p&gt;

&lt;p&gt;Update the CGPA of a specific student.&lt;/p&gt;

&lt;p&gt;{ "student_id": "S005" }&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk7rtss4vqgv78vovlm1i.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk7rtss4vqgv78vovlm1i.webp" alt=" " width="800" height="290"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Delete:-&lt;/p&gt;

&lt;p&gt;Delete one student record by student_id.&lt;/p&gt;

&lt;p&gt;{ "student_id": "S004" }&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqa5znyou0465v8srqhpp.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqa5znyou0465v8srqhpp.webp" alt=" " width="800" height="348"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;RESULT&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5umzk021b6aonw9bws7i.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5umzk021b6aonw9bws7i.webp" alt=" " width="800" height="330"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Conclusion:-&lt;/p&gt;

&lt;p&gt;In this blog, we explored how to perform CRUD operations in MongoDB using a real-world example of a student database. Starting from inserting records, querying based on conditions, updating multiple documents, and finally deleting specific records – we’ve covered the foundation of working with MongoDB.&lt;/p&gt;

</description>
      <category>database</category>
      <category>sql</category>
      <category>coding</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Indexing, Hashing &amp; Query Optimization in DBMS</title>
      <dc:creator>MATHAN S </dc:creator>
      <pubDate>Sun, 05 Oct 2025 18:20:22 +0000</pubDate>
      <link>https://forem.com/mathan-s/indexing-hashing-query-optimization-in-dbms-5hih</link>
      <guid>https://forem.com/mathan-s/indexing-hashing-query-optimization-in-dbms-5hih</guid>
      <description>&lt;p&gt;Definition:&lt;/p&gt;

&lt;p&gt;Indexing: A database index is a data structure that enhances the speed of data retrieval operations on a table, though it comes with additional costs in terms of writes and storage space.&lt;/p&gt;

&lt;p&gt;Hash Index: Utilizes a hash function to enable rapid equality searches. (Note: In Oracle, true hash indexes are not directly supported; hash-like performance can be achieved through specific functions or clustering techniques.)&lt;/p&gt;

&lt;p&gt;B+ Tree Index: An extension of the B-Tree where all values are stored at the leaf nodes, making it more efficient for range queries.&lt;/p&gt;

&lt;p&gt;B-Tree Index: A balanced tree-based index commonly used for equality and range queries.&lt;/p&gt;

&lt;p&gt;STEPS:&lt;/p&gt;

&lt;p&gt;Creating the Students Table&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnf0tezspcoe1i7dhroea.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnf0tezspcoe1i7dhroea.jpeg" alt=" " width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Inserting Sample Records&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbl4jodgsh4qldtoneb7o.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbl4jodgsh4qldtoneb7o.jpeg" alt=" " width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Creating a B-Tree Index on roll_no&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy0prqon1tqdx2gdo5ti5.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy0prqon1tqdx2gdo5ti5.jpeg" alt=" " width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;SELECT * FROM Students WHERE roll_no = 110;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8af8lujm7o0nohb7owzl.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8af8lujm7o0nohb7owzl.jpeg" alt=" " width="800" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Creating a B+ Tree Index on cgpa&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqy3rum3w3id8i9ixpv8a.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqy3rum3w3id8i9ixpv8a.jpeg" alt=" " width="800" height="468"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;SELECT * FROM Students WHERE cgpa &amp;gt; 8.0;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fktb3cgbyufuyc35tugmp.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fktb3cgbyufuyc35tugmp.jpeg" alt=" " width="800" height="455"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Creating an Index on dept for Fast Equality Search&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftq3texbjz8m0j12omsoi.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftq3texbjz8m0j12omsoi.jpeg" alt=" " width="800" height="468"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;SELECT * FROM Students WHERE dept = 'CSBS';&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffs2a1e6twg6xcnrk25t8.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffs2a1e6twg6xcnrk25t8.jpeg" alt=" " width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>dbms</category>
      <category>database</category>
      <category>sql</category>
      <category>coding</category>
    </item>
    <item>
      <title>DBMS – Transactions, Deadlocks &amp; Log-Based Recovery</title>
      <dc:creator>MATHAN S </dc:creator>
      <pubDate>Sun, 05 Oct 2025 18:04:53 +0000</pubDate>
      <link>https://forem.com/mathan-s/dbms-transactions-deadlocks-log-based-recovery-2610</link>
      <guid>https://forem.com/mathan-s/dbms-transactions-deadlocks-log-based-recovery-2610</guid>
      <description>&lt;p&gt;Step 1: Create Table &amp;amp; Insert Data&lt;br&gt;
CREATE TABLE CustomerAccounts ( acc_no INT PRIMARY KEY, name VARCHAR2(50), balance INT );&lt;br&gt;
INSERT INTO CustomerAccounts VALUES (1, ‘EMILY, 1000); INSERT INTO CustomerAccounts VALUES (2, 'BOBBY, 1500); INSERT INTO CustomerAccounts VALUES (3, 'CALEB, 2000);&lt;br&gt;
SELECT * FROM CustomerAccounts;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnrcwxnjznmbpq5z9g7u6.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnrcwxnjznmbpq5z9g7u6.jpeg" alt=" " width="800" height="403"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Transaction – Atomicity &amp;amp; Rollback&lt;/p&gt;

&lt;p&gt;UPDATE CustomerAccounts SET balance = balance - 500 WHERE name = ‘Emily;&lt;/p&gt;

&lt;p&gt;UPDATE CustomerAccounts SET balance = balance + 500 WHERE name = 'Bobby’;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3aglpnj8n6x9u5i8qwyg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3aglpnj8n6x9u5i8qwyg.jpeg" alt=" " width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Rollback transaction&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy4ui66u4bimgxcbahfw3.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy4ui66u4bimgxcbahfw3.jpeg" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;SELECT * FROM CustomerAccounts;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3l8aidpbceu2wtoww0ti.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3l8aidpbceu2wtoww0ti.jpeg" alt=" " width="800" height="352"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;DEADLOCK SIMULATION&lt;/p&gt;

&lt;p&gt;-- Lock Emily UPDATE CustomerAccounts SET balance = balance - 100 WHERE name = ‘emily’; -- Do NOT commit&lt;br&gt;
Session 2 (conceptual) -- Lock Bobby UPDATE CustomerAccounts SET balance = balance - 200 WHERE name = 'Bobby’; -- Do NOT commit&lt;br&gt;
Continuing Session 1 -- Try updating Bobby (held by Session 2) UPDATE CustomerAccounts SET balance = balance + 100 WHERE name = 'Bobby’;&lt;br&gt;
Continuing Session 2 -- Try updating Emily (held by Session 1) UPDATE CustomerAccounts SET balance = balance + 200 WHERE name = ‘Emily’;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fht48q35jsw5refv8lcng.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fht48q35jsw5refv8lcng.jpeg" alt=" " width="800" height="361"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LOG-BASED RECOVERY&lt;/p&gt;

&lt;p&gt;Task: Show rollback and explain internal logs (undo/redo).&lt;br&gt;
-- Update Charlie UPDATE CustomerAccounts SET balance = balance + 300 WHERE name = 'Charlie';&lt;br&gt;
-- Rollback ROLLBACK;&lt;br&gt;
-- Verify balances SELECT * FROM CustomerAccounts;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F556glprd61vjr1whu759.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F556glprd61vjr1whu759.jpeg" alt=" " width="800" height="422"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp1xi9n5lfxwwm12wdbh7.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp1xi9n5lfxwwm12wdbh7.jpeg" alt=" " width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>database</category>
      <category>sql</category>
      <category>data</category>
    </item>
    <item>
      <title>CURSOR AND TRIGGER</title>
      <dc:creator>MATHAN S </dc:creator>
      <pubDate>Sun, 05 Oct 2025 17:37:48 +0000</pubDate>
      <link>https://forem.com/mathan-s/cursor-and-trigger-d8p</link>
      <guid>https://forem.com/mathan-s/cursor-and-trigger-d8p</guid>
      <description>&lt;p&gt;CURSOR &lt;br&gt;
       A cursor in a Database Management System (DBMS) is a special control structure used to traverse and manipulate the rows in a result set one at a time. While standard SQL operations are typically set-based and act on all rows simultaneously, a cursor enables row-by-row processing, making it ideal for scenarios that require sequential logic, conditional operations, or custom computations on each individual row. Cursors are especially useful in complex business workflows where fine-grained control over data handling is necessary.&lt;/p&gt;

&lt;p&gt;Step 1: Create Employee Table&lt;br&gt;
CREATE TABLE Employee ( Emp_ID NUMBER PRIMARY KEY, Emp_Name VARCHAR2(50), Salary NUMBER );&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk0bx6shk8d4pl958gbeo.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk0bx6shk8d4pl958gbeo.jpeg" alt=" " width="800" height="356"&gt;&lt;/a&gt;&lt;br&gt;
Step 2: Insert Sample Data&lt;br&gt;
INSERT INTO Employee (Emp_ID, Emp_Name, Salary) VALUES (1, 'Ramesh', 60000); INSERT INTO Employee (Emp_ID, Emp_Name, Salary) VALUES (2, 'Suresh', 45000); INSERT INTO Employee (Emp_ID, Emp_Name, Salary) VALUES (3, 'Anita', 75000); INSERT INTO Employee (Emp_ID, Emp_Name, Salary) VALUES (4, 'Kavya', 50000);&lt;br&gt;
￼&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq8fm7ufgiq8rfemuv3og.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq8fm7ufgiq8rfemuv3og.jpeg" alt=" " width="800" height="458"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 3: Create and Process Cursor&lt;br&gt;
OPEN emp_cursor; LOOP FETCH emp_cursor INTO v_EmpName, v_Salary; EXIT WHEN emp_cursor%NOTFOUND; DBMS_OUTPUT.PUT_LINE('Employee: ' || v_EmpName || ', Salary: ₹' || v_Salary); END LOOP; CLOSE emp_cursor; END;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk42ip1jvo7m21tvitlhh.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk42ip1jvo7m21tvitlhh.jpeg" alt=" " width="800" height="441"&gt;&lt;/a&gt;&lt;br&gt;
￼&lt;br&gt;
DBMS_OUTPUT.PUT_LINE prints each employee’s name and salary.&lt;/p&gt;

&lt;p&gt;DEFINITION OF TRIGGER IN DBMS&lt;/p&gt;

&lt;p&gt;A trigger in DBMS is a special stored procedure that automatically executes in response to events like INSERT, UPDATE, or DELETE on a table or view. It’s commonly used to enforce business rules, maintain data integrity, and log changes without manual intervention.&lt;/p&gt;

&lt;p&gt;Step 1: Create Students Table&lt;br&gt;
CREATE TABLE Students ( Student_ID NUMBER PRIMARY KEY, Student_Name VARCHAR2(50), Course VARCHAR2(50) );&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxngoywaoy7ss5z8jzv3b.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxngoywaoy7ss5z8jzv3b.jpeg" alt=" " width="800" height="455"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 2: Create Student_Audit Table&lt;br&gt;
CREATE TABLE Student_Audit ( Audit_ID NUMBER GENERATED ALWAYS AS IDENTITY PRIMARY KEY, Student_ID NUMBER, Student_Name VARCHAR2(50), Action VARCHAR2(50), Action_Time TIMESTAMP );&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv1afusg66r8nuyvgyz7n.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv1afusg66r8nuyvgyz7n.jpeg" alt=" " width="800" height="449"&gt;&lt;/a&gt;&lt;br&gt;
￼&lt;/p&gt;

&lt;p&gt;Step 3: Create AFTER INSERT Trigger&lt;br&gt;
CREATE OR REPLACE TRIGGER trg_after_student_insert AFTER INSERT ON Students FOR EACH ROW BEGIN INSERT INTO Student_Audit (Student_ID, Student_Name, Action, Action_Time) VALUES (:NEW.Student_ID, :NEW.Student_Name, 'INSERT', SYSTIMESTAMP); END;&lt;br&gt;
￼&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffyel0e6uwc658wgl4tos.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffyel0e6uwc658wgl4tos.jpeg" alt=" " width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 4: Test Trigger&lt;br&gt;
INSERT INTO Students (Student_ID, Student_Name, Course) VALUES (1, 'Ravi', 'Computer Science'); INSERT INTO Students (Student_ID, Student_Name, Course) VALUES (2, 'Meena', 'Electrical Engineering');&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyuqn7mebt3jl9d6ulxyi.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyuqn7mebt3jl9d6ulxyi.jpeg" alt=" " width="800" height="464"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 5: Verify Audit Table&lt;br&gt;
SELECT * FROM Student_Audit;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr2ncywf5kcvbxxv5hl69.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr2ncywf5kcvbxxv5hl69.jpeg" alt=" " width="800" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;￼&lt;/p&gt;

</description>
      <category>dbms</category>
      <category>cursor</category>
      <category>code</category>
      <category>database</category>
    </item>
    <item>
      <title>COLLEGE STUDENT &amp; COURSE MANAGEMENT SYSTEM</title>
      <dc:creator>MATHAN S </dc:creator>
      <pubDate>Wed, 20 Aug 2025 16:15:50 +0000</pubDate>
      <link>https://forem.com/mathan-s/dbms-queries-a6p</link>
      <guid>https://forem.com/mathan-s/dbms-queries-a6p</guid>
      <description>&lt;p&gt;Hey everyone! I'm just starting my journey into the world of tech, and this is my very first blog post on Dev.to. I'm diving into Database Management Systems (DBMS) — learning the basics, understanding how data is stored, and exploring why databases are so important in today’s digital world. This post is a beginner-friendly introduction, and I hope it helps others who are just starting out like me.&lt;/p&gt;

&lt;h2&gt;
  
  
  CREATING TABLE
&lt;/h2&gt;

&lt;p&gt;To create a STUDENT table in DBMS, start by designing the table structure based on the information you want to store, such as student ID, name, date of birth, email, department. Once the design is ready, write the SQL CREATE TABLE statement&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fayhgvjl1bc8k4hly1tz1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fayhgvjl1bc8k4hly1tz1.png" alt=" " width="800" height="520"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ALTERING TABLE
&lt;/h2&gt;

&lt;p&gt;To add a phone number column to an existing STUDENT table in a database, you use the ALTER TABLE statement followed by the ADD keyword. This allows you to modify the structure of the table without deleting or recreating it. For example, the command ALTER TABLE STUDENT ADD phone VARCHAR(15);&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0xz97dd8xzme0855o7sr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0xz97dd8xzme0855o7sr.png" alt=" " width="800" height="520"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  SELECTING AND MAKING UPPERCASE
&lt;/h2&gt;

&lt;p&gt;To retrieve a student's name in uppercase and calculate the length of their email address from the STUDENT table, you can use SQL functions in a SELECT query. The UPPER() function is used to convert the name to uppercase, and the LENGTH() (or LEN() in some databases) function is used to find the number of characters in the email. For example, the query SELECT UPPER(first_name) AS upper_name, LENGTH(email) AS email_length FROM STUDENT; will return the first name in all capital letters and the length of the email for each student.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fspuugovx7ekvjyfnl1nn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fspuugovx7ekvjyfnl1nn.png" alt=" " width="800" height="520"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  DISPLAYING
&lt;/h2&gt;

&lt;p&gt;To display the contents of the STUDENT table, you use the SELECT statement in SQL. The basic command SELECT * FROM STUDENT; retrieves all columns and all records from the table, showing the complete data stored for each student.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyv473qy55bvvni7j0oqi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyv473qy55bvvni7j0oqi.png" alt=" " width="800" height="520"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>database</category>
      <category>sql</category>
      <category>oracle</category>
      <category>coding</category>
    </item>
  </channel>
</rss>
