0% found this document useful (0 votes)
2 views

ASSIGNMENT-2

The document outlines the creation of a database schema for a student management system, including tables for DEPARTMENT, STUDENT, COURSE, and COURSE_ENROLLED, along with their relationships. It includes SQL commands for inserting data into these tables and creating a view for student-department relationships. Additionally, it demonstrates the use of indexes and a query to retrieve student names and their enrolled courses based on department affiliation.

Uploaded by

RAIHAN MISTRY53
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

ASSIGNMENT-2

The document outlines the creation of a database schema for a student management system, including tables for DEPARTMENT, STUDENT, COURSE, and COURSE_ENROLLED, along with their relationships. It includes SQL commands for inserting data into these tables and creating a view for student-department relationships. Additionally, it demonstrates the use of indexes and a query to retrieve student names and their enrolled courses based on department affiliation.

Uploaded by

RAIHAN MISTRY53
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

SET LINESIZE 200;

SET PAGESIZE 1000;

ALTER SESSION SET NLS_DATE_FORMAT='DD-MM-YYYY';

CREATE TABLE DEPARTMENT (


DEPT_ID INT PRIMARY KEY,
DEPT_NAME VARCHAR(50),
HOD VARCHAR(50)
);

DESC DEPARTMENT;

CREATE TABLE STUDENT (


STUDENT_ID INT PRIMARY KEY,
STUDENT_NAME VARCHAR(50),
DOB DATE,
DEPT_ID INT,
FOREIGN KEY (DEPT_ID) REFERENCES DEPARTMENT(DEPT_ID)
);

DESC STUDENT;

CREATE TABLE COURSE (


COURSE_ID INT PRIMARY KEY,
COURSE_NAME VARCHAR(50),
DEPT_ID INT,
FOREIGN KEY (DEPT_ID) REFERENCES DEPARTMENT(DEPT_ID)
);

DESC COURSE;

CREATE TABLE COURSE_ENROLLED (


STUDENT_ID INT,
COURSE_ID INT,
PRIMARY KEY (STUDENT_ID, COURSE_ID),
FOREIGN KEY (STUDENT_ID) REFERENCES STUDENT(STUDENT_ID),
FOREIGN KEY (COURSE_ID) REFERENCES COURSE(COURSE_ID)
);

DESC COURSE_ENROLLED;

INSERT INTO DEPARTMENT (DEPT_ID, DEPT_NAME, HOD) VALUES (1, 'CSE', 'Mrs.
Chowdhury');
INSERT INTO DEPARTMENT (DEPT_ID, DEPT_NAME, HOD) VALUES (2, 'EE', 'Mr. Hossain');
INSERT INTO DEPARTMENT (DEPT_ID, DEPT_NAME, HOD) VALUES (3, 'Mech', 'Mr.
Banerjee');
INSERT INTO DEPARTMENT (DEPT_ID, DEPT_NAME, HOD) VALUES (4, 'Civil', 'Ms.
Rodriguez');
INSERT INTO DEPARTMENT (DEPT_ID, DEPT_NAME, HOD) VALUES (5, 'IT', 'Mr. Sarkar');

SELECT * FROM DEPARTMENT;

INSERT INTO STUDENT (STUDENT_ID, STUDENT_NAME, DOB, DEPT_ID) VALUES (1, 'Sanjay',
TO_DATE('10-MAR-2004', 'DD-MON-YYYY'), 1);
INSERT INTO STUDENT (STUDENT_ID, STUDENT_NAME, DOB, DEPT_ID) VALUES (2, 'Arif',
TO_DATE('2-JUN-2004', 'DD-MON-YYYY'), 4);
INSERT INTO STUDENT (STUDENT_ID, STUDENT_NAME, DOB, DEPT_ID) VALUES (3, 'Priya',
TO_DATE('12-JAN-2005', 'DD-MON-YYYY'), 1);
INSERT INTO STUDENT (STUDENT_ID, STUDENT_NAME, DOB, DEPT_ID) VALUES (4, 'John',
TO_DATE('23-AUG-2004', 'DD-MON-YYYY'), 2);
INSERT INTO STUDENT (STUDENT_ID, STUDENT_NAME, DOB, DEPT_ID) VALUES (5, 'Shabnam',
TO_DATE('18-OCT-2004', 'DD-MON-YYYY'), 3);
INSERT INTO STUDENT (STUDENT_ID, STUDENT_NAME, DOB, DEPT_ID) VALUES (6, 'Krittika',
TO_DATE('7-DEC-2004', 'DD-MON-YYYY'), 5);
INSERT INTO STUDENT (STUDENT_ID, STUDENT_NAME, DOB, DEPT_ID) VALUES (7, 'Asim',
TO_DATE('27-FEB-2025', 'DD-MON-YYYY'), 1);
INSERT INTO STUDENT (STUDENT_ID, STUDENT_NAME, DOB, DEPT_ID) VALUES (8, 'Mary',
TO_DATE('15-SEP-2004', 'DD-MON-YYYY'), 2);

SELECT * FROM STUDENT;

INSERT INTO COURSE (COURSE_ID, COURSE_NAME, DEPT_ID) VALUES (1, 'ADBMS', 1);
INSERT INTO COURSE (COURSE_ID, COURSE_NAME, DEPT_ID) VALUES (2, 'ACNS', 1);
INSERT INTO COURSE (COURSE_ID, COURSE_NAME, DEPT_ID) VALUES (3, 'ToC', 1);
INSERT INTO COURSE (COURSE_ID, COURSE_NAME, DEPT_ID) VALUES (4, 'GCC', 1);

SELECT * FROM COURSE;

INSERT INTO COURSE_ENROLLED (STUDENT_ID, COURSE_ID) VALUES (1, 1);


INSERT INTO COURSE_ENROLLED (STUDENT_ID, COURSE_ID) VALUES (1, 3);
INSERT INTO COURSE_ENROLLED (STUDENT_ID, COURSE_ID) VALUES (2, 2);
INSERT INTO COURSE_ENROLLED (STUDENT_ID, COURSE_ID) VALUES (2, 4);
INSERT INTO COURSE_ENROLLED (STUDENT_ID, COURSE_ID) VALUES (3, 1);
INSERT INTO COURSE_ENROLLED (STUDENT_ID, COURSE_ID) VALUES (3, 3);
INSERT INTO COURSE_ENROLLED (STUDENT_ID, COURSE_ID) VALUES (4, 1);
INSERT INTO COURSE_ENROLLED (STUDENT_ID, COURSE_ID) VALUES (4, 4);
INSERT INTO COURSE_ENROLLED (STUDENT_ID, COURSE_ID) VALUES (5, 2);
INSERT INTO COURSE_ENROLLED (STUDENT_ID, COURSE_ID) VALUES (5, 4);
INSERT INTO COURSE_ENROLLED (STUDENT_ID, COURSE_ID) VALUES (5, 3);
INSERT INTO COURSE_ENROLLED (STUDENT_ID, COURSE_ID) VALUES (6, 1);
INSERT INTO COURSE_ENROLLED (STUDENT_ID, COURSE_ID) VALUES (6, 3);
INSERT INTO COURSE_ENROLLED (STUDENT_ID, COURSE_ID) VALUES (7, 2);
INSERT INTO COURSE_ENROLLED (STUDENT_ID, COURSE_ID) VALUES (7, 1);
INSERT INTO COURSE_ENROLLED (STUDENT_ID, COURSE_ID) VALUES (8, 3);
INSERT INTO COURSE_ENROLLED (STUDENT_ID, COURSE_ID) VALUES (8, 4);

SELECT * FROM COURSE_ENROLLED;

CREATE VIEW STUDENT_DEPARTMENT AS


SELECT
S.STUDENT_NAME,
D.DEPT_NAME
FROM STUDENT S, DEPARTMENT D
WHERE S.DEPT_ID = D.DEPT_ID;

SELECT * FROM STUDENT_DEPARTMENT;

CREATE INDEX IDX_STUDENT_NAME ON STUDENT(STUDENT_NAME);

CREATE INDEX IDX_DEPT_NAME_HOD ON DEPARTMENT(DEPT_NAME, HOD);

SELECT INDEX_NAME, TABLE_NAME, COLUMN_NAME


FROM USER_IND_COLUMNS
WHERE TABLE_NAME IN ('STUDENT', 'DEPARTMENT');

SELECT S.STUDENT_NAME, C.COURSE_NAME


FROM STUDENT S
JOIN COURSE_ENROLLED CE ON S.STUDENT_ID = CE.STUDENT_ID
JOIN COURSE C ON CE.COURSE_ID = C.COURSE_ID
WHERE S.DEPT_ID = (
SELECT DEPT_ID FROM DEPARTMENT WHERE DEPT_NAME = 'CSE'
);

EXPLAIN PLAN FOR


SELECT S.STUDENT_NAME, C.COURSE_NAME
FROM STUDENT S
JOIN COURSE_ENROLLED CE ON S.STUDENT_ID = CE.STUDENT_ID
JOIN COURSE C ON CE.COURSE_ID = C.COURSE_ID
WHERE S.DEPT_ID = (
SELECT DEPT_ID FROM DEPARTMENT WHERE DEPT_NAME = 'CSE'
);

SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);

You might also like