set 2 dbms
set 2 dbms
DDL:
);
DML:
-- Insert rows
-- Update a row
-- Delete a row
Note: MySQL does not support PL/SQL natively. However, similar functionality can be achieved using stored
procedures.
DELIMITER //
BEGIN
UPDATE Student
END //
DELIMITER ;
-- Execute the procedure
CALL ApplyModeration();
DDL:
);
contact_info VARCHAR(100)
);
bus_id INT,
passenger_id INT,
reservation_date DATE,
);
DELIMITER //
BEGIN
END //
BEGIN
END //
DELIMITER ;
reservation_id INT,
action VARCHAR(50),
action_date DATETIME
);
DELIMITER //
IN book_id INT,
IN additional_copies INT
BEGIN
UPDATE Books
SET copies_available = copies_available + additional_copies
WHERE id = book_id;
END //
DELIMITER ;
DDL:
name VARCHAR(100),
price DECIMAL(10,2)
);
product_id INT,
quantity INT,
sale_date DATE,
);
product_id INT,
quantity INT,
purchase_date DATE,
);
4. b) Procedure to Add 20 Records to Each Table
DELIMITER //
BEGIN
WHILE i <= 20 DO
SET i = i + 1;
END WHILE;
END //
DELIMITER ;
CALL AddSampleRecords();
DDL:
dept_name VARCHAR(100)
);
name VARCHAR(100),
dept_id INT,
);
salary DECIMAL(10,2),
);
Aggregations:
SELECT
MIN(salary) AS MinSalary,
MAX(salary) AS MaxSalary,
SUM(salary) AS TotalSalary,
AVG(salary) AS AvgSalary
FROM Salary;
DELIMITER //
RETURNS DECIMAL(10,2)
DETERMINISTIC
BEGIN
UPDATE Salary
RETURN new_salary;
END //
DELIMITER ;
DDL:
name VARCHAR(100),
price DECIMAL(10,2),
stock INT
);
name VARCHAR(100)
);
customer_id INT,
item_id INT,
quantity INT,
purchase_date DATE,
);
WHERE item_id IN (
);
6. b) Triggers to Display Available Items Before and After Purchase
DELIMITER //
BEGIN
END IF;
END //
BEGIN
UPDATE Items
END //
DELIMITER ;
DDL:
hall_name VARCHAR(100),
location VARCHAR(100)
);
CREATE TABLE Customer (
name VARCHAR(100)
);
hall_id INT,
customer_id INT,
booking_date DATE,
);
Join Query:
FROM Booking b
DELIMITER //
BEGIN
UPDATE Booking
END //
DELIMITER ;
DDL:
model_name VARCHAR(100),
price DECIMAL(10,2)
);
FROM CarModel
GROUP BY model_name
DELIMITER //
IN modelId INT,
IN modelName VARCHAR(100),
IN modelPrice DECIMAL(10,2)
BEGIN
UPDATE CarModel
ELSE
END IF;
END //
DELIMITER ;
DDL:
name VARCHAR(100)
);
course_name VARCHAR(100)
);
student_id INT,
course_id INT,
);
**
DELIMITER //
BEGIN
CASE day_num
WHEN 1 THEN SET day_name = 'Sunday';
END CASE;
END //
DELIMITER ;
-- Example usage:
SELECT @output;
Granting privileges:
MySQL doesn't support native XML databases, but XML data can be stored in a column.
quiz_title VARCHAR(100),
quiz_content TEXT
);
1,
'<?xml version="1.0"?>
<quiz>
<question>
<option>Paris</option>
<option>Berlin</option>
</question>
<result>Passed</result>
</quiz>'
);
To extract or manipulate XML, consider using application logic or MySQL JSON fields instead.
START TRANSACTION;
-- ROLLBACK; -- if error
START TRANSACTION
COMMIT
ROLLBACK
11b) Create Document, column and graph based data using NOSQL database tools.
1. Document-Based Data (e.g., Product Catalog)
use CompanyDB
db.ProductCatalog.insertOne({
_id: 1,
name: "Laptop",
brand: "Dell",
price: 65000,
specs: {
RAM: "16GB",
},
});
db.Metrics.insertOne({
user_id: 1001,
metric_1: 10,
metric_2: 45,
metric_3: 78,
metric_4: 12,
metric_5: 99
});
db.Graph.insertMany([
{ node: 3, connected_to: [] },
To find connections:
db.Graph.find({ node: 1 })
import tkinter as tk
import mysql.connector
def connect_db():
return mysql.connector.connect(
host="localhost",
user="root",
database="management_db"
return
try:
conn = connect_db()
cursor = conn.cursor()
cursor.execute("INSERT INTO hostel_students (name, room_number) VALUES (%s, %s)", (name, room))
conn.commit()
conn.close()
except Exception as e:
def show_hostel_menu():
top = tk.Toplevel()
top.title("Hostel Management")
tk.Label(top, text="Student Name").grid(row=0, column=0, padx=10, pady=5)
name = tk.Entry(top)
room = tk.Entry(top)
root = tk.Tk()
root.mainloop()
import tkinter as tk
import mysql.connector
def connect_db():
return mysql.connector.connect(
host="localhost",
user="root",
password="your_password",
database="management_db"
try:
conn = connect_db()
cursor = conn.cursor()
cursor.execute("INSERT INTO grocery_cart (item, quantity) VALUES (%s, %s)", (item, int(qty)))
conn.commit()
conn.close()
except Exception as e:
def show_grocery_menu():
top = tk.Toplevel()
item = tk.Entry(top)
qty = tk.Entry(top)
root = tk.Tk()
root.mainloop()
import mysql.connector
def connect_db():
return mysql.connector.connect(
host="localhost",
user="root",
password="your_password",
database="management_db"
return
try:
conn = connect_db()
cursor = conn.cursor()
cursor.execute("INSERT INTO properties (property_name, price) VALUES (%s, %s)", (name, int(price)))
conn.commit()
conn.close()
except Exception as e:
def show_property_menu():
top = tk.Toplevel()
name = tk.Entry(top)
price = tk.Entry(top)
root = tk.Tk()
root.mainloop()
import tkinter as tk
import mysql.connector
def connect_db():
return mysql.connector.connect(
host="localhost",
user="root",
password="your_password",
database="management_db"
return
try:
conn = connect_db()
cursor = conn.cursor()
cursor.execute("INSERT INTO bookings (tourist_name, destination) VALUES (%s, %s)", (tourist, destination))
conn.commit()
conn.close()
except Exception as e:
def show_tourism_menu():
top = tk.Toplevel()
top.title("Tourism Management")
tourist = tk.Entry(top)
destination = tk.Entry(top)
root = tk.Tk()
root.mainloop()