Académique Documents
Professionnel Documents
Culture Documents
1.EMPLOYEE(FNAME,MINT,LNAME,SSN,BDATE,EMPLOCATION,GENDER,
SALARY,@SUPERSSN,@DNO)
2.DEPARTMENT(DNAME,DNO)
3.DEPT_LOCATION(DLOCATION,@DNO)
4.DEPT_MGR(@SSN,@DNO,STARTDATE)
5.PROJECT(PNAME,PNO,PLOCATION,@DNO)
6. WORKS_ON(@SSN,@PNO,HOURS)
7. DEPENDENT(@SSN,DEPENDENT NAME,GENDER,BDATE,RELATIONSHIP)
QUESTIONS:
1)EMPLOYEE TABLE
CREATE TABLE employee
(
fname VARCHAR (44) NOT NULL DEFAULT '',
minit VARCHAR (44) NOT NULL DEFAULT '',
lname VARCHAR (44) NOT NULL DEFAULT '',
ssn INT PRIMARY KEY ,
bdate DATE NOT NULL ,
emp_location VARCHAR (100) NOT NULL,
gender char(1) DEFAULT '',
salary INT NOT NULL,
dno INT ,
FOREIGN KEY (dno) REFERENCES department(dno)
);
INSERT INTO employee
VALUES
('XAVIER', 'B','HERNANDEZ',123456789,1986-11-19,'HOUSTON',
'M', 30000,5),
('ANDREAS','J' ,'INIESTA' ,333444555, 1989-44,'Houston','M',40000,5),
('MARIA','G','SHARAPOVA',999887777 ,1988-12-15,'Spring',
'F', 25000, 4),
('SERENA','K','WILLIAMS',987654321,1985-6-1, 'Bellaire',
'F', 43000, 4),
('LEO','S','MESSI', 666884444,1988-217,'Humble','M',38000,5),
('ANGEL','D','MARIA',453453453,1989-1130,'HOUSTON','F',25000,5),
('THOMAS','K','MULLER',987987978,1988-830,'HOUSTON','M',25000,4),
('JUAN','D','MATA',888665555,1986-417,'HOUSTON','M',55000,1);
2)DEPARTMENT TABLE
CREATE TABLE department
(
dname VARCHAR (44) NOT NULL DEFAULT '',
dno INT PRIMARY KEY
);
INSERT INTO department
VALUES
('RESEARCH',5),('ADMINISTRATION',4),('HEADQUARTERS',1);
3)DEPARTMENT LOCAION TABLE
CREATE TABLE dept_location
(
dlocation VARCHAR(44) NOT NULL DEFAULT '',
dno INTEGER ,
FOREIGN KEY (dno) REFERENCES department(dno)
);
INSERT INTO dept_location
VALUES
('HOUSTON',1),('STAFFORD',4),('BELLARIE',5),('AUSTIN',5),
('HOUSTON',5);
4)DEPARTMENT MANAGER TABLE
CREATE TABLE dept_mgr
(
ssn INTEGER ,
dno INTEGER ,
startdate DATE NOT NULL,
FOREIGN KEY (ssn) REFERENCES employee(ssn),
FOREIGN KEY (dno)REFERENCES department(dno)
);
5)PROJECT TABLE
CREATE TABLE project
(
pname VARCHAR (44) NOT NULL DEFAULT '',
pno INTEGER PRIMARY KEY ,
plocation VARCHAR (44) NOT NULL DEFAULT'',
dno INTEGER ,
FOREIGN KEY (dno)REFERENCES department(dno)
);
INSERT INTO project
VALUES ('CONSTRUCTION',1,'BELLAIRE',5),
('DEVELOPMENT',2,'AUSTIN',5),
('TESTING',3,'HOUSTON',5),
('LOGISTICS',10,'STAFFORD',4),
('ERP',20,'HOUSTON',1),
('SPORTS',30,'STAFFORD',4);
6)WORKS_ON TABLE
CREATE TABLE works_on
(
ssn INTEGER ,
pno INTEGER ,
hours TIME,
FOREIGN KEY (pno)REFERENCES project(pno),
FOREIGN KEY (ssn)REFERENCES employee(ssn)
);
INSERT INTO works_on
VALUES
(123456789, 1, 32:30:00),
(123456789, 2,7:30:00) ,
(666884444, 3, 40:00:00 ),
(453453453, 1, 20:00:00 ),
(453453453, 2, 20:00:00 ),
(333444555, 2, 10:00:00 ),
(333444555, 3, 10:00:00 ),
(333444555, 10, 10:00:00),
(333444555, 20, 10:00:00),
(999887777, 30, 30:00:00),
(999887777, 10, 10:00:00),
(987987978, 10, 35:30:00),
(987987978, 30, 5:00:00),
(987654321,30, 20:00:00),
(987654321,20 ,15:00:00),
(888665555, 20,null);
6)DEPENDENT TABLE
CREATE TABLE dependent (
ssn INTEGER ,
dependent_name VARCHAR (44) NOT NULL DEFAULT '',
gender CHAR(1) DEFAULT '',
bdate DATE ,
relationship VARCHAR (10) ,
FOREIGN KEY (ssn) REFERENCES employee(ssn)
)
INSERT INTO dependent
VALUES
(333444555, 'Alice', 'F',2008-05-12, 'DAUGHTER'),
(333444555,'Theodore', 'M',2004-02-17, 'SON'),
(333444555, 'Joy', 'F', 1988-12-21, 'SPOUSE'),
(987654321, 'Abner', 'M',1989-02-17, 'SPOUSE'),
(123456789, 'Michael', 'M', 2010-11-31, 'SON'),
(123456789, 'Alice', 'F',2012-08-06,'DAUGHTER'),
(123456789, 'Elizabeth', 'F',1988-07-09,'SPOUSE');
D)LIST THE NAME AND NUMBER OF PROJECTS THAT JAMES BORG EVER
WORKED ON, AND FOR EACH OF THESE PROJECTS, ALSO LIST THE
NUMBER OF HOURS THAT JAMES WAS ASSIGNED TO WORK. IF NO HOUR
HAS BEEN ASSIGNED FOR THE PROJECT. PRINT THE PHRASE 'TO BE
ASSIGNED' INSTED
SELECT pname ,p.pno, hours
FROM employee AS e
INNER JOIN works_on AS w
ON e.ssn=w.ssn AND fname='JAMES' AND lname='BORG'
INNER JOIN project AS p
ON p.pno=w.pno;
TEST CASESELECT pname ,p.pno, (ifnull(hours,'TO BE ASSIGNED')) AS
HOURS
FROM employee AS e
INNER JOIN works_on AS w
ON e.ssn=w.ssn AND fname='JAMES' AND lname='BORG'
INNER JOIN project AS p
ON p.pno=w.pno;
',e.minit,'