0% found this document useful (0 votes)
65 views6 pages

Its Module Exam

The document defines the schema for a database including tables for regions, customers, employees, projects, project schedules, assignments, bills, and skills. It provides the DDL statements to create the tables and constraints and DML statements to populate the tables with sample data.

Uploaded by

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

Its Module Exam

The document defines the schema for a database including tables for regions, customers, employees, projects, project schedules, assignments, bills, and skills. It provides the DDL statements to create the tables and constraints and DML statements to populate the tables with sample data.

Uploaded by

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

DROP TABLE CUSTOMER;

DROP TABLE REGION;


DROP TABLE EMPLOYEES;
DROP TABLE PROJECT;
DROP TABLE PROJECTSCHEDULE;
DROP TABLE ASSIGNMENT;
DROP TABLE BILL;
DROP TABLE SKILL;
DROP TABLE PROJECTTASKSKILLS;

CREATE TABLE Region


(
"ID" VARCHAR(10),
"RegionName" VARCHAR(255),
PRIMARY KEY ("ID")
);

insert into Region values ('NW', 'Northwest');


insert into Region values ('SW', 'Southwest');
insert into Region values ('MN', 'Midwest North');
insert into Region values ('MS', 'Midwest South');
insert into Region values ('NE', 'Norteast');
insert into Region values ('SE', 'Southeast');

CREATE TABLE Customer


(
"ID" INT NOT NULL ,
"FirstName" VARCHAR(255) ,
"LastName" VARCHAR(255) ,
"PhoneNumber" VARCHAR(255) ,
"RegionID" VARCHAR(10),
PRIMARY KEY ("ID")
);

insert into Customer values ('001', 'Fatima', 'Mosquito', '00022233344', 'NW');


insert into Customer values ('002', 'Carmina', 'Adorna', '11133344455', 'SW');
insert into Customer values ('003', 'So', 'Francis', '22244455566', 'SE');
insert into Customer values ('004', 'Ong', 'Anton', '33355566677', 'MS');

ALTER TABLE Customer


ADD CONSTRAINT "Region_Customer_RegionID" FOREIGN KEY ("RegionID")
REFERENCES Region ("ID");

CREATE TABLE Employees


(
"ID" INT NOT NULL,
"RegionID" VARCHAR(10),
"LastName" VARCHAR(255),
"FirstName" VARCHAR(255),
"DateofHire" VARCHAR(255),
PRIMARY KEY ("ID")
);

insert into Employees values ('111', 'NW', 'Seaton', 'Amy', '12-JAN-2003');


insert into Employees values ('112', 'SW', 'Williams', 'Josh', '12-FEB-2003');
insert into Employees values ('113', 'MN', 'Underwood', 'Trish', '12-MARCH-2003');
insert into Employees values ('114', 'MS', 'Craig', 'Brett', '12-APRIL-2003');
insert into Employees values ('115', 'NE', 'Swell', 'Beth', '12-MAY-2003');
insert into Employees values ('116', 'SE', 'Robinsons', 'Erin', '12-JUN-2003');
insert into Employees values ('117', 'NW', 'Bush', 'Emily', '12-JUL-2003');
insert into Employees values ('118', 'SW', 'Zebras', 'Steve', '12-AUG-2003');
insert into Employees values ('119', 'MN', 'Chandler', 'Joseph', '12-SEP-2003');
insert into Employees values ('120', 'MS', 'Burklow', 'Shane', '12-OCT-2003');
insert into Employees values ('121', 'NE', 'Yarbough', 'Peter', '12-NOV-2003');
insert into Employees values ('122', 'SE', 'Smith', 'Mary', '12-DEC-2003');
insert into Employees values ('123', 'NW', 'Pascoe', 'Jonathan', '12-JAN-2004');
insert into Employees values ('124', 'SW', 'Kattan', 'Chris', '12-FEB-2004');
insert into Employees values ('125', 'MN', 'Ephanor', 'Victor', '12-MARCH-2004');
insert into Employees values ('126', 'MS', 'Summers', 'Anna', '12-APRIL-2004');
insert into Employees values ('127', 'NE', 'Ellis', 'Maria', '12-MAY-2004');
insert into Employees values ('128', 'SE', 'Batts', 'Melissa', '12-JUNE-2004');
insert into Employees values ('129', 'NW', 'Cope', 'Leslie', '12-JULY-2004');
insert into Employees values ('130', 'SW', 'Rogers', 'Adam', '12-AUG-2004');
insert into Employees values ('131', 'MN', 'Smith', 'Jose', '12-SEP-2004');
insert into Employees values ('132', 'MS', 'Bible', 'Hanah', '12-OCT-2004');
insert into Employees values ('133', 'NE', 'Newton', 'Christopher', '12-NOV-2004');
insert into Employees values ('134', 'SE', 'Duarte', 'Miriam', '12-DEC-2004');
insert into Employees values ('135', 'NW', 'Bush', 'Emily', '12-JAN-2005');
insert into Employees values ('136', 'SW', 'Kilby', 'Surgena', '12-FEB-2005');
insert into Employees values ('137', 'MN', 'Bender', 'Larry', '12-MARCH-2005');
insert into Employees values ('138', 'MS', 'Paine', 'Brad', '12-APRIL-2005');
insert into Employees values ('139', 'NE', 'Mudd', 'Roger', '12-MAY-2005');
insert into Employees values ('140', 'SE', 'Kenyon', 'Tiffany', '12-JUN-2005');
insert into Employees values ('141', 'NW', 'Connor', 'Sean', '12-JUL-2005');

ALTER TABLE Employees


ADD CONSTRAINT "Region_Employees_RegionID" FOREIGN KEY ("RegionID")
REFERENCES Region ("ID");

CREATE TABLE Project


(
"ID" INT NOT NULL,
"Description" VARCHAR(255),
"ContractDate" VARCHAR(255),
"StartDate" VARCHAR(255),
"EndDate" VARCHAR(255),
"Budget" INT,
"ActualStartDate" VARCHAR(255),
"ActualEndDate" VARCHAR(255),
"ActualCost" INT,
"EmployeeID" INT,
"CustomerID" INT,
PRIMARY KEY ("ID"),
CONSTRAINT proj_dates_CK CHECK ("StartDate" < "EndDate"),
CONSTRAINT proj_desc_CK CHECK ("Description" IS NOT NULL)
);

insert into Project values ('101', 'Sales Management System', '12-FEB-2018', '1-
MAR-2018', '6-MAR-2018', '10000', '1-MAR-2018', '6-MAR-2018', '5000', '111',
'001');
insert into Project values ('102', 'Sales Management System', '13-FEB-2018', '2-
MAR-2018', '7-MAR-2018', '11000', '2-MAR-2018', '7-MAR-2018', '5100', '112',
'002');

ALTER TABLE Project


ADD FOREIGN KEY ("CustomerID")
REFERENCES Customer ("ID");

ALTER TABLE Project


ADD CONSTRAINT "Employees_Project_EmployeeID" FOREIGN KEY ("EmployeeID")
REFERENCES Employees ("ID");

CREATE TABLE ProjectSchedule


(
"ID" INTEGER NOT NULL ,
"ProjectID" INTEGER,
"BriefDescription" VARCHAR(255) ,
"StartDate" VARCHAR(255) ,
"EndDate" VARCHAR(255),
PRIMARY KEY ("ID"),
CONSTRAINT projschedule_dates_CK CHECK ("StartDate" < "EndDate")
);

insert into ProjectSchedule values ('301', '101', 'Initial interview', '1-MAR-


2018', '6-MAR-2018');
insert into ProjectSchedule values ('302', '102', 'Database design', '2-MAR-2018',
'7-MAR-2018');

ALTER TABLE ProjectSchedule


ADD CONSTRAINT "Project_ProjectSchedule_ProjectID" FOREIGN KEY ("ProjectID")
REFERENCES Project ("ID");

CREATE TABLE Assignment


(
"ID" INT NOT NULL,
"EmployeeID" INT,
"ProjectScheduleID" INT,
"StartDate" VARCHAR(255) DEFAULT 'J',
"EndDate" VARCHAR(255) DEFAULT 'J',
PRIMARY KEY ("ID"),
CONSTRAINT assign_dates_CK CHECK ("StartDate" < "EndDate")
);

insert into Assignment values ('401', '111', '301', '1-APRIL-2018', '6-APRIL-


2018');
insert into Assignment values ('402', '112', '302', '2-APRIL-2018', '8-APRIL-
2018');

ALTER TABLE Assignment


ADD CONSTRAINT "Employees_Assignment_EmployeeID" FOREIGN KEY ("EmployeeID")
REFERENCES Employees ("ID");

ALTER TABLE Assignment


ADD CONSTRAINT "ProjectSchedule_Assignment_ProjectID" FOREIGN KEY
("ProjectScheduleID")
REFERENCES ProjectSchedule ("ID");

CREATE TABLE Bill


(
"ID" INT NOT NULL,
"TotalHours" INT NOT NULL,
PRIMARY KEY ("ID")
);
insert into Bill values ('501', '8');
insert into Bill values ('502', '8');
insert into Bill values ('503', '8');
insert into Bill values ('504', '8');
insert into Bill values ('505', '8');
insert into Bill values ('506', '8');
insert into Bill values ('507', '8');
insert into Bill values ('508', '8');
insert into Bill values ('509', '8');
insert into Bill values ('510', '8');
insert into Bill values ('511', '8');
insert into Bill values ('512', '8');
insert into Bill values ('513', '8');
insert into Bill values ('514', '8');
insert into Bill values ('515', '8');
insert into Bill values ('516', '8');
insert into Bill values ('517', '8');
insert into Bill values ('518', '8');
insert into Bill values ('519', '8');
insert into Bill values ('520', '8');
insert into Bill values ('521', '8');
insert into Bill values ('522', '8');
insert into Bill values ('523', '8');

CREATE TABLE Skill


(
"ID" INT NOT NULL,
"BillID" INT NOT NULL,
"Description" VARCHAR(255),
"EmployeeID" VARCHAR(255),
"PayRate" INT NOT NULL,
PRIMARY KEY ("ID")
);
insert into Skill values ('601', '501', 'Data Entry I', '111, 112, 113', '800');
insert into Skill values ('602', '502', 'Data Entry II', '111, 112', '900');
insert into Skill values ('603', '503', 'Systems Analyst I', '114, 115, 116, 117',
'600');
insert into Skill values ('604', '504', 'Systems Analyst II', '116, 119, 120',
'700');
insert into Skill values ('605', '505', 'DB Designer I', '121, 122', '1000');
insert into Skill values ('606', '506', 'DB Designer II', '121, 123', '1300');
insert into Skill values ('607', '507', 'Java I', '124, 125, 126, 127', '1200');
insert into Skill values ('608', '508', 'Java II', '124, 125, 128', '1200');
insert into Skill values ('609', '509', 'C++ I', '129, 130, 131', '600');
insert into Skill values ('610', '510', 'C++ II', '130, 132', '900');
insert into Skill values ('611', '511', 'Python I', '118, 127 ', '800');
insert into Skill values ('612', '512', 'Python II', '118, 133', '500');
insert into Skill values ('613', '513', 'ColdFusion I', '134, 135', '1000');
insert into Skill values ('614', '514', 'ColdFusion II', '133, 135', '1200');
insert into Skill values ('615', '515', 'ASP I', '134, 135', '900');
insert into Skill values ('616', '516', 'ASP II', '133, 134', '800');
insert into Skill values ('617', '517', 'Oracle DBA', '123, 131,', '600');
insert into Skill values ('618', '518', 'SQL Server DBA', '121, 131', '700');
insert into Skill values ('619', '519', 'Network Engineer I', '117, 122', '800');
insert into Skill values ('620', '520', 'Network Engineer II', '117, 122', '500');
insert into Skill values ('621', '521', 'Web Administrator', '117, 122, 133',
'1200');
insert into Skill values ('622', '522', 'technical Writer', '136, 137', '1100');
insert into Skill values ('623', '523', 'Project Manager', '138, 139, 140, 141',
'1300');

CREATE TABLE ProjectTaskSkills


(
"ID" INT NOT NULL,
"QuantityRequired" VARCHAR(255),
"SkillID" INT,
"ProjectScheduleID" INT,
PRIMARY KEY ("ID")
);

insert into ProjectTaskSkills values ('701', '1', '601', '301');


insert into ProjectTaskSkills values ('702', '1', '602', '302');

ALTER TABLE ProjectTaskSkills


ADD FOREIGN KEY ("SkillID")
REFERENCES Skill ("ID");

ALTER TABLE ProjectTaskSkills


ADD FOREIGN KEY ("ProjectScheduleID")
REFERENCES ProjectSchedule ("ID");

SELECT * FROM PROJECT;


SELECT * FROM EMPLOYEES;
SELECT * FROM CUSTOMER;
SELECT * FROM REGION;
SELECT * FROM PROJECTSCHEDULE;
SELECT * FROM ASSIGNMENT;
SELECT * FROM BILL;
SELECT * FROM SKILL;
SELECT ("TotalHours" * "PayRate") AS TotalPay
FROM Bill, Skill;

CREATE OR REPLACE PROCEDURE


get_emp_rec ("EmpID" IN NUMBER, "EmpFirstName" OUT VARCHAR, "EmpLastName" OUT
VARCHAR, "DateofHired" OUT DATE) AS
BEGIN
SELECT "FirstName", "LastName", "DateofHire"
INTO "EmpFirstName", "EmpLastName", "DateofHired"
FROM Employees
WHERE "ID" = "EmpID";
END;
/
CREATE OR REPLACE PROCEDURE
get_cust_rec ("CustID" IN NUMBER, "CustFirstName" OUT VARCHAR, "CustLastName" OUT
VARCHAR) AS
BEGIN
SELECT "FirstName", "LastName"
INTO "CustFirstName", "CustLastName"
FROM Customer
WHERE "ID" = "CustID";
END;
/
create table Payment (Pay varchar2(20), date_added varchar2(20));

create or replace trigger add_Pay


before insert on Payment
for each row
begin
:new.date_added :=TO_CHAR(CURRENT_DATE, 'DD-MM-YYYY HH:MI:SS');
end;
/

insert into Payment(Pay) values('800');


insert into Payment(Pay) values('800');
SELECT * FROM Payment;

CREATE VIEW NorthWest Employees


AS SELECT "FirstName", "LastName", "DateofHire"
FROM Employees
WHERE "RegionID" = 'NW';

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