<?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: DIKSHA P 24CB010</title>
    <description>The latest articles on DEV Community by DIKSHA P 24CB010 (@diksha_p24cb010_53ab7ba6).</description>
    <link>https://dev.to/diksha_p24cb010_53ab7ba6</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%2F3457722%2Fe695f17a-e33f-4a1a-a29e-fb246a0c552f.png</url>
      <title>DEV Community: DIKSHA P 24CB010</title>
      <link>https://dev.to/diksha_p24cb010_53ab7ba6</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/diksha_p24cb010_53ab7ba6"/>
    <language>en</language>
    <item>
      <title>AWS Device Farm: Test Your Apps on Real Devices at Scale</title>
      <dc:creator>DIKSHA P 24CB010</dc:creator>
      <pubDate>Thu, 18 Dec 2025 17:11:27 +0000</pubDate>
      <link>https://dev.to/diksha_p24cb010_53ab7ba6/aws-device-farm-test-your-apps-on-real-devices-at-scale-166a</link>
      <guid>https://dev.to/diksha_p24cb010_53ab7ba6/aws-device-farm-test-your-apps-on-real-devices-at-scale-166a</guid>
      <description>&lt;p&gt;Building a great mobile or web application is not just about writing good code—it’s about ensuring your app works perfectly across different devices, browsers, and operating systems. This is where AWS Device Farm becomes a powerful testing solution for modern DevOps teams.&lt;/p&gt;

&lt;p&gt;What is AWS Device Farm?&lt;/p&gt;

&lt;p&gt;AWS Device Farm is a cloud-based testing service provided by Amazon Web Services that allows developers to test mobile and web applications on real physical devices hosted in AWS data centers.&lt;/p&gt;

&lt;p&gt;Why Use AWS Device Farm?&lt;/p&gt;

&lt;p&gt;In real-world usage, users access apps from many devices with different screen sizes, OS versions, and hardware capabilities. Testing on emulators alone is not enough.&lt;/p&gt;

&lt;p&gt;Reducing device management costs&lt;/p&gt;

&lt;p&gt;Catching bugs that appear only on real devices&lt;/p&gt;

&lt;p&gt;Improving app quality before production&lt;/p&gt;

&lt;p&gt;Supporting continuous testing in CI/CD pipelines&lt;/p&gt;

&lt;p&gt;Key Features of AWS Device Farm&lt;br&gt;
 Real Device Testing&lt;/p&gt;

&lt;p&gt;Test your Android, iOS, and web applications on real smartphones and tablets, not simulators. This ensures accurate results for performance, UI, and hardware behavior.&lt;/p&gt;

&lt;p&gt;Automated Testing&lt;/p&gt;

&lt;p&gt;AWS Device Farm supports popular test frameworks such as:&lt;/p&gt;

&lt;p&gt;Appium&lt;/p&gt;

&lt;p&gt;Selenium&lt;/p&gt;

&lt;p&gt;Espresso&lt;/p&gt;

&lt;p&gt;XCTest&lt;/p&gt;

&lt;p&gt;You can run large test suites in parallel to save time.&lt;/p&gt;

&lt;p&gt;Remote Access&lt;/p&gt;

&lt;p&gt;Need to manually test your app? AWS Device Farm provides remote access to devices so you can interact with them in real time through your browser.&lt;/p&gt;

&lt;p&gt;Detailed Test Reports&lt;/p&gt;

&lt;p&gt;After every test run, Device Farm generates:&lt;/p&gt;

&lt;p&gt;Logs&lt;/p&gt;

&lt;p&gt;Screenshots&lt;/p&gt;

&lt;p&gt;Videos&lt;/p&gt;

&lt;p&gt;Performance metrics&lt;/p&gt;

&lt;p&gt;These reports make debugging faster and easier.&lt;/p&gt;

&lt;p&gt;AWS Device Farm in CI/CD&lt;/p&gt;

&lt;p&gt;AWS Device Farm integrates smoothly with CI/CD tools like AWS CodePipeline, Jenkins, GitHub Actions, and GitLab. Teams can automatically trigger tests on every build or pull request.&lt;/p&gt;

&lt;p&gt;This enables continuous testing, ensuring quality is maintained throughout the development lifecycle.&lt;/p&gt;

&lt;p&gt;Use Cases&lt;/p&gt;

&lt;p&gt;Mobile app compatibility testing&lt;/p&gt;

&lt;p&gt;Cross-browser web testing&lt;/p&gt;

&lt;p&gt;Regression testing&lt;/p&gt;

&lt;p&gt;Pre-release validation&lt;/p&gt;

&lt;p&gt;DevOps and QA automation workflows&lt;/p&gt;

&lt;p&gt;Benefits of AWS Device Farm&lt;/p&gt;

&lt;p&gt;No physical device maintenance&lt;/p&gt;

&lt;p&gt;Scalable and on-demand testing&lt;/p&gt;

&lt;p&gt;Pay only for what you use&lt;/p&gt;

&lt;p&gt;Reliable testing on real devices&lt;/p&gt;

&lt;p&gt;Things to Consider&lt;/p&gt;

&lt;p&gt;Pricing depends on device usage time&lt;/p&gt;

&lt;p&gt;Initial setup requires test framework knowledge&lt;/p&gt;

&lt;p&gt;Device availability may vary by region&lt;/p&gt;

&lt;p&gt;Final Thoughts&lt;/p&gt;

&lt;p&gt;AWS Device Farm is an excellent choice for teams that want reliable, scalable, and realistic app testing without managing their own device labs. By integrating real-device testing into CI/CD pipelines, teams can release high-quality applications with confidence.thank you &lt;a class="mentioned-user" href="https://dev.to/santhoshnc"&gt;@santhoshnc&lt;/a&gt; sir &lt;/p&gt;

</description>
      <category>mobile</category>
      <category>testing</category>
      <category>devops</category>
      <category>aws</category>
    </item>
    <item>
      <title>Datadog: the periodic table DevOps</title>
      <dc:creator>DIKSHA P 24CB010</dc:creator>
      <pubDate>Thu, 18 Dec 2025 16:59:41 +0000</pubDate>
      <link>https://dev.to/diksha_p24cb010_53ab7ba6/datadog-the-periodic-table-devops-27n4</link>
      <guid>https://dev.to/diksha_p24cb010_53ab7ba6/datadog-the-periodic-table-devops-27n4</guid>
      <description>&lt;p&gt;Modern applications are no longer simple. They run across multiple servers, containers, clouds, and microservices. Keeping track of performance, availability, and security can quickly become overwhelming. This is where Datadog becomes an essential DevOps tool.&lt;/p&gt;

&lt;p&gt;What is Datadog?&lt;/p&gt;

&lt;p&gt;Datadog is a cloud-based monitoring and observability platform that helps teams track the health and performance of their infrastructure and applications in real time. It brings metrics, logs, traces, and security data into a single, unified view.&lt;/p&gt;

&lt;p&gt;Why DevOps Teams Use Datadog&lt;/p&gt;

&lt;p&gt;Faster issue detection&lt;/p&gt;

&lt;p&gt;Continuous monitoring&lt;/p&gt;

&lt;p&gt;Improved collaboration between developers and operations&lt;/p&gt;

&lt;p&gt;Better reliability in production environments&lt;/p&gt;

&lt;p&gt;Key Capabilities&lt;br&gt;
  Infrastructure Monitoring&lt;/p&gt;

&lt;p&gt;Datadog monitors servers, virtual machines, containers, and cloud services like AWS, Azure, and Google Cloud. It automatically detects hosts and services, making setup easy.&lt;/p&gt;

&lt;p&gt;Application Performance Monitoring (APM)&lt;/p&gt;

&lt;p&gt;With distributed tracing, Datadog shows how requests move through your application. This makes it easy to identify slow services, errors, and performance bottlenecks—especially in microservices architectures.&lt;/p&gt;

&lt;p&gt;Log Management&lt;/p&gt;

&lt;p&gt;Datadog collects and analyzes logs from applications and infrastructure. Logs can be directly correlated with metrics and traces, helping teams debug issues faster.&lt;/p&gt;

&lt;p&gt;Alerts &amp;amp; Dashboards&lt;/p&gt;

&lt;p&gt;Custom dashboards and smart alerts notify teams when something goes wrong. Alerts can be based on thresholds or anomalies, reducing alert fatigue.&lt;/p&gt;

&lt;p&gt;Security &amp;amp; DevSecOps&lt;/p&gt;

&lt;p&gt;Datadog also supports security monitoring by detecting threats, misconfigurations, and compliance issues in real time.&lt;/p&gt;

&lt;p&gt;Datadog in CI/CD Pipelines&lt;/p&gt;

&lt;p&gt;Datadog integrates smoothly with CI/CD tools like GitHub Actions, GitLab, Jenkins, and Azure DevOps. Teams can monitor deployments, track performance changes after releases, and quickly roll back when needed.&lt;/p&gt;

&lt;p&gt;Benefits of Using Datadog&lt;/p&gt;

&lt;p&gt;Single platform for observability&lt;/p&gt;

&lt;p&gt;Easy integration with hundreds of tools&lt;/p&gt;

&lt;p&gt;Scales well for growing applications&lt;/p&gt;

&lt;p&gt;Clean and user-friendly interface&lt;/p&gt;

&lt;p&gt;Final Thoughts&lt;/p&gt;

&lt;p&gt;Datadog is more than a monitoring tool—it is a complete observability solution for modern DevOps teams. By providing deep visibility across infrastructure, applications, and security, Datadog helps teams build reliable, high-performing systems with confidence. thank you &lt;a class="mentioned-user" href="https://dev.to/santhoshnc"&gt;@santhoshnc&lt;/a&gt;&lt;br&gt;&lt;br&gt;
sir for motivate to do this blog&lt;/p&gt;

</description>
    </item>
    <item>
      <title>MongoDB - Blog</title>
      <dc:creator>DIKSHA P 24CB010</dc:creator>
      <pubDate>Sat, 04 Oct 2025 15:39:20 +0000</pubDate>
      <link>https://dev.to/diksha_p24cb010_53ab7ba6/mongodb-blog-2khj</link>
      <guid>https://dev.to/diksha_p24cb010_53ab7ba6/mongodb-blog-2khj</guid>
      <description>&lt;p&gt;db.students.insertMany([&lt;br&gt;
  {&lt;br&gt;
    "student_id": "S001",&lt;br&gt;
    "name": "Santhosh",&lt;br&gt;
    "age": 20,&lt;br&gt;
    "department": "CSBS",&lt;br&gt;
    "year": 2,&lt;br&gt;
    "cgpa": 9&lt;br&gt;
  },&lt;br&gt;
  {&lt;br&gt;
    "student_id": "S002",&lt;br&gt;
    "name": "Aarav",&lt;br&gt;
    "age": 21,&lt;br&gt;
    "department": "CSE",&lt;br&gt;
    "year": 3,&lt;br&gt;
    "cgpa": 8.5&lt;br&gt;
  },&lt;br&gt;
  {&lt;br&gt;
    "student_id": "S003",&lt;br&gt;
    "name": "Meera",&lt;br&gt;
    "age": 19,&lt;br&gt;
    "department": "ECE",&lt;br&gt;
    "year": 1,&lt;br&gt;
    "cgpa": 7.2&lt;br&gt;
  },&lt;br&gt;
  {&lt;br&gt;
    "student_id": "S004",&lt;br&gt;
    "name": "Divya",&lt;br&gt;
    "age": 22,&lt;br&gt;
    "department": "CSE",&lt;br&gt;
    "year": 3,&lt;br&gt;
    "cgpa": 9.1&lt;br&gt;
  },&lt;br&gt;
  {&lt;br&gt;
    "student_id": "S005",&lt;br&gt;
    "name": "Rohan",&lt;br&gt;
    "age": 20,&lt;br&gt;
    "department": "MECH",&lt;br&gt;
    "year": 2,&lt;br&gt;
    "cgpa": 6.8&lt;br&gt;
  }&lt;br&gt;
])&lt;br&gt;
  Read (Query)&lt;br&gt;
Display all student records&lt;br&gt;
js&lt;br&gt;
db.students.find()&lt;br&gt;
Find all students with CGPA &amp;gt; 8&lt;br&gt;
js&lt;br&gt;
db.students.find({ cgpa: { $gt: 8 } })&lt;br&gt;
Find students belonging to the Computer Science department&lt;br&gt;
js&lt;br&gt;
db.students.find({ department: "CSE" })&lt;br&gt;
  Update&lt;br&gt;
Update the CGPA of a specific student (e.g., student_id: "S003")&lt;br&gt;
js&lt;br&gt;
db.students.updateOne(&lt;br&gt;
  { student_id: "S003" },&lt;br&gt;
  { $set: { cgpa: 7.8 } }&lt;br&gt;
)&lt;br&gt;
Increase the year of study for all 3rd year students by 1&lt;br&gt;
js&lt;br&gt;
db.students.updateMany(&lt;br&gt;
  { year: 3 },&lt;br&gt;
  { $inc: { year: 1 } }&lt;br&gt;
)&lt;br&gt;
  Delete&lt;br&gt;
Delete one student record by student_id (e.g., "S005")&lt;br&gt;
js&lt;br&gt;
db.students.deleteOne({ student_id: "S005" })&lt;br&gt;
Delete all students having CGPA &amp;lt; 7.5&lt;br&gt;
js&lt;br&gt;
db.students.deleteMany({ cgpa: { $lt: 7.5 } })&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%2Fd4yrp93n09u5x7hcwwav.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd4yrp93n09u5x7hcwwav.jpeg" alt=" " width="800" height="341"&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%2Fpv74i7jm07xnwzxuypx9.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpv74i7jm07xnwzxuypx9.jpeg" alt=" " width="800" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>mongodb</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Indexing, Hashing &amp; Query Optimization IN DBMS</title>
      <dc:creator>DIKSHA P 24CB010</dc:creator>
      <pubDate>Sat, 04 Oct 2025 10:29:09 +0000</pubDate>
      <link>https://dev.to/diksha_p24cb010_53ab7ba6/indexing-hashing-query-optimization-in-dbms-358g</link>
      <guid>https://dev.to/diksha_p24cb010_53ab7ba6/indexing-hashing-query-optimization-in-dbms-358g</guid>
      <description>&lt;p&gt;Indexes are the secret sauce behind fast database queries. In this post, we’ll create a Students table, populate it with sample data, and explore three powerful indexing strategies:&lt;br&gt;
 B-Tree Index&lt;br&gt;
 B+ Tree Index&lt;br&gt;
 Hash Index&lt;/p&gt;

&lt;p&gt;Step 1: Create the Students Table&lt;br&gt;
sql&lt;br&gt;
CREATE TABLE Students (&lt;br&gt;
  roll_no INT PRIMARY KEY,&lt;br&gt;
  name VARCHAR(50),&lt;br&gt;
  dept VARCHAR(10),&lt;br&gt;
  cgpa DECIMAL(3,2)&lt;br&gt;
);&lt;br&gt;
  Step 2: Insert Sample Records&lt;br&gt;
sql&lt;br&gt;
INSERT INTO Students VALUES (101, 'Aarav', 'CSBS', 8.5);&lt;br&gt;
INSERT INTO Students VALUES (102, 'Meera', 'ECE', 7.8);&lt;br&gt;
INSERT INTO Students VALUES (103, 'Ravi', 'MECH', 6.9);&lt;br&gt;
INSERT INTO Students VALUES (104, 'Sneha', 'CSBS', 9.1);&lt;br&gt;
INSERT INTO Students VALUES (105, 'Kiran', 'EEE', 7.2);&lt;br&gt;
INSERT INTO Students VALUES (106, 'Divya', 'CSBS', 8.7);&lt;br&gt;
INSERT INTO Students VALUES (107, 'Aditya', 'CIVIL', 6.5);&lt;br&gt;
INSERT INTO Students VALUES (108, 'Neha', 'ECE', 8.0);&lt;br&gt;
INSERT INTO Students VALUES (109, 'Rahul', 'MECH', 7.4);&lt;br&gt;
INSERT INTO Students VALUES (110, 'Priya', 'CSBS', 9.3);&lt;br&gt;
INSERT INTO Students VALUES (111, 'Varun', 'EEE', 7.6);&lt;br&gt;
INSERT INTO Students VALUES (112, 'Isha', 'CIVIL', 8.2);&lt;br&gt;
INSERT INTO Students VALUES (113, 'Manav', 'CSBS', 8.9);&lt;br&gt;
INSERT INTO Students VALUES (114, 'Tanya', 'ECE', 7.0);&lt;br&gt;
INSERT INTO Students VALUES (115, 'Rohit', 'MECH', 6.8);&lt;br&gt;
INSERT INTO Students VALUES (116, 'Anjali', 'CSBS', 9.0);&lt;br&gt;
INSERT INTO Students VALUES (117, 'Siddharth', 'EEE', 7.3);&lt;br&gt;
INSERT INTO Students VALUES (118, 'Pooja', 'CIVIL', 8.1);&lt;br&gt;
INSERT INTO Students VALUES (119, 'Nikhil', 'CSBS', 8.6);&lt;br&gt;
INSERT INTO Students VALUES (120, 'Simran', 'ECE', 7.9);&lt;br&gt;
 Step 3: B-Tree Index on roll_no&lt;br&gt;
B-Tree indexes are the default in most databases and great for range and equality queries.&lt;/p&gt;

&lt;p&gt;sql&lt;br&gt;
CREATE INDEX idx_rollno_btree ON Students(roll_no);&lt;br&gt;
  Query: Fetch Student with roll_no = 110&lt;br&gt;
sql&lt;br&gt;
SELECT * FROM Students WHERE roll_no = 110;&lt;/p&gt;

&lt;p&gt;Step 4: B+ Tree Index on cgpa&lt;br&gt;
While Oracle uses B-Tree by default, some systems like PostgreSQL simulate B+ Tree behavior. For educational purposes, we’ll treat this as a logical B+ Tree index.&lt;/p&gt;

&lt;p&gt;sql&lt;br&gt;
CREATE INDEX idx_cgpa_bplus ON Students(cgpa); &lt;br&gt;
 Students with cgpa &amp;gt; 8.0&lt;br&gt;
sql&lt;br&gt;
SELECT * FROM Students WHERE cgpa &amp;gt; 8.0&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%2F02t792a65l3amrs4qbcr.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F02t792a65l3amrs4qbcr.jpeg" alt=" " width="800" height="377"&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%2Fu80ljzccxdkmhuxdg7r3.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu80ljzccxdkmhuxdg7r3.jpeg" alt=" " width="800" height="370"&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%2Fnedd7rmy7nvknuyjq9o3.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnedd7rmy7nvknuyjq9o3.jpeg" alt=" " width="800" height="385"&gt;&lt;/a&gt;thank you &lt;a class="mentioned-user" href="https://dev.to/santhoshnc"&gt;@santhoshnc&lt;/a&gt; sir&lt;/p&gt;

</description>
      <category>database</category>
      <category>performance</category>
      <category>algorithms</category>
      <category>sql</category>
    </item>
    <item>
      <title>Transactions, Deadlocks &amp; Log Based Recovery</title>
      <dc:creator>DIKSHA P 24CB010</dc:creator>
      <pubDate>Sat, 04 Oct 2025 10:20:01 +0000</pubDate>
      <link>https://dev.to/diksha_p24cb010_53ab7ba6/transactions-deadlocks-log-based-recovery-hjj</link>
      <guid>https://dev.to/diksha_p24cb010_53ab7ba6/transactions-deadlocks-log-based-recovery-hjj</guid>
      <description>&lt;p&gt;database transactions are more than just BEGIN and COMMIT. They’re the backbone of data integrity, especially when things go wrong. In this post, we’ll explore three powerful concepts:&lt;/p&gt;

&lt;p&gt;Atomicity &amp;amp; Rollback&lt;br&gt;
 Deadlock Simulation&lt;br&gt;
Log-Based Recovery&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Atomicity &amp;amp; Rollback: All or Nothing
Imagine Alice wants to transfer ₹500 to Bob. We start a transaction, update both accounts, and then rollback before committing.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;SQL Example&lt;br&gt;
sql &lt;/p&gt;

&lt;p&gt;BEGIN;&lt;br&gt;
UPDATE Accounts SET balance = balance - 500 WHERE name = 'Alice';&lt;br&gt;
UPDATE Accounts SET balance = balance + 500 WHERE name = 'Bob';&lt;br&gt;
ROLLBACK;&lt;/p&gt;

&lt;p&gt;sql&lt;br&gt;
SELECT name, balance FROM Accounts WHERE name IN ('Alice', 'Bob');&lt;br&gt;
  Result: No changes. That’s Atomicity—either all operations succeed or none do.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Deadlock Simulation: When Transactions Collide
Deadlocks happen when two sessions wait on each other indefinitely. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Session 1&lt;br&gt;
sql&lt;br&gt;
BEGIN;&lt;br&gt;
UPDATE Accounts SET balance = balance + 100 WHERE name = 'Alice';&lt;br&gt;
UPDATE Accounts SET balance = balance - 100 WHERE name = 'Bob';&lt;br&gt;
 Session 2 &lt;br&gt;
sql&lt;br&gt;
BEGIN;&lt;br&gt;
UPDATE Accounts SET balance = balance + 100 WHERE name = 'Bob';&lt;br&gt;
UPDATE Accounts SET balance = balance - 100 WHERE name = 'Alice';&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Log-Based Recovery:
Most modern databases (MySQL, PostgreSQL, Oracle) use transaction logs to track changes. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Step-by-Step&lt;br&gt;
sql &lt;br&gt;
BEGIn;&lt;br&gt;
UPDATE Accounts SET balance = balance + 1000 WHERE name = 'Alice';&lt;br&gt;
ROLLBACK;&lt;br&gt;
   Final Thoughts&lt;br&gt;
Transactions are the heartbeat of reliable databases. Whether you're building fintech apps or inventory systems, understanding how atomicity, deadlocks, and recovery work will make you a better engineer.&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%2F4g7saav842witazsj4fh.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4g7saav842witazsj4fh.jpeg" alt=" " width="800" height="471"&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%2F15xjunrrskapg2who79s.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F15xjunrrskapg2who79s.jpeg" alt=" " width="800" height="332"&gt;&lt;/a&gt;Thank you &lt;a class="mentioned-user" href="https://dev.to/santhoshnc"&gt;@santhoshnc&lt;/a&gt; sir&lt;/p&gt;

</description>
      <category>computerscience</category>
      <category>database</category>
      <category>sql</category>
    </item>
    <item>
      <title>ACID PROPERTY IN DBMS</title>
      <dc:creator>DIKSHA P 24CB010</dc:creator>
      <pubDate>Sat, 04 Oct 2025 10:03:05 +0000</pubDate>
      <link>https://dev.to/diksha_p24cb010_53ab7ba6/acid-property-in-dbms-2875</link>
      <guid>https://dev.to/diksha_p24cb010_53ab7ba6/acid-property-in-dbms-2875</guid>
      <description>&lt;p&gt;you're learning database fundamentals, you've probably heard of ACID—Atomicity, Consistency, Isolation, and Durability. These properties ensure reliable transactions in relational databases.&lt;/p&gt;

&lt;p&gt;Let’s explore each one with real SQL examples using an Accounts 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%2Ftz8qux7o9575c10y1xrg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftz8qux7o9575c10y1xrg.jpeg" alt=" " width="800" height="340"&gt;&lt;/a&gt;Step 1: Create the Table and Insert Sample Data&lt;br&gt;
sql&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 CHECK (balance &amp;gt;= 0) -- Enforces Consistency&lt;br&gt;
);&lt;/p&gt;

&lt;p&gt;-- Insert sample rows&lt;br&gt;
INSERT INTO Accounts VALUES (101, 'Aarav', 50000);&lt;br&gt;
INSERT INTO Accounts VALUES (102, 'Meera', 30000);&lt;br&gt;
INSERT INTO Accounts VALUES (103, 'Ravi', 70000);&lt;br&gt;
  Exploring ACID Properties&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Atomicity: All or Nothing
Let’s simulate a money transfer from Aarav to Meera. We’ll start a transaction and rollback midway to ensure no partial updates remain.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;sql&lt;br&gt;
BEGIN&lt;br&gt;
  UPDATE Accounts SET balance = balance - 10000 WHERE acc_no = 101; -- Aarav&lt;br&gt;
  UPDATE Accounts SET balance = balance + 10000 WHERE acc_no = 102; -- Meera&lt;/p&gt;

&lt;p&gt;-- Something goes wrong, rollback!&lt;br&gt;
  ROLLBACK;&lt;br&gt;
END;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Consistency: Data Integrity Rules
Try inserting a record with a negative balance:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;sql&lt;br&gt;
INSERT INTO Accounts VALUES (104, 'Kiran', -5000);&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Isolation: Transactions Don’t Clash
Open Session A and run:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;sql&lt;br&gt;
BEGIN&lt;br&gt;
  UPDATE Accounts SET balance = balance + 5000 WHERE acc_no = 103;&lt;br&gt;
 sql&lt;br&gt;
SELECT balance FROM Accounts WHERE acc_no = 103;&lt;br&gt;
  Result: Session B sees the old balance until Session A commits. That’s Isolation—transactions don’t interfere with each other.&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%2F0a5q7mn8x98v7e5pamkx.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0a5q7mn8x98v7e5pamkx.jpeg" alt=" " width="800" height="325"&gt;&lt;/a&gt; 4. Durability: Data Persists After Commit&lt;br&gt;
sql&lt;br&gt;
BEGIN&lt;br&gt;
  UPDATE Accounts SET balance = balance + 10000 WHERE acc_no = 102;&lt;br&gt;
  COMMIT;&lt;br&gt;
END;&lt;br&gt;
Now, restart your database or session and run:&lt;/p&gt;

&lt;p&gt;sql&lt;br&gt;
SELECT * FROM Accounts WHERE acc_no = 102;&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%2Fhskqlnlafa1xcjl5ezf2.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhskqlnlafa1xcjl5ezf2.jpeg" alt=" " width="800" height="329"&gt;&lt;/a&gt;Final Thoughts&lt;br&gt;
ACID properties are the backbone of reliable database systems. Whether you're building banking software Thank you &lt;a class="mentioned-user" href="https://dev.to/santhoshnc"&gt;@santhoshnc&lt;/a&gt; sir &lt;/p&gt;

</description>
      <category>database</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>sql</category>
    </item>
    <item>
      <title>TRIGGER AND CURSORS IN DBMS</title>
      <dc:creator>DIKSHA P 24CB010</dc:creator>
      <pubDate>Sat, 04 Oct 2025 09:41:15 +0000</pubDate>
      <link>https://dev.to/diksha_p24cb010_53ab7ba6/trigger-and-cursors-in-dbms-33cn</link>
      <guid>https://dev.to/diksha_p24cb010_53ab7ba6/trigger-and-cursors-in-dbms-33cn</guid>
      <description>&lt;p&gt;If you're diving into Oracle SQL and want to explore how cursors work, this post is for you! Let's walk through a simple example where we use a cursor to display employee names whose salary exceeds ₹50,000.&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%2Fvacigzszf1b97t04hzi8.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvacigzszf1b97t04hzi8.jpeg" alt=" " width="800" height="377"&gt;&lt;/a&gt;What’s a Cursor?&lt;br&gt;
A cursor in SQL is a pointer that allows you to iterate through query results row by row. It’s especially useful when you need to process each record individually.&lt;/p&gt;

&lt;p&gt;The Scenario&lt;br&gt;
We have an Employee table with columns like emp_name and salary. Our goal is to display the names of employees earning more than ₹50,000.&lt;/p&gt;

&lt;p&gt;The Code&lt;br&gt;
sql&lt;br&gt;
DECLARE&lt;br&gt;
  -- Variable to hold employee name&lt;br&gt;
  v_emp_name Employee.emp_name%TYPE;&lt;/p&gt;

&lt;p&gt;-- Cursor declaration&lt;br&gt;
  CURSOR high_salary_cursor IS&lt;br&gt;
    SELECT emp_name&lt;br&gt;
    FROM Employee&lt;br&gt;
    WHERE salary &amp;gt; 50000;&lt;/p&gt;

&lt;p&gt;BEGIN&lt;br&gt;
  -- Loop through the cursor&lt;br&gt;
  FOR emp_record IN high_salary_cursor LOOP&lt;br&gt;
    DBMS_OUTPUT.PUT_LINE('Employee Name: ' || emp_record.emp_name);&lt;br&gt;
  END LOOP;&lt;br&gt;
END;&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%2F34pse0oqm0upg5oitzrk.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F34pse0oqm0upg5oitzrk.jpeg" alt=" " width="800" height="397"&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%2Fvrkid4nk6pvh03vytnmc.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvrkid4nk6pvh03vytnmc.jpeg" alt=" " width="800" height="376"&gt;&lt;/a&gt;Triggers in Oracle SQL are like little watchdogs—they automatically execute when certain events happen in the database. Let’s create a trigger that logs a message whenever a new employee is inserted into the Employee table.&lt;/p&gt;

&lt;p&gt;The Trigger Code&lt;br&gt;
sql&lt;br&gt;
CREATE OR REPLACE TRIGGER log_new_employee&lt;br&gt;
AFTER INSERT ON Employee&lt;br&gt;
FOR EACH ROW&lt;br&gt;
BEGIN&lt;br&gt;
  DBMS_OUTPUT.PUT_LINE('New employee added: ' || :NEW.emp_name || ', Salary: ' || :NEW.salary);&lt;br&gt;
END;&lt;br&gt;
  What’s Happening Here?&lt;br&gt;
AFTER INSERT ON Employee: The trigger fires after a new row is inserted.&lt;br&gt;
After creating the trigger, insert a new employee:&lt;/p&gt;

&lt;p&gt;sql&lt;br&gt;
INSERT INTO Employee VALUES (101, 'Priya', 60000);&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%2Fh7v2aqmuowzfazinbemy.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh7v2aqmuowzfazinbemy.jpeg" alt=" " width="800" height="367"&gt;&lt;/a&gt; Combining cursors and triggers gives you powerful control over your data flow. Cursors help you process data row-by-row, while triggers let you react to changes automatically.Thank you &lt;a class="mentioned-user" href="https://dev.to/santhoshnc"&gt;@santhoshnc&lt;/a&gt; sir for guide me&lt;/p&gt;

</description>
      <category>oracle</category>
      <category>database</category>
      <category>tutorial</category>
      <category>sql</category>
    </item>
    <item>
      <title>Normalization in 1NF,2NF,3NF in DBMS</title>
      <dc:creator>DIKSHA P 24CB010</dc:creator>
      <pubDate>Sat, 04 Oct 2025 08:01:11 +0000</pubDate>
      <link>https://dev.to/diksha_p24cb010_53ab7ba6/normalization-in-1nf2nf3nf-in-dbms-3f7h</link>
      <guid>https://dev.to/diksha_p24cb010_53ab7ba6/normalization-in-1nf2nf3nf-in-dbms-3f7h</guid>
      <description>&lt;p&gt;Normalization is a key concept in relational database design. It helps eliminate redundancy and improve data integrity. In this post, we’ll explore the first three normal forms—1NF, 2NF, and 3NF—and implement each using SQL CREATE TABLE statements.&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%2Fgay7yacakifvfs81qh5f.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgay7yacakifvfs81qh5f.jpeg" alt=" " width="800" height="375"&gt;&lt;/a&gt;First Normal Form (1NF)&lt;br&gt;
Rule:&lt;/p&gt;

&lt;p&gt;Each column should contain atomic (indivisible) values.&lt;/p&gt;

&lt;p&gt;No repeating groups or arrays.&lt;/p&gt;

&lt;p&gt;Example: Unnormalized Table&lt;/p&gt;

&lt;p&gt;sql&lt;br&gt;
CREATE TABLE Students (&lt;br&gt;
    student_id INT,&lt;br&gt;
    name VARCHAR(100),&lt;br&gt;
    subjects VARCHAR(255) -- e.g., 'Math, Science, English'&lt;br&gt;
);&lt;br&gt;
Normalized to 1NF&lt;/p&gt;

&lt;p&gt;sql&lt;br&gt;
CREATE TABLE StudentSubjects (&lt;br&gt;
    student_id INT,&lt;br&gt;
    name VARCHAR(100),&lt;br&gt;
    subject VARCHAR(50) -- one subject per row&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%2Fkxjdz1k8jrbmc0mb2vkd.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkxjdz1k8jrbmc0mb2vkd.jpeg" alt=" " width="800" height="347"&gt;&lt;/a&gt;&lt;br&gt;
  Second Normal Form (2NF)&lt;br&gt;
Rule:&lt;/p&gt;

&lt;p&gt;Must be in 1NF&lt;/p&gt;

&lt;p&gt;All non-key attributes must be fully functionally dependent on the entire primary key.&lt;/p&gt;

&lt;p&gt;Problem Example (Partial Dependency)&lt;/p&gt;

&lt;p&gt;sql&lt;br&gt;
CREATE TABLE Enrollments (&lt;br&gt;
    student_id INT,&lt;br&gt;
    course_id INT,&lt;br&gt;
    student_name VARCHAR(100) -- depends only on student_id&lt;br&gt;
);&lt;br&gt;
Normalized to 2NF&lt;/p&gt;

&lt;p&gt;sql&lt;br&gt;
CREATE TABLE Students (&lt;br&gt;
    student_id INT PRIMARY KEY,&lt;br&gt;
    student_name VARCHAR(100)&lt;br&gt;
);&lt;/p&gt;

&lt;p&gt;CREATE TABLE Courses (&lt;br&gt;
    course_id INT PRIMARY KEY,&lt;br&gt;
    course_name VARCHAR(100)&lt;br&gt;
);&lt;/p&gt;

&lt;p&gt;CREATE TABLE Enrollments (&lt;br&gt;
    student_id INT,&lt;br&gt;
    course_id INT,&lt;br&gt;
    PRIMARY KEY (student_id, course_id)&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%2Ffiypdzc6plu24h6ww9fi.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffiypdzc6plu24h6ww9fi.jpeg" alt=" " width="800" height="381"&gt;&lt;/a&gt;&lt;br&gt;
 Third Normal Form (3NF)&lt;br&gt;
Rule:&lt;/p&gt;

&lt;p&gt;Must be in 2NF&lt;/p&gt;

&lt;p&gt;No transitive dependencies (non-key attributes should not depend on other non-key attributes)&lt;/p&gt;

&lt;p&gt;Problem Example (Transitive Dependency)&lt;/p&gt;

&lt;p&gt;sql&lt;br&gt;
CREATE TABLE Employees (&lt;br&gt;
    emp_id INT PRIMARY KEY,&lt;br&gt;
    emp_name VARCHAR(100),&lt;br&gt;
    dept_name VARCHAR(100),&lt;br&gt;
    dept_location VARCHAR(100) -- depends on dept_name&lt;br&gt;
);&lt;br&gt;
Normalized to 3NF&lt;/p&gt;

&lt;p&gt;sql&lt;br&gt;
CREATE TABLE Departments (&lt;br&gt;
    dept_name VARCHAR(100) PRIMARY KEY,&lt;br&gt;
    dept_location VARCHAR(100)&lt;br&gt;
);&lt;/p&gt;

&lt;p&gt;CREATE TABLE Employees (&lt;br&gt;
    emp_id INT PRIMARY KEY,&lt;br&gt;
    emp_name VARCHAR(100),&lt;br&gt;
    dept_name VARCHAR(100),&lt;br&gt;
    FOREIGN KEY (dept_name) REFERENCES Departments(dept_name)&lt;br&gt;
);&lt;br&gt;
 Summary&lt;br&gt;
Normal Form Key Focus&lt;br&gt;
1NF Atomic values, no repeating groups&lt;br&gt;
2NF Full functional dependency&lt;br&gt;
3NF No transitive dependency&lt;br&gt;
Normalization helps keep your data clean, consistent, and scalable. If you’re building relational databases, mastering these forms is essential.&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%2F9j6qx1hamggkmatyw5b2.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9j6qx1hamggkmatyw5b2.jpeg" alt=" " width="800" height="383"&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%2Fegcejcgzb6ozcmggglbw.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fegcejcgzb6ozcmggglbw.jpeg" alt=" " width="800" height="328"&gt;&lt;/a&gt;Thank you &lt;a class="mentioned-user" href="https://dev.to/santhoshnc"&gt;@santhoshnc&lt;/a&gt; sir for guideing me&lt;/p&gt;

</description>
      <category>database</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>sql</category>
    </item>
    <item>
      <title>COLLEGE STUDENT AND COURSE MANAGEMENT SYSTEM.</title>
      <dc:creator>DIKSHA P 24CB010</dc:creator>
      <pubDate>Mon, 25 Aug 2025 10:19:42 +0000</pubDate>
      <link>https://dev.to/diksha_p24cb010_53ab7ba6/college-student-and-course-management-system-10jf</link>
      <guid>https://dev.to/diksha_p24cb010_53ab7ba6/college-student-and-course-management-system-10jf</guid>
      <description>&lt;p&gt;Creating a Simple Student-Course Database in Oracle SQL&lt;/p&gt;

&lt;p&gt;In this post,we are going to know about how to create a basic Student-Course Enrollment System using Oracle SQL. This includes creating tables, inserting sample data, applying constraints, and running a few useful queries.&lt;/p&gt;

&lt;p&gt;Step 1: Creating the Tables&lt;/p&gt;

&lt;p&gt;We’ll start by creating three core tables: Students, Courses, and Enrollments.&lt;/p&gt;

&lt;p&gt;-- Create Students table&lt;br&gt;
CREATE TABLE Students (&lt;br&gt;
    StudentID NUMBER PRIMARY KEY,&lt;br&gt;
    Name VARCHAR2(50) NOT NULL,&lt;br&gt;
    Dept VARCHAR2(30),&lt;br&gt;
    DOB DATE,&lt;br&gt;
    Email VARCHAR2(50) UNIQUE&lt;br&gt;
);&lt;/p&gt;

&lt;p&gt;-- Create Courses table&lt;br&gt;
CREATE TABLE Courses (&lt;br&gt;
    CourseID NUMBER PRIMARY KEY,&lt;br&gt;
    CourseName VARCHAR2(50) NOT NULL,&lt;br&gt;
    Credits NUMBER(2)&lt;br&gt;
);&lt;/p&gt;

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

&lt;p&gt;Step 2: Inserting Sample Students&lt;/p&gt;

&lt;p&gt;Here, we insert 3 sample students from different departments:&lt;/p&gt;

&lt;p&gt;INSERT INTO Students (StudentID, Name, Dept, DOB, Email)&lt;br&gt;
VALUES (1, 'raj Kumar', 'csbs', TO_DATE('2005-03-15', 'YYYY-MM-DD'), '&lt;a href="mailto:raj.csbs@example.com"&gt;raj.csbs@example.com&lt;/a&gt;');&lt;/p&gt;

&lt;p&gt;INSERT INTO Students (StudentID, Name, Dept, DOB, Email)&lt;br&gt;
VALUES (2, 'harini R', 'mechanical Engineering', TO_DATE('2004-11-22', 'YYYY-MM-DD'), '&lt;a href="mailto:harini.mech@example.com"&gt;harini.mech@example.com&lt;/a&gt;');&lt;/p&gt;

&lt;p&gt;INSERT INTO Students (StudentID, Name, Dept, DOB, Email)&lt;br&gt;
VALUES (3, 'laksita S', 'civil Engineering', TO_DATE('2005-07-09', 'YYYY-MM-DD'), '&lt;a href="mailto:laksita.civil@example.com"&gt;laksita.civil@example.com&lt;/a&gt;');&lt;/p&gt;

&lt;p&gt;Step 3: Modifying the Table&lt;/p&gt;

&lt;p&gt;We now add a PhoneNo column to the Students table:&lt;/p&gt;

&lt;p&gt;ALTER TABLE Students&lt;br&gt;
ADD PhoneNo VARCHAR2(10);&lt;/p&gt;

&lt;p&gt;Step 4: Adding Constraints&lt;/p&gt;

&lt;p&gt;Ensure that the Credits for courses are between 1 and 5:&lt;/p&gt;

&lt;p&gt;ALTER TABLE Courses&lt;br&gt;
ADD CHECK (Credits BETWEEN 1 AND 5);&lt;/p&gt;

&lt;p&gt;Step 5: Inserting Sample Courses&lt;/p&gt;

&lt;p&gt;Let's add a few courses to our database:&lt;/p&gt;

&lt;p&gt;INSERT INTO Courses (CourseID, CourseName, Credits)&lt;br&gt;
VALUES (101, 'cyber security', 3);&lt;/p&gt;

&lt;p&gt;INSERT INTO Courses (CourseID, CourseName, Credits)&lt;br&gt;
VALUES (102, 'machine learning', 4);&lt;/p&gt;

&lt;p&gt;INSERT INTO Courses (CourseID, CourseName, Credits)&lt;br&gt;
VALUES (103, 'Data management system', 5);&lt;/p&gt;

&lt;p&gt;COMMIT;&lt;/p&gt;

&lt;p&gt;Step 6: Running Sample Queries&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Display Student Names in Uppercase and Email Length:&lt;br&gt;
SELECT &lt;br&gt;
UPPER(Name) AS Student_Name,&lt;br&gt;
LENGTH(Email) AS Email_Length&lt;br&gt;
FROM Students;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Display All Courses with Credits:&lt;br&gt;
SELECT CourseID, CourseName, Credits&lt;br&gt;
FROM Courses;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Display All Student Details:&lt;br&gt;
SELECT StudentID, Name, Dept, DOB, Email, PhoneNo&lt;br&gt;
FROM Students;&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%2Fwms4n0gj699y5lymn93b.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%2Fwms4n0gj699y5lymn93b.png" alt=" " width="800" height="449"&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%2Fhyc5q1gv1yc5m3xeuolw.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%2Fhyc5q1gv1yc5m3xeuolw.png" alt=" " width="800" height="449"&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%2Fha7fqpzvka7b4k3ff7sd.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%2Fha7fqpzvka7b4k3ff7sd.png" alt=" " width="800" height="449"&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%2F1ndtim2iq3pmewciaztz.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%2F1ndtim2iq3pmewciaztz.png" alt=" " width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;THANK YOU &lt;a class="mentioned-user" href="https://dev.to/santhoshnc"&gt;@santhoshnc&lt;/a&gt; sir. For guiding me .&lt;/p&gt;

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