#DBMS assignment 3(a)
#Author : Soumak Paul.
#Create table: DEPARTMENT
CREATE TABLE DEPARTMENT(
DeptCode varchar(4) NOT NULL,
DeptName varchar(40) NOT NULL,
HOD varchar(4),
PRIMARY KEY(DeptCode));
#Insert values into DEPARTMENT table.
INSERT INTO DEPARTMENT(DeptCode,DeptName,HOD)
VALUES('IT','Information Technology','F201');
INSERT INTO DEPARTMENT(DeptCode,DeptName,HOD)
VALUES('BIO','Bio Technology','F901');
INSERT INTO DEPARTMENT(DeptCode,DeptName,HOD)
VALUES('CSE','Computer Science and Engineering,'F101');
INSERT INTO DEPARTMENT(DeptCode,DeptName,HOD)
VALUES('NS','Natural Science','F506');
#Add a foreign key constraint in STUDENT against DeptCode column which
references department.
ALTER TABLE STUDENT
ADD FOREIGN KEY (DeptCode) REFERENCES DEPARTMENT(DeptCode);
#Create table: FACULTY
CREATE TABLE FACULTY(
FacultyCode varchar(4) NOT NULL,
FacultyName varchar(15) NOT NULL,
DateOfJoin date NOT NULL,
DeptCode varchar(4) NOT NULL,
PRIMARY KEY (FacultyCode));
#Insert values into FACULTY table.
INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode)
VALUES('F101','M. Sinha','2005-01-01','CSE');
INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode)
VALUES('F105','P. Sarkar','2019-02-01','CSE');
INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode)
VALUES('F201','S. Mazumder','2005-09-15','IT');
INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode)
VALUES('F301','S. Mondal','2018-08-01','CSE');
INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode)
VALUES('F401','D. Majumdar','2003-12-01','IT');
INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode)
VALUES('F506','N. Biswas','2013-12-31','NS');
INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode)
VALUES('F607','R. Paul','2007-04-10','BIO');
INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode)
VALUES('F704','S. Sarkar','2012-01-01','IT');
INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode)
VALUES('F808','K. Das','2010-06-15','IT');
INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode)
VALUES('F901','R. Roy','2017-06-15','BIO');
INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode)
VALUES('F902','R. Biswas','2018-06-15','BIO');
#Alter the table Faculty and add check constraint such that FacultyCode starts
with ‘F’
ALTER TABLE FACULTY
ADD CONSTRAINT FacultyCodeCheck CHECK (FacultyCode like 'F%');
#Alter the table Faculty and add check constraint such DeptCode is either
CSE,IT, BIO,NS
ALTER TABLE FACULTY
ADD CONSTRAINT DeptCodeCheck CHECK (DeptCode IN ('CSE','IT','NS','BIO'));
#Add constraint : DeptCode of Faculty is foreign key and references DeptCode
in Department.
ALTER TABLE FACULTY
ADD FOREIGN KEY (DeptCode) REFERENCES DEPARTMENT(DeptCode);
#Add Constraint: HOD of Department table is foreign key and references
FacultyCode of Faculty.
ALTER TABLE DEPARTMENT
ADD FOREIGN KEY (HOD) REFERENCES FACULTY(FacultyCode);
#Find the names of faculties of CSE Department.
SELECT FacultyName FROM FACULTY WHERE DeptCode = 'CSE';
#Find the number of faculties in the IT department
SELECT COUNT(*) FROM FACULTY WHERE DeptCode = 'IT';
#Find the number of faculties who joined in August​.
SELECT COUNT(*) AS 'Hired in August' FROM FACULTY
WHERE (MONTH(DateOfJoin) = 8);
#Show the names of the heads of departments with department name.
SELECT FACULTY.DeptCode AS 'DEPARTMENT NAME', FACULTY.FacultyName AS 'HOD NAME'
FROM FACULTY
INNER JOIN DEPARTMENT ON FACULTY.DeptCode = DEPARTMENT.DeptCode
GROUP BY DEPARTMENT.DeptCode
ORDER BY DEPARTMENT.DeptCode;
#Add an extra attribute to the faculty table - Salary Number(8,2)
ALTER TABLE FACULTY
ADD COLUMN SalaryNumber DECIMAL(8,2) AFTER DeptCode;
#Insert values into the corresponding field Salary Number(8,2) (Enter distinct
values).
UPDATE FACULTY SET SalaryNumber = '25000.00' WHERE FacultyCode = 'F101';
UPDATE FACULTY SET SalaryNumber = '15000.00' WHERE FacultyCode = 'F105';
UPDATE FACULTY SET SalaryNumber = '18000.00' WHERE FacultyCode = 'F201';
UPDATE FACULTY SET SalaryNumber = '16500.00' WHERE FacultyCode = 'F301';
UPDATE FACULTY SET SalaryNumber = '16000.00' WHERE FacultyCode = 'F401';
UPDATE FACULTY SET SalaryNumber = '18000.00' WHERE FacultyCode = 'F506';
UPDATE FACULTY SET SalaryNumber = '15000.00' WHERE FacultyCode = 'F607';
UPDATE FACULTY SET SalaryNumber = '11000.00' WHERE FacultyCode = 'F704';
UPDATE FACULTY SET SalaryNumber = '13000.00' WHERE FacultyCode = 'F808';
UPDATE FACULTY SET SalaryNumber = '20000.00' WHERE FacultyCode = 'F901';
UPDATE FACULTY SET SalaryNumber = '14000.00' WHERE FacultyCode = 'F902';
#Find the Department having more than one faculty.
SELECT DEPARTMENT.DeptCode
FROM FACULTY
INNER JOIN DEPARTMENT
ON FACULTY.DeptCode = DEPARTMENT.DeptCode
GROUP BY DEPARTMENT.DeptCode
HAVING COUNT(*) > 1;
#Find the name, department of the faculties who earn between 8000 and 12000.
SELECT FacultyName, DeptCode FROM FACULTY
WHERE (SalaryNumber >= 8000 AND SalaryNumber <= 12000);
#Find the name of the department with maximum faculties.
SELECT DeptName, COUNT(*) AS DEPTCOUNT FROM FACULTY
JOIN DEPARTMENT ON FACULTY.DeptCode = DEPARTMENT.DeptCode
GROUP BY DeptName
ORDER BY DEPTCOUNT DESC
LIMIT 1;
#Find the senior-most faculty.
SELECT * FROM FACULTY
ORDER BY DateOfJoin
LIMIT 1;
#Find the name of the faculty who has completed 5 years​.
SELECT FacultyName FROM FACULTY
WHERE (DATEDIFF(CURDATE(),DateOfJoin) > 1826);

Dbms assignment 3(a) (1)

  • 1.
    #DBMS assignment 3(a) #Author: Soumak Paul. #Create table: DEPARTMENT CREATE TABLE DEPARTMENT( DeptCode varchar(4) NOT NULL, DeptName varchar(40) NOT NULL, HOD varchar(4), PRIMARY KEY(DeptCode)); #Insert values into DEPARTMENT table. INSERT INTO DEPARTMENT(DeptCode,DeptName,HOD) VALUES('IT','Information Technology','F201'); INSERT INTO DEPARTMENT(DeptCode,DeptName,HOD) VALUES('BIO','Bio Technology','F901'); INSERT INTO DEPARTMENT(DeptCode,DeptName,HOD) VALUES('CSE','Computer Science and Engineering,'F101'); INSERT INTO DEPARTMENT(DeptCode,DeptName,HOD) VALUES('NS','Natural Science','F506'); #Add a foreign key constraint in STUDENT against DeptCode column which references department. ALTER TABLE STUDENT ADD FOREIGN KEY (DeptCode) REFERENCES DEPARTMENT(DeptCode); #Create table: FACULTY CREATE TABLE FACULTY( FacultyCode varchar(4) NOT NULL, FacultyName varchar(15) NOT NULL, DateOfJoin date NOT NULL, DeptCode varchar(4) NOT NULL, PRIMARY KEY (FacultyCode)); #Insert values into FACULTY table. INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode) VALUES('F101','M. Sinha','2005-01-01','CSE'); INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode) VALUES('F105','P. Sarkar','2019-02-01','CSE'); INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode) VALUES('F201','S. Mazumder','2005-09-15','IT'); INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode) VALUES('F301','S. Mondal','2018-08-01','CSE'); INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode) VALUES('F401','D. Majumdar','2003-12-01','IT'); INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode) VALUES('F506','N. Biswas','2013-12-31','NS'); INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode)
  • 2.
    VALUES('F607','R. Paul','2007-04-10','BIO'); INSERT INTOFACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode) VALUES('F704','S. Sarkar','2012-01-01','IT'); INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode) VALUES('F808','K. Das','2010-06-15','IT'); INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode) VALUES('F901','R. Roy','2017-06-15','BIO'); INSERT INTO FACULTY(FacultyCode,FacultyName,DateOfJoin,DeptCode) VALUES('F902','R. Biswas','2018-06-15','BIO'); #Alter the table Faculty and add check constraint such that FacultyCode starts with ‘F’ ALTER TABLE FACULTY ADD CONSTRAINT FacultyCodeCheck CHECK (FacultyCode like 'F%'); #Alter the table Faculty and add check constraint such DeptCode is either CSE,IT, BIO,NS ALTER TABLE FACULTY ADD CONSTRAINT DeptCodeCheck CHECK (DeptCode IN ('CSE','IT','NS','BIO')); #Add constraint : DeptCode of Faculty is foreign key and references DeptCode in Department. ALTER TABLE FACULTY ADD FOREIGN KEY (DeptCode) REFERENCES DEPARTMENT(DeptCode); #Add Constraint: HOD of Department table is foreign key and references FacultyCode of Faculty. ALTER TABLE DEPARTMENT ADD FOREIGN KEY (HOD) REFERENCES FACULTY(FacultyCode); #Find the names of faculties of CSE Department. SELECT FacultyName FROM FACULTY WHERE DeptCode = 'CSE'; #Find the number of faculties in the IT department SELECT COUNT(*) FROM FACULTY WHERE DeptCode = 'IT'; #Find the number of faculties who joined in August​. SELECT COUNT(*) AS 'Hired in August' FROM FACULTY WHERE (MONTH(DateOfJoin) = 8); #Show the names of the heads of departments with department name. SELECT FACULTY.DeptCode AS 'DEPARTMENT NAME', FACULTY.FacultyName AS 'HOD NAME' FROM FACULTY INNER JOIN DEPARTMENT ON FACULTY.DeptCode = DEPARTMENT.DeptCode GROUP BY DEPARTMENT.DeptCode ORDER BY DEPARTMENT.DeptCode;
  • 3.
    #Add an extraattribute to the faculty table - Salary Number(8,2) ALTER TABLE FACULTY ADD COLUMN SalaryNumber DECIMAL(8,2) AFTER DeptCode; #Insert values into the corresponding field Salary Number(8,2) (Enter distinct values). UPDATE FACULTY SET SalaryNumber = '25000.00' WHERE FacultyCode = 'F101'; UPDATE FACULTY SET SalaryNumber = '15000.00' WHERE FacultyCode = 'F105'; UPDATE FACULTY SET SalaryNumber = '18000.00' WHERE FacultyCode = 'F201'; UPDATE FACULTY SET SalaryNumber = '16500.00' WHERE FacultyCode = 'F301'; UPDATE FACULTY SET SalaryNumber = '16000.00' WHERE FacultyCode = 'F401'; UPDATE FACULTY SET SalaryNumber = '18000.00' WHERE FacultyCode = 'F506'; UPDATE FACULTY SET SalaryNumber = '15000.00' WHERE FacultyCode = 'F607'; UPDATE FACULTY SET SalaryNumber = '11000.00' WHERE FacultyCode = 'F704'; UPDATE FACULTY SET SalaryNumber = '13000.00' WHERE FacultyCode = 'F808'; UPDATE FACULTY SET SalaryNumber = '20000.00' WHERE FacultyCode = 'F901'; UPDATE FACULTY SET SalaryNumber = '14000.00' WHERE FacultyCode = 'F902'; #Find the Department having more than one faculty. SELECT DEPARTMENT.DeptCode FROM FACULTY INNER JOIN DEPARTMENT ON FACULTY.DeptCode = DEPARTMENT.DeptCode GROUP BY DEPARTMENT.DeptCode HAVING COUNT(*) > 1; #Find the name, department of the faculties who earn between 8000 and 12000. SELECT FacultyName, DeptCode FROM FACULTY WHERE (SalaryNumber >= 8000 AND SalaryNumber <= 12000); #Find the name of the department with maximum faculties. SELECT DeptName, COUNT(*) AS DEPTCOUNT FROM FACULTY JOIN DEPARTMENT ON FACULTY.DeptCode = DEPARTMENT.DeptCode GROUP BY DeptName ORDER BY DEPTCOUNT DESC LIMIT 1; #Find the senior-most faculty. SELECT * FROM FACULTY ORDER BY DateOfJoin LIMIT 1; #Find the name of the faculty who has completed 5 years​. SELECT FacultyName FROM FACULTY WHERE (DATEDIFF(CURDATE(),DateOfJoin) > 1826);