Unit 2
Unit 2
Relational Algebra aur Relational Calculus DBMS ke core topics hain jo relational databases me data retrieval aur manipulation ke
theoretical foundation ko define karte hain:
Relational Algebra
Kya Hai?
Relational Algebra ek procedural query language hai jo database me data ko retrieve aur manipulate karne ke liye operations provide
karta hai. Iska matlab hai ki hume step-by-step batana padta hai ki data kaise aur kahan se retrieve karna hai.
1. Selection (σ)
o Syntax:
σ<condition>(Table)
o Example:
Students table me Course = 'B.Tech' wale students dikhana:
Code:
σCourse='B.Tech'(Students)
2. Projection (π)
o Syntax:
π<columns>(Table)
o Example:
Name aur Course wale columns dikhana:
Code:
πName, Course(Students)
3. Union (∪)
Table1 ∪ Table2
o Syntax:
o Example:
Students1 aur Students2 ka combined list.
o Syntax:
Table1 − Table2
o Example:
Students jo Course1 me hain but Course2 me nahi.
o Do tables ka cross-product karta hai, yani har row ko dusri table ki har row ke saath combine karta hai.
o Syntax:
Table1 × Table2
o Example:
Students aur Courses ka cartesian product.
6. Rename (ρ)
o Syntax:
ρ<new_name>(Table)
o Example:
Students table ko Enrolled rename karna:
Code:
ρEnrolled(Students)
7. Join
o Types:
Relational Calculus
Kya Hai?
Relational Calculus ek non-procedural query language hai jo sirf batata hai ki data kya chahiye, kaise retrieve karna hai yeh specify
nahi karta.
o Syntax:
{t | Condition(t)}
Yaha t ek tuple hai aur Condition specify karta hai ki kaunsa tuple select karna hai.
o Example:
Students table se Course = 'B.Tech' wale students:
Code:
o Syntax:
{<attributes> | Condition}
o Example:
Name aur Course retrieve karna jaha Course = 'B.Tech':
Code:
Type Procedural (Step-by-step batata hai) Non-Procedural (Sirf kya chahiye batata hai)
Focus Kaise data retrieve karna hai (How) Kya data chahiye (What)
Ease of Use Algorithmic aur execution focus Logical aur condition focus
Relational Algebra
Code:
πName(σCourse='B.Tech'(Students))
Relational Calculus
Code:
Short Summary
3. Exam ke liye: Definitions, basic operations, aur examples zaroor practice karein.
Conclusion
Relational Algebra aur Relational Calculus relational databases ke theoretical foundation hain. Dono approaches ka use database
queries likhne aur samajhne me hota hai.
SQL Commands ke Types ek important topic hai jo database se interact karne ke liye use hoti hai. SQL commands ko 5 categories me
divide kiya jata hai: DDL, DML, DCL, TCL, aur DQL. Chaliye ise simple hinglish me samajhte hain:
Kya hai?
DDL commands database ki structure define aur modify karne ke liye use hoti hain. Iska kaam schema create karna aur
usme changes karna hota hai.
Common Commands:
Code:
Name VARCHAR(50),
Course VARCHAR(50)
);
Code:
Code:
o TRUNCATE: Table ke sare records delete karta hai, lekin structure safe rakhta hai.
Code:
Kya hai?
DML commands data ko insert, update, delete, aur retrieve karne ke liye use hoti hain. Ye data manipulation ke liye kaam
karti hain.
Common Commands:
Code:
UPDATE Students
Code:
Kya hai?
DCL commands database me permissions aur access control handle karti hain.
Common Commands:
Code:
Code:
Kya hai?
TCL commands transactions ko manage aur control karne ke liye use hoti hain.
Common Commands:
Code:
COMMIT;
Code:
ROLLBACK;
o SAVEPOINT: Transaction ke andar ek point set karta hai jaha se rollback possible hai.
Code:
SAVEPOINT sp1;
Kya hai?
DQL commands database se data retrieve karne ke liye use hoti hain. Is category me sirf ek command aati hai:
Code:
Specific columns:
Code:
Condition ke sath:
Code:
Short Example:
Code:
DDL Example:
Code:
DML Example:
Code:
DCL Example:
Code:
TCL Example:
Code:
SAVEPOINT sp1;
ROLLBACK TO sp1;
DQL Example:
Difference Table
Conclusion
SQL commands database ke har aspect ko handle karne ke liye categorized hain. Exam ke liye examples aur syntax practice karein,
aur commands ka practical use samajhne ki koshish karein.
Queries aur Subqueries DBMS ke essential concepts hain jo database se information retrieve karte hain:
Query ek SQL statement hai jo database se specific data retrieve karne ke liye likhi jati hai.
Queries ka kaam database se questions puchhna aur unka jawab lana hota hai.
Code:
Yaha Students table se un students ki details fetch ki gayi hain jo B.Tech course me enrolled hain.
Iska kaam inner query ka result outer query me use karna hota hai.
Code:
Inner query (SELECT Roll_No FROM Results...) un students ke roll numbers la rahi hai jinke marks 80 se zyada hain.
Types of Subqueries
o Example:
Code:
WHERE Roll_No =
Yaha inner query Toppers table se rank 1 wale student ka roll number de rahi hai.
o Example:
Code:
WHERE Roll_No IN
Inner query multiple roll numbers return karegi jinke marks 80 se zyada hain.
3. Correlated Subquery:
o Subquery outer query ke har row ke liye alag execute hoti hai.
o Example:
Code:
WHERE EXISTS
(SELECT * FROM Results r WHERE s.Roll_No = r.Roll_No AND r.Marks > 80);
Yaha har student ke liye check hoga ki uska roll number Results table me marks > 80 ke saath exist karta
hai ya nahi.
Definition Independent SQL statement Dusri query ke andar likhi jati hai
Execution Directly execute hoti hai Inner query pe depend karta hai
Result Final output deta hai Result outer query ke liye input hota hai
Example SELECT * FROM Students; SELECT Name FROM Students WHERE Roll_No IN (SELECT Roll_No FROM Results);
Short Examples
Query Example:
Table: Students
Code:
Query:
Code:
Output:
Aman, Rahul
Subquery Example:
Table: Results
Code:
Roll_No | Marks
101 | 85
102 | 70
103 | 90
Subquery:
Code:
Output:
Aman, Rahul
EXISTS: Check karta hai ki subquery ka result exist karta hai ya nahi.
o Example:
code
Code:
WHERE Roll_No IN
Middle query un roll numbers ko fetch karti hai jinke marks average se zyada hain.
Conclusion
4. Practical implementation samajhne ke liye SELECT, IN, EXISTS, aur JOIN ka use seekhein.
Question 4. Aggregate Functions
Aggregate Functions DBMS me wo functions hain jo database table ke rows ke group par kaam karte hain aur ek single summary
value return karte hain, jaise ki sum, average, maximum, etc:
Aggregate functions ka kaam data ko summarize karna hota hai. Ye ek ya multiple rows ke data ko process karke ek single value
return karte hain.
101 Aman 85
102 Priya 90
103 Rahul 75
104 Anjali 95
1. COUNT()
Syntax:
Code:
Example:
Code:
Output:
2. SUM()
Syntax:
Code:
Code:
Output:
345
3. AVG()
Syntax:
Code:
Example:
Code:
Output:
86.25
4. MAX()
Syntax:
Code:
Example:
Code:
Output:
95
5. MIN()
Syntax:
Code:
Code:
Output:
75
Aggregate functions ko GROUP BY ke saath use karte hain jab hume data ko group karke summary chahiye hoti hai.
Query:
Code:
FROM Students
GROUP BY Course;
Output:
Course Average_Marks
B.Tech 80.0
MBA 92.5
HAVING clause ko GROUP BY ke saath filter lagane ke liye use karte hain.
Query:
Code:
FROM Students
GROUP BY Course
Course Average_Marks
MBA 92.5
1. Numeric Columns: SUM() aur AVG() sirf numeric columns pe kaam karte hain.
2. NULL Values:
Short Summary
Conclusion:
Aggregate functions jaise COUNT, SUM, AVG, MAX, aur MIN data ko summarize karne aur useful information nikalne ke liye use hote
hain. Inhe SQL queries ke saath efficiently use karna database handling ke liye zaroori hai.
Question 5: SQL Joins- 3PYQ
SQL Joins ek important topic hai jo multiple tables ke data ko combine karne ke liye use hota hai.
SQL Joins ka kaam tables ke rows ko relational column(s) ke basis pe combine karna hota hai.
Jab ek table ka data dusre table ke data se linked hota hai, tab Joins ka use hota hai.
Types of Joins:
1. INNER JOIN
5. CROSS JOIN
6. SELF JOIN
1. INNER JOIN
Syntax:
Code:
SELECT columns
FROM table1
ON table1.common_column = table2.common_column;
Example:
Tables:
Students
Roll_No Marks
101 85
103 90
Query:
Code:
FROM Students
ON Students.Roll_No = Results.Roll_No;
Output:
Name Marks
Aman 85
Syntax:
Code:
SELECT columns
FROM table1
ON table1.common_column = table2.common_column;
Example:
Query:
Code:
FROM Students
ON Students.Roll_No = Results.Roll_No;
Output:
Name Marks
Aman 85
Priya NULL
Syntax:
Code:
SELECT columns
FROM table1
ON table1.common_column = table2.common_column;
Example:
Query:
Code:
FROM Students
ON Students.Roll_No = Results.Roll_No;
Output:
Name Marks
Aman 85
NULL 90
Syntax:
Code:
SELECT columns
FROM table1
ON table1.common_column = table2.common_column;
Example:
Query:
Code:
FROM Students
ON Students.Roll_No = Results.Roll_No;
Output:
Name Marks
Aman 85
Priya NULL
NULL 90
5. CROSS JOIN
Syntax:
Code:
SELECT columns
FROM table1
Example:
Query:
Code:
FROM Students
Output:
Name Marks
Aman 85
Aman 90
Priya 85
Priya 90
6. SELF JOIN
Syntax:
Code:
WHERE condition;
Example:
Code:
Question 1:
Code:
FROM Students
ON Students.Roll_No = Results.Roll_No;
Question 2:
Differentiate between LEFT JOIN and RIGHT JOIN with examples (AKTU 2020)
Answer:
LEFT JOIN: Left table ke sare rows aur right table ke matching rows.
RIGHT JOIN: Right table ke sare rows aur left table ke matching rows.
Code:
FROM Students
ON Students.Roll_No = Results.Roll_No;
Code:
FROM Students
ON Students.Roll_No = Results.Roll_No;
Question 3:
Write a query to display all students along with their marks, if available (AKTU 2019)
Answer:
Code:
FROM Students
ON Students.Roll_No = Results.Roll_No;
Conclusion
2. Focus on Syntax aur Examples: PYQs me mostly syntax aur query-based questions aate hain.
Trigger ek special stored procedure hota hai jo automatically execute hota hai jab kisi table me koi specific event (INSERT,
UPDATE, DELETE) hoti hai.
Triggers ka use data integrity maintain karne, audit logs banane, aur automated tasks execute karne ke liye hota hai.
o INSERT
o UPDATE
o DELETE
Code:
ON table_name
BEGIN
-- SQL statements
END;
Example Triggers
Requirement: Jab bhi ek new row insert ho, ek log table me entry banani hai.
Tables:
1. Students (Main Table)
Trigger Code:
Code:
AFTER INSERT
ON Students
BEGIN
END;
Explanation:
Jab bhi Students table me new row add hoti hai, Logs table me ek INSERT entry ban jati hai.
Requirement: Students table me koi bhi negative marks insert hone na de.
Trigger Code:
Code:
BEFORE INSERT
ON Students
BEGIN
END IF;
END;
Explanation: Ye trigger ensure karta hai ki Students table me negative marks insert na ho.
Answer:
Triggers ek special procedure hain jo automatically fire hote hain jab kisi table par INSERT, UPDATE, ya DELETE operation hota hai.
Example:
Code:
AFTER INSERT
ON Students
BEGIN
END;
Question 2:
Write a trigger to ensure no student gets marks less than 0 in a Students table (AKTU 2020)
Answer:
Code:
BEFORE INSERT
ON Students
BEGIN
END IF;
END;
Trigger Use-Cases
3. Automatic Updates: Kisi event ke baad dusre table me data update karna.
Exam Preparation Tips:
3. Events Par Focus Karein: INSERT, UPDATE, DELETE par triggers ka kaam kaise hota hai ye samjhein.
Conclusion:
Triggers ek powerful feature hai jo database operations ko automate aur secure banate hain. PYQs me mostly examples ya syntax
related questions aate hain, to unhe achhe se prepare karein.