You are on page 1of 7

Create table department ( deptNo number(7) not null primary key, Name varchar(30) not null );

Create table DeptLocation ( deptNo number(7) not null, Location varchar(30) not null, primary key(deptNo, Location) ); Create table employee ( empNo number(7) not null primary key, empname varchar(30), DeptNo number(7), SocialSecurityNo Number(7) not null, SupervisorNo Number(7), Address varchar(30), Salary Number(7), Sex varchar(10), DOB Date, constraint fk_supervisr FOREIGN key (SupervisorNo)

references employee(empNo), constraint fk_DeptNoEmp FOREIGN key (DeptNo) references Department(DeptNo) );

Create table Dependency ( DependencyNo number(7) not null primary key, EmpNo number(7), FirstName varchar(30), Sex varchar(10), RelationShip varchar(30), DOB Date, constraint fk_empDepend FOREIGN key (EmpNo) references employee(empNo) ); Create table DeptManager ( DeptManNo number(7) not null primary key, ManagerNo number(7), DeptNo number(7),

StartDate Date, constraint fk_empmanager FOREIGN key (ManagerNo ) references employee(empNo), constraint fk_empmanagerDept FOREIGN key (DeptNo)

references Department(DeptNo)

) Create table Projects ( projectNo number(7) not null primary key, DeptNo number(7), Name varchar(20), Location varchar(20), constraint fk_projDept FOREIGN key (DeptNo) references Department(DeptNo)

); Create table EmpProject ( projectNo number(7) not null, EmpNo number(7), WeekNo number(7), workinghour varchar(20), constraint fk_projemp FOREIGN key (EmpNo) references Employee(Empno), constraint fk_proj FOREIGN key (projectNo) references Projects(projectNo), primary Key(projectNo ,empNo, weekNo) );

insert into Department Values (1,'Marketing'); insert into Department Values (2,'Computer'); insert into Department Values (3,'Mechanical'); insert into DeptLocation Values (1,'MainCity'); insert into DeptLocation Values (1,'harleyRoad'); insert into DeptLocation Values (2,'STP');

insert into employee values (1,'John',1,2323,'','House no 30 st 6',2500,'Male','12-may-1990');

insert into employee values (2,'David',2,5000,1,'House no 21 st 8',1500,'Male','19-may-1981'); insert into employee values (3,'SARA',1,2500,2,'House no 3 ',2850,'Female','29-SEP-1980');

insert into employee values (4,'Mical',2,2505,2,'House no 52-A ',300,'Male','11-Aug-1950'); insert into Dependency values (1,2,'clark','male','Brother','12-Jun-1990');

insert into Dependency values (2,1,'hussay','male','Father','12-Jun-1935'); insert into Dependency values (3,3,'Hiny','Female','Wife','12-Jan-1978'); insert into dependency values(4,3,'jam','Male','Brother','');

insert into DeptManager values (1,1,1,'14-may-2009'); insert into DeptManager values (2,2,1,'21-may-2010'); insert into DeptManager values (3,3,2,'20-may-2010'); insert into DeptManager values (4,2,3,'14-mar-2010'); insert into projects values (1,1,'microcontroller','DC'); insert into projects values (2,1,'markeing of products','DC'); insert into projects values (3,2,'Chip design','DC'); insert into EmpProject values(1,1,1,12); insert into EmpProject values(2,1,1,12);

insert into EmpProject values(2,2,1,5); insert into EmpProject values(3,3,2,7);

Queries:
 select empname, SocialSecurityNo ,firstname , d.dob from employee e, dependency d where e.empno=d.empno(+);

 select empname, p.name "project name" from employee e, projects p,EmpProject ep where e.empno=ep.empno and ep.projectNo=p.projectNo ;

 select e.empname, e.SocialSecurityNo, m.empname, m.SocialSecurityNo from employee e, employee m where e.SupervisorNo =m.empno;

 select max(total) total, name from ( select sum(workinghour) total, projectNo from EmpProject group by projectNo) t, projects where projects.projectno=t.projectNo group by name

order by total desc;

 select count(d.EmpNo) total,empname from dependency d, employee e where e.empno=d.empno group by empname order by total desc;

 select d.name ,e.empname ,p.Name from employee e,department d, projects p, EmpProject ep where e.deptNo=d.deptno and ep.empNo=e.empno and d.deptNo=p.deptNo and p.projectNo=ep.projectNo;

 select d.name, count(workinghour ) from department d, Projects p, EmpProject ep where d.deptno=p.deptNo and p.projectno=ep.projectNo group by d.name

You might also like