21bce0400 Ass1
21bce0400 Ass1
ASSESSMENT -1
PRIANSHU GOUTAM
21BCE0400
Slot: L29 + L30
EXERCISE 1
Query
create table Employee(First_Name VARCHAR(15),Mid_Name CHAR(2),Last_Name
VARCHAR(15),SSN_Number CHAR(9),Birthday DATE,Address VARCHAR(50),Sex CHAR(1),Salary
NUMBER(7),Supervisor_SSN CHAR(9),Department_Number NUMBER(5));
OUTPUT
QUERY
CREATE TABLE Project(Project_Name VARCHAR(15),Project_Number
NUMBER(5),Project_Location VARCHAR(15),Department_Number NUMBER(5));
OUTPUT
QUERY
CREATE TABLE Department(Department_Name VARCHAR(15),Department_Number NUMBER(5),ManagerSSN
CHAR(9),ManagerStartDate DATE);
OUTPUT:
QUESTION 1
Insert the data given above in both employee, department and project tables
QUERY
EMPLOYEE TABLE:
INSERT INTO Employee VALUES ('Doug','E','Gilbert','554433221','09-JUN-60','11 S
59 E,Salt Lake City,UT','M',80000,'NULL',3);
INSERT INTO Employee VALUES('Joyce',NULL,'PAN','543216789','07-FEB-78','35 S
18 E,Salt Lake City,UT','F',70000,'NULL',2);
INSERT INTO Employee VALUES ('Frankin','T','Wong','333445555','08-DEC-45','638
Voss, Housten, TX ','M',40000, '554433221' , 5);
INSERT INTO Employee VALUES('Jennifer','S','Wallace','987654321','19-JUN-
31','291 Berry, Bellaire,
TX','F',43000, '554433221', 4);
INSERT INTO Employee VALUES('John','B','Smith','123456789','9-JAN-55','731
Fondern,
Housten, TX ','M',30000, '333445555' , 5);
INSERT INTO Employee VALUES('Ramesh','K','Narayan','666884444','15-SEP-
52','975 Fire,
Oak, Humble, TX ','M',38000, '333445555' , 5);
INSERT INTO Employee VALUES('Joyce','A','English','453453453','31-JUL-62','5631,
Rice,Houstan, TX ','F',25000, '333445555' , 5);
INSERT INTO Employee VALUES('James','E','Borg','888665555','10-NOV-27','450
Stone,Houstan, TX ','M',55000, '543216789' , 1);
INSERT INTO Employee VALUES('Alicia','J','Zerlaya','999887777','19-JUL-58','3321
Castle, Spring, TX ','F',25000, '987654321' , 4);
INSERT INTO Employee VALUES('Ahmad','V','Jabbar','987987987','29-MAR-59','980
Dallas,
Houstan, TX','M',25000, '987654321' , 4);
OUTPUT:
PROJECT TABLE:
QUERY
INSERT INTO Project VALUES('ProjectA',3388,'Housten',1);
INSERT INTO Project VALUES('ProjectB',1945,'Salt Lake City',3);
INSERT INTO Project VALUES('ProjectC',6688,'Housten',5);
INSERT INTO Project VALUES('ProjectD',2423,'Bellaire',4);
INSERT INTO Project VALUES('ProjectE',7745,'Sugarland',5);
INSERT INTO Project VALUES('ProjectF',1566,'Salt Lake City',3);
INSERT INTO Project VALUES('ProjectG',1234,'New York',2);
INSERT INTO Project VALUES('ProjectH',3467,'Stafford',4);
INSERT INTO Project VALUES('ProjectI',4345,'Chicago',1);
INSERT INTO Project VALUES('ProjectJ',2212,'San Francisco',2);
OUTPUT:
DEPARTMENT TABLE:
QUERY
insert into Department values('Manufacture', 1, '888665555', '19-JUN-71');
insert into Department values('Administration', 2, '543216789', '04-JAN-99');
insert into Department values('Headquarter', 3, '554433221', '22-SEP-55');
insert into Department values('Finance', 4, '987654321', '01-JAN-85');
insert into Department values('Research', 5, '333445555', '22-MAY-78');
OUTPUT
QUESTION 2
Display all the employees’ information.
QUERY
SELECT *FROM Employee;
Output:
QUESTION 3
Display Employee name along with his SSN and Supervisor SSN.
QUERY
SELECT First_Name || ' ' ||Mid_Name||' '|| Last_Name AS Employee_Name, SSN_Number,
Supervisor_SSN
FROM Employee;
OUTPUT
QUESTION 4:
Display the employee names whose bdate is ’29-MAR-1959’
QUERY
SELECT First_Name || ' ' || Last_Name AS Employee_Name
FROM Employee
QUESTION 5
Display salary of the employees without duplications.
QUERY
SELECT DISTINCT Salary
FROM Employee;
OUTPUT
QUESTION 6
Display the MgrSSN, MgrStartDate of the manager of ‘Finance’ department
QUERY
SELECT ManagerSSN,ManagerStartDate
FROM Department
OUTPUT
QUESTION 7
Modify the department number of an employee having fname as ‘Joyce’ to 5
QUERY
UPDATE Employee
SET Department_Number = 5
OUTPUT
QUESTION 8
Alter Table department add column DepartmentPhoneNum of NUMBER data type and insert values into
this column only.
QUERY
alter table Department add DepartmentPhoneNum number(10)
UPDATE Department
SET DepartmentPhoneNum = 123456789;
OUTPUT
QUESTION 9
Alter table orders modify the size of DepartmentPhoneNum.
QUERY
ALTER TABLE Department
OUTPUT
QUESTION 10
Modify the field name DepartmentPhoneNum of departments table to PhNo.
QUERY
alter table Department rename column DepartmentPhoneNum to PhNo
OUTPUT
QUESTION 11
Rename Table Department as DEPT.
QUERY
alter table Department rename to DEPT
OUTPUT
QUESTION 12
Alter Table department remove column DepartmentPhoneNum.
QUERY
alter table Dept drop column DepartmentPhoneNum
OUTPUT
Reason:
Since the column name was changed from DepartmentPhoneNum to phno we
can’t delete columnt DepartmentPhoneNum as it doesn’t exist.
EXERCISE 2
QUERY
Employee Table alteration:
ALTER TABLE Employee MODIFY First_Name NOT NULL
ALTER TABLE Employee ADD CONSTRAINT "Employee pk" PRIMARY KEY (SSN_Number)
ALTER TABLE Employee ADD CONSTRAINT "check 1" CHECK (sex IN ('M', 'F', 'm', 'f'));
ALTER TABLE Employee ADD CONSTRAINT Employee_fk1 FOREIGN KEY (Supervisor_SSN) REFERENCES
Employee (SSN_Number) ON DELETE SET NULL;
ALTER TABLE DEPT ADD CONSTRAINT dept_fk_1 FOREIGN KEY(ManagerSSN) REFERENCES Employee
(SSN_Number) ON DELETE SET NULL
DEPT_LOCATIONs TABLE
QUERY
CREATE TABLE Dept_locations(DepNo NUMBER(5) REFERENCES
DEPT(Department_Number),D_Location VARCHAR(15));
OUTPUT
WORKS_ON TABLE
QUERY
CREATE TABLE Works_On (
ESSN CHAR(9) REFERENCES Employee(SSN_Number) ON DELETE CASCADE,
Pno INT REFERENCES Project(Project_Number),
Hours DECIMAL(3,1) NOT NULL
);
OUTPUT
DEPENDENT TABLE
QUERY
CREATE TABLE DEPENDENT( EMPLOYEE CHAR(9), DEPENDENT_NAME VARCHAR(15), SEX CHAR(1) CHECK
(SEX IN ('M','F','m','f')), BIRTHDAY DATE, RELATIONSHIP VARCHAR(8) );
ALTER TABLE DEPENDENT ADD CONSTRAINT dependent_fk1 FOREIGN KEY ("EMPLOYEE") REFERENCES EMPLOYEE
("SSN_NUMBER") ON DELETE CASCADE;
OUTPUT
INSERTION OF VALUES
DEPT_LOCATIONS
QUERY: -
INSERT INTO DEPT_LOCATIONS VALUES (1,'Houston');
OUTPUT
DEPENDENT
QUERY: -
INSERT INTO DEPENDENT VALUES('333445555','Alice','F','05-APR-76','Daughter');
OUTPUT: -
WORKS_ON
QUERY: -
INSERT INTO WORKS_ON VALUES ('123456789',3388,32.5);
OUTPUT: -
Execute the following Query on the DB to display and discuss the integrity
constraints
violated by any of the following operations.
QUESTION 1
Insert ('Robert', 'F', 'Scott', '943775543', '21-JUN-42', '2365 Newcastle Rd,
Bellaire, TX', M,
58000, '888665555', 1 ) into EMPLOYEE.
QUERY: -
INSERT INTO EMPLOYEE VALUES ('Robert', 'F', 'Scott', '943775543', '21-JUN-42',
'2365 Newcastle Rd, Bellaire, TX', M, 58000, '888665555', 1 );
OUTPUT:
Reason:
Given constraint that gender should be from ‘m’ or ‘M’ or ‘f’ or ‘F’
Where M doesn’t belong to given constraint.
2) Insert ( '677678989', null, '40.0' ) into WORKS_ON. QUERY: - INSERT INTO
WORKS_ON VALUES ( '677678989', null, '40.0' );
QUERY:
INSERT INTO WORKS_ON VALUES ( '677678989', null, '40.0' );
OUTPUT:
REASON:
Since PROJECT_NAME has not null constraint we can’t give null value
REASON:
Gender is a character and it should be from ‘m’ ,’f’, ‘M’,’m’
In the query we are giving M which is not allowed
4) Delete the WORKS_ON tuples with ESSN= '333445555'.
QUERY: -
DELETE FROM WORKS_ON WHERE ESSN = '333445555';
OUTPUT: -
QUERY: -
UPDATE DEPT SET MANAGERSSN = '123456789', MANAGERSTARTDATE = '01- OCT-88' WHERE
DEPARTMENT_NUMBER = 5;
OUTPUT: -
6) Add Foreign Keys using Alter Table [if not done earlier].
ALREADY ADDED
CREATION OF TABLES
QUERY:
CREATE TABLE physicians ( employeeid CHAR(2) PRIMARY KEY, name VARCHAR(50) NOT NULL,
position VARCHAR(50) NOT NULL, ssn VARCHAR(9) NOT NULL);
OUTPUT:
INSERTION OF VALUES:
QUERY:
INSERT INTO physicians (employeeid, name, position, ssn) VALUES ('P2', 'Dr. dibyanshu', 'Surgeon',
'929292');
INSERT INTO physicians (employeeid, name, position, ssn) VALUES ('P3', 'Dr. ragini', 'Pediatrician',
'123456782'); INSERT INTO physicians (employeeid, name, position, ssn) VALUES ('P4', 'Dr. harshitha',
'Cardiologist', '123456783');
INSERT INTO physicians (employeeid, name, position, ssn) VALUES ('P5', 'Dr. girish', 'Oncologist',
'123456784');
OUTPUT:
For
Department
Query
CREATE TABLE Department1 ( departmentid CHAR(2) PRIMARY KEY, name VARCHAR(50) NOT
NULL,head CHAR(2) NOT NULL,FOREIGN KEY (head) REFERENCES physicians(employeeid) );
INSERTION OF VALUES:
For
Physician_Department
Query
OUTPUT:
CREATE TABLE Procedure ( QUERY CHAR(3) PRIMARY KEY, name VARCHAR(50) NOT NULL, cost
DECIMAL(10, 2) NOT NULL);
OUTPUT:
For Patient Query
ssn VARCHAR(9) PRIMARY KEY, name VARCHAR(50) NOT NULL, address VARCHAR(100) NOT
NULL, phone VARCHAR(20) NOT NULL,
);
INSERT INTO patient VALUES ('S1', 'RAM', 'XYZ AREA ', '323-2344', 'I1', 'P1');
INSERT INTO patient VALUES ('S2', 'SHYAM', 'ABC AREA ', '393992-33', 'I2', 'P2');
INSERT INTO patient VALUES ('S3', 'SUMAN', 'XXX ', '392-33', 'I3', 'P3');
INSERT INTO patient VALUES ('S4', 'AMAN', 'ORI STREET ', '2000-34', 'I4', 'P4');
INSERT INTO patient VALUES ('S5', 'MAHIM', 'ORACLE STREET ', '232-34', 'I5', 'P5');
OUTPUT:
);
INSERT INTO nurse (employeeid, name, position, registered, ssn) VALUES ('N1', 'Nurse ISHA',
'Registered Nurse', 'YES', '921993941');
INSERT INTO nurse (employeeid, name, position, registered, ssn) VALUES ('N2', 'Nurse RAMIYA',
'Registered Nurse', 'YES', '921293941');
INSERT INTO nurse (employeeid, name, position, registered, ssn) VALUES ('N3', 'Nurse SIYA',
'Registered Nurse', 'YES', '922293941');
INSERT INTO nurse (employeeid, name, position, registered, ssn) VALUES ('N4', 'Nurse RIYA',
'Registered Nurse', 'YES', '922233341');
INSERT INTO nurse (employeeid, name, position, registered, ssn) VALUES ('N5', 'Nurse PRIYA',
'Registered Nurse', 'YES', '92223431');
OUTPUT:
);
INSERT INTO appointment VALUES ('A1', 'S1', 'N1', 'P1', DATE '2001-2-1', TIMESTAMP '2001-2-1
10:00:00', TIMESTAMP '2001-2-1 10:30:00', '111');
INSERT INTO appointment VALUES ('A2', 'S2', 'N2', 'P2', DATE '2001-2-3', TIMESTAMP '2001-2-3
10:30:00', TIMESTAMP '2001-2-1 10:50:00', '112');
INSERT INTO appointment VALUES ('A3', 'S3', 'N3', 'P3', DATE '2001-2-4', TIMESTAMP '2001-2-4
10:20:00', TIMESTAMP '2001-2-1 10:50:00', '221');
INSERT INTO appointment VALUES ('A5', 'S5', 'N4', 'P4', DATE '2001-2-5', TIMESTAMP '2001-2-5
10:20:00', TIMESTAMP '2001-2-1 10:50:00', '255');
INSERT INTO appointment VALUES ('A4', 'S4', 'N5', 'P5', DATE '2001-2-6', TIMESTAMP '2001-2-6
10:50:00', TIMESTAMP '2001-2-1 10:50:00', '222');
OUTPUT
1) Write a SQL statement to display all the information of all physicians.
Query
SELECT *FROM physicians;
Output:
2) List the cost of medical procedure for ‘Physiotherapy’ and ‘Gastric problem’ Query
Query:
3)Find the list of the physician who does not have any affiliations. (use NULL for not affiliated)
Query
OUTPUT:
4) Write a SQL query to find the employees whose name begins with the character 'C'. Return
empid, name and ssn.
Query
Output:
REASON:
5) Write a SQL query to find the details of the patients whose appointment time is greater
than
Query
SELECT * FROM patient p JOIN appointment a ON p.ssn = a.patient WHERE a.start_time >
TO_TIMESTAMP('12:30 PM', 'HH:MI AM');
OUTPUT: