0% found this document useful (0 votes)
39 views5 pages

Assignment 6 DBMS

The document describes creating tables for employees, projects, and project allocations in a database. It includes sample data and queries to retrieve information from the tables. The tables track employee details, project details, and which employees are allocated to which projects.

Uploaded by

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

Assignment 6 DBMS

The document describes creating tables for employees, projects, and project allocations in a database. It includes sample data and queries to retrieve information from the tables. The tables track employee details, project details, and which employees are allocated to which projects.

Uploaded by

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

ASSIGNMENT – 6

Tables:
Employee:

Project:

Project Allocation:
Code for table:

CREATE table employee(


empno int,
emp_name varchar(30),
emp_join_date date,
emp_status char(1),
Primary key(empno)
);

CREATE table project(


project_code varchar(5),
project_description varchar(50),
project_start_date date,
project_end_date date,
Primary key(project_code)
);

CREATE table project_allocation(


project_code varchar(5),
empno int,
emp_proj_alloc_date date,
emp_proj_release_date date,
PRIMARY KEY(project_code,empno)
);

INSERT into employee values(101 ,'Jhonny', '2005-07-01', 'C');


INSERT into employee values(116 ,'Nayak', '2005-08-16', 'C');
INSERT into employee values(202 ,'Meera', '2006-01-30', 'C');
INSERT into employee values(205 ,'Ravi', '2006-02-11', 'C');
INSERT into employee values(304 ,'Hari', '2006-11-25', 'P');
INSERT into employee values(307 ,'Nancy', '2007-01-15', 'P');
INSERT into employee values(403 ,'Nick', '2007-01-21', 'P');

INSERT into project values('P001', 'Environment Pollution', '2005-08-20' ,'2006-12-11');


INSERT into project values('P002', 'Learning Curve', '2006-02-01' ,'2006-03-15');
INSERT into project values('P003', 'Effects of IT', '2007-01-03' ,NULL);

INSERT into project_allocation values('P001', 101, '2005-08-01' ,'2006-12-11');


INSERT into project_allocation values('P001', 116, '2005-08-16' ,'2006-12-11');
INSERT into project_allocation values('P002', 202, '2006-02-01' ,'2007-01-14');
INSERT into project_allocation values('P002', 307, '2007-01-15' ,NULL);
INSERT into project_allocation values('P002', 205, '2006-02-11' ,NULL);
INSERT into project_allocation values('P003', 403, '2007-01-21' ,NULL);
INSERT into project_allocation values('P003', 304, '2007-01-03' ,NULL);
INSERT into project_allocation values('P003', 101, '2007-01-03' ,NULL);
INSERT into project_allocation values('P003', 116, '2007-01-03' ,NULL);
INSERT into project_allocation values('P003', 202, '2007-01-15' ,NULL);

Queries:

-- 1
SELECT project_description,emp_name from employee natural join project_allocation
natural join project;

-- 2
SELECT emp_name from employee where emp_status='C';
-- 3
select emp_name from employee where strftime('%m',emp_join_date)='11';

-- 4
select project_description from project where project_start_date>'2006-01-01';

-- 5
select emp_name from employee natural join project_allocation natural join project where
project_description='Effects of IT';

-- 6
select project_description from project where project_end_date is null;
-- 7
SELECT E.empno AS EMPLOYEE_NO, E.emp_name AS EMPLOYEE_NAME
FROM employee as E, project as P, project_allocation as R
WHERE (P.project_code = 'P002') AND (R.emp_proj_release_date IS not NULL) AND
(P.project_code = R.project_code) AND (R.empno = E.empno);

-- 8
SELECT (julianday(project_end_date)-julianday(project_start_date)) AS DAYS_TAKEN_P002
FROM project
WHERE project_code='P002';

-- 9
SELECT E.empno,E.emp_name,P.project_description,(CASE
WHEN R.emp_proj_release_date IS NOT NULL
THEN (julianday(R.emp_proj_release_date)-julianday(R.emp_proj_alloc_date))
ELSE (julianday('2009-01-01')-julianday(R.emp_proj_alloc_date))
END) AS DAYS_TAKEN
FROM employee as E natural join project_allocation as R natural join project as P;

-- 10
-- ALTER TABLE project add manager_id int;

-- 11
-- UPDATE project set manager_id=101 where project_code='P001';
-- UPDATE project set manager_id=202 where project_code='P002';
-- UPDATE project set manager_id=116 where project_code='P003';

-- 12
-- insert into project values("P004","Election Rage",'2007-03-01','2023-03-24',NULL);

-- 13
-- DELETE from project where project_description ='Effects of IT';

-- 14
-- select * from project where project_end_date <= project_start_date+interval 1 year;

-- 15
SELECT P.project_code, P.project_description, COUNT(FEB_WORK.empno) AS
NUMBER_OF_EMPLOYEES
FROM (
SELECT empno, project_code
FROM project_allocation
WHERE (emp_proj_alloc_date <= '2007-02-01') AND ((emp_proj_release_date IS NULL) OR
(emp_proj_release_date>='2007-02-28'))
) AS FEB_WORK, project AS P
WHERE (FEB_WORK.project_code = P.project_code) GROUP BY FEB_WORK.project_code;

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy