ICT501 Group3 Final Report
ICT501 Group3 Final Report
PROPOSAL PROJECT
OCEANCARE CORPORATION
DATABASE MANAGEMENT SYSTEM
GROUP: CS2403C
NAME STUDENT ID
SHERMAN FARLY ANAK MULI 2022764733
AMY NAZEERA BINTI NAFRIZAN 2022971971
AMY NAZEERA BINTI NAFRIZAN 2022765125
ANIS NABIHAH BINTI MOHD JAIS 2022949507
SUBMITTED FOR:
1
GROUP MEMBER INTRODUCTION
GROUP NAME: GROUP 3
SYSTEM NAME: OCEANCARE MANAGEMENT SYSTEM
2
Name: Amy Nazeera Binti Nafrizan
Student ID No.: 2022765125
Phone No.: 01165650978
Email: amynazeera18@gmail.com
Role: System Analyst
Responsibilities: Write requirements for new systems and implement them.
3
TABLE OF CONTENT
1. CASE STUDY .......................................................................................................... 7
HOME ........................................................................................................................47
DASHBOARD ............................................................................................................51
9. CONCLUSION ........................................................................................................62
4
TABLE OF FIGURES
FIGURE 1 COMPANY ORGANIZATIONAL CHART........................................................ 8
FIGURE 2 ERD PROJECTS WITH SERVICES ............................................................. 10
FIGURE 3 ERD PROJECT WITH EMPLOYEE ............................................................. 10
FIGURE 4 ERD PROJECT WITH REPORTS ................................................................ 11
FIGURE 5 ERD PROJECTS WITH CUSTOMERS ........................................................ 11
FIGURE 6 ERD DEPARTMENT WITH EMPLOYEES .................................................. 12
FIGURE 7 ERD REPORT WITH ACCIDENT RECORDS ............................................. 12
FIGURE 8 ERD EMPLOYEES BRIDGE EQUIPMENTS ............................................... 12
FIGURE 9 ERD CUSTOMER WITH EQUIPMENT ....................................................... 13
FIGURE 10 ERD EQUIPMENTS WITH PROTECTIVE EQUIPMENT............................ 14
FIGURE 11 ERD EQUIPMENTS WITH GENERAL TOOLS .......................................... 14
FIGURE 12 ENTITY RELATIONAL DIAGRAM ............................................................. 15
FIGURE 13 ENTITIES AND DATA INTEGRITY ........................................................... 17
FIGURE 14 ENTITIES RELATIONAL DIAGRAM NARRATIVE .................................... 18
FIGURE 24 DATA DEFINITION LANGUAGE ................................................................ 27
FIGURE 25 DATA DEFINITION LANGUAGE DROP TABLE USING MENU ................. 27
FIGURE 26 DATA DEFINITION LANGUAGE DROP TABLE USING COMMAND ......... 28
FIGURE 27 DATA MANIPULATION LANGUAGE ......................................................... 35
FIGURE 28 DATA MANIPULATION LANGUAGE ......................................................... 35
FIGURE 29 HOME PAGE ............................................................................................. 47
FIGURE 30 EMPLOYEE PAGE..................................................................................... 47
FIGURE 31 SERVICES PAGE ...................................................................................... 48
FIGURE 32 DEPARTMENTS PAGE ............................................................................. 48
FIGURE 33 CUSTOMERS PAGE ................................................................................. 48
FIGURE 34 PROJECTS PAGE ..................................................................................... 49
FIGURE 35 REPORTS PAGE ....................................................................................... 49
FIGURE 36 EQUIPMENTS PAGE................................................................................. 49
FIGURE 37 PROTECTIVE EQUIPMENTS PAGE ......................................................... 50
FIGURE 38 GENERALS TOOLS PAGE ........................................................................ 50
FIGURE 39 ACCIDENT RECORDS PAGE ................................................................... 50
FIGURE 40 DASHBOARD OF ACCIDENT CASES BY CATEGORY ............................ 51
FIGURE 41 DASHBOARD OF CASE OF INJURY ........................................................ 52
5
FIGURE 42 DASHBOARD OF PROJECT STATUS ..................................................... 53
FIGURE 43 DASHBOARD EQUIPMENT ...................................................................... 53
FIGURE 44 DASHBOARD OF PROTECTIVE EQUIPMENT ......................................... 54
FIGURE 45 DASHBOARD OF GENERALS TOOLS ..................................................... 54
FIGURE 46 DASHBOARD OF PROJECT SERVICE COST (MYR) ............................... 55
FIGURE 47 DASHBOARD OF TOTAL REPORTS ........................................................ 56
FIGURE 48 OUTPUT QUESTION 1 .............................................................................. 57
FIGURE 49 OUTPUT QUESTION 2 .............................................................................. 57
FIGURE 50 OUTPUT QUESTION 3 .............................................................................. 58
FIGURE 51 OUTPUT QUESTION 4 .............................................................................. 58
FIGURE 52 OUTPUT QUESTION 5 .............................................................................. 59
FIGURE 53 OUTPUT QUESTION 6 .............................................................................. 59
FIGURE 54 OUTPUT QUESTION 7 .............................................................................. 60
FIGURE 55 OUTPUT QUESTION 8 .............................................................................. 60
FIGURE 56 OUTPUT QUESTION 9 .............................................................................. 61
FIGURE 57 OUTPUT QUESTION 10 ............................................................................ 61
FIGURE 58 USER MANUAL STEP 1 ............................................................................ 64
FIGURE 59 USER MANUAL STEP 2 ............................................................................ 64
FIGURE 60 USER MANUAL STEP 3 ............................................................................ 65
FIGURE 61 USER MANUAL STEP 4 ............................................................................ 65
FIGURE 62 USER MANUAL STEP 5 ............................................................................ 66
FIGURE 63 USER MANUAL STEP 6 ............................................................................ 66
FIGURE 64 USER MANUAL STEP 6 ............................................................................ 67
FIGURE 65 USER MANUAL STEP 7 ............................................................................ 67
FIGURE 66 USER MANUAL STEP 8 ............................................................................ 68
FIGURE 67 USER MANUAL STEP 9 ............................................................................ 68
FIGURE 68 USER MANUAL STEP 10 .......................................................................... 69
FIGURE 69 USER MANUAL STEP 11 .......................................................................... 69
6
1. CASE STUDY
Company Background
Company’s Logo
7
viii. Offshore Facilities Construction, Transport & Installation
Services
ix. Underwater Services
x. Air Transportation Services
xi. Valves, Welded Pipes, Pipe Fittings & Instruments
xii. Consultancy Services
Engineering, Procurement and Construction of Reception
i. Building for Sarawak Production Operations
ii. Provision of Operation and Maintenance Support Services
iii. Provision to Upgrade SBGAST Power Generation System
Engineering Procurement, Construction and
Products Commissioning
delivered iv. (EPCC) of New Power Generation System for
PETRONAS Carigali Sdn. Bhd.
v. Protection Relay Testing and Calibration
vi. Provision of Inspection, Servicing and Calibration
vii. Provision of Underwater Inspection and Maintenance
Services
Organizational
chart
8
Problem Statement
Most departments in this company are currently using systems provided by the Information
Technology Department, despite several systems provided and built by the IT department, we
found that some departments are using both new systems and manual systems to manage
and record data. The data provided by another department is usually inconsistent and difficult
to audit which can affect the efficiency of the company to provide better services due to these
circumstances.
Objective
Information Technology is a department that handles all the technological issues that
arise. Although they perform these tasks from time to time, they're actually much more vital to
the success of a business plan; they complete many more tasks behind the scenes than
people are aware of. In an overall sense, the IT Department is responsible for providing the
infrastructure for automation. It implements the governance for the use of network and
operating systems, and it assists the operational units by providing them the functionality they
need.
The project is a web-based application that allows the company to organize customer’s
data and information. By developing the system, the company will have a good directory that
is convenient to the company organization. The objective of this system:
i. To ease the department with providing services and store data using a practical and
efficient method.
ii. To keep exact records or info of customers from various companies and their services
ordered details.
iii. To help the company in better management of customer’s data and reduce data loss.
9
Business Rules
1.Many projects can do many services
Many-to-Many relationship
10
3. One project can have many report
One-to-Many relationship
11
5. One department can have many employees
One-to-Many relationship
12
7. One employee can have many equipment
One-to-Many relationship
One-to-Many relationship
13
9. One equipment can be one protective equipment
One-to-one relationship
One-to-One relationship
14
2. ENTITY RELATIONAL DIAGRAM (ERD)
Figure 12 ER Diagram
15
3. 3NF RELATIONAL SCHEMA
OCMS_EMPLOYEES (EMP_ID, EMP_FN, EMP_LN, SALARY, PHONE_NO, EMAIL,
HIRE_DATE, *DEP_ID)
OCMS_SERVICES (SERVICE_ID, SERVICE_NAME, SERVICE_COST, *PROJECT_ID)
OCMS_DEPARTMENTS (DEP_ID, DEP_NAME, MANAGER_ID)
OCMS_CUSTOMERS (REG_ID, COMPANY_NAME, COMPANY_PHONENO,
COMPANY_EMAIL, ADDRESS)
OCMS_PROJECTS (PROJECT_ID, PROJECT_NAME, PROJECT_DATE,
PROJECT_STATUS, *EMP_ID, *REG_ID)
OCMS_REPORTS (REPORT_ID, REPORT_TYPE, REPORT_CATEGORY,
REPORT_DESC, REPORT_DATE, *EMP_ID, *REG_ID)
OCMS_ACCIDENT_RECORDS (ACCIDENT_CATEGORY, ACCIDENT_DESC,
ACCIDENT_DATE, ACCIDENT_SEVERITY, *REPORT_ID)
OCMS_EQUIPMENTS (EQUIPMENT_ID, EQUIPMENT_TYPE, EQUIPMENT_NAME,
EQUIPMENT_STATUS, QUANTITY, *EMP_ID, *REG_ID)
OCMS_PROTECTIVE_EQUIPMENTS (EQUIPMENT_ID, EQUIPMENT_TYPE,
EQUIPMENT_NAME, EQUIPMENT_STATUS, QUANTITY)
OCMS_GENERAL_TOOLS (EQUIPMENT_ID, EQUIPMENT_TYPE,
EQUIPMENT_NAME, EQUIPMENT_STATUS, QUANTITY)
16
4. ENTITIES AND DATA INTEGRITY
17
5. ENTITY RELATIONAL DIAGRAM NARRATIVE
18
ENTITY NAME: OCMS_DEPARTMENTS
ENTITY EXPLANATION: Record Data of Departments
19
ENTITY NAME: OCMS_CUSTOMERS
ENTITY EXPLANATION: Record Data of Customers
20
ENTITY NAME: OCMS_PROJECTS
ENTITY EXPLANATION: Record Data of Projects
21
ENTITY NAME: OCMS_REPORTS
ENTITY EXPLANATION: Record Data of Reports
22
ENTITY NAME: OCMS_ACCIDENT_RECORDS
ENTITY EXPLANATION: Record Data of Accident Records
23
ENTITY NAME: OCMS_EQUIPMENTS (SUPERTYPE)
ENTITY EXPLANATION: Record Data of Equipment
24
ENTITY NAME: OCMS_PROTECTIVE_EQUIPMENTS (SUBTYPE OCMS_EQUIPMENTS)
ENTITY EXPLANATION: Record Data of Protective Equipments
25
ENTITY NAME: OCMS_GENERAL_TOOLS (SUBTYPE OCMS_EQUIPMENTS)
ENTITY EXPLANATION: Record Data of General Tools
26
6. SQL COMMANDS
Data Definition Language (DDL)
A data definition language (DDL) is a computer language that is used to design and alter
the structure of database items. Views, schemas, tables, and indexes are examples of database
objects. In certain circumstances, this phrase is also known as data description language since it
specifies the fields and records in a database table. DDL is now incorporated into every formal
language used to describe data in the database industry. However, it is regarded as a subset of
SQL (Structured Query Language). SQL frequently combines imperative verbs with conventional
English phrases to execute database changes. As a result, DDL does not appear as a separate
language in a SQL database but rather defines modifications to the database structure. It is used
to create and alter the structure of objects in a database by interacting with database schema
definitions. Unlike data manipulation language (DML) commands, which are used to modify data,
DDL commands are used to change the database structure, such as establishing new tables or
objects with all of their properties (data type, table name, etc.). CREATE, ALTER, DROP, and
TRUNCATE are often used DDL in SQL queries.
Click on the drop button
27
The other way is to enter the command below in the SQL Commands
CREATE TABLE
1. OCMS_EMPLOYEES TABLE
CREATE TABLE OCMS_EMPLOYEES(
EMP_ID NUMBER(6, 0),
EMP_FN VARCHAR2(20),
EMP_LN VARCHAR2(25) CONSTRAINT EMP_LN_NN NOT NULL,
EMAIL VARCHAR2(25) CONSTRAINT EMP_EMAIL_NN NOT NULL,
PHONE_NO VARCHAR2(20),
SALARY NUMBER(8, 2),
HIRE_DATE DATE CONSTRAINT EMP_HIRE_DATE_NN NOT NULL
);
2. OCMS_DEPARTMENTS TABLE
CREATE TABLE OCMS_DEPARTMENTS(
DEP_ID NUMBER(4, 0),
DEP_NAME VARCHAR2(30) CONSTRAINT DEP_NAME_NN NOT NULL
);
3. OCMS_SERVICES TABLE
CREATE TABLE OCMS_SERVICES(
SERVICE_ID VARCHAR2(6),
SERVICE_NAME VARCHAR2(50) CONSTRAINT SER_NAME_NN NOT NULL,
SERVICE_COST NUMBER(8, 2)
);
4. OCMS_CUSTOMERS TABLE
CREATE TABLE OCMS_CUSTOMERS(
REG_ID NUMBER(6, 0),
COMPANY_NAME VARCHAR2(30) CONSTRAINT CUST_NAME_NN NOT
NULL,
COMPANY_PHONENO VARCHAR2(25),
COMPANY_EMAIL VARCHAR2(30) CONSTRAINT CUST_EMAIL_NN NOT
NULL,
ADDRESS VARCHAR2(40),
CITY VARCHAR2(30),
POSTAL_CODE VARCHAR2(10)
28
);
5. OCMS_PROJECTS TABLE
CREATE TABLE OCMS_PROJECTS(
PROJECT_ID VARCHAR2(6),
PROJECT_NAME VARCHAR2(40) CONSTRAINT PR_NAME_NN NOT NULL,
PROJECT_DATE DATE CONSTRAINT PR_DATE_NN NOT NULL,
PROJECT_STATUS VARCHAR2(15)
);
6. OCMS_REPORTS TABLE
CREATE TABLE OCMS_REPORTS(
REPORT_ID VARCHAR2(6),
REPORT_TYPE VARCHAR2(25),
REPORT_CATEGORY VARCHAR2(25),
REPORT_DESC VARCHAR2(2000),
REPORT_DATE DATE CONSTRAINT REP_DATE_NN NOT NULL
);
7. OCMS_ACCIDENT_RECORDS TABLE
CREATE TABLE OCMS_ACCIDENT_RECORDS(
ACCIDENT_CATEGORY VARCHAR2(25),
ACCIDENT_DESC VARCHAR2(250),
ACCIDENT_DATE DATE CONSTRAINT REC_RECORD_DATE_NN NOT NULL,
ACCIDENT_SEVERITY VARCHAR(50)
);
8. OCMS_EQUIPMENTS TABLE
CREATE TABLE OCMS_EQUIPMENTS(
EQUIPMENT_ID VARCHAR(6),
EQUIPMENT_TYPE VARCHAR2(25),
EQUIPMENT_NAME VARCHAR2(50),
EQUIPMENT_STATUS VARCHAR2(20),
QUANTITY INT,
);
9. OCMS_PROTECTIVE_EQUIPMENTS TABLE
CREATE TABLE OCMS_PROTECTIVE_EQUIPMENTS(
EQUIPMENT_ID VARCHAR(6),
EQUIPMENT_TYPE VARCHAR2(25),
EQUIPMENT_NAME VARCHAR2(50),
EQUIPMENT_STATUS VARCHAR2(20),
QUANTITY INT
29
);
10. OCMS_GENERAL_TOOLS TABLE
CREATE TABLE OCMS_GENERAL_TOOLS(
EQUIPMENT_ID VARCHAR(6),
EQUIPMENT_TYPE VARCHAR2(25),
EQUIPMENT_NAME VARCHAR2(50),
EQUIPMENT_STATUS VARCHAR2(20),
QUANTITY INT
);
ALTER TABLE
30
ALTER TABLE OCMS_DEPARTMENTS
ADD CONSTRAINT DEP_FK_DEPEMP FOREIGN KEY (MANAGER_ID)
REFERENCES OCMS_EMPLOYEES(EMP_ID)
31
ADD REG_ID NUMBER(6, 0)
32
ALTER TABLE OCMS_REPORTS
ADD CONSTRAINT FK_REPORTSCUSTOMERS FOREIGN KEY (REG_ID)
REFERENCES OCMS_CUSTOMERS(REG_ID)
7. ALTER OCMS_ACCIDENT_RECORDS
ALTER TABLE OCMS_ACCIDENT_RECORDS
ADD CONSTRAINT REC_CAT_CK CHECK (ACCIDENT_CATEGORY IN ('Accidents at
Work', 'Vehicle Accidents', 'Slips', 'Negligence', 'Other'))
33
ALTER TABLE OCMS_EQUIPMENTS
ADD REG_ID NUMBER(6, 0)
UPDATE TABLE
DROP TABLE
1. DROP OCMS_COMPANIES TABLE
DROP OCMS_COMPANIES;
TRUNCATE TABLE
1. TRUNCATE OCMS_COMPANIES TABLE
TRUNCATE TABLE OCMS_COMPANIES;
34
Data Manipulation Language (DML)
A data manipulation language (DML) is a type of computer programming language that is
used to add (insert), delete, and alter (update) data in a database. A DML is frequently a
sublanguage of a larger database language, such as SQL, with the DML containing some of the
language's operators. Read-only data selection is often characterized as a separate data query
language (DQL), but it is closely connected to and sometimes regarded a component of a DML;
some operators may do both selecting (reading) and writing. Structured Query Language (SQL)
is a common data manipulation language that is used to obtain and manipulate data in a relational
database. Other types of DML are used by IMS/DLI, CODASYL databases like IDMS, and others.
35
Or the other way is to go to SQL Commands, and put in the command like the one below.
The result shows that 1 row has been inserted.
36
INSERT INTO OCMS_EMPLOYEES(EMP_ID, EMP_FN, EMP_LN, EMAIL,
PHONE_NO, SALARY, HIRE_DATE, DEP_ID)
VALUES (701, 'Mei', 'Zheng', 'meilizheng@gmail.com', '175489622', 11250,
'12/06/2016', 225);
2. OCMS_DEPARTMENTS
INSERT INTO OCMS_DEPARTMENTS(DEP_ID, DEP_NAME, MANAGER_ID)
VALUES (445, 'Pressure Vessel Inspector', 652);
37
INSERT INTO OCMS_DEPARTMENTS(DEP_ID, DEP_NAME, MANAGER_ID)
VALUES (784, 'General Inspector', 601);
3. OCMS_SERVICES
INSERT INTO OCMS_SERVICES(SERVICE_ID, SERVICE_NAME, SERVICE_COST,
PROJECT_ID)
VALUES ('CMS003', 'Civil Maintenance Services', 20000, 'PM0035');
38
INSERT INTO OCMS_SERVICES(SERVICE_ID, SERVICE_NAME, SERVICE_COST,
PROJECT_ID)
VALUES ('UDS002', 'Underwater Services', 50000, 'PR0021');
4. OCMS_CUSTOMERS
INSERT INTO OCMS_CUSTOMERS(REG_ID, COMPANY_NAME,
COMPANY_PHONENO, COMPANY_EMAIL, ADDRESS, CITY, POSTAL_CODE)
VALUES (69105, 'KEMENTERIAN KEWANGAN MALAYSIA', '03-8695 4215',
'KKM@kementerian.my', 'Bandar Miri', 'Miri', 98000);
39
5. OCMS_PROJECTS
INSERT INTO OCMS_PROJECTS(PROJECT_ID, PROJECT_NAME,
PROJECT_DATE, PROJECT_STATUS, EMP_ID, REG_ID)
VALUES ('PI9654', 'Third-party Inspection', '05/16/2022', 'Completed', 412, 85004);
40
VALUES ('PO6687', 'Onshore Mechanical and Electrical', '03/16/2022', 'In Progress',
652, 30895);
6. OCMS_REPORTS
INSERT INTO OCMS_REPORTS(REPORT_ID, REPORT_TYPE,
REPORT_CATEGORY, REPORT_DESC, REPORT_DATE, EMP_ID, REG_ID)
VALUES ('SM0003', 'Services', 'Maintenance', 'Maintaining Alarm System', '06/24/2021',
301, 56585);
41
INSERT INTO OCMS_REPORTS(REPORT_ID, REPORT_TYPE,
REPORT_CATEGORY, REPORT_DESC, REPORT_DATE, EMP_ID, REG_ID)
VALUES ('SI0008', 'Services', 'Installation', 'Suit rack stand', '07/18/2021', 401, 12345);
7. OCMS_ACCIDENT_RECORDS
INSERT INTO OCMS_ACCIDENT_RECORDS(ACCIDENT_CATEGORY,
ACCIDENT_DESC, ACCIDENT_DATE, ACCIDENT_SEVERITY, REPORT_ID)
VALUES ('Vehicle Accidents', 'Forklift ram into storages room at Warehouse.',
'09/11/2020', 'No injury', NULL);
42
INSERT INTO OCMS_ACCIDENT_RECORDS(ACCIDENT_CATEGORY,
ACCIDENT_DESC, ACCIDENT_DATE, ACCIDENT_SEVERITY, REPORT_ID)
VALUES ('Negligence', 'A worker wearing an in-proper PPE glove during maintenance.',
'08/21/2021', 'Moderate', NULL);
8. OCMS_EQUIPMENTS
INSERT INTO OCMS_EQUIPMENTS(EQUIPMENT_ID, EQUIPMENT_TYPE,
EQUIPMENT_NAME, EQUIPMENT_STATUS, QUANTITY, EMP_ID, REG_ID)
VALUES ('G03', 'General', 'Helmet - Yellow', 'New', 33, 401, 12345);
43
INSERT INTO OCMS_EQUIPMENTS(EQUIPMENT_ID, EQUIPMENT_TYPE,
EQUIPMENT_NAME, EQUIPMENT_STATUS, QUANTITY, EMP_ID, REG_ID)
VALUES ('G62', 'General', 'Hedge Trimmer', 'In use', 32, 501, 12345);
9. OCMS_PROTECTIVE_EQUIPMENTS
INSERT INTO OCMS_PROTECTIVE_EQUIPMENTS(EQUIPMENT_ID,
EQUIPMENT_TYPE, EQUIPMENT_NAME, EQUIPMENT_STATUS, QUANTITY)
VALUES ('SH0008', 'Protective', 'Scuba tank', 'New', 78);
10. OCMS_GENERAL_TOOLS
INSERT INTO OCMS_GENERAL_TOOLS(EQUIPMENT_ID, EQUIPMENT_TYPE,
EQUIPMENT_NAME, EQUIPMENT_STATUS, QUANTITY)
VALUES ('G04', 'General', 'Drill', 'In use', 24);
44
INSERT INTO OCMS_GENERAL_TOOLS(EQUIPMENT_ID, EQUIPMENT_TYPE,
EQUIPMENT_NAME, EQUIPMENT_STATUS, QUANTITY)
VALUES ('G55', 'General', 'Chainsaw', 'New', 44);
45
VALUES ('G10', 'General', 'Caution Sign', 'New', 54);
46
7. DATABASE SYSTEM’S INTERFACE
HOME
47
Figure 31 Services Page
48
Figure 34 Projects Page
49
Figure 37 Protective Equipments Page
50
DASHBOARD
Based on Figure 40, we can conclude that most workplace accidents occur due to
faulty equipment, an old workplace structure, and overexertion while working on a project.
Accidents have also occurred as a result of vehicle accidents, unintentional slips and trips
51
on equipment, a negligence of work safety ethics, and other factors caused by wild animal
interruption.
From Figure 41, we can see that most workers suffer from severe injury, followed
by moderate injury, fatal or death, no injury, minor injury and critical injury.
52
Figure 42 Dashboard of Project Status provided by Oceancare
Figure 42 shows the amount of works that has already been completed and the
one that are still in progress. From the graph we can see that the number of projects that
are still in progress are greater than number of projects that has already been completed.
Mostly the project that was started from two years ago and above are already completed.
53
Figure 44 Dashboard of Protective Equipment by Oceancare
Figure 44 and Figure 45 shows the data of protective equipment available and
general tools to use for employee to work on projects and services. For protective
equipment, the equipment with the highest number is the reflective jacket, and follow with
flipper, coverall suit, scuba tank, gloves, safety glasses, scuba diving suit, boots and
emergency strobe, and lastly webbing gear. For general tools, we can see that headlamp
is the highest number among any others general tools followed by caution sign.
54
Figure 46 Dashboard of Project Service Cost in MYR provided by Oceancare
Figure 46 shows the service cost provided by Oceancare Corporation for their
clients. From the graph we can see that the common Inspection service is the highest cost
in comparison to other services. Mostly the project constantly requires a daily inspection
making that specific service is highly profitable.
55
Figure 47 Dashboard of Total Reports by Oceancare
Figure 47 represents the reports for each type of report: maintenance report,
damaged equipment report, finance report, and installation report. According to the graph,
maintenance projects and installation services have a higher count than damaged equipment
reports and finance reports because finance reports are written yearly while damaged
equipment reports are written on an as-needed basis.
56
8. QUERIES AND OUTPUTS
QUESTION 1
The company wants the list of protective equipment label as "EQUIPMENT" and the
quantity of the equipment, but only the one that has quantity over 50.
SELECT EQUIPMENT_NAME AS "EQUIPMENT”, QUANTITY
FROM OCMS_PROTECTIVE_EQUIPMENTS
WHERE QUANTITY>50
UNION ALL
SELECT EQUIPMENT_NAME AS "EQUIPMENT”, QUANTITY
FROM OCMS_PROTECTIVE_EQUIPMENTS
WHERE QUANTITY>50
ORDER BY QUANTITY;
QUESTION 2
Display the ID, first and last name display as "FIRST NAME and "LASTNAME", and Hire
date of employees who enter the company from 2016 until recently.
SELECT EMP_ID, EMP_FN AS "FIRST NAME",
EMP_LN AS "LAST NAME”, HIRE_DATE
FROM OCMS_EMPLOYEES
WHERE HIRE_DATE > to_date('01/01/2020', 'DD-MM-RR');
57
QUESTION 3
Create a report that produces the following for each record<accident category> earns
<accident date>. Where <accident description> There was/were <accident severity> '
case(s) caused by accident. Label the column Records.
QUESTION 4
Manager need a list of employees who have completed their projects and work for the
company more than 5 years. Display their last name, salary and add on bonus of 10% for
yearly salary.
SELECT EMP_LN, SALARY, (SALARY*12) *0.01+(SALARY*12) AS BONUS
, TO_CHAR (HIRE_DATE, 'DD-MONTH-YY') HIRE_DATE
FROM OCMS_EMPLOYEES
INNER JOIN OCMS_PROJECTS ON
OCMS_PROJECTS.EMP_ID=OCMS_EMPLOYEES.EMP_ID
WHERE PROJECT_STATUS LIKE 'Completed'
AND HIRE_DATE<TO_DATE ('12/31/2016');
58
QUESTION 5
Display the client company as CLIENT that have gotten a maintenance service from the
company with the project name and the project status.
QUESTION 6
Display the report id, report category and report date. Label the column as day and order
the results by the day of the week, starting with Monday.
SELECT REPORT_ID, REPORT_CATEGORY, REPORT_DATE,
TO_CHAR (REPORT_DATE, 'DAY') AS DAY
FROM OCMS_REPORTS
ORDER BY TO_CHAR (REPORT_DATE, 'D');
59
QUESTION 7
Display employee name who are from IT and marketing department.
SELECT CONCAT (EMP_FN, EMP_LN) AS EMPLOYEE, DEP_NAME DEPARTMENT
FROM OCMS_EMPLOYEES E
JOIN OCMS_DEPARTMENTS D
ON E.DEP_ID = D.DEP_ID
WHERE DEP_NAME LIKE '%IT%' OR
DEP_NAME LIKE '%HR%';
QUESTION 8
Write a query that displays the employee's name, department name and the salary more
than RM 5000.
SELECT CONCAT (EMP_FN, EMP_LN) AS EMPLOYEE, DEP_NAME, SALARY
FROM OCMS_EMPLOYEES JOIN OCMS_DEPARTMENTS
USING (DEP_ID)
WHERE SALARY > 5000;
60
QUESTION 9
A query to keep track on status of all the projects. Use the OCMS_PROJECTS and
OCMS_CUSTOMERS tables. Show the PROJECT_ID, PROJECT_NAME,
PROJECT_DATE, PROJECT_STATUS and COMPANY_NAME in the output. Use a
NATURAL JOIN to produce the results.
SELECT PROJECT_ID, PROJECT_NAME, PROJECT_DATE, PROJECT_STATUS,
COMPANY_NAME
FROM OCMS_PROJECTS
NATURAL JOIN OCMS_CUSTOMERS;
QUESTION 10
Create a report and assume rows with NULL report id as "unreported cases" else
"confirmed reported cases". Count number of accidents using UNION ALL.
SELECT COUNT(*) || ' are unreported cases.' AS "Number of accidents"
FROM OCMS_ACCIDENT_RECORDS
WHERE REPORT_ID IS NULL
UNION ALL
SELECT COUNT(*) || ' are confirmed reported cases.'
FROM OCMS_ACCIDENT_RECORDS
WHERE REPORT_ID IS NOT NULL
61
9. CONCLUSION
Overall, developing a database management system can improve a company's efficiency
as the company continues business expansion to handle more information as well as keeping
track of records effectively in the current year since the fourth industrial revolution. This project
also improves the integrity of information shared in the provided system. The system offers
several useful features that can help to eliminate data redundancy.
In our case we have created the database according to one of our group member
experiences during his industrial training. We hope that the client is able to use the system and
get all the work done easier and much faster rather than managing all information on paper.
By using this system that we created, we hope that the company exceeds all of its
stakeholders in delivering quality Oil and Gas services and products in a responsible, efficient,
cost effective, sustainable, ethical manner and consistent safety commitment at all times. It is a
policy of OCEANCARE to ensure all work activities are carried out safely, and with all possible
measures taken to minimize or reduce risks to Occupational Health and Safety (OHS) of its
employees, contractors, visitors and anyone else who may be affected by its operations.
Lastly, this project gave us the opportunity to try our new skills to build a database system
using Oracle Apex. Despite its limitations, we also gained a deeper understanding on database
design and how it can be implemented in real life situations. We believe that we can use our
database designing skills in other projects as part of our Program to become a Database
Administrator one day hopefully.
62
10. REFERENCES
Oceancare Corporation Sdn Bhd. (2022). About Us (No. 561916-T).
https://www.oceancare.com.my/ohs-policy-objectives.php
Oceancare Corporation Sdn Bhd. (2022). Career Opportunities (No. 561916-T).
https://www.oceancare.com.my/career.php
63
11. APPENDICES
User Manual Create App
STEP 1:
After you login into Oracle Apex, click on App Builder to begin the program.
STEP 2:
Click on create to create the application.
64
STEP 3:
Click on new application.
STEP 4:
Insert your project name (Oceancare). After that, click on the add page.
65
STEP 5:
You will see a lot of choices from ‘Add Page’. Choose Interactive Report.
STEP 6:
Based on the diagram below, follow the steps in the numbered order.
1-Insert page name
2-Set suitable icon for the page 3-Click on Interactive Report.
4-Click on the checklist, refer to the diagram (xx) and click on the table that is related.
5-Tick on include form
6-Add page
66
Figure 64 User Manual Step 6
STEP 7:
Repeat Step 6 until all pages have been added based on the table created. After that, click on
create application on bottom right. It will show the loading and building it up.
67
STEP 8:
Your application page will appear. And then, click on Run Application
STEP 9:
Login page will appear, so insert email and password to sign in.
68
STEP 10:
After successfully sign in, you will see the home page interface. There are a few menus.
STEP 11:
To see the dashboard, on the left bar, click the STATISTICS button and the dashboard will be
displayed.
69