Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

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 ali@company.com
2 Sara Rami 3/9/2015 2 1 1
3 Maria 1/1/2016 3 2
4 Bassam Nabil 2 1 1 b@company.com

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,'ali@company.com');

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,'b@company.com');

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=’sara@company.com’ where emp_fname = ‘Sara’;
OR
Update employees set email=’sara@company.com’ 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;

You might also like