Anda di halaman 1dari 55

Modul ke:

Database & SQL


03 Mendemontrasikan proses database
menggunakan Oracle Developer, Studi kasus
penjualan Buku
Fakultas
FASILKOM

Program Studi
Teknik
Informatika ABDUL LATIF
41515110001
Outline Perkuliahan

1.Praktek Pengelolaan Basis data


menggunakan Oracle Developer mulai
membuat tabel sampai melakukan
Relasi antar tabel
Data Mentah
Tabel Penduduk

Tabel Pendatang

Tabel Penduduk memiliki 7 atribut/kolom no_ktp, nama,tgl_lahir, alamat,


agama, pendidikan, status
Tabel pendatang memiliki 4 atribut/kolom : no_pendatang,
no_ktp_pendatang, tgl_pendatang, alamat_asal.
Tabel pindah

Tabel KK

Tabel Kelahiran

Tabel pindah memiliki 5 atribut/kolom: no_pindah,


no_ktp,tgl_pindah, alamat_dituju, keterangan
Tabel KK memiliki 4 atribut/kolom : no_kk, no_pindah, nama_kk,
alamat_KK
4/12/17
Skema Hubungan Antar
Tabel
Tabel (Primary Key)
Tabel Penduduk

Primary key: kolom yang dipilih


menjadi kunci .
Primary key bersifat unik.
Primary key pada Tabel Penduduk
(no_ktp).
Tabel (Foreign Key)
Tabel Pendatang

Foreign key: kolom yang dipilih dari


suatu tabel untuk menjadi kunci ke
tabel lainnya
Kolom penulis pada tabel Buku adalah
foreign key yang merujuk pada kolom
Tipe Data
1.Number : angka
2.Date : tanggal
3.Varchar2 : teks
4.Char : karakter
Contoh Relational Table

1. Number : angka
2. Date : tanggal
3. Varchar2 : teks
Syntax SQL
Retrieve : SELECT
Manipulation (DML) : INSERT, UPDATE, DELETE, MERGE
Definition (DDL) : CREATE, ALTER, MODIFY, TRUNCATE
Koneksi dan buat ukuran memory tabel yang
akan dipakai menggunakan oracle developer
Buat nama koneksi dengan praktek1 pada oracle developer

CREATE TABLESPACE dtBookSale DATAFILE BookSale.dat SIZE 500K REUSE


AUTOEXTEND ON NEXT 500K MAXSIZE 100M;
Buat user account dan
pengaturan hak aksesnya
Query untuk membuat tabel
(CREATE) penduduk
Query untuk membuat tabel
(CREATE) penduduk
Query untuk menambahkan
data (INSERT) pada tabel
penduduk
Query untuk membuat tabel
(CREATE) penduduk secara
manual
Query untuk membuat tabel
Pendatang
Query untuk membuat tabel
Pendatang
Query untuk menambahkan
data
pada tabel pendatang
Query untuk membuat tabel
Buku
Query untuk membuat tabel
Buku
Query untuk membuat tabel
Buku-manual
Record untuk membuat
tabel Buku
Query untuk menambahkan
data
pada tabel Buku
Query untuk membuat tabel
Transaksi
Query untuk membuat tabel
Transaksi
Query untuk menambahkan
data pada tabel Transaksi
Query untuk menambahkan
data pada tabel Transaksi
Query untuk menampilkan
data
(SELECT)
select * from Buku
select * from Kategori_buku
select * from Pengarang
select * from Transaksi
Query untuk menampilkan
data
Buku yang memiliki kategori
Novel
Query untuk menampilkan data
transaksi dengan syarat jumlah
buku > 1
JOIN TABEL
Menampilkan data yang berasal
dari dua tabel di butuhkan JOIN

SELECT a.p,a.q, b.x, b.y


FROM tabel1 a, tabel2 b
WHERE a.p = b.x

Note
a,b : alias tabel1 dan tabel2
p,q : kolom tabel1
x,y : kolom tabel2
Menggunakan Nama Alias
Tabel
Query untuk menampilkan data judul
buku dan nama pengarang
Query untuk menampilkan data judul buku, nama
pengarang dan kategori
Contoh Query
(dengan Function AVG)
Contoh Query
(dengan Function AVG)
Query untuk menampilkan data buku yang memiliki
harga lebih murah dari rata-rata harga buku
Contoh Query
(dengan Function COUNT)
Query untuk menampilkan jumlah transaksi tiap hari
Contoh Query
Query untuk menampilkan Judul buku dan
jumlah yang terjual dari data transaksi
Query Untuk Menghapus Tabel
(DROP)

drop table Transaksi


drop table Buku
drop table Pengarang
drop table Penerbit
Query untuk mengubah data
(UPDATE)

Update buku set stok = 20 where id_buku = 'A1735'

Sebelum Update

Setelah Update
BUAT TABEL BARU YAITU SUPLER
BUAT TABEL BARU YAITU SUPLER
Memasukan Record pada tabel suplier
TAMBAH RECORD PADA SUPLER
Hasil recod pada tabel suplier
Menambah Kolom (Add Column)

Untuk menambah kolom pada suatu table, Anda dapat menggunakan perintah
berikut ini:

ALTER TABLE nama_table

ADD nama_kolom tipe_data[(ukuran)];

Contoh:
Menambah Kolom (Add Column)

Untuk merubah kolom pada suatu table, Anda dapat menggunakan perintah
berikut ini:

Contoh:
Menambah Kolom (Add Column)

Contoh diatas adalah cara menambahkan satu kolom ke dalam suatu table.
Lantas, bagaimana cara menambahkan banyak kolom (multiple) kedalam
suatu table? Anda dapat menggunakan perintah dibawah ini:

ALTER TABLE user.nama_tabel

ADD (field1 VARCHAR2(50),

field2 VARCHAR2(50),

field3 NUMBER(5));
Menambah Kolom (Add Column)

Contoh diatas adalah cara menambahkan satu kolom ke dalam suatu table.
Lantas, bagaimana cara menambahkan banyak kolom (multiple) kedalam
suatu table? Anda dapat menggunakan perintah dibawah ini:

ALTER TABLE user.nama_tabel


Merubah Tipe Data Kolom
ADD (field1 VARCHAR2(50),
Anda dapat merubah tipe data di kolom pada
suatu table dengan menggunakan perintah
field2 VARCHAR2(50), dibawah ini:

field3 NUMBER(5));
ALTER TABLE nama_table
MODIFY nama_kolom
tipe_data[(ukuran)];
Menambah Kolom (Add Column)

Menghapus Kolom di Table

Anda dapat menghapus suatu kolom di table dengan menggunakan sintak


dibawah ini:
Mengubah Nama Table (Rename Table)
ALTER TABLE nama_table
Anda dapat mengubah nama sebuah table
DROP COLUMN nama_kolom; dengan menggunakan sintak dibawah ini:

Contoh: ALTER TABLE nama_table_lama

ALTER TABLE karyawan RENAME TO nama_table_baru;

DROP COLUMN manajer;


Membuat triger (CREATE TRIGGER)

Dalam Oracle, trigger di buat menggunakan perintah CREATE TRIGGER. Jika anda
ingin menimpa trigger lama di dalam database, maka anda dapat menyertakaan klausa
OR REPLACE sehinga perintahnya menjadi CREATE OR REPLACE TRIGGER.

Berikut ini bentuk umum mebuat trigger di Oracle:

CREATE [OR REPLACE] TRIGGER nama_trigger

(BEFORE | AFTER ) (INSERT | UPDATE | DELETE) ON nama_tabel

FOR EACH ROW

DECLARE

--isi deklarasi variabel

BEGIN

--isi statemen-statemen yg akan dieksekusi

END;
Membuat triger (CREATE TRIGGER)

sebelum membuat trigger kita membuat satu tabel baru dengan nama HISTORI_BUKU,
yang berfungsi untuk mencatat semua transaksi atau aksi (INSERT,UPDATE,DELETE)
yang terjadi pada tabel BUKU. Perintah SQL untuk membuat tabel HISTORI_BUKU.
Membuat triger (CREATE TRIGGER)

NB : Tabel HISTORI_BUKU ini sebenarnya memiliki struktur kolom yang


sama dengan tabel BUKU,Hanya penambahan dua kolom baru: JENIS AKSI
dan AKSI_TGL, kolom AKSI berfungsi untuk mencatat jenis transaksi atau aksi
yang dilakukan user pada tabel BUKU sedangkan AKSI_TGL utk mencatat
tanggal kejadian kapan aksi tsb di lakuakan.

Membuat TRIGGER.

Sebagai contoh, saya membuat trigger yang diaktivasi setiap kali user
memasukan data baru dalam tabel BUKU. pada saat dieksekusi, trigger ini
berfungsi untuk memasukan data secara otomatis ke dalam tabel
HISTORI_BUKU, adapun data yang dimasukan tersebut dia ambil dari data
yang dimasukan oleh user ke dalam tabel BUKU.
Membuat triger (Lanjutan)
CREATE OR REPLACE TRIGGER tr_ai_buku
disamping ini kode untuk after insert
melakukan hal tersebut : on PAHENDI.BUKU
FOR EACH ROW
BEGIN
INSERT INTO PAHENDI.HISTORY_BUKU VALUES (
:NEW.ID_BUKU,
:NEW.JUDUL,
:NEW.PENULIS,
SHOW ERRORS TRIGGER trigger_name;
:NEW.ID_KATEGORI,
ALTER TRIGGER trigger_Name ENABLE;
:NEW.HARGA,
:NEW.STOCK,
'INSERT',
SYSDATE
);
END;
Setelah membuat objek trigger di atas, utk dapat melihat penggaruh dari trigger tersesbut dengan cara memasukkan data baru ke
dalam tabel BUKU dan periksa data pada tabel HISTORI_BUKU.

periksa data pada tabel HISTORI_BUKU dengan SELECT * FROM


perintah : HISTORI_BUKU

Anda mungkin juga menyukai