Master of Business Analytics
Data Engineering
King Talal School for Business Technology
Spring 2022/2023
Practice #1
Dr. Wael Etaiwi
In this practice, you will learn:
❖ How to create tables and constraints (primary key and foreign key).
❖ DDL (Data Definition Language) commands: alter/modify, Drop.
❖ DML (Data Definition Language) SQL Statements (Insert, Update, Delete, and Select).
Exercises:
1. Create the following tables using the appropriate data types:
• Employees (emp_id, emp_fname, emp_lname, hiring_date, job_id, department_id,
manager_id):
create table employees(
emp_id number,
emp_fname varchar2(200),
emp_lname varchar2(200),
hiring_date date,
job_id number,
department_id number,
manager_id number
);
• Departments (department_id, department_name, departmrnt_location):
create table departments(
department_id number,
department_name varchar2(50),
department_location varchar2(50)
);
• Jobs (job_id, job_name, job_level, salary) job_id is a primary key:
create table jobs(
job_id number,
job_name varchar2(50),
job_level varchar2(50),
salary number(5,2),
constraints pk_job_id primary key(job_id)
);
• Add new column to Employee table called “email”:
Alter table employees add email varchar2(50);
2. Create the following constraints:
• Make emp_id a primary key in the employees table.
Alter table employees add constraint pk_emp_id primary key (emp_id);
• Make department_id as a primary key in the departments table.
Alter table departments add constraint pk_dept_id primary key
(department_id);
• Make job_id as primary key in Jobs table:
Job_id already a primary key, we added it when we create the table.
• Make department_id in Employees table as a foreign key reference to
Departments table:
Alter table employees add constraint fk_dept_id foreign key (department_id)
references departments(department_id);
• job_id in Employees table must be referenced to job_id in Jobs table:
Alter table employees add constraint fk_job_id foreign key (job_id) references
jobs(job_id);
• Employee’s manager is already an Employee!
Alter table employees add constraint fk_manager_id foreign key (manager_id)
references employees (emp_id);
3. Change the data type of Salary column in Jobs table to be number with 6 digits and 2
decimals:
alter table jobs modify (salary number(6,2));
4. Insert the following data in the 3 tables: Employees, Departments, and Jobs
Table: Employees
EMP_ID EMP_FNAME EMP_LNAME HIRING_DATE JOB_ID DEPARTMENT_ID MANAGER_ID EMAIL
1 Ali Ahmad 21/3/2014 1 1 [email protected]
2 Sara Rami 3/9/2015 2 1 1
3 Maria 1/1/2016 3 2
4 Bassam Nabil 2 1 1 [email protected]
insert into
employees(emp_id,emp_fname,emp_lname,hiring_date,job_id,department_id,email)
values (1,'Ali','Ahmad','21/03/14',1,1,'[email protected]');
insert into employees(emp_id,emp_fname,emp_lname,hiring_date,
job_id,department_id,manager_id) values (2,'Sara','Rami','03/09/15',2,1,1);
insert into employees(emp_id,emp_fname,hiring_date,job_id,department_id) values
(3,'Maria','01/01/16',3,2);
insert into employees(emp_id,emp_fname, emp_lname,job_id, department_id,
manager_id, email) values(4,'Bassam','Nabil',2,1,1,'
[email protected]');
Table: Departments
DEPARTMENT_ID DEPARTMENT_NAME DEPARTMENT_LOCATION
1 IT Amman
2 Marketing Aqaba
3 Sales Amman
insert into departments (department_id,department_name, department_location)
values (1,'IT','Amman');
insert into departments(department_id, department_name, department_location)
values (2,'Marketing','Aqaba');
insert into departments values (3,'Sales','Amman');
Table: Jobs
JOB_ID JOB_NAME JOB_LEVEL SALARY
1 IT Manager Manager 2750
2 Developer Employee 700
3 Officer Employee 480.5
insert into jobs(job_id,job_name,job_level,salary) values (1,'IT
Manager','Manager',2750);
insert into jobs(job_id,job_name,job_level,salary) values
(2,'Developer','Employess',700);
insert into jobs values (3,'Officer','Employess',480.5);
5. Do the following updates:
• Add email address to Sara in Employees table:
Update employees set email=’
[email protected]’ where emp_fname = ‘Sara’;
OR
Update employees set email=’
[email protected]’ where emp_id = 2;
• Make the Marketing department location is “Amman”:
Update departments set department_location = ’Amman’ where
department_name = ’Marketing’;
OR
Update departments set department_location=’Amman’ where department_id
=2;
• Increase the salary for all Jobs by 10%:
Update jobs set salary = salary + (salary/10);
OR
Update jobs set salary = salary*1.1;
• Delete “Marketing” department from Department table:
Delete deparments where department_name=’Marketing’;
• Add new column to Employees table called: Major, and fill it by “Computer
Science” for all employees:
Alter table employees add (major varchar2(50));
Update employees set major=’Computer Science’;
6. Write Select statements to get the following:
• All Employees:
Select * form employees;
• Employees who working in IT department:
Select * from employees where department_id=1;
• Jobs whose salary is more than 600:
Select * from jobs where salary>600;