<?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: BHARANIKA D 24CB005</title>
    <description>The latest articles on DEV Community by BHARANIKA D 24CB005 (@bharanika_d24cb005_97900).</description>
    <link>https://dev.to/bharanika_d24cb005_97900</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%2F3453029%2F50a4a5ea-3d22-4628-a898-cde0d1343134.png</url>
      <title>DEV Community: BHARANIKA D 24CB005</title>
      <link>https://dev.to/bharanika_d24cb005_97900</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bharanika_d24cb005_97900"/>
    <language>en</language>
    <item>
      <title>AWS Services</title>
      <dc:creator>BHARANIKA D 24CB005</dc:creator>
      <pubDate>Thu, 18 Dec 2025 17:04:39 +0000</pubDate>
      <link>https://dev.to/bharanika_d24cb005_97900/aws-services-2eb7</link>
      <guid>https://dev.to/bharanika_d24cb005_97900/aws-services-2eb7</guid>
      <description>&lt;p&gt;&lt;strong&gt;AWS Databases (Category)&lt;/strong&gt;&lt;br&gt;
🔍 &lt;strong&gt;Service Overview&lt;/strong&gt;&lt;br&gt;
AWS Databases is a collection of fully managed database services provided by AWS.&lt;br&gt;
It supports relational, NoSQL, in-memory, graph, time-series, ledger, and data warehouse databases.&lt;/p&gt;

&lt;p&gt;👉 AWS handles infrastructure, scaling, backups, patching, and high availability.&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%2F5xaw9ahxowdc95f2w0j0.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%2F5xaw9ahxowdc95f2w0j0.png" alt=" " width="335" height="151"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;✨ &lt;strong&gt;Key Features&lt;/strong&gt;&lt;br&gt;
🔹 Fully managed database services&lt;br&gt;
🔹 Automatic backups &amp;amp; point-in-time recovery&lt;br&gt;
🔹 High availability &amp;amp; Multi-AZ support&lt;br&gt;
🔹 Horizontal &amp;amp; vertical scalability&lt;br&gt;
🔹 Encryption at rest &amp;amp; in transit&lt;br&gt;
🔹 Integration with IAM, VPC, CloudWatch&lt;br&gt;
🔹 Pay-as-you-go pricing&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%2Fq8dctwmgt08bsoapy7cx.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%2Fq8dctwmgt08bsoapy7cx.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🗂️ &lt;strong&gt;AWS Category / Cloud Domain&lt;/strong&gt;&lt;br&gt;
Category: Database&lt;br&gt;
Cloud Domain: Data Management / Storage&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%2Fo5u80aiq8jtgwa52iefx.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%2Fo5u80aiq8jtgwa52iefx.png" alt=" " width="246" height="205"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔹 Major Services under AWS Databases:&lt;/strong&gt;&lt;br&gt;
Amazon RDS – Relational databases&lt;/p&gt;

&lt;p&gt;Amazon Aurora – High-performance relational DB&lt;/p&gt;

&lt;p&gt;Amazon DynamoDB – NoSQL key-value DB&lt;/p&gt;

&lt;p&gt;Amazon ElastiCache – In-memory cache&lt;/p&gt;

&lt;p&gt;Amazon Redshift – Data warehouse&lt;/p&gt;

&lt;p&gt;Amazon Neptune – Graph database&lt;/p&gt;

&lt;p&gt;Amazon Timestream – Time-series database&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%2F74rc0s2v9hoic3eb5f0e.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%2F74rc0s2v9hoic3eb5f0e.png" alt=" " width="394" height="128"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Amazon QLDB – Ledger database&lt;/p&gt;

&lt;p&gt;🔄 &lt;strong&gt;Where It Fits in Cloud / DevOps Lifecycle&lt;/strong&gt;&lt;br&gt;
📌 Application Development – Store app data&lt;br&gt;
📌 CI/CD Pipelines – Backend data persistence&lt;br&gt;
📌 DevOps – Automated scaling &amp;amp; monitoring&lt;br&gt;
📌 DevSecOps – Secure data with IAM &amp;amp; encryption&lt;br&gt;
📌 Production &amp;amp; Operations – High availability &amp;amp; backups&lt;/p&gt;

&lt;p&gt;👉 Used mainly in Build → Deploy → Operate → Monitor stages.&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%2Fbnqx7pfikwkb7nl1fquk.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%2Fbnqx7pfikwkb7nl1fquk.png" alt=" " width="218" height="231"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;💻&lt;strong&gt;Programming Languages / Access Methods&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AWS Databases can be accessed using:&lt;/p&gt;

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

&lt;p&gt;Java&lt;/p&gt;

&lt;p&gt;Python&lt;/p&gt;

&lt;p&gt;Node.js&lt;/p&gt;

&lt;p&gt;Go&lt;/p&gt;

&lt;p&gt;.NET&lt;/p&gt;

&lt;p&gt;PHP&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%2F8juybt8uoqnnvr3avauc.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%2F8juybt8uoqnnvr3avauc.png" alt=" " width="301" height="167"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔹 &lt;strong&gt;Access Methods&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AWS SDKs&lt;/p&gt;

&lt;p&gt;AWS CLI&lt;/p&gt;

&lt;p&gt;AWS Management Console&lt;/p&gt;

&lt;p&gt;JDBC / ODBC&lt;/p&gt;

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

&lt;p&gt;💰 &lt;strong&gt;Pricing Model&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;💵 Pay-as-you-go&lt;/p&gt;

&lt;p&gt;Pricing depends on:&lt;/p&gt;

&lt;p&gt;Instance type&lt;/p&gt;

&lt;p&gt;Storage used&lt;/p&gt;

&lt;p&gt;Read/Write capacity&lt;/p&gt;

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

&lt;p&gt;Backup storage&lt;/p&gt;

&lt;p&gt;⚠️ No upfront cost&lt;br&gt;
⚠️ Free Tier available (limited)&lt;/p&gt;

</description>
    </item>
    <item>
      <title>DevSecOps Periodic Table...</title>
      <dc:creator>BHARANIKA D 24CB005</dc:creator>
      <pubDate>Thu, 18 Dec 2025 15:44:29 +0000</pubDate>
      <link>https://dev.to/bharanika_d24cb005_97900/devsecops-periodic-table-1hmg</link>
      <guid>https://dev.to/bharanika_d24cb005_97900/devsecops-periodic-table-1hmg</guid>
      <description>&lt;p&gt;🚀 &lt;strong&gt;Backstage&lt;/strong&gt;&lt;br&gt;
(Bg) – DevSecOps Tool&lt;/p&gt;

&lt;p&gt;🧩 &lt;strong&gt;Overview&lt;/strong&gt;&lt;br&gt;
       🔆Backstage is an open-source developer portal.&lt;br&gt;
       🔆It helps developers manage all services, tools, documentation, and APIs in one place.&lt;br&gt;
       🔆It is very useful for organizations that use many microservices,  as it reduces confusion and improves visibility.&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%2Fn8q6uxht3aq9nnbw91w5.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%2Fn8q6uxht3aq9nnbw91w5.png" alt=" " width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;✨ &lt;strong&gt;Key Features&lt;/strong&gt;&lt;br&gt;
🔹Centralized Developer Portal – All services and tools in one dashboard&lt;/p&gt;

&lt;p&gt;🔹 Service Catalog – List of backend services, frontend apps, and APIs&lt;/p&gt;

&lt;p&gt;🔹 Software Templates – Quickly create new projects&lt;/p&gt;

&lt;p&gt;🔹 Tech Docs Support – Documentation using Markdown&lt;/p&gt;

&lt;p&gt;🔹 Plugin Support – Integrates with Jenkins, Kubernetes, GitHub, AWS, etc.&lt;/p&gt;

&lt;p&gt;🔹 Role-Based Access Control – Access based on team or role&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%2Fqndyg6ro0ttda4ir96sz.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%2Fqndyg6ro0ttda4ir96sz.png" alt=" " width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔐&lt;strong&gt;DevOps / DevSecOps Fit&lt;/strong&gt;&lt;br&gt;
Backstage improves developer productivity in DevOps.&lt;/p&gt;

&lt;p&gt;In DevSecOps, it helps by:&lt;/p&gt;

&lt;p&gt;🔐 Integrating security tools&lt;/p&gt;

&lt;p&gt;🔐 Maintaining secure coding standards and documentation&lt;/p&gt;

&lt;p&gt;🔐 Providing visibility into CI/CD pipelines&lt;/p&gt;

&lt;p&gt;🔐 Improving compliance and service ownership&lt;/p&gt;

&lt;p&gt;👉 It allows security, development, and operations to be managed from a single platform.&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%2F7tcg372q2idb8vl6llgx.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%2F7tcg372q2idb8vl6llgx.png" alt=" " width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;TypeScript&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%2Fk72vv37yz1ffgd3n4xbj.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%2Fk72vv37yz1ffgd3n4xbj.jpg" alt=" " width="211" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;JavaScript (Node.js)&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%2Fjezhszceolh5ocm95b4c.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%2Fjezhszceolh5ocm95b4c.png" alt=" " width="225" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;React (Frontend)&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%2Ff8yohak0cknyo6nk3v3d.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%2Ff8yohak0cknyo6nk3v3d.png" alt=" " width="225" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🏢 &lt;strong&gt;Parent Company&lt;/strong&gt;&lt;br&gt;
🎧Spotify&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%2Fvl462iye728sho4dywvt.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%2Fvl462iye728sho4dywvt.png" alt=" " width="800" height="373"&gt;&lt;/a&gt;&lt;br&gt;
Backstage was originally developed by Spotify engineers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open Source or Paid?&lt;/strong&gt;&lt;br&gt;
📜 Licensed under Apache 2.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%2Fehsvnr9rkqdkduuel435.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%2Fehsvnr9rkqdkduuel435.png" alt=" " width="800" height="379"&gt;&lt;/a&gt;&lt;br&gt;
✅ Open Source&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%2Fnpfv26wjl4onue0zgbcp.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%2Fnpfv26wjl4onue0zgbcp.png" alt=" " width="800" height="379"&gt;&lt;/a&gt;&lt;br&gt;
🆓 Free to use, extend, and customize&lt;/p&gt;

</description>
    </item>
    <item>
      <title>🚀 Understanding Indexing in Oracle (B-Tree, B+ Tree, Hash Cluster) Indexes are one of the most important concepts in databases.</title>
      <dc:creator>BHARANIKA D 24CB005</dc:creator>
      <pubDate>Sat, 01 Nov 2025 10:59:25 +0000</pubDate>
      <link>https://dev.to/bharanika_d24cb005_97900/understanding-indexing-in-oracle-b-tree-b-tree-hash-4bfj</link>
      <guid>https://dev.to/bharanika_d24cb005_97900/understanding-indexing-in-oracle-b-tree-b-tree-hash-4bfj</guid>
      <description>&lt;p&gt;🚀 Understanding Indexing in Oracle (B-Tree, B+ Tree, Hash Cluster)                                                                                                   Indexes are one of the most important concepts in databases. They speed up queries, reduce table scans, and optimize performance. In this post, we’ll explore B-Tree, B+ Tree, and Hash Indexing (via Hash Cluster) in Oracle using Students table.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📌 Step 1: Create the Students Table&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLE Students (
    roll_no INT PRIMARY KEY,
    name VARCHAR2(50),
    dept VARCHAR2(10),
    cgpa NUMBER(3,2)
);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;📌 Step 2: Insert 20 Sample Records&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;INSERT INTO Students VALUES (101, 'Alice', 'CSBS', 9.1);
INSERT INTO Students VALUES (102, 'Bob', 'IT', 7.5);
INSERT INTO Students VALUES (103, 'Charlie', 'CSE', 8.6);
INSERT INTO Students VALUES (104, 'David', 'ECE', 7.9);
INSERT INTO Students VALUES (105, 'Eva', 'CSBS', 8.3);
INSERT INTO Students VALUES (106, 'Frank', 'MECH', 6.5);
INSERT INTO Students VALUES (107, 'Grace', 'EEE', 8.8);
INSERT INTO Students VALUES (108, 'Helen', 'CIVIL', 7.0);
INSERT INTO Students VALUES (109, 'Ivy', 'CSE', 8.9);
INSERT INTO Students VALUES (110, 'Jack', 'CSBS', 9.0);
INSERT INTO Students VALUES (111, 'Karan', 'IT', 7.8);
INSERT INTO Students VALUES (112, 'Leo', 'CSE', 8.1);
INSERT INTO Students VALUES (113, 'Maya', 'ECE', 8.5);
INSERT INTO Students VALUES (114, 'Nina', 'MECH', 6.8);
INSERT INTO Students VALUES (115, 'Oscar', 'EEE', 8.7);
INSERT INTO Students VALUES (116, 'Paul', 'CIVIL', 7.2);
INSERT INTO Students VALUES (117, 'Queen', 'CSBS', 9.3);
INSERT INTO Students VALUES (118, 'Raj', 'CSE', 8.0);
INSERT INTO Students VALUES (119, 'Sara', 'IT', 7.6);
INSERT INTO Students VALUES (120, 'Tom', 'CSBS', 9.2);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;📌 Step 3: B-Tree Index (on Roll Number)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Oracle’s default index type is a B-Tree index.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE INDEX idx_rollno ON Students(roll_no);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now query with the index:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT * FROM Students WHERE roll_no = 110;

&lt;/code&gt;&lt;/pre&gt;

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

&lt;p&gt;&lt;strong&gt;📌 Step 4: B+ Tree Index (on CGPA)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;B+ Trees are used internally by Oracle when you create a normal index on numeric columns.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE INDEX idx_cgpa ON Students(cgpa);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT * FROM Students WHERE cgpa &amp;gt; 8.0;

&lt;/code&gt;&lt;/pre&gt;

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

&lt;p&gt;&lt;strong&gt;📌 Step 5: Hash Index via Hash Cluster (on Department)&lt;/strong&gt;&lt;br&gt;
Oracle does not allow USING HASH in CREATE INDEX.&lt;br&gt;
Instead, we use a Hash Cluster.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE CLUSTER student_cluster (dept VARCHAR2(10))
SIZE 512
HASHKEYS 20;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLE Students_Hash (
    roll_no INT PRIMARY KEY,
    name VARCHAR2(50),
    dept VARCHAR2(10),
    cgpa NUMBER(3,2)
) CLUSTER student_cluster(dept);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;INSERT INTO Students_Hash VALUES (101, 'Alice', 'CSBS', 9.1);
INSERT INTO Students_Hash VALUES (102, 'Bob', 'IT', 7.5);
INSERT INTO Students_Hash VALUES (103, 'Charlie', 'CSE', 8.6);
INSERT INTO Students_Hash VALUES (104, 'David', 'ECE', 7.9);
INSERT INTO Students_Hash VALUES (105, 'Eva', 'CSBS', 8.3);
INSERT INTO Students_Hash VALUES (106, 'Frank', 'MECH', 6.5);
INSERT INTO Students_Hash VALUES (107, 'Grace', 'EEE', 8.8);
INSERT INTO Students_Hash VALUES (108, 'Helen', 'CIVIL', 7.0);
INSERT INTO Students_Hash VALUES (109, 'Ivy', 'CSE', 8.9);
INSERT INTO Students_Hash VALUES (110, 'Jack', 'CSBS', 9.0);
INSERT INTO Students_Hash VALUES (111, 'Karan', 'IT', 7.8);
INSERT INTO Students_Hash VALUES (112, 'Leo', 'CSE', 8.1);
INSERT INTO Students_Hash VALUES (113, 'Maya', 'ECE', 8.5);
INSERT INTO Students_Hash VALUES (114, 'Nina', 'MECH', 6.8);
INSERT INTO Students_Hash VALUES (115, 'Oscar', 'EEE', 8.7);
INSERT INTO Students_Hash VALUES (116, 'Paul', 'CIVIL', 7.2);
INSERT INTO Students_Hash VALUES (117, 'Queen', 'CSBS', 9.3);
INSERT INTO Students_Hash VALUES (118, 'Raj', 'CSE', 8.0);
INSERT INTO Students_Hash VALUES (119, 'Sara', 'IT', 7.6);
INSERT INTO Students_Hash VALUES (120, 'Tom', 'CSBS', 9.2);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Query with Hash Access&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT * FROM Students_Hash WHERE dept = 'CSBS';

&lt;/code&gt;&lt;/pre&gt;

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

&lt;p&gt;🔥 Conclusion&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;B-Tree Index → best for primary keys, unique lookups.&lt;/li&gt;
&lt;li&gt;B+ Tree Index → efficient for range queries (e.g., CGPA &amp;gt; 8).&lt;/li&gt;
&lt;li&gt;Hash Cluster → simulates Hash Index in Oracle for exact match lookups.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By combining these, you can optimize queries and improve performance in Oracle SQL.&lt;/p&gt;

</description>
      <category>algorithms</category>
      <category>sql</category>
      <category>database</category>
      <category>performance</category>
    </item>
    <item>
      <title>CRUD (Create, Read, Update, Delete) operations in MongoDB using a simple college student schema.</title>
      <dc:creator>BHARANIKA D 24CB005</dc:creator>
      <pubDate>Sat, 01 Nov 2025 10:55:45 +0000</pubDate>
      <link>https://dev.to/bharanika_d24cb005_97900/crud-create-read-update-delete-operations-in-mongodb-using-a-simple-college-student-schema-2i9</link>
      <guid>https://dev.to/bharanika_d24cb005_97900/crud-create-read-update-delete-operations-in-mongodb-using-a-simple-college-student-schema-2i9</guid>
      <description>&lt;p&gt;To gain hands-on experience in performing CRUD (Create, Read, Update, Delete) operations in MongoDB using a simple college student schema.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🧱 Schema (Collection: students)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Each document follows this structure:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "student_id": "S001",
  "name": "Santhosh",
  "age": 20,
  "department": "CSBS",
  "year": 2,
  "cgpa": 9
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;⚙️ 1️⃣ CREATE (INSERT)&lt;/strong&gt;&lt;br&gt;
Insert at least 5 student records into the students collection:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;db.students.insertMany([
  {
    "student_id": "S001",
    "name": "Santhosh",
    "age": 20,
    "department": "CSBS",
    "year": 2,
    "cgpa": 9
  },
  {
    "student_id": "S002",
    "name": "Baviya",
    "age": 19,
    "department": "CSE",
    "year": 1,
    "cgpa": 8.7
  },
  {
    "student_id": "S003",
    "name": "Karthik",
    "age": 21,
    "department": "ECE",
    "year": 3,
    "cgpa": 7.2
  },
  {
    "student_id": "S004",
    "name": "Anu",
    "age": 20,
    "department": "CSE",
    "year": 2,
    "cgpa": 9.3
  },
  {
    "student_id": "S005",
    "name": "Ravi",
    "age": 22,
    "department": "MECH",
    "year": 3,
    "cgpa": 6.8
  }
])

&lt;/code&gt;&lt;/pre&gt;

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

&lt;p&gt;&lt;strong&gt;🔍 2️⃣ READ (QUERY)&lt;/strong&gt;&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;db.students.find({ cgpa: { $gt: 8 } }).pretty()

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;db.students.find({ department: { $in: ["CSE", "CSBS"] } }).pretty()

&lt;/code&gt;&lt;/pre&gt;

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

&lt;p&gt;✏️ 3️⃣ UPDATE&lt;br&gt;
(a) Update the CGPA of a specific student&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;db.students.updateOne(
  { student_id: "S002" },
  { $set: { cgpa: 9.1 } }
)

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(b) Increase the year of study for all 3rd-year students by 1&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;db.students.updateMany(
  { year: 3 },
  { $inc: { year: 1 } }
)

&lt;/code&gt;&lt;/pre&gt;

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

&lt;p&gt;&lt;strong&gt;🗑️ 4️⃣ DELETE&lt;/strong&gt;&lt;br&gt;
(a) Delete one student record by student_id:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;db.students.deleteOne({ student_id: "S005" })

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(b) Delete all students having CGPA &amp;lt; 7.5&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;db.students.deleteMany({ cgpa: { $lt: 7.5 } })

&lt;/code&gt;&lt;/pre&gt;

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

&lt;p&gt;&lt;strong&gt;AFTER DELETION:&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%2Foms8y8l11i11zpwotq7c.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%2Foms8y8l11i11zpwotq7c.png" alt=" " width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mongodb</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>database</category>
    </item>
    <item>
      <title>💾 ACID Properties</title>
      <dc:creator>BHARANIKA D 24CB005</dc:creator>
      <pubDate>Sat, 01 Nov 2025 10:52:40 +0000</pubDate>
      <link>https://dev.to/bharanika_d24cb005_97900/acid-properties-5cd0</link>
      <guid>https://dev.to/bharanika_d24cb005_97900/acid-properties-5cd0</guid>
      <description>&lt;p&gt;💾 Understanding ACID Properties in Databases with SQL Examples                                                                                                                         In this post, I’ll demonstrate &lt;strong&gt;ACID properties&lt;/strong&gt; — Atomicity, Consistency, Isolation, and Durability — using a simple &lt;strong&gt;Accounts&lt;/strong&gt; table and a few SQL commands.&lt;br&gt;&lt;br&gt;
Let’s dive in 👇&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🧾 1. Table Creation&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLE Accounts (
  acc_no INT PRIMARY KEY,
  name VARCHAR(50),
  balance INT CHECK (balance &amp;gt;= 0)
);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;🧩 2. Insert Sample Data&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;INSERT INTO Accounts VALUES (101, 'Baviya', 3000);
INSERT INTO Accounts VALUES (102, 'Karthik', 4000);
INSERT INTO Accounts VALUES (103, 'Anu', 7000);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;⚙️ 3. Atomicity Test (All or Nothing)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Goal: Start a transaction to transfer ₹1000 from Baviya to Karthik but rollback midway — no changes should remain.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;-- Start Transaction
START TRANSACTION;

-- Subtract 1000 from Baviya
UPDATE Accounts SET balance = balance - 1000 WHERE acc_no = 101;

-- Add 1000 to Karthik
UPDATE Accounts SET balance = balance + 1000 WHERE acc_no = 102;

-- Now ROLLBACK (cancel transaction)
ROLLBACK;

-- Check balances again
SELECT * FROM Accounts;

&lt;/code&gt;&lt;/pre&gt;

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

&lt;p&gt;&lt;strong&gt;🧱 4. Consistency Test&lt;/strong&gt; (Valid State → Valid State)&lt;/p&gt;

&lt;p&gt;Goal: Try inserting invalid (negative) balance.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;INSERT INTO Accounts VALUES (104, 'InvalidUser', -500);

&lt;/code&gt;&lt;/pre&gt;

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

&lt;p&gt;&lt;strong&gt;🔒 5. Isolation Test&lt;/strong&gt; (One transaction shouldn’t see another’s uncommitted changes)&lt;br&gt;
Session 1:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;START TRANSACTION;
UPDATE Accounts SET balance = balance - 500 WHERE acc_no = 101;
-- Don’t commit yet!

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Session 2:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT * FROM Accounts WHERE acc_no = 101;
COMMIT;

&lt;/code&gt;&lt;/pre&gt;

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

&lt;p&gt;&lt;strong&gt;💾 6. Durability Test (Data survives restart)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;START TRANSACTION;
UPDATE Accounts SET balance = balance + 200 WHERE acc_no = 103;
COMMIT;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT * FROM Accounts WHERE acc_no = 103;

&lt;/code&gt;&lt;/pre&gt;

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

&lt;p&gt;&lt;strong&gt;✅ Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We successfully verified all ACID properties:&lt;/p&gt;

</description>
      <category>computerscience</category>
      <category>tutorial</category>
      <category>sql</category>
      <category>database</category>
    </item>
    <item>
      <title>Cursor &amp; Trigger</title>
      <dc:creator>BHARANIKA D 24CB005</dc:creator>
      <pubDate>Sat, 01 Nov 2025 10:41:46 +0000</pubDate>
      <link>https://dev.to/bharanika_d24cb005_97900/cursor-trigger-4pfi</link>
      <guid>https://dev.to/bharanika_d24cb005_97900/cursor-trigger-4pfi</guid>
      <description>&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;A quick walkthrough of Oracle Live SQL practice: creating a table, printing output with SERVEROUTPUT, iterating a cursor, and building an AFTER INSERT trigger to log into an audit table, with screenshots and runnable snippets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What this post covers&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create and seed an Employee table&lt;/li&gt;
&lt;li&gt;Use SET SERVEROUTPUT ON for DBMS_OUTPUT in Live SQL&lt;/li&gt;
&lt;li&gt;Loop over rows using a cursor and print names to the script output pane&lt;/li&gt;
&lt;li&gt;Write a simple auditing trigger for student inserts and verify audit rows
## 1) Create table + sample data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;CREATE TABLE Employee (&lt;br&gt;
  EmployeeID INT PRIMARY KEY,&lt;br&gt;
  Name VARCHAR2(50),&lt;br&gt;
  Salary NUMBER(10,2)&lt;br&gt;
);&lt;/p&gt;

&lt;p&gt;INSERT INTO Employee VALUES (1, 'Alice', 60000);&lt;br&gt;
INSERT INTO Employee VALUES (2, 'Bob',   45000);&lt;br&gt;
INSERT INTO Employee VALUES (3, 'Charlie', 75000);&lt;br&gt;
INSERT INTO Employee VALUES (4, 'David', 50000);&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%2Fbo72f884x25qp9gc6it4.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%2Fbo72f884x25qp9gc6it4.png" alt=" " width="800" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2) Print output with DBMS_OUTPUT
&lt;/h2&gt;

&lt;p&gt;SET SERVEROUTPUT ON;&lt;/p&gt;

&lt;p&gt;DECLARE&lt;br&gt;
  v_count NUMBER;&lt;br&gt;
BEGIN&lt;br&gt;
  SELECT COUNT(*) INTO v_count FROM Employee;&lt;br&gt;
  DBMS_OUTPUT.PUT_LINE('Rows in Employee: ' || v_count);&lt;br&gt;
END;&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%2Fszvk83xbat473yiyizg0.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%2Fszvk83xbat473yiyizg0.png" alt=" " width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3) Cursor demo: list high earners
&lt;/h2&gt;

&lt;p&gt;SET SERVEROUTPUT ON;&lt;/p&gt;

&lt;p&gt;DECLARE&lt;br&gt;
  CURSOR c_emp IS&lt;br&gt;
    SELECT Name FROM Employee WHERE Salary &amp;gt; 50000 ORDER BY Salary DESC;&lt;/p&gt;

&lt;p&gt;v_name Employee.Name%TYPE;&lt;br&gt;
BEGIN&lt;br&gt;
  OPEN c_emp;&lt;br&gt;
  LOOP&lt;br&gt;
    FETCH c_emp INTO v_name;&lt;br&gt;
    EXIT WHEN c_emp%NOTFOUND;&lt;br&gt;
    DBMS_OUTPUT.PUT_LINE(v_name);&lt;br&gt;
  END LOOP;&lt;br&gt;
  CLOSE c_emp;&lt;br&gt;
END;&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%2Fbebur109rf64ujw8d1fv.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%2Fbebur109rf64ujw8d1fv.png" alt=" " width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4) Build a simple audit trigger
&lt;/h2&gt;

&lt;p&gt;-- Base tables&lt;br&gt;
CREATE TABLE Students (&lt;br&gt;
  StudentID NUMBER PRIMARY KEY,&lt;br&gt;
  Name      VARCHAR2(50)&lt;br&gt;
);&lt;/p&gt;

&lt;p&gt;CREATE TABLE Student_Audit (&lt;br&gt;
  AuditID     NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,&lt;br&gt;
  StudentID   NUMBER,&lt;br&gt;
  StudentName VARCHAR2(50),&lt;br&gt;
  Action      VARCHAR2(20),&lt;br&gt;
  ActionDate  DATE&lt;br&gt;
);&lt;/p&gt;

&lt;p&gt;-- AFTER INSERT row-level trigger to capture inserts&lt;br&gt;
CREATE OR REPLACE TRIGGER trg_students_ins_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, Action, ActionDate)&lt;br&gt;
  VALUES (:NEW.StudentID, :NEW.Name, 'Inserted', SYSDATE);&lt;br&gt;
END;&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%2Fcd6fy4vif0r8t9rakpb6.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%2Fcd6fy4vif0r8t9rakpb6.png" alt=" " width="800" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dev.to formatting tips&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use fenced code blocks with language hints like 

```
&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;Keep one blank line before and after code blocks for clean rendering in Markdown-based editors like Dev.to.&lt;/li&gt;
&lt;li&gt;If showing code that itself contains backticks, use a longer fence (four or more backticks) to avoid premature closing in Markdown processors.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This post is dedicated to &lt;a class="mentioned-user" href="https://dev.to/santhoshnc"&gt;@santhoshnc&lt;/a&gt; Sir thank you for the assignment and continuous support.&lt;/p&gt;

</description>
      <category>database</category>
      <category>sql</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>📝 Understanding Transactions, Deadlocks &amp; Log-Based Recovery in SQL 💾</title>
      <dc:creator>BHARANIKA D 24CB005</dc:creator>
      <pubDate>Sat, 01 Nov 2025 07:17:56 +0000</pubDate>
      <link>https://dev.to/bharanika_d24cb005_97900/understanding-transactions-deadlocks-log-based-recovery-in-sql-3cd1</link>
      <guid>https://dev.to/bharanika_d24cb005_97900/understanding-transactions-deadlocks-log-based-recovery-in-sql-3cd1</guid>
      <description>&lt;h2&gt;
  
  
  👋 Introduction
&lt;/h2&gt;

&lt;p&gt;Have you ever wondered what happens when two people try to withdraw money from the same bank account at the same time?&lt;br&gt;
Databases handle such cases using &lt;strong&gt;transactions&lt;/strong&gt;, &lt;strong&gt;locks&lt;/strong&gt;, and &lt;strong&gt;recovery logs&lt;/strong&gt;&lt;br&gt;
 to make sure data always stays consistent.&lt;/p&gt;

&lt;p&gt;In this blog, we’ll explore:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How transactions maintain atomicity&lt;/li&gt;
&lt;li&gt;What a deadlock is and how it’s detected&lt;/li&gt;
&lt;li&gt;How log-based recovery ensures data safety after a crash
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLE Accounts (
    acc_no INT PRIMARY KEY,
    name VARCHAR(50),
    balance INT
);

INSERT INTO Accounts VALUES
(1, 'Alice', 1000),
(2, 'Bob', 1500),
(3, 'Charlie', 2000);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  ⚙️ 2️⃣ Transaction – Atomicity &amp;amp; Rollback
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;🧠 Concept:&lt;/strong&gt;&lt;br&gt;
A transaction ensures that &lt;strong&gt;all steps succeed or none at all&lt;/strong&gt;.&lt;br&gt;
If any step fails, the database will &lt;strong&gt;rollback&lt;/strong&gt; to the previous stable state.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;START TRANSACTION;
UPDATE Accounts
SET balance = balance - 500
WHERE name = 'Alice';
UPDATE Accounts
SET balance = balance + 500
WHERE name = 'Bob';
SELECT * FROM Accounts;
ROLLBACK;
SELECT * FROM Accounts;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;✅ Result:&lt;/strong&gt;&lt;br&gt;
All updates are undone after rollback → no partial transaction is saved.&lt;br&gt;
This proves &lt;strong&gt;Atomicity&lt;/strong&gt; — either &lt;strong&gt;all&lt;/strong&gt; or &lt;strong&gt;none&lt;/strong&gt; of the operations take effect.&lt;/p&gt;
&lt;h2&gt;
  
  
  🔄 3️⃣ Deadlock Simulation
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;🧠 Concept:&lt;/strong&gt;&lt;br&gt;
A &lt;strong&gt;deadlock&lt;/strong&gt; happens when two transactions wait forever because each holds a lock the other needs.&lt;br&gt;
Let’s simulate it using two SQL sessions.&lt;br&gt;
&lt;strong&gt;🪟 Session 1:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;START TRANSACTION;
UPDATE Accounts SET balance = balance - 100 WHERE name = 'Alice'; 
UPDATE Accounts SET balance = balance + 100 WHERE name = 'Bob';

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;🪟 Session 2:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;START TRANSACTION;
UPDATE Accounts SET balance = balance - 50 WHERE name = 'Bob';
UPDATE Accounts SET balance = balance + 50 WHERE name = 'Alice';

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  📜 4️⃣ Log-Based Recovery
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;🧠 Concept:&lt;/strong&gt;&lt;br&gt;
Every database maintains &lt;strong&gt;logs&lt;/strong&gt; (like MySQL Binary Logs or PostgreSQL WAL) that record each change.&lt;br&gt;
If a crash happens, the DB can &lt;strong&gt;redo committed&lt;/strong&gt; and &lt;strong&gt;undo uncommitted&lt;/strong&gt; transactions.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SHOW VARIABLES LIKE 'log_bin';
START TRANSACTION;
UPDATE Accounts SET balance = 900 WHERE name = 'Alice';
ROLLBACK;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then check the logs:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SHOW BINLOG EVENTS LIMIT 10;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You’ll see records for the update and rollback.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;✅ Result:&lt;/strong&gt;&lt;br&gt;
The undo operation is recorded, ensuring the database can recover correctly after any failure.&lt;/p&gt;

&lt;h2&gt;
  
  
  🧠 Conclusion
&lt;/h2&gt;

&lt;p&gt;Through this activity, we learned:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Transactions&lt;/strong&gt; ensure data integrity (Atomicity, Consistency)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deadlocks&lt;/strong&gt; are automatically detected and handled by DBMS&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Logs&lt;/strong&gt; help recover data during failures&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;💡 Key takeaway:&lt;/strong&gt; Databases are smart enough to protect your data even when things go wrong!&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%2Fm6i9zxttymn43k0jo015.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%2Fm6i9zxttymn43k0jo015.jpg" alt=" " width="800" height="430"&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%2F3mtbcpngun8537plb7gd.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%2F3mtbcpngun8537plb7gd.jpg" alt=" " width="800" height="427"&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%2F1047g7xvfr7cdof067o6.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%2F1047g7xvfr7cdof067o6.jpg" alt=" " width="800" height="428"&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%2F8tnrzaow7sttn1je8fl6.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%2F8tnrzaow7sttn1je8fl6.jpg" alt=" " width="800" height="431"&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%2F3m69fs8kcx4zqkvrgzv8.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%2F3m69fs8kcx4zqkvrgzv8.png" alt=" " width="800" height="355"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>computerscience</category>
      <category>database</category>
      <category>sql</category>
    </item>
    <item>
      <title>SQL</title>
      <dc:creator>BHARANIKA D 24CB005</dc:creator>
      <pubDate>Sat, 23 Aug 2025 01:47:03 +0000</pubDate>
      <link>https://dev.to/bharanika_d24cb005_97900/sql-2foj</link>
      <guid>https://dev.to/bharanika_d24cb005_97900/sql-2foj</guid>
      <description>&lt;p&gt;🚀 SQL Lab Experiments with Oracle LiveSQL&lt;/p&gt;

&lt;p&gt;Hi everyone 👋,&lt;/p&gt;

&lt;p&gt;I worked on my SQL lab using Oracle LiveSQL. Below are the codes I practiced, step by step – from table creation to queries.&lt;/p&gt;

&lt;p&gt;🔹 Step 1 – Create Tables&lt;br&gt;
CREATE TABLE Students (&lt;br&gt;
    StudentID INT PRIMARY KEY,&lt;br&gt;
    StudentName VARCHAR(100),&lt;br&gt;
    Dept VARCHAR(50),&lt;br&gt;
    Email VARCHAR(100)&lt;br&gt;
);&lt;/p&gt;

&lt;p&gt;CREATE TABLE Courses (&lt;br&gt;
    CourseID INT PRIMARY KEY,&lt;br&gt;
    CourseName VARCHAR(100),&lt;br&gt;
    Credits INT&lt;br&gt;
);&lt;/p&gt;

&lt;p&gt;CREATE TABLE Enrollments (&lt;br&gt;
    EnrollID INT PRIMARY KEY,&lt;br&gt;
    StudentID INT,&lt;br&gt;
    CourseID INT,&lt;br&gt;
    Grade CHAR(2),&lt;br&gt;
    FOREIGN KEY (StudentID) REFERENCES Students(StudentID),&lt;br&gt;
    FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)&lt;br&gt;
);&lt;/p&gt;

&lt;p&gt;🔹 Step 2 – Insert Data&lt;br&gt;
INSERT INTO Students (StudentID, StudentName, Dept, Email)&lt;br&gt;
VALUES (3, 'Rahul Verma', 'CSE', '&lt;a href="mailto:rahul@college.com"&gt;rahul@college.com&lt;/a&gt;');&lt;/p&gt;

&lt;p&gt;INSERT INTO Courses (CourseID, CourseName, Credits)&lt;br&gt;
VALUES (103, 'Networks', 3);&lt;/p&gt;

&lt;p&gt;INSERT INTO Enrollments (EnrollID, StudentID, CourseID, Grade)&lt;br&gt;
VALUES (3, 3, 103, 'A');&lt;/p&gt;

&lt;p&gt;🔹 Step 3 – Queries&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select all students
SELECT * FROM Students;&lt;/li&gt;
&lt;/ol&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%2F1dnnobpsirowa52m7ufe.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%2F1dnnobpsirowa52m7ufe.jpg" alt=" " width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Select all courses&lt;br&gt;
SELECT * FROM Courses;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select all enrollments&lt;br&gt;
SELECT * FROM Enrollments;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&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%2F616ds12cb4xld6m19c5f.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%2F616ds12cb4xld6m19c5f.jpg" alt=" " width="800" height="635"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Join Students &amp;amp; Enrollments&lt;br&gt;
SELECT S.StudentName, E.Grade&lt;br&gt;
FROM Students S&lt;br&gt;
JOIN Enrollments E ON S.StudentID = E.StudentID;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Join Students, Courses &amp;amp; Enrollments&lt;br&gt;
SELECT S.Name, C.CourseName, E.Grade&lt;br&gt;
FROM Enrollments E&lt;br&gt;
JOIN Students S ON E.StudentID = S.StudentID&lt;br&gt;
JOIN Courses C ON E.CourseID = C.CourseID;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&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%2F17veafi8ji1brz1ja1q3.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%2F17veafi8ji1brz1ja1q3.jpg" alt=" " width="800" height="817"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Find students in CSE dept&lt;br&gt;
SELECT StudentName&lt;br&gt;
FROM Students&lt;br&gt;
WHERE Dept = 'CSE';&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Count total students&lt;br&gt;
SELECT COUNT(*) AS TotalStudents&lt;br&gt;
FROM Students;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Student count by department&lt;br&gt;
SELECT Dept, COUNT(*) AS StudentCount&lt;br&gt;
FROM Students&lt;br&gt;
GROUP BY Dept;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&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%2Fhc3l54s1v8k1oyt9hezg.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%2Fhc3l54s1v8k1oyt9hezg.jpg" alt=" " width="800" height="693"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Create a view&lt;br&gt;
CREATE OR REPLACE VIEW StudentCoursesView AS&lt;br&gt;
SELECT S.StudentName, C.CourseName, E.Grade&lt;br&gt;
FROM Enrollments E&lt;br&gt;
JOIN Students S ON E.StudentID = S.StudentID&lt;br&gt;
JOIN Courses C ON E.CourseID = C.CourseID;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Stored procedure to update grade&lt;br&gt;
CREATE OR REPLACE PROCEDURE UpdateGrade (&lt;br&gt;
p_StudentID IN INT,&lt;br&gt;
p_CourseID IN INT,&lt;br&gt;
p_NewGrade IN CHAR&lt;br&gt;
) AS&lt;br&gt;
BEGIN&lt;br&gt;
UPDATE Enrollments&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;
SET Grade = p_NewGrade
WHERE StudentID = p_StudentID
  AND CourseID = p_CourseID;
END;
/&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ Final Output Example&lt;/p&gt;

&lt;p&gt;One student: Rahul Verma (CSE)&lt;/p&gt;

&lt;p&gt;One course: Networks&lt;/p&gt;

&lt;p&gt;Enrollment: Grade A (later updated to B)&lt;/p&gt;

&lt;p&gt;💡 This was my SQL lab practice using Oracle LiveSQL. Simple, clean, and working!&lt;/p&gt;

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