SlideShare a Scribd company logo
1
CIS 405 Project
Oracle Database Development
Juan Barillas
Arturo Medina
Larry Ngo
James Wu
2
Table of Contents
PART1
Database Scenario…………………………………………………………………………... 3-4
ER diagram………………………………………………………………………...…………………...5
ER diagrams to the Relational………………………………………………..……………..... 6
Functional dependency analysis……………………………………………..……………….. 7
Relational Schema after Normalization……………………………………..………………... 7
PART 2
Database Creation Script for Department Table………………………….………….…..…… 8
Database Creation Script for Employee Table……………………………..…………………. 9
Database Creation Script for Department Location Table……………………………...…… 10
Database Creation Script for Project Table………………………………………………...... 11
Database Creation Script for Dependent Table……………………………………………… 12
Database Creation Script for Works On Table……………………………………………. 13-15
Database Structure…………………………………………………………………………… 16
Database Instance…………………………………………………………………………….. 17
Testing Database…………………………………………………………………………... 18-20
3
PART1
Database Scenario
The COMPANY database keeps track of a company's employees, departments, and projects
1. The company is organized into departments. Each department has a unique name, a
unique number, and a particular employee who manages the department. We keep track of the
start date when the employee began managing the department. A department may have several
locations.
2. A department controls a number of projects. Each project has a unique name, a unique
number and a single location.
3. We store each employee's name, social security number, address, salary, sex and
birthday. An employee is assigned to one department but may work on several projects, which
are not necessarily controlled by the same department. We keep track of the number of hours per
week that an employee works on each project. We also keep track of the direct supervisor of
each employee.
4. We want to keep track of the dependents of each employee for insurance purpose. We
keep each dependent's name, sex, birthday and relationship to the employees.
Manages 1:1 Works_For 1:N
Controls 1:N Supervision 1: N
Workd_on M:N Dependents_Of 1:N
Business Rules
One employee must work for one and only one department.
One department must have 4 or more employees.
One employee may manage one and only one department.
One department must be managed by one and only employee.
One department may control one or more projects.
One project must be controlled by one and only one department.
One employee must work on one or many projects.
One project must have one or many employees to work on.
One employee may have one or more dependents.
One dependent must belong to one and only one employee.
One employee may supervise many other employees.
One employee may be supervised by another employee.
4
Given the above database scenario and business rules, do the following things:
Relationship types using relationship matrix
Employee Department Project Dependent
Employee supervise Has
Is managed
has Belongs to
Department Work for
Manages
____ Is controlled ____
Project Works on Control ____ ____
Dependent Has ____ ____ ____
5
ER diagram with 1) entity types, 2) relationship types, 3) keys,4) cardinality ratio and 5) connection.
EMPLOYEE
DEPENDENT
DEPARTMENT
PROJECT
WORKS_ON
Employee_IDPK
Name
SSN
Employee_IDPK
Sex
Dept_NumPK
Dept_Name
Mgr_ID
Project_NumPK
ProjectName
Project_Loc
Depend_NamePK
DOB
Relationship
Dept_Num
Mgr_StartDateAddress
Salary
Sex
DOB
Spvr_ID
Dependents of
Works_For
Manages
Controls
Supervision
Employee_IDPK
HrsPerWeek
Project_NumPKDept_Num
6
ER diagrams to a relational database indicating the relation name, attribute name and primary
key for each relation.
Table name: EMPLOYEE
Employee_ID Name SSN Address Salary
Sex DOB Spvr_ID Dept_Num
Table name: DEPARTMENT
Dept_Num Dept_Name Mgr_ID Mgr_StartDate Employee_ID
Table name: PROJECT
Project_Num ProjectName Project_Loc Dept_Num
Table name: DEPENDENT
Employee_ID Depend_Name Sex DOB Relantionship
Table name: DEPT_LOC
Dept_Num _Dept_Loc
Table name: WORKS_ON
Employee_ID _Project_Num HrsPerWeek
. Establish join paths for the above relational database using the referential integrity by
drawing arrow lines between the above tables. Indicate all the foreign keys (FK).
( FK > PK)
EMPLOYEE.Dept_Num>DEPARTMENT.Dept_Num
PROJECT.Dept_Num>DEPARTMENT.Dept_Num
DEPENDENT.Employee_ID>EMPLOYEE.Employee_ID
7
DEPT_LOC.Dept_Num>DEPARTMENT.Dept_Num
WORKS_ON.Employee_ID>EMPLOYEE.Employee_ID
WORKS_ON.Project_Num>PROJECT.Project_Num
Functional Dependency Analysis
(Determinant Attribute > Dependent Attribute)
Employee_ID > Name, SSN, Address, Salary, Sex, DOB, Spvr_ID
Dept_Num > Dept_Name, Employee_ID
Dept_Num, Mgr_ID > Mgr_StartDate
Project_Num > ProjectName, Project_Loc
Employee_ID, Project_Num > HrsPerWeek
Employee_ID, Depend_Name > Sex, DOB, Relationship
Relational Schema after Normalization
Table name: EMPLOYEE
Employee_ID Name SSN Address Salary
Sex DOB
Table name: DEPARTMENT
Dept_Num Employee_ID Dept_Name
Table name: PROJECT
Project_Num ProjectName Project_Loc Dept_Num
Table name: DEPENDENT
Employee_ID Depend_Name Sex DOB Relantionship
Table name: DEPT_LOC
Dept_Num _Dept_Loc
Table name: WORKS_ON
Employee_ID _Project_Num HrsPerWeek
8
PART 2
Database Creation Script for Department Table
CREATE TABLE DEPARTMENT_t
(DNUM number NOT NULL,
DNAME VARCHAR(25) ,
MGRSSN NUMBER(9) ,
MGRSTARTDATE VARCHAR(20) ,
CONSTRAINT DEPARTMENT_t_PK PRIMARY KEY (DNUM),
CONSTRAINT DEPARTMENT_t_FK FOREIGN KEY (MGRSSN) REFERENCES
amedin62.emp_t(ESSN));
INSERT INTO DEPARTMENT_t (DNUM, DNAME, MGRSSN, MGRSTARTDATE)
VALUES (1, 'Accounting', 58129514, '15-JAN-78');
INSERT INTO DEPARTMENT_t (DNUM, DNAME, MGRSSN, MGRSTARTDATE)
VALUES (2, 'Marketing', 51250127, '15-JUL-77');
INSERT INTO DEPARTMENT_t (DNUM, DNAME, MGRSSN, MGRSTARTDATE)
VALUES (3, 'Research', 67853684, '15-DEC-79');
INSERT INTO DEPARTMENT_t (DNUM, DNAME, MGRSSN, MGRSTARTDATE)
VALUES (4, 'Management', 57192337, '12-MAY-76');
9
Database Creation Script for Employee Table
CREATE TABLE EMP_T
(
FNAME VARCHAR2(9),
MINIT VARCHAR2(5),
LNAME VARCHAR2(8),
ESSN NUMBER(9),
BDATE DATE,
SEX VARCHAR2(3),
SALARY NUMBER(5),
SUPERSSN NUMBER(9),
DNUM NUMBER(1),
CONSTRAINT EMP_PK PRIMARY KEY(ESSN),
CONSTRAINT EMP_SUPERSSN_FK1 FOREIGN KEY (SUPERSSN) REFERENCES EMP_T(ESSN),
CONSTRAINT EMP_DNUMBER_FK2 FOREIGN KEY (DNUMBER) REFERENCES
LNGO12.DEPARTMENT_T(DNUM));
INSERT INTO EMP_T VALUES
('JOHN','B','SMITH',123456789,'09-JAN-55','M',30000,333445555,5);
INSERT INTO EMP_T VALUES
('FRANKLIN','T','WONG',333445555,'08-DEC-45','M',40000,888665555,5);
INSERT INTO EMP_T VALUES
('ALICIA','J','ZELAYA',999887777,'19-JUL-58','F',25000,987654321,4);
INSERT INTO EMP_T VALUES
('JENNIFER','S','WALLACE',987654321,'20-JUN-31','F',43000,888665555,4);
INSERT INTO EMP_T VALUES
('RAMESH','K','NARAYAN',666884444,'15-SEP-52','M',38000,333445555,5);
INSERT INTO EMP_T VALUES
('JOYCE','A','ENGLISH',453453453,'31-JUL-62','F',25000,333445555,5);
INSERT INTO EMP_T VALUES
('AHMAD','V','JABBAR',987987987,'29-MAR-59','M',25000,987654321,4);
INSERT INTO EMP_T VALUES
('JAMES','E','BORG',888665555,'10-NOV-27','M',55000,NULL,1);
10
Database Creation Script for Department Location
CREATE TABLE DeptLoc
(DNumber NUMBER(2),
DLocation VARCHAR2(13) );
INSERT INTO DeptLoc VALUES
(1,'Houston');
INSERT INTO DeptLoc VALUES
(4,'Stafford');
INSERT INTO DeptLoc VALUES
(5,'Bellaire');
INSERT INTO DeptLoc VALUES
(5,'Houston');
INSERT INTO DeptLoc VALUES
(5,'Sugarland');
Alter Table DeptLoc
ADD CONSTRAINT DeptLOc_PK
PRIMARY KEY (DNumber, DLocation);
ALTER TABLE DeptLoc
ADD CONSTRAINT DeptLoc_FK FOREIGN KEY (DNumber) REFERENCES
lngo12.Department_t (DNUM);
11
Database Creation Script for Project Table
CREATE TABLE Project_T
(PName VARCHAR2(25) NOT NULL,
PNum NUMBER(11),
PLocation VARCHAR2(20),
DNum NUMBER(11));
Insert Into Project_t (Pname, PNum, PLocation, DNum)
Values ('ProductX', 1,'Bellaire',5);
Insert Into Project_t (Pname, PNum, PLocation, DNum)
Values ('ProductY', 2,'Sugarland',5);
Insert Into Project_t (Pname, PNum, PLocation, DNum)
Values ('ProductZ', 3,'Houston',5);
Insert Into Project_t (Pname, PNum, PLocation, DNum)
Values ('Computerization', 10,'Stafford',4);
Insert Into Project_t (Pname, PNum, PLocation, DNum)
Values ('Reorganization', 20,'Houston',1);
Insert Into Project_t (Pname, PNum, PLocation, DNum)
Values ('Newbenefits', 30,'Stafford',4);
Alter Table Project_t
Add Constraint Project_pk
Primary Key (PNum);
12
Alter Table Project_t
Add Constraint Project_t_dnum_fk
Foreign key (dnum) references lngo12.DEPARTMENT_t (dnum);
Database Creation Script for Dependent Table
CREATE TABLE DEPEN_T
(
ESSN NUMBER(9),
DEPENDENT_NAME VARCHAR2(14),
SEX VARCHAR2(3),
BDATE DATE,
RELATIONSHIP VARCHAR2(12)
constraint depen_pk primary key (ESSN,dependent_name),
constraint depen_ESSN_fk foreign key (ESSN) references emp_t(ESSN));
INSERT INTO DEPEN_T VALUES
(333445555,'ALICE','F','05-APR-76','DAUGHTER');
INSERT INTO DEPEN_T VALUES
(333445555,'THEODORE','M','25-OCT-73','SON');
INSERT INTO DEPEN_T VALUES
(333445555,'JOY','F','03-MAY-48','SPOUSE');
INSERT INTO DEPEN_T VALUES
(987654321,'ABNER','M','29-FEB-32','SPOUSE');
INSERT INTO DEPEN_T VALUES
(123456789,'MICHAEL','M','01-JAN-78','SON');
INSERT INTO DEPEN_T VALUES
(123456789,'ALICE','F','31-DEC-78','DAUGHTER');
INSERT INTO DEPEN_T VALUES
(123456789,'ELIZABETH','F','05-MAY-57','SPOUSE');
13
Database Creation Script for Works On Table
CREATE TABLE WorksOn
(ESSN NUMBER(9) NOT NULL,
PNO NUMBER(11),
Hour NUMBER(6));
INSERT INTO WorksOn (ESSN, PNO, Hour)
VALUES (123456789,1,32.5);
INSERT INTO WorksOn (ESSN, PNO, Hour)
VALUES (123456789,2,7.5);
INSERT INTO WorksOn (ESSN, PNO, Hour)
VALUES (666884444,3,40);
INSERT INTO WorksOn (ESSN, PNO, Hour)
VALUES (453453453, 1, 20);
INSERT INTO WorksOn (ESSN, PNO, Hour)
VALUES (453453453, 2, 20);
INSERT INTO WorksOn (ESSN, PNO, Hour)
VALUES (333445555, 2, 10);
INSERT INTO WorksOn (ESSN, PNO, Hour)
VALUES (333445555, 3, 10);
INSERT INTO WorksOn (ESSN, PNO, Hour)
VALUES (333445555, 10, 10);
INSERT INTO WorksOn (ESSN, PNO, Hour)
VALUES (333445555, 20, 10);
INSERT INTO WorksOn (ESSN, PNO, Hour)
VALUES (999887777, 30, 30);
INSERT INTO WorksOn (ESSN, PNO, Hour)
VALUES (999887777, 10, 10);
INSERT INTO WorksOn (ESSN, PNO, Hour)
VALUES (987987987, 10, 10);
INSERT INTO WorksOn (ESSN, PNO, Hour)
VALUES (987987987, 30, 35);
INSERT INTO WorksOn (ESSN, PNO, Hour)
VALUES (987654321, 30, 20);
INSERT INTO WorksOn (ESSN, PNO, Hour)
VALUES (987654321, 20, 15);
INSERT INTO WorksOn (ESSN, PNO, Hour)
VALUES (888665555, 20, null);
14
ALTER TABLE WorksOn
ADD CONSTRAINT WorksOn_PK
PRIMARY KEY (ESSN, PNO);
ALTER TABLE WorksOn
ADD CONSTRAINT WorksOn_fk1
Foreign KEY (PNO) references jwu32.Project_t (PNUM);
15
ALTER TABLE WorksOn
ADD CONSTRAINT WorksOn_fk
Foreign KEY (ESSN) references amedin62.emp_t (ESSN);
16
Database Structure
DDL, Department Table and Employee Table, Department Location Table, Project Table,
Dependents Table, Work On Table (In Order)
17
Database Instance
DDL, Department Table and Employee Table, Department Location Table, Project Table,
Dependents Table, Work On Table (In Order)
18
Testing Database
VIEW
CREATE VIEW emp_depent
AS SELECT FName, Dependent_Name, Relationship
FROM amedin62.emp_t, amedin62.depen_t
HAVING
SELECT pnum, pname, COUNT(*)
FROM jwu32.project_t, workson
WHERE pnum = pno
GROUP BY pnum, pname
HAVING COUNT (*) > 1;
Group By
SELECT Pnum, Pname, COUNT (*)
FROM jwu32.Project_t, jbarill.WorksOn
WHERE Pnum = pno AND dnum = 4
19
GROUP BY Pnum, Pname;
Outer Join
SELECT e.fname, e.lname, s.fname, s.lname
FROM amedin62.emp_t e, amedin62.emp_t s
WHERE e.superssn = s.essn (+);
Insert Statement
INSERT into emp_t values
('John','E','Doe',098765432,'19-FEB-93','M',60000,null,1);
20
Delete Statement
DELETE FROMEMP_T WHERE LNAME = 'Doe';
Update Statement
UPDATE EMP_T
SET SALARY = 40000
WHERE FNAME = 'JOHN';

More Related Content

PPT
Nunes database
PDF
10 sql tips
PDF
OER UNIT 4 PARTITION
PPT
Luis colina
PPT
Como crear una wiki
PPTX
Triángulos2
Nunes database
10 sql tips
OER UNIT 4 PARTITION
Luis colina
Como crear una wiki
Triángulos2

Viewers also liked (11)

DOC
Análisis fatla
PPT
TIC_Tema6_Brecha_Digital
PPTX
Diapositiva slideshare
PDF
Tarea seminario 6
PDF
A educação dos filhos (luiz guilherme marques)
PDF
A escravidão no brasil os pensamentos de um espírita (dr. adolfo bezerra de...
PDF
A igreja em prol da ciência
DOC
Adarsh_Sharma_cv for CH
PDF
Customer centricity – in search of balance between formal and informal
PDF
Sales and Marketing memes for 2016
Análisis fatla
TIC_Tema6_Brecha_Digital
Diapositiva slideshare
Tarea seminario 6
A educação dos filhos (luiz guilherme marques)
A escravidão no brasil os pensamentos de um espírita (dr. adolfo bezerra de...
A igreja em prol da ciência
Adarsh_Sharma_cv for CH
Customer centricity – in search of balance between formal and informal
Sales and Marketing memes for 2016
Ad

Similar to Project_2CIS405(GroupProject) (20)

PPT
A2 databases
DOCX
IFESFinal58
PPT
Project Management System
PDF
Data infrastructure for the other 90% of companies
PDF
On SQL Managment studioThis lab is all about database normalizatio.pdf
PPT
Evolutionary db development
PPT
database administration level 3 _lecture5.ppt
PDF
Agile Data Science 2.0
PDF
Agile Data Science 2.0
PPT
Sql Server 2000
PPTX
Move Out of Excel and into a Pre-Lead Workspace by Dan Donin
PPT
databases2
PPTX
Running Intelligent Applications inside a Database: Deep Learning with Python...
DOCX
Assignment # 2PreliminariesImportant Points· Evidence of acad.docx
PDF
Agile Data Science 2.0 - Big Data Science Meetup
PPTX
Admin Guiding Query Plans
PDF
Agile Data Science 2.0: Using Spark with MongoDB
PPT
Normalization case
PPT
Kevin Fahy Bi Portfolio
PDF
Data warehousing unit 4.1
A2 databases
IFESFinal58
Project Management System
Data infrastructure for the other 90% of companies
On SQL Managment studioThis lab is all about database normalizatio.pdf
Evolutionary db development
database administration level 3 _lecture5.ppt
Agile Data Science 2.0
Agile Data Science 2.0
Sql Server 2000
Move Out of Excel and into a Pre-Lead Workspace by Dan Donin
databases2
Running Intelligent Applications inside a Database: Deep Learning with Python...
Assignment # 2PreliminariesImportant Points· Evidence of acad.docx
Agile Data Science 2.0 - Big Data Science Meetup
Admin Guiding Query Plans
Agile Data Science 2.0: Using Spark with MongoDB
Normalization case
Kevin Fahy Bi Portfolio
Data warehousing unit 4.1
Ad

Project_2CIS405(GroupProject)

  • 1. 1 CIS 405 Project Oracle Database Development Juan Barillas Arturo Medina Larry Ngo James Wu
  • 2. 2 Table of Contents PART1 Database Scenario…………………………………………………………………………... 3-4 ER diagram………………………………………………………………………...…………………...5 ER diagrams to the Relational………………………………………………..……………..... 6 Functional dependency analysis……………………………………………..……………….. 7 Relational Schema after Normalization……………………………………..………………... 7 PART 2 Database Creation Script for Department Table………………………….………….…..…… 8 Database Creation Script for Employee Table……………………………..…………………. 9 Database Creation Script for Department Location Table……………………………...…… 10 Database Creation Script for Project Table………………………………………………...... 11 Database Creation Script for Dependent Table……………………………………………… 12 Database Creation Script for Works On Table……………………………………………. 13-15 Database Structure…………………………………………………………………………… 16 Database Instance…………………………………………………………………………….. 17 Testing Database…………………………………………………………………………... 18-20
  • 3. 3 PART1 Database Scenario The COMPANY database keeps track of a company's employees, departments, and projects 1. The company is organized into departments. Each department has a unique name, a unique number, and a particular employee who manages the department. We keep track of the start date when the employee began managing the department. A department may have several locations. 2. A department controls a number of projects. Each project has a unique name, a unique number and a single location. 3. We store each employee's name, social security number, address, salary, sex and birthday. An employee is assigned to one department but may work on several projects, which are not necessarily controlled by the same department. We keep track of the number of hours per week that an employee works on each project. We also keep track of the direct supervisor of each employee. 4. We want to keep track of the dependents of each employee for insurance purpose. We keep each dependent's name, sex, birthday and relationship to the employees. Manages 1:1 Works_For 1:N Controls 1:N Supervision 1: N Workd_on M:N Dependents_Of 1:N Business Rules One employee must work for one and only one department. One department must have 4 or more employees. One employee may manage one and only one department. One department must be managed by one and only employee. One department may control one or more projects. One project must be controlled by one and only one department. One employee must work on one or many projects. One project must have one or many employees to work on. One employee may have one or more dependents. One dependent must belong to one and only one employee. One employee may supervise many other employees. One employee may be supervised by another employee.
  • 4. 4 Given the above database scenario and business rules, do the following things: Relationship types using relationship matrix Employee Department Project Dependent Employee supervise Has Is managed has Belongs to Department Work for Manages ____ Is controlled ____ Project Works on Control ____ ____ Dependent Has ____ ____ ____
  • 5. 5 ER diagram with 1) entity types, 2) relationship types, 3) keys,4) cardinality ratio and 5) connection. EMPLOYEE DEPENDENT DEPARTMENT PROJECT WORKS_ON Employee_IDPK Name SSN Employee_IDPK Sex Dept_NumPK Dept_Name Mgr_ID Project_NumPK ProjectName Project_Loc Depend_NamePK DOB Relationship Dept_Num Mgr_StartDateAddress Salary Sex DOB Spvr_ID Dependents of Works_For Manages Controls Supervision Employee_IDPK HrsPerWeek Project_NumPKDept_Num
  • 6. 6 ER diagrams to a relational database indicating the relation name, attribute name and primary key for each relation. Table name: EMPLOYEE Employee_ID Name SSN Address Salary Sex DOB Spvr_ID Dept_Num Table name: DEPARTMENT Dept_Num Dept_Name Mgr_ID Mgr_StartDate Employee_ID Table name: PROJECT Project_Num ProjectName Project_Loc Dept_Num Table name: DEPENDENT Employee_ID Depend_Name Sex DOB Relantionship Table name: DEPT_LOC Dept_Num _Dept_Loc Table name: WORKS_ON Employee_ID _Project_Num HrsPerWeek . Establish join paths for the above relational database using the referential integrity by drawing arrow lines between the above tables. Indicate all the foreign keys (FK). ( FK > PK) EMPLOYEE.Dept_Num>DEPARTMENT.Dept_Num PROJECT.Dept_Num>DEPARTMENT.Dept_Num DEPENDENT.Employee_ID>EMPLOYEE.Employee_ID
  • 7. 7 DEPT_LOC.Dept_Num>DEPARTMENT.Dept_Num WORKS_ON.Employee_ID>EMPLOYEE.Employee_ID WORKS_ON.Project_Num>PROJECT.Project_Num Functional Dependency Analysis (Determinant Attribute > Dependent Attribute) Employee_ID > Name, SSN, Address, Salary, Sex, DOB, Spvr_ID Dept_Num > Dept_Name, Employee_ID Dept_Num, Mgr_ID > Mgr_StartDate Project_Num > ProjectName, Project_Loc Employee_ID, Project_Num > HrsPerWeek Employee_ID, Depend_Name > Sex, DOB, Relationship Relational Schema after Normalization Table name: EMPLOYEE Employee_ID Name SSN Address Salary Sex DOB Table name: DEPARTMENT Dept_Num Employee_ID Dept_Name Table name: PROJECT Project_Num ProjectName Project_Loc Dept_Num Table name: DEPENDENT Employee_ID Depend_Name Sex DOB Relantionship Table name: DEPT_LOC Dept_Num _Dept_Loc Table name: WORKS_ON Employee_ID _Project_Num HrsPerWeek
  • 8. 8 PART 2 Database Creation Script for Department Table CREATE TABLE DEPARTMENT_t (DNUM number NOT NULL, DNAME VARCHAR(25) , MGRSSN NUMBER(9) , MGRSTARTDATE VARCHAR(20) , CONSTRAINT DEPARTMENT_t_PK PRIMARY KEY (DNUM), CONSTRAINT DEPARTMENT_t_FK FOREIGN KEY (MGRSSN) REFERENCES amedin62.emp_t(ESSN)); INSERT INTO DEPARTMENT_t (DNUM, DNAME, MGRSSN, MGRSTARTDATE) VALUES (1, 'Accounting', 58129514, '15-JAN-78'); INSERT INTO DEPARTMENT_t (DNUM, DNAME, MGRSSN, MGRSTARTDATE) VALUES (2, 'Marketing', 51250127, '15-JUL-77'); INSERT INTO DEPARTMENT_t (DNUM, DNAME, MGRSSN, MGRSTARTDATE) VALUES (3, 'Research', 67853684, '15-DEC-79'); INSERT INTO DEPARTMENT_t (DNUM, DNAME, MGRSSN, MGRSTARTDATE) VALUES (4, 'Management', 57192337, '12-MAY-76');
  • 9. 9 Database Creation Script for Employee Table CREATE TABLE EMP_T ( FNAME VARCHAR2(9), MINIT VARCHAR2(5), LNAME VARCHAR2(8), ESSN NUMBER(9), BDATE DATE, SEX VARCHAR2(3), SALARY NUMBER(5), SUPERSSN NUMBER(9), DNUM NUMBER(1), CONSTRAINT EMP_PK PRIMARY KEY(ESSN), CONSTRAINT EMP_SUPERSSN_FK1 FOREIGN KEY (SUPERSSN) REFERENCES EMP_T(ESSN), CONSTRAINT EMP_DNUMBER_FK2 FOREIGN KEY (DNUMBER) REFERENCES LNGO12.DEPARTMENT_T(DNUM)); INSERT INTO EMP_T VALUES ('JOHN','B','SMITH',123456789,'09-JAN-55','M',30000,333445555,5); INSERT INTO EMP_T VALUES ('FRANKLIN','T','WONG',333445555,'08-DEC-45','M',40000,888665555,5); INSERT INTO EMP_T VALUES ('ALICIA','J','ZELAYA',999887777,'19-JUL-58','F',25000,987654321,4); INSERT INTO EMP_T VALUES ('JENNIFER','S','WALLACE',987654321,'20-JUN-31','F',43000,888665555,4); INSERT INTO EMP_T VALUES ('RAMESH','K','NARAYAN',666884444,'15-SEP-52','M',38000,333445555,5); INSERT INTO EMP_T VALUES ('JOYCE','A','ENGLISH',453453453,'31-JUL-62','F',25000,333445555,5); INSERT INTO EMP_T VALUES ('AHMAD','V','JABBAR',987987987,'29-MAR-59','M',25000,987654321,4); INSERT INTO EMP_T VALUES ('JAMES','E','BORG',888665555,'10-NOV-27','M',55000,NULL,1);
  • 10. 10 Database Creation Script for Department Location CREATE TABLE DeptLoc (DNumber NUMBER(2), DLocation VARCHAR2(13) ); INSERT INTO DeptLoc VALUES (1,'Houston'); INSERT INTO DeptLoc VALUES (4,'Stafford'); INSERT INTO DeptLoc VALUES (5,'Bellaire'); INSERT INTO DeptLoc VALUES (5,'Houston'); INSERT INTO DeptLoc VALUES (5,'Sugarland'); Alter Table DeptLoc ADD CONSTRAINT DeptLOc_PK PRIMARY KEY (DNumber, DLocation); ALTER TABLE DeptLoc ADD CONSTRAINT DeptLoc_FK FOREIGN KEY (DNumber) REFERENCES lngo12.Department_t (DNUM);
  • 11. 11 Database Creation Script for Project Table CREATE TABLE Project_T (PName VARCHAR2(25) NOT NULL, PNum NUMBER(11), PLocation VARCHAR2(20), DNum NUMBER(11)); Insert Into Project_t (Pname, PNum, PLocation, DNum) Values ('ProductX', 1,'Bellaire',5); Insert Into Project_t (Pname, PNum, PLocation, DNum) Values ('ProductY', 2,'Sugarland',5); Insert Into Project_t (Pname, PNum, PLocation, DNum) Values ('ProductZ', 3,'Houston',5); Insert Into Project_t (Pname, PNum, PLocation, DNum) Values ('Computerization', 10,'Stafford',4); Insert Into Project_t (Pname, PNum, PLocation, DNum) Values ('Reorganization', 20,'Houston',1); Insert Into Project_t (Pname, PNum, PLocation, DNum) Values ('Newbenefits', 30,'Stafford',4); Alter Table Project_t Add Constraint Project_pk Primary Key (PNum);
  • 12. 12 Alter Table Project_t Add Constraint Project_t_dnum_fk Foreign key (dnum) references lngo12.DEPARTMENT_t (dnum); Database Creation Script for Dependent Table CREATE TABLE DEPEN_T ( ESSN NUMBER(9), DEPENDENT_NAME VARCHAR2(14), SEX VARCHAR2(3), BDATE DATE, RELATIONSHIP VARCHAR2(12) constraint depen_pk primary key (ESSN,dependent_name), constraint depen_ESSN_fk foreign key (ESSN) references emp_t(ESSN)); INSERT INTO DEPEN_T VALUES (333445555,'ALICE','F','05-APR-76','DAUGHTER'); INSERT INTO DEPEN_T VALUES (333445555,'THEODORE','M','25-OCT-73','SON'); INSERT INTO DEPEN_T VALUES (333445555,'JOY','F','03-MAY-48','SPOUSE'); INSERT INTO DEPEN_T VALUES (987654321,'ABNER','M','29-FEB-32','SPOUSE'); INSERT INTO DEPEN_T VALUES (123456789,'MICHAEL','M','01-JAN-78','SON'); INSERT INTO DEPEN_T VALUES (123456789,'ALICE','F','31-DEC-78','DAUGHTER'); INSERT INTO DEPEN_T VALUES (123456789,'ELIZABETH','F','05-MAY-57','SPOUSE');
  • 13. 13 Database Creation Script for Works On Table CREATE TABLE WorksOn (ESSN NUMBER(9) NOT NULL, PNO NUMBER(11), Hour NUMBER(6)); INSERT INTO WorksOn (ESSN, PNO, Hour) VALUES (123456789,1,32.5); INSERT INTO WorksOn (ESSN, PNO, Hour) VALUES (123456789,2,7.5); INSERT INTO WorksOn (ESSN, PNO, Hour) VALUES (666884444,3,40); INSERT INTO WorksOn (ESSN, PNO, Hour) VALUES (453453453, 1, 20); INSERT INTO WorksOn (ESSN, PNO, Hour) VALUES (453453453, 2, 20); INSERT INTO WorksOn (ESSN, PNO, Hour) VALUES (333445555, 2, 10); INSERT INTO WorksOn (ESSN, PNO, Hour) VALUES (333445555, 3, 10); INSERT INTO WorksOn (ESSN, PNO, Hour) VALUES (333445555, 10, 10); INSERT INTO WorksOn (ESSN, PNO, Hour) VALUES (333445555, 20, 10); INSERT INTO WorksOn (ESSN, PNO, Hour) VALUES (999887777, 30, 30); INSERT INTO WorksOn (ESSN, PNO, Hour) VALUES (999887777, 10, 10); INSERT INTO WorksOn (ESSN, PNO, Hour) VALUES (987987987, 10, 10); INSERT INTO WorksOn (ESSN, PNO, Hour) VALUES (987987987, 30, 35); INSERT INTO WorksOn (ESSN, PNO, Hour) VALUES (987654321, 30, 20); INSERT INTO WorksOn (ESSN, PNO, Hour) VALUES (987654321, 20, 15); INSERT INTO WorksOn (ESSN, PNO, Hour) VALUES (888665555, 20, null);
  • 14. 14 ALTER TABLE WorksOn ADD CONSTRAINT WorksOn_PK PRIMARY KEY (ESSN, PNO); ALTER TABLE WorksOn ADD CONSTRAINT WorksOn_fk1 Foreign KEY (PNO) references jwu32.Project_t (PNUM);
  • 15. 15 ALTER TABLE WorksOn ADD CONSTRAINT WorksOn_fk Foreign KEY (ESSN) references amedin62.emp_t (ESSN);
  • 16. 16 Database Structure DDL, Department Table and Employee Table, Department Location Table, Project Table, Dependents Table, Work On Table (In Order)
  • 17. 17 Database Instance DDL, Department Table and Employee Table, Department Location Table, Project Table, Dependents Table, Work On Table (In Order)
  • 18. 18 Testing Database VIEW CREATE VIEW emp_depent AS SELECT FName, Dependent_Name, Relationship FROM amedin62.emp_t, amedin62.depen_t HAVING SELECT pnum, pname, COUNT(*) FROM jwu32.project_t, workson WHERE pnum = pno GROUP BY pnum, pname HAVING COUNT (*) > 1; Group By SELECT Pnum, Pname, COUNT (*) FROM jwu32.Project_t, jbarill.WorksOn WHERE Pnum = pno AND dnum = 4
  • 19. 19 GROUP BY Pnum, Pname; Outer Join SELECT e.fname, e.lname, s.fname, s.lname FROM amedin62.emp_t e, amedin62.emp_t s WHERE e.superssn = s.essn (+); Insert Statement INSERT into emp_t values ('John','E','Doe',098765432,'19-FEB-93','M',60000,null,1);
  • 20. 20 Delete Statement DELETE FROMEMP_T WHERE LNAME = 'Doe'; Update Statement UPDATE EMP_T SET SALARY = 40000 WHERE FNAME = 'JOHN';