Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
21 views

DBMS Lab Program 4

The document details the creation of tables to store student, semester, class, subject and marks data in a database. It provides the SQL queries to insert sample data into the tables. It also lists out some queries to retrieve data from the tables by joining them based on foreign keys.

Uploaded by

amazing video
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views

DBMS Lab Program 4

The document details the creation of tables to store student, semester, class, subject and marks data in a database. It provides the SQL queries to insert sample data into the tables. It also lists out some queries to retrieve data from the tables by joining them based on foreign keys.

Uploaded by

amazing video
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Table Creation:

CREATE TABLE STUDENT_dbms (USN VARCHAR (10) PRIMARY KEY, SNAME VARCHAR
(25), ADDRESS VARCHAR (25), PHONE BIGINT,GENDER CHAR (1));

CREATE TABLE SEMSEC_dbms (SSID VARCHAR (5) PRIMARY KEY,SEM INTEGER,SEC


CHAR (1));

CREATE TABLE CLASS_dbms (USN VARCHAR (10),SSID VARCHAR (5),PRIMARY KEY


(USN, SSID),FOREIGN KEY (USN) REFERENCES STUDENT_dbms (USN),FOREIGN KEY
(SSID) REFERENCES SEMSEC_dbms (SSID));

CREATE TABLE SUBJECT_dbms (SUBCODE VARCHAR (8),TITLE VARCHAR (20),SEM


INTEGER,CREDITS INTEGER,PRIMARY KEY (SUBCODE));

CREATE TABLE IAMARKS_dbms (USN VARCHAR (10),SUBCODE VARCHAR (8),SSID


VARCHAR (5),TEST1 INTEGER,TEST2 INTEGER,TEST3 INTEGER,FINALIA INTEGER,
PRIMARY KEY (USN, SUBCODE, SSID),FOREIGN KEY (USN) REFERENCES
STUDENT_dbms(USN),FOREIGN KEY (SUBCODE) REFERENCES SUBJECT_dbms
(SUBCODE),FOREIGN KEY(SSID) REFERENCES SEMSEC_dbms (SSID));

Inserting values:
INSERT INTO STUDENT_dbms VALUES ('1B115CS020','AKSHAY','BELAGAVI',8877881122,'M');
INSERT INTO STUDENT_dbms VALUES ('1B115CS062','SANDHYA','BENGALURU',7722829912,'F');
INSERT INTO STUDENT_dbms VALUES ('1B115CS091','TEESHA','BENGALURU',7712312312,'F');
INSERT INTO STUDENT_dbms VALUES ('1B115CS066','SUPRIYA','MANGALURU',8877881122,'F');
INSERT INTO STUDENT_dbms VALUES ('1B115CS010','ABHAY','BENGALURU',9900211201,'M');
INSERT INTO STUDENT_dbms VALUES ('1B115CS032','BHASKAR','BENGALURU',9923211099,'M');
INSERT INTO STUDENT_dbms VALUES ('1B115CS025','ASMI','BENGALURU', 7894737377,'F');
INSERT INTO STUDENT_dbms VALUES ('1B115CS011','AJAY','TUMKUR', 9845091341,'M');
INSERT INTO STUDENT_dbms VALUES ('1B115CS101','AJAY','TUMKUR', 9845091341,'M');
INSERT INTO STUDENT_dbms VALUES ('1B115CS029','CHITRA','DAVANGERE',7696772121,'F');
INSERT INTO STUDENT_dbms VALUES ('1B115CS045','JEEVA','BELLARY', 9944850121,'M');
INSERT INTO STUDENT_dbms VALUES ('1B115CS092','SANTOSH','MANGALURU',8812332201,'M');
INSERT INTO STUDENT_dbms VALUES ('1B115CS046','ISMAIL','KALBURGI', 9900232201,'M');
INSERT INTO STUDENT_dbms VALUES ('1B115CS088','SAMEERA','SHIMOGA',9905542212,'F');
INSERT INTO STUDENT_dbms VALUES ('1B115CS122','VINAYAKA','CHIKAMAGALUR',8800880011,'M');

INSERT INTO SEMSEC_dbms VALUES ('CSE8A', 8,'A');


INSERT INTO SEMSEC_dbms VALUES ('CSE8B', 8,'B');
INSERT INTO SEMSEC_dbms VALUES ('CSE8C', 8,'C');
INSERT INTO SEMSEC_dbms VALUES ('CSE7A', 7,'A');
INSERT INTO SEMSEC_dbms VALUES ('CSE7B', 7,'B');
INSERT INTO SEMSEC_dbms VALUES ('CSE7C', 7,'C');
INSERT INTO SEMSEC_dbms VALUES ('CSE6A', 6,'A');
INSERT INTO SEMSEC_dbms VALUES ('CSE6B', 6,'B');
INSERT INTO SEMSEC_dbms VALUES ('CSE6C', 6,'C');
INSERT INTO SEMSEC_dbms VALUES ('CSE5A', 5,'A');
INSERT INTO SEMSEC_dbms VALUES ('CSE5B', 5,'B');
INSERT INTO SEMSEC_dbms VALUES ('CSE5C', 5,'C');
INSERT INTO SEMSEC_dbms VALUES ('CSE4A', 4,'A');
INSERT INTO SEMSEC_dbms VALUES ('CSE4B', 4,'B');
INSERT INTO SEMSEC_dbms VALUES ('CSE4C', 4,'C');
INSERT INTO SEMSEC_dbms VALUES ('CSE3A', 3,'A');
INSERT INTO SEMSEC_dbms VALUES ('CSE3B', 3,'B');
INSERT INTO SEMSEC_dbms VALUES ('CSE3C', 3,'C');
INSERT INTO SEMSEC_dbms VALUES ('CSE2A', 2,'A');
INSERT INTO SEMSEC_dbms VALUES ('CSE2B', 2,'B');
INSERT INTO SEMSEC_dbms VALUES ('CSE2C', 2,'C');
INSERT INTO SEMSEC_dbms VALUES ('CSE1A', 1,'A');
INSERT INTO SEMSEC_dbms VALUES ('CSE1B', 1,'B');
INSERT INTO SEMSEC_dbms VALUES ('CSE1C', 1,'C');

INSERT INTO CLASS_dbms VALUES ('1B115CS020','CSE8A');


INSERT INTO CLASS_dbms VALUES ('1B115CS062','CSE8A');
INSERT INTO CLASS_dbms VALUES ('1B115CS066','CSE8B');
INSERT INTO CLASS_dbms VALUES ('1B115CS091','CSE8C');
INSERT INTO CLASS_dbms VALUES ('1B115CS010','CSE7A');
INSERT INTO CLASS_dbms VALUES ('1B115CS025','CSE7A');
INSERT INTO CLASS_dbms VALUES ('1B115CS032','CSE7A');
INSERT INTO CLASS_dbms VALUES ('1B115CS011','CSE4A');
INSERT INTO CLASS_dbms VALUES ('1B115CS029','CSE4A');
INSERT INTO CLASS_dbms VALUES ('1B115CS045','CSE4B');
INSERT INTO CLASS_dbms VALUES ('1B115CS092','CSE4C');
INSERT INTO CLASS_dbms VALUES ('1B115CS045','CSE3A');
INSERT INTO CLASS_dbms VALUES ('1B115CS088','CSE3B');
INSERT INTO CLASS_dbms VALUES ('1B115CS122','CSE3C');

INSERT INTO SUBJECT_dbms VALUES ('10CS81','ACA', 8, 4);


INSERT INTO SUBJECT_dbms VALUES ('10CS82','SSM', 8, 4);
INSERT INTO SUBJECT_dbms VALUES ('10CS83','NM', 8, 4);
INSERT INTO SUBJECT_dbms VALUES ('10CS84','CC', 8, 4);
INSERT INTO SUBJECT_dbms VALUES ('10CS85','PW', 8, 4);
INSERT INTO SUBJECT_dbms VALUES ('10CS71','OOAD', 7, 4);
INSERT INTO SUBJECT_dbms VALUES ('10CS72','ECS', 7, 4);
INSERT INTO SUBJECT_dbms VALUES ('10CS73','PTW', 7, 4);
INSERT INTO SUBJECT_dbms VALUES ('10CS74','DWDM', 7, 4);
INSERT INTO SUBJECT_dbms VALUES ('10CS75','JAVA', 7, 4);
INSERT INTO SUBJECT_dbms VALUES ('10CS76','SAN', 7, 4);
INSERT INTO SUBJECT_dbms VALUES ('15CS51', 'ME', 5, 4);
INSERT INTO SUBJECT_dbms VALUES ('15CS52','CN', 5, 4);
INSERT INTO SUBJECT_dbms VALUES ('15CS53','DBMS', 5, 4);
INSERT INTO SUBJECT_dbms VALUES ('15CS54','ATC', 5, 4);
INSERT INTO SUBJECT_dbms VALUES ('15CS55','JAVA', 5, 3);
INSERT INTO SUBJECT_dbms VALUES ('15CS56','AI', 5, 3);
INSERT INTO SUBJECT_dbms VALUES ('15CS41','M4', 4, 4);
INSERT INTO SUBJECT_dbms VALUES ('15CS42','SE', 4, 4);
INSERT INTO SUBJECT_dbms VALUES ('15CS43','DAA', 4, 4);
INSERT INTO SUBJECT_dbms VALUES ('15CS44','MPMC', 4, 4);
INSERT INTO SUBJECT_dbms VALUES ('15CS45','OOC', 4, 3);
INSERT INTO SUBJECT_dbms VALUES ('15CS46','DC', 4, 3);
INSERT INTO SUBJECT_dbms VALUES ('15CS31','M3', 3, 4);
INSERT INTO SUBJECT_dbms VALUES ('15CS32','ADE', 3, 4);
INSERT INTO SUBJECT_dbms VALUES ('15CS33','DSA', 3, 4);
INSERT INTO SUBJECT_dbms VALUES ('15CS34','CO', 3, 4);
INSERT INTO SUBJECT_dbms VALUES ('15CS35','USP', 3, 3);
INSERT INTO SUBJECT_dbms VALUES ('15CS36','DMS', 3, 3);

INSERT INTO IAMARKS_dbms (USN, SUBCODE, SSID, TEST1, TEST2, TEST3) VALUES
('1B115CS101','10CS81','CSE8C', 15, 16, 18);
INSERT INTO IAMARKS_dbms (USN, SUBCODE, SSID, TEST1, TEST2, TEST3) VALUES
('1B115CS101','10CS82','CSE8C', 12, 19, 14);
INSERT INTO IAMARKS_dbms (USN, SUBCODE, SSID, TEST1, TEST2, TEST3) VALUES
('1B115CS101','10CS83','CSE8C', 19, 15, 20);
INSERT INTO IAMARKS_dbms(USN, SUBCODE, SSID, TEST1, TEST2, TEST3) VALUES
('1B115CS101','10CS84','CSE8C', 20, 16, 19);
INSERT INTO IAMARKS_dbms(USN, SUBCODE, SSID, TEST1, TEST2, TEST3) VALUES
('1B115CS101','10CS85','CSE8C', 15, 15, 12);

Queries:

1. List all the student details studying in fourth semester ‘C’ section.

SELECT S.*, SS.SEM, SS.SEC


FROM STUDENT_dbms S, SEMSEC_dbms SS, CLASS_dbms C
WHERE S.USN =C.USN AND
SS.SSID =C.SSID AND
SS.SEM = 4 AND
SS.SEc='C';
2. Compute the total number of male and female students in each semester and in each section.

SELECT SS.SEM, SS.SEC, S.GENDER, COUNT (S.GENDER) AS COUNT


FROM STUDENT_dbms S, SEMSEC_dbms SS, CLASS_dbms C
WHERE S.USN = C.USN AND
SS.SSID = C.SSID
GROUP BY SS.SEM, SS.SEC, S.GENDER
ORDER BY SEM;

3. Create a view of Test1 marks of student USN ‘1BI15CS101’ in all subjects.

CREATE VIEW STU_TEST2_MARKS_VIEW_dbms


AS
SELECT TEST1, SUBCODE
FROM IAMARKS2
WHERE USN = '1B115CS101';

select * from STU_TEST2_MARKS_VIEW_dbms;

4. Calculate the FinalIA (average of best two test marks) and update the corresponding table for all
students.

CREATE PROCEDURE [dbo].[AVGMARKS_dbms]


AS
BEGIN

DECLARE @C_A AS Numeric(10,0);


DECLARE @C_B AS Numeric(10,0);
DECLARE @C_C AS Numeric(10,0);
DECLARE @C_SM AS Numeric(10,0);
DECLARE @C_AV AS Numeric(10,0);

DECLARE C_IAMARKS_dbms CURSOR FOR


SELECT
CASE WHEN TEST2 > TEST1 THEN TEST2 ELSE TEST1 END AS A
,CASE WHEN TEST1 > TEST3 THEN TEST1 ELSE TEST3 END AS B
,CASE WHEN TEST3 > TEST2 THEN TEST3 ELSE TEST2 END AS C
FROM IAMARKS_dbms FOR UPDATE OF FINALIA;
OPEN C_IAMARKS_dbms
FETCH NEXT FROM C_IAMARKS_dbms
INTO @C_A, @C_B, @C_C
WHILE (@@FETCH_STATUS= 0)
BEGIN

IF @C_A <> @C_B


SET @C_SM = @C_A+@C_B;
ELSE
SET @C_SM = @C_A+@C_C;

SET @C_AV = @C_SM/2


UPDATE IAMARKS_dbms SET FINALIA = @C_AV WHERE CURRENT OF
C_IAMARKS_dbms

FETCH NEXT FROM C_IAMARKS_dbms


INTO @C_A, @C_B, @C_C
END

CLOSE C_IAMARKS_dbms
DEALLOCATE C_IAMARKS_dbms
END

EXEC AVGMARKS_dbms;

select * from IAMARKS_dbms

5. Categorize students based on the following criterion:

If FinalIA = 17 to 20 then CAT = ‘Outstanding’

If FinalIA = 12 to 16 then CAT = ‘Average’

If FinalIA< 12 then CAT = ‘Weak’

Give these details only for 8th semester A, B, and C section students

SELECT S.USN,S.SNAME,S.ADDRESS,S.PHONE,S.GENDER,
(CASE
WHEN IA.FINALIA BETWEEN 17 AND 20 THEN 'OUTSTANDING'
WHEN IA.FINALIA BETWEEN 12 AND 16 THEN 'AVERAGE'
ELSE 'WEAK'
END) AS CAT
FROM STUDENT_dbms S, SEMSEC_dbms SS, IAMARKS_dbms IA, SUBJECT_dbms SUB
WHERE S.USN = IA.USN AND
SS.SSID = IA.SSID AND
SUB.SUBCODE = IA.SUBCODE AND
SUB.SEM = 8;

You might also like