Вы находитесь на странице: 1из 35

Database & SQL

03 Mendemontrasikan proses database


menggunakan Oracle Developer, Studi kasus
penjualan Buku

FASILKOM

Teknik
Informatika Ascaliko
41516120138
SKEMA HUBUNGAN ANTAR
TABEL
Buku
Pengarang
Id_buku (PK)
Id_pengarang (PK) Judul
nama_pengarang Penulis (FK)
Id_kategori (FK)
Harga
Stok

Kategori_buku
kode (PK)
Kategori Transaksi
id_trans (PK)
Kode_buku (FK)
jumlah
Tanggal
Syntax Query Create tablespace, create table dan multiple insert
Pada Table Pengarang dan Table Kategori_buku
TABEL PENGARANG DAN KATEGORI
Syntax Query Create tablespace, create table dan multiple insert
Pada Table Buku dan Table Transaksi
TABEL BUKU DAN TRANSAKSI
USER ACCOUNT DAN PENGATURAN HAK AKSESNYA
QUERY UNTUK MEMBUAT TABEL (CREATE) PENGARANG

CREATE TABLE liko.pengarang (


id_pengarang VARCHAR2(5) NOT NULL,
nama_pengarang VARCHAR2(30) NOT NULL,
CONSTRAINT id_pengarang_pk PRIMARY KEY (id_pengarang)
)
STORAGE ( INITIAL 50K);
QUERY UNTUK MENAMBAHKAN DATA (INSERT) PADA
TABEL PENGARANG
INSERT ALL
INTO liko.pengarang (id_pengarang, nama_pengarang)
VALUES ('DBN01', 'Dan Brown')
INTO liko.pengarang (id_pengarang, nama_pengarang)
VALUES ('BRN25', 'Boris Mirikin')
INTO liko.pengarang (id_pengarang, nama_pengarang)
VALUES ('NCH90', 'Nello Christianini')
INTO liko.pengarang (id_pengarang, nama_pengarang)
VALUES ('AYG78', 'Aoyama Gpsho')
INTO liko.pengarang (id_pengarang, nama_pengarang)
VALUES ('AST98', 'Aryos Ssantos')
SELECT 1 FROM DUAL;
QUERY UNTUK MEMBUAT TABEL KATEGORI_BUKU

CREATE TABLE liko.kategori_buku (


id_kategori VARCHAR2(5) NOT NULL,
nama_kategori VARCHAR2(15) NOT NULL,
CONSTRAINT id_kategori_pk PRIMARY KEY
(id_kategori)
)
STORAGE ( INITIAL 50K);
QUERY UNTUK MENAMBAHKAN DATA
PADA TABEL KATEGORI_BUKU
INSERT ALL
INTO liko.kategori_buku (id_kategori, nama_kategori)
VALUES ('KOM', 'Komputer')
INTO liko.kategori_buku (id_kategori, nama_kategori)
VALUES ('MGZ', 'Majalah')
INTO liko.kategori_buku (id_kategori, nama_kategori)
VALUES ('COM', 'Komik')
INTO liko.kategori_buku (id_kategori, nama_kategori)
VALUES ('SEJ', 'Sejarah')
INTO liko.kategori_buku (id_kategori, nama_kategori)
VALUES ('NOV', 'Novel')
SELECT 1 FROM DUAL;
QUERY UNTUK MEMBUAT TABEL BUKU
CREATE TABLE liko.buku (
id_buku VARCHAR2(5) NOT NULL,
judul VARCHAR2(50) NOT NULL,
penulis VARCHAR2(5) NOT NULL,
id_kategori VARCHAR2(5) NOT NULL,
harga NUMBER(10,2) NOT NULL,
stok INTEGER NOT NULL,
CONSTRAINT id_buku_pk PRIMARY KEY (id_buku),
CONSTRAINT id_pengarang_fk FOREIGN KEY (penulis)
REFERENCES pengarang (id_pengarang),
CONSTRAINT id_ketegori_fk FOREIGN KEY (id_kategori)
REFERENCES kategori_buku (id_kategori)
)
STORAGE ( INITIAL 50K);
QUERY UNTUK MENAMBAHKAN DATA
PADA TABEL BUKU
INSERT ALL
INTO liko.buku (id_buku, judul, penulis, id_kategori, harga, stok) VALUES
('A1234', 'Inferno', 'DBN01', 'NOV', 85000, 12)
INTO liko.buku (id_buku, judul, penulis, id_kategori, harga, stok) VALUES
('A2345', 'Clustering For Data Mining', 'BRN25', 'KOM', 125000, 5)
INTO liko.buku (id_buku, judul, penulis, id_kategori, harga, stok) VALUES
('A6789', 'Atlatins The Lost Continent', 'AST98', 'SEJ', 91000, 7)
INTO liko.buku (id_buku, judul, penulis, id_kategori, harga, stok) VALUES
('A9090', 'Kernel Method For Pattern Analysis', 'NCH90', 'KOM', 150000, 5)
INTO liko.buku (id_buku, judul, penulis, id_kategori, harga, stok) VALUES
('A1735', 'Digital Fortres', 'DBN01', 'NOV', 65000, 1)
SELECT 1 FROM DUAL;
QUERY UNTUK MEMBUAT TABEL TRANSAKSI

CREATE TABLE liko.transaksi (


id_transaksi NUMBER(11) NOT NULL,
kode_buku VARCHAR2(5) NOT NULL,
jumlah VARCHAR2(30) NOT NULL,
tanggal VARCHAR2(20) NOT NULL,
CONSTRAINT id_transaksi_pk PRIMARY KEY (id_transaksi),
CONSTRAINT kode_buku_fk FOREIGN KEY (kode_buku) REFERENCES buku (id_buku)
)
STORAGE ( INITIAL 50K);
QUERY UNTUK MENAMBAHKAN DATA
PADA TABEL TRANSAKSI
INSERT ALL
INTO liko.transaksi (id_transaksi, kode_buku, jumlah, tanggal) VALUES
(1, 'A9090', 1, '11-JAN-15')
INTO liko.transaksi (id_transaksi, kode_buku, jumlah, tanggal) VALUES
(2, 'A1234', 1, '12-FEB-15')
INTO liko.transaksi (id_transaksi, kode_buku, jumlah, tanggal) VALUES
(3, 'A2345', 1, '12-FEB-15')
INTO liko.transaksi (id_transaksi, kode_buku, jumlah, tanggal) VALUES
(4, 'A9090', 2, '12-MAR-15')
INTO liko.transaksi (id_transaksi, kode_buku, jumlah, tanggal) VALUES
(5, 'A2345', 1,'15-MAR-15')
INTO liko.transaksi (id_transaksi, kode_buku, jumlah, tanggal) VALUES
(7, 'A9090', 1,'12-JUN-15')
SELECT 1 FROM DUAL;
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
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)
Query untuk menampilkan data
buku yang memiliki harga lebih
murah dari rata-rata harga buku
CONTOH QUERY
(DENGAN FUNCTION AVG)
CONTOH QUERY
(DENGAN FUNCTION COUNT)

Query untuk menampilkan jumlah transaksi tiap h


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

Sesudah
BUAT TABEL BARU YAITU SUPLER
MEMASUKAN RECORD PADA TABEL SUPLIER
TAMBAH RECORD PADA SUPLER
MENAMBAH KOLOM (ADD COLUMN)
RENAME KOLOM (ALTER RENAME COLUMN)
Untuk merubah kolom pada suatu table, Anda dapat menggunakan
perintah berikut ini:
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)
MEMBUAT TRIGER (CREATE TRIGGER)

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.

Вам также может понравиться