<?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>DEV Community: Harshitha S</title>
    <description>The latest articles on DEV Community by Harshitha S (@harshitha_s_c436fb6552a2a).</description>
    <link>https://dev.to/harshitha_s_c436fb6552a2a</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%2F3458577%2Fd8257425-3fa6-4f25-a873-429ed96a54fd.jpg</url>
      <title>DEV Community: Harshitha S</title>
      <link>https://dev.to/harshitha_s_c436fb6552a2a</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/harshitha_s_c436fb6552a2a"/>
    <language>en</language>
    <item>
      <title>AWS (Amazon Web Services) Course</title>
      <dc:creator>Harshitha S</dc:creator>
      <pubDate>Fri, 19 Dec 2025 02:23:06 +0000</pubDate>
      <link>https://dev.to/harshitha_s_c436fb6552a2a/aws-amazon-web-services-course-457c</link>
      <guid>https://dev.to/harshitha_s_c436fb6552a2a/aws-amazon-web-services-course-457c</guid>
      <description>&lt;p&gt;🔹 &lt;strong&gt;Overview of the Tool / Exam&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Developing Solutions for Microsoft Azure (AZ-204)&lt;/strong&gt; is &lt;strong&gt;a Microsoft certification exam&lt;/strong&gt; (part of the Microsoft Certified: Azure Developer Associate) focused on &lt;strong&gt;building, deploying, and maintaining cloud applications and services on Azure&lt;/strong&gt;. It tests your ability to design and implement solutions using core Azure services such as compute, storage, security, APIs, event-driven functions, and monitoring. &lt;/p&gt;

&lt;p&gt;Unlike a singular “tool,” &lt;strong&gt;AZ-204 covers a set of Azure platform features and development practices&lt;/strong&gt; — including working with App Services, Azure Functions, Cosmos DB, Key Vault, API Management, event and message-based solutions, caching, and monitoring. &lt;/p&gt;

&lt;p&gt;⭐ &lt;strong&gt;Key Features / Skill Areas Covered&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The exam evaluates real-world cloud development tasks across several domains:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Develop Azure compute solutions&lt;/strong&gt; – App Services, container apps, Azure Functions, etc. ([Microsoft Learn][1])&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Develop for Azure storage&lt;/strong&gt; – Blob Storage, Cosmos DB, solutions that use cloud data. ([Microsoft Learn][1])&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Implement Azure security&lt;/strong&gt; – authentication/authorization with Azure AD/Entra, Key Vault, managed identities. ([Microsoft Learn][1])&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monitor, troubleshoot, and optimize&lt;/strong&gt; – Application Insights, metrics, caching (e.g., Redis). ([Microsoft Learn][1])&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Connect to and consume services&lt;/strong&gt; – APIs (API Management), event- and message-based systems (Event Grid, Service Bus). ([Microsoft Learn][1])&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These skills reflect the tasks that developers perform in building cloud apps and services. &lt;/p&gt;

&lt;p&gt;🔁 &lt;strong&gt;How It Fits into DevOps / DevSecOps&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;📌 &lt;strong&gt;DevOps Integration:&lt;/strong&gt;&lt;br&gt;
AZ-204 skills align closely with &lt;strong&gt;DevOps practices&lt;/strong&gt; by emphasizing automation, cloud-native deployment, and efficient development workflows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CI/CD pipelines &amp;amp; automation:&lt;/strong&gt; You’ll need proficiency with Azure CLI, PowerShell, and deployment automation tools, which can be integrated into CI/CD pipelines (GitHub Actions, Azure DevOps, etc.). &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Observability and monitoring:&lt;/strong&gt; Use Application Insights and Azure Monitor for application health in production, essential in DevOps. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📌 &lt;strong&gt;DevSecOps Integration:&lt;/strong&gt;&lt;br&gt;
Security is embedded in the exam’s skill domains — authentication with Azure AD/Entra, securing secrets with Azure Key Vault, and implementing secure configuration all contribute to &lt;em&gt;shift-left security practices&lt;/em&gt; that are central to DevSecOps. &lt;/p&gt;

&lt;p&gt;🧠 &lt;strong&gt;Programming Languages&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The exam itself &lt;strong&gt;doesn’t limit you to a single language&lt;/strong&gt; but expects you to be proficient in languages supported by Azure development tools and SDKs. Common languages used in AZ-204 work include: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Python&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JavaScript/TypeScript (Node)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PowerShell / Bash&lt;/strong&gt; (for CLI scripting)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most hands-on development and samples in documentation are shown using these languages. &lt;/p&gt;

&lt;p&gt;🏢 &lt;strong&gt;Parent Organization / Ownership&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Owner:&lt;/strong&gt; &lt;em&gt;Microsoft Corporation&lt;/em&gt; — the exam, study guides, and official learning paths are developed and maintained by Microsoft. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Certification:&lt;/strong&gt; Part of &lt;strong&gt;Microsoft Certified: Azure Developer Associate&lt;/strong&gt; credential. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There’s no separate “company” for AZ-204; it sits under Microsoft’s cloud platform strategy.&lt;/p&gt;

&lt;p&gt;💰 &lt;strong&gt;Open Source or Paid?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Certification Exam:&lt;/strong&gt; &lt;em&gt;Paid&lt;/em&gt; — Microsoft charges an exam fee (typically around USD 165, price varies by country). &lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;Learning Tools:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Microsoft Learn modules and documentation are &lt;em&gt;free and publicly accessible&lt;/em&gt; (open for study). &lt;/li&gt;
&lt;li&gt;Third-party courses (Coursera, Udemy, practice tests) may be &lt;em&gt;paid.&lt;/em&gt; 
There’s &lt;strong&gt;no open-source “tool” called AZ-204&lt;/strong&gt; — the exam tests knowledge of Azure, which is a commercial cloud platform.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’d like to thank our staff &lt;a class="mentioned-user" href="https://dev.to/santhoshnc"&gt;@santhoshnc&lt;/a&gt;  for introducing and explaining about aws courses in such a clear and practical way. Their guidance helped us understand not just the tool itself, but how it fits into real-world . The hands-on explanations and industry-relevant insights made the learning experience truly valuable.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>career</category>
      <category>web3</category>
      <category>opensource</category>
    </item>
    <item>
      <title>DevSecOps Tools</title>
      <dc:creator>Harshitha S</dc:creator>
      <pubDate>Fri, 19 Dec 2025 02:13:21 +0000</pubDate>
      <link>https://dev.to/harshitha_s_c436fb6552a2a/devsecops-tools-4ii0</link>
      <guid>https://dev.to/harshitha_s_c436fb6552a2a/devsecops-tools-4ii0</guid>
      <description>&lt;p&gt;🪝 &lt;strong&gt;Helm — Overview of the Tool&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Helm&lt;/strong&gt; is a &lt;strong&gt;package manager for Kubernetes&lt;/strong&gt;: it helps you define, install, upgrade, and manage applications running in Kubernetes clusters using reusable packages called &lt;strong&gt;Charts&lt;/strong&gt;. It streamlines complex deployments, manages dependencies, supports versioning and rollbacks, and simplifies configuration across environments. &lt;/p&gt;

&lt;p&gt;⭐ &lt;strong&gt;Key Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Package Management with Charts&lt;/strong&gt;&lt;br&gt;
Packages (called Charts) bundle Kubernetes resources and metadata so you can install complex applications with a single command. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Deployments &amp;amp; Upgrades&lt;/strong&gt;&lt;br&gt;
Helm handles install, upgrade, rollback, and uninstall tasks for Kubernetes applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Release Versioning&lt;/strong&gt;&lt;br&gt;
Every installation creates a &lt;em&gt;release&lt;/em&gt;, allowing version control and easy rollback to a previous state. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Config &amp;amp; Templating&lt;/strong&gt;&lt;br&gt;
Charts use YAML + Go template syntax so you can customize parameters per environment via &lt;em&gt;values.yaml&lt;/em&gt;. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Dependency Management&lt;/strong&gt;&lt;br&gt;
Charts can define and manage dependencies on other charts. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Repository Support&lt;/strong&gt;&lt;br&gt;
Helm dependencies and charts can be hosted in public or private repositories like Artifact Hub.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Rollbacks&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🔁 &lt;strong&gt;How It Fits into DevOps / DevSecOps&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In modern &lt;strong&gt;DevOps&lt;/strong&gt; and &lt;strong&gt;DevSecOps&lt;/strong&gt; workflows, Helm plays several critical roles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;CI/CD Integration&lt;/strong&gt;&lt;br&gt;
Works well with CI/CD tools (Jenkins, GitHub Actions, GitLab CI, Argo CD, etc.) to automate deployments. ([ijritcc.org][5])&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Infrastructure as Code (IaC)&lt;/strong&gt;&lt;br&gt;
Helm abstracts manifest files into reusable packages, aligning with IaC practices. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Consistency Across Environments&lt;/strong&gt;&lt;br&gt;
Charts enforce consistent deployments across dev, staging, and production.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security &amp;amp; Audit Controls&lt;/strong&gt;&lt;br&gt;
Removing server-side components like Tiller (from Helm 3 onwards) improves security posture by relying on Kubernetes’ native RBAC and API access. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Reusable Components&lt;/strong&gt;&lt;br&gt;
Helm promotes modular reuse of configurations, reducing human error and boosting team productivity. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💻 &lt;strong&gt;Programming Language&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Helm is written in Go&lt;/strong&gt;, a language commonly used in the cloud-native ecosystem, especially in Kubernetes-related tools.&lt;/p&gt;

&lt;p&gt;🏢 &lt;strong&gt;Parent Company / Governance&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Helm &lt;strong&gt;doesn’t have a traditional “parent company.”&lt;/strong&gt; Instead:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It was originally created by &lt;strong&gt;Deis&lt;/strong&gt; (later acquired by Microsoft). &lt;/li&gt;
&lt;li&gt;Today, it’s an &lt;strong&gt;open-source project maintained under the Cloud Native Computing Foundation (CNCF)&lt;/strong&gt; — the same foundation that governs Kubernetes. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This means it’s supported by a community of contributors from many organizations rather than being owned by a single company.&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;Open-Source or Paid?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Open-Source Tool&lt;/strong&gt;&lt;br&gt;
Helm is released under the &lt;strong&gt;Apache License 2.0&lt;/strong&gt;, meaning the core project itself is free to use, modify, and distribute. However, commercial products like repository managers (Artifactory, private chart registries, etc.) may offer paid services around Helm usage — but Helm itself remains free.&lt;/p&gt;

&lt;p&gt;I’d like to thank our staff &lt;a class="mentioned-user" href="https://dev.to/santhoshnc"&gt;@santhoshnc&lt;/a&gt;  for introducing and explaining Helm in such a clear and practical way. Their guidance helped us understand not just the tool itself, but how it fits into real-world DevOps and Kubernetes workflows. The hands-on explanations and industry-relevant insights made the learning experience truly valuable.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>ai</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Cursor and Trigger</title>
      <dc:creator>Harshitha S</dc:creator>
      <pubDate>Fri, 03 Oct 2025 17:40:38 +0000</pubDate>
      <link>https://dev.to/harshitha_s_c436fb6552a2a/cursor-and-trigger-1ilo</link>
      <guid>https://dev.to/harshitha_s_c436fb6552a2a/cursor-and-trigger-1ilo</guid>
      <description>&lt;p&gt;&lt;strong&gt;Cursor with condition&lt;/strong&gt; → Fetch employee names whose salary &amp;gt; 50,000.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AFTER INSERT Trigger&lt;/strong&gt; → Log every new student entry into an audit table.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cursor Example (Process Cursor with Condition)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;CREATE TABLE Employee (&lt;br&gt;
    EmpID INT PRIMARY KEY,&lt;br&gt;
    EmpName VARCHAR(50),&lt;br&gt;
    Salary INT&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%2Fiaue93mrarj8ku702qzz.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%2Fiaue93mrarj8ku702qzz.png" alt=" " width="800" height="646"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;INSERT INTO Employee VALUES&lt;br&gt;
(1, 'Arjun', 45000),&lt;br&gt;
(2, 'Priya', 60000),&lt;br&gt;
(3, 'Kiran', 75000),&lt;br&gt;
(4, 'Meera', 48000),&lt;br&gt;
(5, 'Rahul', 90000);&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%2Fcbvtm2igx93iicr1gy2l.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%2Fcbvtm2igx93iicr1gy2l.png" alt=" " width="800" height="638"&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%2Fhvja1jc5m4gmzk28tubj.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%2Fhvja1jc5m4gmzk28tubj.png" alt=" " width="800" height="631"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cursor Code (Employees with Salary &amp;gt; 50,000)&lt;/strong&gt;&lt;br&gt;
DECLARE&lt;br&gt;
    CURSOR high_salary_cursor IS&lt;br&gt;
        SELECT EmpName FROM Employee WHERE Salary &amp;gt; 50000;&lt;br&gt;
    v_name Employee.EmpName%TYPE;&lt;br&gt;
BEGIN&lt;br&gt;
    OPEN high_salary_cursor;&lt;br&gt;
    LOOP&lt;br&gt;
        FETCH high_salary_cursor INTO v_name;&lt;br&gt;
        EXIT WHEN high_salary_cursor%NOTFOUND;&lt;br&gt;
        DBMS_OUTPUT.PUT_LINE('Employee: ' || v_name);&lt;br&gt;
    END LOOP;&lt;br&gt;
    CLOSE high_salary_cursor;&lt;br&gt;
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%2Fmn0to5azrz9b58z991x4.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%2Fmn0to5azrz9b58z991x4.png" alt=" " width="800" height="624"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trigger Example (AFTER INSERT Trigger)&lt;/strong&gt;&lt;br&gt;
Create Student and Audit Tables&lt;br&gt;
CREATE TABLE Studt (&lt;br&gt;
    StudentID VARCHAR(10) PRIMARY KEY,&lt;br&gt;
    StudentName VARCHAR(50)&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%2Fgyzwalc2fl03zk7mkapb.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%2Fgyzwalc2fl03zk7mkapb.png" alt=" " width="800" height="626"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CREATE TABLE Student_Audit (&lt;br&gt;
    AuditID INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,&lt;br&gt;
    StudentID VARCHAR(10),&lt;br&gt;
    StudentName VARCHAR(50),&lt;br&gt;
    ActionDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP&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%2F4lfzkrl65m6n4oraxkea.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%2F4lfzkrl65m6n4oraxkea.png" alt=" " width="800" height="617"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create AFTER INSERT Trigger&lt;br&gt;
CREATE OR REPLACE TRIGGER student_insert_audit&lt;br&gt;
AFTER INSERT ON Students&lt;br&gt;
FOR EACH ROW&lt;br&gt;
BEGIN&lt;br&gt;
    INSERT INTO Student_Audit (StudentID, StudentName)&lt;br&gt;
    VALUES (:NEW.StudentID, :NEW.StudentName);&lt;br&gt;
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%2Fs2k5djcguhy7mjyl869t.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%2Fs2k5djcguhy7mjyl869t.png" alt=" " width="800" height="639"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Insert Data into Studt&lt;br&gt;
INSERT INTO Students VALUES ('S01', 'Arjun');&lt;br&gt;
INSERT INTO Students VALUES ('S02', 'Priya');&lt;br&gt;
INSERT INTO Students VALUES ('S03', 'Kiran');&lt;/p&gt;

&lt;p&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%2Fordez5kjuegcentx47ok.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%2Fordez5kjuegcentx47ok.png" alt=" " width="800" height="209"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Cursors allow row-by-row processing of query results.&lt;/li&gt;
&lt;li&gt;Triggers automate actions on data changes (here, logging inserts).&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>database</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>sql</category>
    </item>
    <item>
      <title>Database Normalization in Livesql</title>
      <dc:creator>Harshitha S</dc:creator>
      <pubDate>Fri, 03 Oct 2025 17:09:00 +0000</pubDate>
      <link>https://dev.to/harshitha_s_c436fb6552a2a/database-normalization-in-livesql-42lf</link>
      <guid>https://dev.to/harshitha_s_c436fb6552a2a/database-normalization-in-livesql-42lf</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;&lt;strong&gt;Identify Anomalies&lt;/strong&gt;&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;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%2Flbng17jlyfvbc7gx4gbd.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%2Flbng17jlyfvbc7gx4gbd.png" alt=" " width="800" height="643"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Insertion of data&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%2Fhl35dmpx5lxz2y00oa1o.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%2Fhl35dmpx5lxz2y00oa1o.png" alt=" " width="800" height="639"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Output&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%2Flg26cpow985389fjss70.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%2Flg26cpow985389fjss70.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%2F8zifat3s4z33nmn9o8ie.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%2F8zifat3s4z33nmn9o8ie.png" alt=" " width="800" height="626"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Insert values into the table&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%2Fqzfk0cid4tpycix65ggm.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%2Fqzfk0cid4tpycix65ggm.png" alt=" " width="800" height="634"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Output&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%2Fdrlfj88869kms1xzvar6.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%2Fdrlfj88869kms1xzvar6.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%2F80w72rj5ozwjpmme5ctk.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%2F80w72rj5ozwjpmme5ctk.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%2Foygmt8t9wd1rh9envkji.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%2Foygmt8t9wd1rh9envkji.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%2F90bwr3xahfhi7ksokkjs.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%2F90bwr3xahfhi7ksokkjs.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%2Fd3a6fsf7v2osemw8abu4.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%2Fd3a6fsf7v2osemw8abu4.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%2F2hzeg84sld4911vpte4f.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%2F2hzeg84sld4911vpte4f.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%2Fjnm04aoh8v51jc9qcpa8.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%2Fjnm04aoh8v51jc9qcpa8.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%2Fc07yxsngs8kvzrz0uyam.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%2Fc07yxsngs8kvzrz0uyam.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%2Fi6xyd6vuoxs4pw8n2fs5.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%2Fi6xyd6vuoxs4pw8n2fs5.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%2Fl8w4qev7qyy099ejggeu.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%2Fl8w4qev7qyy099ejggeu.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;ul&gt;
&lt;li&gt;Students(StudentID, StudentName)&lt;/li&gt;
&lt;li&gt;Instructors(Instructor, InstructorPhone)&lt;/li&gt;
&lt;li&gt;Courses(CourseID, CourseName, Instructor)&lt;/li&gt;
&lt;li&gt;StudentCourses(StudentID, CourseID)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&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%2F40vm8vi2ulth557j2qt8.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%2F40vm8vi2ulth557j2qt8.png" alt=" " width="800" height="646"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simple Breakdown&lt;/strong&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;1NF → Atomic values&lt;/li&gt;
&lt;li&gt;2NF → Remove partial dependencies&lt;/li&gt;
&lt;li&gt;3NF → Remove transitive dependencies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We achieved a clean, normalized schema that eliminates anomalies and improves consistency.&lt;/p&gt;

</description>
      <category>database</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>sql</category>
    </item>
    <item>
      <title>Database Normalization</title>
      <dc:creator>Harshitha S</dc:creator>
      <pubDate>Fri, 03 Oct 2025 17:08:05 +0000</pubDate>
      <link>https://dev.to/harshitha_s_c436fb6552a2a/database-normalization-2d7o</link>
      <guid>https://dev.to/harshitha_s_c436fb6552a2a/database-normalization-2d7o</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;&lt;strong&gt;Identify Anomalies&lt;/strong&gt;&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;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%2Flbng17jlyfvbc7gx4gbd.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%2Flbng17jlyfvbc7gx4gbd.png" alt=" " width="800" height="643"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Insertion of data&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%2Fhl35dmpx5lxz2y00oa1o.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%2Fhl35dmpx5lxz2y00oa1o.png" alt=" " width="800" height="639"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Output&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%2Flg26cpow985389fjss70.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%2Flg26cpow985389fjss70.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%2F8zifat3s4z33nmn9o8ie.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%2F8zifat3s4z33nmn9o8ie.png" alt=" " width="800" height="626"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Insert values into the table&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%2Fqzfk0cid4tpycix65ggm.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%2Fqzfk0cid4tpycix65ggm.png" alt=" " width="800" height="634"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Output&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%2Fdrlfj88869kms1xzvar6.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%2Fdrlfj88869kms1xzvar6.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%2F80w72rj5ozwjpmme5ctk.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%2F80w72rj5ozwjpmme5ctk.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%2Foygmt8t9wd1rh9envkji.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%2Foygmt8t9wd1rh9envkji.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%2F90bwr3xahfhi7ksokkjs.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%2F90bwr3xahfhi7ksokkjs.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%2Fd3a6fsf7v2osemw8abu4.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%2Fd3a6fsf7v2osemw8abu4.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%2F2hzeg84sld4911vpte4f.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%2F2hzeg84sld4911vpte4f.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%2Fjnm04aoh8v51jc9qcpa8.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%2Fjnm04aoh8v51jc9qcpa8.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%2Fc07yxsngs8kvzrz0uyam.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%2Fc07yxsngs8kvzrz0uyam.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%2Fi6xyd6vuoxs4pw8n2fs5.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%2Fi6xyd6vuoxs4pw8n2fs5.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%2Fl8w4qev7qyy099ejggeu.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%2Fl8w4qev7qyy099ejggeu.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;ul&gt;
&lt;li&gt;Students(StudentID, StudentName)&lt;/li&gt;
&lt;li&gt;Instructors(Instructor, InstructorPhone)&lt;/li&gt;
&lt;li&gt;Courses(CourseID, CourseName, Instructor)&lt;/li&gt;
&lt;li&gt;StudentCourses(StudentID, CourseID)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&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%2F40vm8vi2ulth557j2qt8.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%2F40vm8vi2ulth557j2qt8.png" alt=" " width="800" height="646"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simple Breakdown&lt;/strong&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;1NF → Atomic values&lt;/li&gt;
&lt;li&gt;2NF → Remove partial dependencies&lt;/li&gt;
&lt;li&gt;3NF → Remove transitive dependencies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We achieved a clean, normalized schema that eliminates anomalies and improves consistency.&lt;/p&gt;

</description>
      <category>database</category>
      <category>computerscience</category>
      <category>tutorial</category>
      <category>sql</category>
    </item>
    <item>
      <title>ACID Properties with SQL Transactions</title>
      <dc:creator>Harshitha S</dc:creator>
      <pubDate>Fri, 03 Oct 2025 14:17:02 +0000</pubDate>
      <link>https://dev.to/harshitha_s_c436fb6552a2a/acid-properties-with-sql-transactions-2kih</link>
      <guid>https://dev.to/harshitha_s_c436fb6552a2a/acid-properties-with-sql-transactions-2kih</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;&lt;strong&gt;Step 1&lt;/strong&gt;: 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%2Fw3knsrp05xqmsdzr009o.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%2Fw3knsrp05xqmsdzr009o.png" 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%2Fvd1au58vi14ft1qn2nuz.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%2Fvd1au58vi14ft1qn2nuz.png" alt=" " width="800" height="493"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check the result &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%2F2muk3xx0m0flkpsyicfn.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%2F2muk3xx0m0flkpsyicfn.png" alt=" " width="800" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Update and roll back&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%2F9dfnpz2ebybtmzs82rlz.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%2F9dfnpz2ebybtmzs82rlz.png" alt=" " width="800" height="564"&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%2Fnxdxvyux46e25a5fb0ps.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%2Fnxdxvyux46e25a5fb0ps.png" alt=" " width="800" height="536"&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%2Fln6ml3t912m78lpi3xm8.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%2Fln6ml3t912m78lpi3xm8.png" 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;&lt;strong&gt;Consistency&lt;/strong&gt;&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%2F127n5j55wgzluzfup2y4.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%2F127n5j55wgzluzfup2y4.png" alt=" " width="800" height="546"&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%2F9z4d4w1acgr7vzcll7vi.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%2F9z4d4w1acgr7vzcll7vi.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;&lt;strong&gt;Isolation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Concurrent transactions should not affect each other’s intermediate results.&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%2Fi8kewpf9b01zytc7nzpm.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%2Fi8kewpf9b01zytc7nzpm.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;&lt;strong&gt;Durability&lt;/strong&gt;&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%2F6wlaz6nlphis8v7hq2s0.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%2F6wlaz6nlphis8v7hq2s0.png" alt=" " width="800" height="563"&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%2Fjl8d1s8cbvfaw8uhgczu.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%2Fjl8d1s8cbvfaw8uhgczu.png" alt=" " width="800" height="556"&gt;&lt;/a&gt;&lt;br&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;ul&gt;
&lt;li&gt;Atomicity → All or nothing.&lt;/li&gt;
&lt;li&gt;Consistency → Data always valid.&lt;/li&gt;
&lt;li&gt;Isolation → Transactions don’t interfere.&lt;/li&gt;
&lt;li&gt;Durability → Data persists after commit.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&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>database</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>sql</category>
    </item>
    <item>
      <title>Transactions, Deadlocks &amp; Log Based Recovery</title>
      <dc:creator>Harshitha S</dc:creator>
      <pubDate>Fri, 03 Oct 2025 10:37:30 +0000</pubDate>
      <link>https://dev.to/harshitha_s_c436fb6552a2a/transactions-deadlocks-log-based-recovery-28jn</link>
      <guid>https://dev.to/harshitha_s_c436fb6552a2a/transactions-deadlocks-log-based-recovery-28jn</guid>
      <description>&lt;p&gt;Managing database transactions safely is crucial to ensure data integrity and prevent issues like partial updates or deadlocks. In this tutorial, we’ll explore transactions, deadlocks, and log-based recovery using a simple Accounts table.&lt;/p&gt;

&lt;p&gt;First, let’s create a sample table&lt;br&gt;
CREATE TABLE Accounts (&lt;br&gt;
    acc_no INT PRIMARY KEY,&lt;br&gt;
    name VARCHAR(50),&lt;br&gt;
    balance INT&lt;br&gt;
);&lt;/p&gt;

&lt;p&gt;INSERT INTO Accounts VALUES&lt;br&gt;
(1, 'Alice', 1000),&lt;br&gt;
(2, 'Bob', 1500),&lt;br&gt;
(3, 'Charlie', 2000);&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%2Fxjnnz4fxeq2wjbgj3h7q.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%2Fxjnnz4fxeq2wjbgj3h7q.png" alt=" " width="800" height="493"&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%2F9b8eyq9e7kow8al5yakg.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%2F9b8eyq9e7kow8al5yakg.png" alt=" " width="800" height="511"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Transaction – Atomicity &amp;amp; Rollback&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Suppose we want to transfer 500 from Alice to Bob. Using a transaction ensures that either both operations succeed or none.&lt;/p&gt;

&lt;p&gt;START TRANSACTION;&lt;/p&gt;

&lt;p&gt;UPDATE Accounts&lt;br&gt;
SET balance = balance - 500&lt;br&gt;
WHERE name = 'Alice';&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%2Fwjgs93coc2rc5o5qo50z.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%2Fwjgs93coc2rc5o5qo50z.png" alt=" " width="800" height="508"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ROLLBACK;&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%2Fvm37lem479rhdtq5hq4h.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%2Fvm37lem479rhdtq5hq4h.png" alt=" " width="800" height="492"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;UPDATE Accounts&lt;br&gt;
SET balance = balance + 500&lt;br&gt;
WHERE name = 'Bob';&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%2Fkimmibadgikjn8ywu2ad.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%2Fkimmibadgikjn8ywu2ad.png" alt=" " width="800" height="489"&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%2Faur5esd0l5rl0p2b8b8x.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%2Faur5esd0l5rl0p2b8b8x.png" alt=" " width="3" height="1"&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%2F1p03ra4vi0zszjwcb8vq.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%2F1p03ra4vi0zszjwcb8vq.png" alt=" " width="788" height="769"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deadlock Simulation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Deadlocks occur when two transactions block each other waiting for resources.&lt;/p&gt;

&lt;p&gt;START TRANSACTION;&lt;br&gt;
SELECT * FROM Accounts WHERE name='Alice' FOR UPDATE;&lt;br&gt;
UPDATE Accounts SET balance = balance + 100 WHERE name='Bob';&lt;/p&gt;

&lt;p&gt;START TRANSACTION;&lt;br&gt;
SELECT * FROM Accounts WHERE name='Bob' FOR UPDATE;&lt;br&gt;
UPDATE Accounts SET balance = balance - 100 WHERE name='Alice';&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%2Ffwatf4ql5i7ygnai2xvg.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%2Ffwatf4ql5i7ygnai2xvg.png" alt=" " width="800" height="484"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;RESULT &lt;br&gt;
ERROR 1213 (40001): Deadlock found when trying to get lock; try restarting transaction&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Log-Based Recovery&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Modern DBMS (MySQL/PostgreSQL) automatically maintain transaction logs. These logs help undo changes if a transaction fails.&lt;/p&gt;

&lt;p&gt;UPDATE Accounts SET balance = balance - 300 WHERE name='Alice';&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%2F19r8cwm73c608ryawihf.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%2F19r8cwm73c608ryawihf.png" alt=" " width="800" height="579"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;SELECT * FROM Accounts;&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%2Fjw5ybnapusa476j56r71.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%2Fjw5ybnapusa476j56r71.png" alt=" " width="800" height="693"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Log-based recovery ensures that undo operations are possible. Even if the database crashes, the system can restore a consistent state.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Transactions guarantee atomicity; either all operations succeed or none.&lt;/p&gt;

&lt;p&gt;Deadlocks occur when transactions block each other; they must be handled with care.&lt;/p&gt;

&lt;p&gt;Log-based recovery ensures durability and recoverability.&lt;/p&gt;

</description>
      <category>database</category>
      <category>tutorial</category>
      <category>computerscience</category>
      <category>sql</category>
    </item>
    <item>
      <title>Indexing, Hashing, and Query</title>
      <dc:creator>Harshitha S</dc:creator>
      <pubDate>Thu, 02 Oct 2025 18:19:30 +0000</pubDate>
      <link>https://dev.to/harshitha_s_c436fb6552a2a/indexing-hashing-and-query-16ch</link>
      <guid>https://dev.to/harshitha_s_c436fb6552a2a/indexing-hashing-and-query-16ch</guid>
      <description>&lt;p&gt;Create a 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%2Faa0je30y3unbhp0j1ggt.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%2Faa0je30y3unbhp0j1ggt.png" alt=" " width="800" height="665"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;INSERT INTO Students VALUES&lt;br&gt;
(101, 'Arun', 'CSBS', 8.5),&lt;br&gt;
(102, 'Mathan', 'ECE', 8.8),&lt;br&gt;
(103, 'Karthik', 'MECH', 6.9),&lt;br&gt;
(104, 'Hareesh', 'CSE', 9.1),&lt;br&gt;
(105, 'Ravi', 'EEE', 7.2),&lt;br&gt;
(106, 'Srivishal', 'CSBS', 8.8),&lt;br&gt;
(107, 'Vignesh', 'IT', 8.0),&lt;br&gt;
(108, 'Harish', 'CSE', 9.3),&lt;br&gt;
(109, 'Deepak', 'ECE', 7.5),&lt;br&gt;
(110, 'Nidheesh', 'CSBS', 9.0),&lt;br&gt;
(111, 'Pradeep', 'MECH', 6.8),&lt;br&gt;
(112, 'Lokhitha', 'EEE', 7.6),&lt;br&gt;
(113, 'Raj', 'CSBS', 8.7),&lt;br&gt;
(114, 'Divya', 'IT', 8.4),&lt;br&gt;
(115, 'Saravanan', 'CSE', 9.2),&lt;br&gt;
(116, 'Monika', 'ECE', 7.9),&lt;br&gt;
(117, 'Ganesh', 'MECH', 6.7),&lt;br&gt;
(118, 'Kavya', 'CSBS', 9.1),&lt;br&gt;
(119, 'Surya', 'EEE', 7.3),&lt;br&gt;
(120, 'Anitha', 'IT', 8.2);&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%2Fso3kicyt89qsucg5e0iv.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%2Fso3kicyt89qsucg5e0iv.png" alt=" " width="642" height="725"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create a B-Tree Index on roll_no&lt;br&gt;
CREATE INDEX idx_rollno ON Students(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%2F5djt8ogpxr92cv6klizd.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%2F5djt8ogpxr92cv6klizd.png" alt=" " width="800" height="639"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Query Using B-Tree Index&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%2Fyocn56obm8guxcxkrnsw.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%2Fyocn56obm8guxcxkrnsw.png" alt=" " width="800" height="643"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create a B+ Tree Index on cgpa&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%2Fvv7x1d848viqpcx04lqf.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%2Fvv7x1d848viqpcx04lqf.png" alt=" " width="800" height="663"&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%2Fv55jsx93u5ej60tvoziw.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%2Fv55jsx93u5ej60tvoziw.png" alt=" " width="800" height="655"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Query Using Hash Index&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%2Ft8jblrnw7oevkr130phq.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%2Ft8jblrnw7oevkr130phq.png" alt=" " width="800" height="666"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>database</category>
      <category>computerscience</category>
      <category>performance</category>
      <category>sql</category>
    </item>
    <item>
      <title>CRUD Operation in MongoDB</title>
      <dc:creator>Harshitha S</dc:creator>
      <pubDate>Thu, 02 Oct 2025 17:53:34 +0000</pubDate>
      <link>https://dev.to/harshitha_s_c436fb6552a2a/crud-operation-in-mongodb-5bf6</link>
      <guid>https://dev.to/harshitha_s_c436fb6552a2a/crud-operation-in-mongodb-5bf6</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;&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%2Fyw6fa6uhnko6n9ivwttl.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%2Fyw6fa6uhnko6n9ivwttl.png" alt=" " width="800" height="363"&gt;&lt;/a&gt;&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;&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%2Fulliebtzgy3sdb8g74kf.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%2Fulliebtzgy3sdb8g74kf.png" alt=" " width="800" height="293"&gt;&lt;/a&gt;&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%2Friq3hk5e2ne1nzm4dqje.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%2Friq3hk5e2ne1nzm4dqje.png" 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: "Madhummitha",&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;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%2F0u6bvkeckqczv7rofz0l.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%2F0u6bvkeckqczv7rofz0l.png" 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: "Hareesh",&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;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%2Fgvn6ae8137h6outwsyld.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%2Fgvn6ae8137h6outwsyld.png" alt=" " width="800" height="298"&gt;&lt;/a&gt;&lt;br&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%2Fvt7ni9ujb5oqydr7wy5d.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%2Fvt7ni9ujb5oqydr7wy5d.png" 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%2F9sxzulp8076x6qcoy3e0.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%2F9sxzulp8076x6qcoy3e0.png" 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;db.students.find({ department: "CSE" })&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%2Fslivfhlb9ndweahwssdj.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%2Fslivfhlb9ndweahwssdj.png" alt=" " width="800" height="357"&gt;&lt;/a&gt;&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%2Flb8leayxabjlb4ca96tu.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%2Flb8leayxabjlb4ca96tu.png" 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%2F9pd4xsl92rj1elixnr2m.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%2F9pd4xsl92rj1elixnr2m.png" 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%2Ffrykrzyb4257ja0puryf.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%2Ffrykrzyb4257ja0puryf.png" 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;

&lt;p&gt;CRUD operations form the building blocks of every application, whether you’re managing users in a website, products in an e-commerce app, or students in a college system.&lt;/p&gt;

&lt;p&gt;Thanks to Mr.&lt;a class="mentioned-user" href="https://dev.to/santhoshnc"&gt;@santhoshnc&lt;/a&gt; for encouraging us in exploring new paths in technology and gain knowledge.&lt;/p&gt;

</description>
      <category>database</category>
      <category>beginners</category>
      <category>mongodb</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Creating Table for faculty</title>
      <dc:creator>Harshitha S</dc:creator>
      <pubDate>Mon, 25 Aug 2025 17:22:47 +0000</pubDate>
      <link>https://dev.to/harshitha_s_c436fb6552a2a/creating-table-for-faculty-1ibf</link>
      <guid>https://dev.to/harshitha_s_c436fb6552a2a/creating-table-for-faculty-1ibf</guid>
      <description>&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%2F3weq9eaqvj9lfstsk6wx.jpg" 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%2F3weq9eaqvj9lfstsk6wx.jpg" alt=" " width="800" height="520"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Using Select Query</title>
      <dc:creator>Harshitha S</dc:creator>
      <pubDate>Mon, 25 Aug 2025 17:16:50 +0000</pubDate>
      <link>https://dev.to/harshitha_s_c436fb6552a2a/using-select-query-3d4h</link>
      <guid>https://dev.to/harshitha_s_c436fb6552a2a/using-select-query-3d4h</guid>
      <description>&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%2Fnrhqu6xwp17a9lidsqej.JPG" 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%2Fnrhqu6xwp17a9lidsqej.JPG" alt=" " width="800" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Using Query to find length</title>
      <dc:creator>Harshitha S</dc:creator>
      <pubDate>Mon, 25 Aug 2025 17:13:13 +0000</pubDate>
      <link>https://dev.to/harshitha_s_c436fb6552a2a/using-query-to-find-length-1le</link>
      <guid>https://dev.to/harshitha_s_c436fb6552a2a/using-query-to-find-length-1le</guid>
      <description>&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%2F3c36e1vw4gcgyv512965.jpg" 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%2F3c36e1vw4gcgyv512965.jpg" alt=" " width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
