0% found this document useful (0 votes)
81 views7 pages

Database Design by Danang Wisnu Prayoga

The document describes creating 8 tables (Regions, Countries, Locations, Departments, Employees, Jobs, Job_history) in a database and establishing relationships between the tables using foreign keys. Steps include creating each table with the appropriate fields, primary keys, and indexes. Foreign keys are then added to link data between the tables, such as linking Locations to Countries and Departments to Employees.

Uploaded by

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

Database Design by Danang Wisnu Prayoga

The document describes creating 8 tables (Regions, Countries, Locations, Departments, Employees, Jobs, Job_history) in a database and establishing relationships between the tables using foreign keys. Steps include creating each table with the appropriate fields, primary keys, and indexes. Foreign keys are then added to link data between the tables, such as linking Locations to Countries and Departments to Employees.

Uploaded by

Ksatria Akbar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Nama : Danang Wisnu Prayoga

NIM : 24060120140160
Kelas : B1
PRAKTIKUM 5 BASIS DATA

1. Membuat table “praktikum_5” pada database


Perintah:
create database praktikum_5;
use praktikum_5;

2. Membuat abel Regions


CREATE TABLE REGIONS (
REGION_ID decimal NOT NULL,
REGION_NAME varchar(25) DEFAULT NULL,
PRIMARY KEY (REGION_ID)
);

3. Membuat Tabel Countries


CREATE TABLE COUNTRIES (
COUNTRY_ID char(2) NOT NULL,
COUNTRY_NAME varchar(40) DEFAULT NULL,
REGION_ID decimal DEFAULT NULL,
PRIMARY KEY (COUNTRY_ID)
);
4. Membuat Tabel Locations
CREATE TABLE LOCATIONS (
LOCATION_ID decimal(4,0) NOT NULL DEFAULT '0',
STREET_ADDRESS varchar(40) DEFAULT NULL,
POSTAL_CODE varchar(12) DEFAULT NULL,
CITY varchar(30) NOT NULL,
STATE_PROVINCE varchar(25) DEFAULT NULL,
COUNTRY_ID char(2) DEFAULT NULL,
PRIMARY KEY (LOCATION_ID),
KEY LOC_CITY_IX (CITY),
KEY LOC_COUNTRY_IX (COUNTRY_ID),
KEY LOC_STATE_PROVINCE_IX (STATE_PROVINCE)
);

5. Membuat Tabel Departments


CREATE TABLE DEPARTMENTS (
DEPARTMENT_ID decimal(4,0) NOT NULL DEFAULT '0',
DEPARTMENT_NAME varchar(30) NOT NULL,
MANAGER_ID decimal(6,0) DEFAULT NULL,
LOCATION_ID decimal(4,0) DEFAULT NULL,
PRIMARY KEY (DEPARTMENT_ID),
KEY DEPT_LOCATION_IX (LOCATION_ID)
);
6. Membuat Tabel Employees
CREATE TABLE EMPLOYEES (
EMPLOYEE_ID decimal(6,0) NOT NULL DEFAULT '0',
FIRST_NAME varchar(20) DEFAULT NULL,
LAST_NAME varchar(25) NOT NULL,
EMAIL varchar(25) NOT NULL,
PHONE_NUMBER varchar(20) DEFAULT NULL,
HIRE_DATE date NOT NULL,
JOB_ID varchar(10) NOT NULL,
SALARY decimal(8,2) DEFAULT NULL,
COMMISSION_PCT decimal(2,2) DEFAULT NULL,
MANAGER_ID decimal(6,0) DEFAULT NULL,
DEPARTMENT_ID decimal(4,0) DEFAULT NULL,
BONUS varchar(5) DEFAULT NULL,
PRIMARY KEY (EMPLOYEE_ID),
UNIQUE KEY EMP_EMAIL_UK (EMAIL),
KEY EMP_DEPARTMENT_IX (DEPARTMENT_ID),
KEY EMP_JOB_IX (JOB_ID),
KEY EMP_MANAGER_IX (MANAGER_ID),
KEY EMP_NAME_IX (LAST_NAME,FIRST_NAME)
);

7. Membuat Tabel Jobs


CREATE TABLE JOBS (
JOB_ID varchar(10) NOT NULL DEFAULT '',
JOB_TITLE varchar(35) NOT NULL,
MIN_SALARY decimal(6,0) DEFAULT NULL,
MAX_SALARY decimal(6,0) DEFAULT NULL,
PRIMARY KEY (JOB_ID)
);
8. Membuat Tabel Job_history
CREATE TABLE JOB_HISTORY (
EMPLOYEE_ID decimal(6,0) NOT NULL,
START_DATE date NOT NULL,
END_DATE date NOT NULL,
JOB_ID varchar(10) NOT NULL,
DEPARTMENT_ID decimal(4,0) DEFAULT NULL,
PRIMARY KEY (EMPLOYEE_ID,START_DATE),
KEY JHIST_DEPARTMENT_IX (DEPARTMENT_ID),
KEY JHIST_EMPLOYEE_IX (EMPLOYEE_ID),
KEY JHIST_JOB_IX (JOB_ID)
);

9. Membuat relasi semua table, dengan perintah


ALTER TABLE COUNTRIES
ADD CONSTRAINT COUNTR_REG_FK FOREIGN KEY (REGION_ID)
REFERENCES REGIONS (REGION_ID);

-----
ALTER TABLE LOCATIONS
ADD CONSTRAINT LOC_C_ID_FK FOREIGN KEY (COUNTRY_ID)
REFERENCES COUNTRIES (COUNTRY_ID);
-----
ALTER TABLE DEPARTMENTS
ADD CONSTRAINT DEPT_LOC_FK FOREIGN KEY (LOCATION_ID)
REFERENCES LOCATIONS (LOCATION_ID);
ALTER TABLE DEPARTMENTS
ADD CONSTRAINT DEPT_MGR_FK FOREIGN KEY (MANAGER_ID)
REFERENCES EMPLOYEES (MANAGER_ID);

-----
ALTER TABLE EMPLOYEES
ADD CONSTRAINT EMP_DEPT_FK FOREIGN KEY (DEPARTMENT_ID)
REFERENCES DEPARTMENTS (DEPARTMENT_ID);
ALTER TABLE EMPLOYEES
ADD CONSTRAINT EMP_JOB_FK FOREIGN KEY (JOB_ID) REFERENCES
JOBS (JOB_ID);
ALTER TABLE EMPLOYEES
ADD CONSTRAINT EMP_MANAGER_FK FOREIGN KEY (MANAGER_ID)
REFERENCES DEPARTMENTS (MANAGER_ID);

-----
ALTER TABLE JOB_HISTORY
ADD CONSTRAINT JHIST_DEPT_FK FOREIGN KEY (DEPARTMENT_ID)
REFERENCES DEPARTMENTS (DEPARTMENT_ID);
ALTER TABLE JOB_HISTORY
ADD CONSTRAINT JHIST_EMP_FK FOREIGN KEY (EMPLOYEE_ID)
REFERENCES EMPLOYEES (EMPLOYEE_ID);
ALTER TABLE JOB_HISTORY
ADD CONSTRAINT JHIST_JOB_FK FOREIGN KEY (JOB_ID) REFERENCES
JOBS (JOB_ID);
10. Tampilan isi tables, memanggil dengan perintah desc nama_tabel;

You might also like