Skip to content

Commit 24f88a7

Browse files
authored
Create dbms_college.sql
1 parent 605fefe commit 24f88a7

File tree

1 file changed

+136
-0
lines changed

1 file changed

+136
-0
lines changed

dbms_college.sql

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
-- Create STUDENT table
2+
CREATE TABLE STUDENT (
3+
USN VARCHAR(10) PRIMARY KEY,
4+
SNAME VARCHAR(25),
5+
ADDRESS VARCHAR(25),
6+
PHONE VARCHAR(10),
7+
GENDER CHAR(1)
8+
);
9+
10+
-- Create SEMSEC table
11+
CREATE TABLE SEMSEC (
12+
SSID VARCHAR(5) PRIMARY KEY,
13+
SEM NUMBER(2),
14+
SEC CHAR(1)
15+
);
16+
17+
-- Create CLASS table
18+
CREATE TABLE CLASS (
19+
USN VARCHAR(10),
20+
SSID VARCHAR(5),
21+
PRIMARY KEY (USN, SSID),
22+
FOREIGN KEY (USN) REFERENCES STUDENT(USN),
23+
FOREIGN KEY (SSID) REFERENCES SEMSEC(SSID)
24+
);
25+
26+
-- Create SUBJECT table
27+
CREATE TABLE SUBJECT (
28+
SUBCODE VARCHAR(8) PRIMARY KEY,
29+
TITLE VARCHAR(20),
30+
SEM NUMBER(2),
31+
CREDITS NUMBER(2)
32+
);
33+
34+
-- Create IAMARKS table
35+
CREATE TABLE IAMARKS (
36+
USN VARCHAR(10),
37+
SUBCODE VARCHAR(8),
38+
SSID VARCHAR(5),
39+
TEST1 NUMBER(2),
40+
TEST2 NUMBER(2),
41+
TEST3 NUMBER(2),
42+
FINALIA NUMBER(3),
43+
PRIMARY KEY (USN, SUBCODE, SSID),
44+
FOREIGN KEY (USN) REFERENCES STUDENT(USN),
45+
FOREIGN KEY (SUBCODE) REFERENCES SUBJECT(SUBCODE),
46+
FOREIGN KEY (SSID) REFERENCES SEMSEC(SSID)
47+
);
48+
49+
-- Insert values into STUDENT table
50+
INSERT INTO STUDENT VALUES ('lcg15cs001', 'Abhi', 'tumkur', '9875698410', 'M');
51+
INSERT INTO STUDENT VALUES ('lcg15cs002', 'Amulya', 'Gubbi', '8896557412', 'F');
52+
INSERT INTO STUDENT VALUES ('lcg16me063', 'Chethan', 'Nitur', '7894759522', 'M');
53+
INSERT INTO STUDENT VALUES ('lcg14ec055', 'Raghavi', 'Sspuram', '9485675521', 'F');
54+
INSERT INTO STUDENT VALUES ('lcg15ee065', 'Sanjay', 'Bangalore', '9538444404', 'M');
55+
56+
-- Insert values into SEMSEC table
57+
INSERT INTO SEMSEC VALUES ('5A', 5, 'A');
58+
INSERT INTO SEMSEC VALUES ('3B', 3, 'B');
59+
INSERT INTO SEMSEC VALUES ('7A', 7, 'A');
60+
INSERT INTO SEMSEC VALUES ('2C', 2, 'C');
61+
INSERT INTO SEMSEC VALUES ('4B', 4, 'B');
62+
INSERT INTO SEMSEC VALUES ('4C', 4, 'C');
63+
64+
-- Insert values into CLASS table
65+
INSERT INTO CLASS VALUES ('lcg15cs001', '5A');
66+
INSERT INTO CLASS VALUES ('lcg15cs002', '5A');
67+
INSERT INTO CLASS VALUES ('lcg16me063', '3B');
68+
INSERT INTO CLASS VALUES ('lcg14ec055', '7A');
69+
INSERT INTO CLASS VALUES ('lcg15ee065', '3B');
70+
INSERT INTO CLASS VALUES ('lcg15ee065', '4C');
71+
INSERT INTO CLASS VALUES ('lcg15cs002', '4C');
72+
73+
-- Insert values into SUBJECT table
74+
INSERT INTO SUBJECT VALUES ('10CS81', 'ACA', 8, 4);
75+
INSERT INTO SUBJECT VALUES ('15cs53', 'Dbms', 5, 4);
76+
INSERT INTO SUBJECT VALUES ('15cs33', 'ds', 3, 4);
77+
INSERT INTO SUBJECT VALUES ('15cs34', 'Co', 3, 4);
78+
INSERT INTO SUBJECT VALUES ('15cs158', 'Dba', 5, 2);
79+
INSERT INTO SUBJECT VALUES ('10cs71', 'Oomd', 7, 4);
80+
81+
-- Insert values into IAMARKS table
82+
INSERT INTO IAMARKS VALUES ('lcg15cs001', '15cs53', '5A', 18, 19, 15, NULL);
83+
INSERT INTO IAMARKS VALUES ('lcg15cs002', '15cs53', '5A', 15, 16, 14, NULL);
84+
INSERT INTO IAMARKS VALUES ('lcg16me063', '15cs33', '3B', 10, 15, 16, NULL);
85+
INSERT INTO IAMARKS VALUES ('lcg14ec055', '10cs71', '7A', 18, 20, 21, NULL);
86+
INSERT INTO IAMARKS VALUES ('lcg15ee065', '15cs33', '3B', 16, 20, 17, NULL);
87+
INSERT INTO IAMARKS VALUES ('lcg15ee065', '15cs53', '4C', 19, 20, 18, NULL);
88+
89+
-- 1. List all the student details studying in fourth semester ‘C’ section.
90+
SELECT s.USN, s.SName, s.Address, s.Phone, s.Gender
91+
FROM STUDENT s
92+
JOIN CLASS c ON s.USN = c.USN
93+
JOIN SEMSEC ss ON c.SSID = ss.SSID
94+
WHERE ss.Sem = 4 AND ss.Sec = 'C';
95+
96+
-- 2. Compute the total number of male and female students in each semester and in each section.
97+
SELECT ss.Sem, ss.Sec, s.Gender, COUNT(*) AS Total
98+
FROM STUDENT s
99+
JOIN CLASS c ON s.USN = c.USN
100+
JOIN SEMSEC ss ON c.SSID = ss.SSID
101+
GROUP BY ss.Sem, ss.Sec, s.Gender
102+
ORDER BY ss.Sem, ss.Sec, s.Gender;
103+
104+
-- 3. Create a view of Test1 marks of student USN ‘1BI15CS101’ in all subjects.
105+
CREATE VIEW Test1Marks AS
106+
SELECT Subcode, Test1
107+
FROM IAMARKS
108+
WHERE USN = '1BI15CS101';
109+
110+
-- To see the view
111+
SELECT * FROM Test1Marks;
112+
113+
-- 4. Calculate the FinalIA (average of best two test marks) and update the corresponding table for all students.
114+
UPDATE IAMARKS
115+
SET FinalIA = (
116+
SELECT ROUND((GREATEST(Test1, Test2, Test3) + LEAST(GREATEST(Test1, Test2), GREATEST(Test2, Test3), GREATEST(Test1, Test3))) / 2.0)
117+
)
118+
WHERE FinalIA IS NULL;
119+
120+
-- 5. Categorize students based on the following criterion for 8th semester A, B, and C section students:
121+
-- If FinalIA = 17 to 20 then CAT = ‘Outstanding’
122+
-- If FinalIA = 12 to 16 then CAT = ‘Average’
123+
-- If FinalIA < 12 then CAT = ‘Weak’
124+
125+
SELECT s.USN, s.SName, s.Address, s.Phone, s.Gender,
126+
CASE
127+
WHEN ia.FinalIA BETWEEN 17 AND 20 THEN 'Outstanding'
128+
WHEN ia.FinalIA BETWEEN 12 AND 16 THEN 'Average'
129+
ELSE 'Weak'
130+
END AS CAT
131+
FROM STUDENT s
132+
JOIN CLASS c ON s.USN = c.USN
133+
JOIN SEMSEC ss ON c.SSID = ss.SSID
134+
JOIN IAMARKS ia ON s.USN = ia.USN
135+
JOIN SUBJECT sub ON ia.Subcode = sub.Subcode
136+
WHERE ss.Sem = 8 AND ss.Sec IN ('A', 'B', 'C');

0 commit comments

Comments
 (0)