100% menganggap dokumen ini bermanfaat (1 suara)
303 tayangan15 halaman

Membuat Table & Constraint Di Oracle

Dokumen tersebut memberikan penjelasan mengenai pembuatan basis data untuk studi kasus toko serba ada menggunakan Oracle SQL dengan membuat tabel-tabel yang berelasi antara satu dengan lainnya, menambahkan constraint seperti primary key, foreign key dan check, serta mengisi data ke dalam tabel-tabel tersebut.

Diunggah oleh

Elirza Halena
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
100% menganggap dokumen ini bermanfaat (1 suara)
303 tayangan15 halaman

Membuat Table & Constraint Di Oracle

Dokumen tersebut memberikan penjelasan mengenai pembuatan basis data untuk studi kasus toko serba ada menggunakan Oracle SQL dengan membuat tabel-tabel yang berelasi antara satu dengan lainnya, menambahkan constraint seperti primary key, foreign key dan check, serta mengisi data ke dalam tabel-tabel tersebut.

Diunggah oleh

Elirza Halena
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 15

SQL MENGGUNAKAN ORACLE

STUDI KASUS : TOSERBA


BASIS DATA LANJUT

Oleh :

ELIRZA HALENA
1407121038

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS RIAU
PEKANBARU
2016

STUDI KASUS : TOSERBA

1. RELASI TABEL
Berikut adalah relasi antar tabel yang akan digunakan pada studi kasus toserba ini:

2. MEMBUAT TABEL & CONSTRAINT (Primary Key, Not Null,


Unique)
2.1 Tabel Barang
CREATE TABLE barang (
id_barang varchar2 (10)CONSTRAINT id_br PRIMARY
KEY,
id_kategori number (10) NOT NULL,
nama_barang varchar2(10),
harga_beli number (10),
harga_jual number (10),
stok number (4)
);
Sintak diatas adalah sintak SQL untuk membuat sebuah tabel barang
yang memiliki kolom id barang, id kategori, nama barang, harga beli, harga
jual, dan stok, dimana tiap masing-masing kolom diberi tipe data dan ukuran
masing-masing. Pada kolom id_barang ditambahkan constraint PRIMARY

KEY sehingga data di kolom tersebut tidak boleh kosong (NOT NULL) dan
juga harus bersifat unik (UNIQUE). Selanjutnya pada kolom id_kategori juga
ditambahkan constraint NOT NULL sehingga kolom tersebut tidak boleh
kosong saat pengisian data.
Berikut screenshoot pada run SQL command line :

2.2 Tabel Detail Penjualan


CREATE TABLE detail_penjualan (
id_penjualan varchar2 (12),
id_barang varchar2 (10),
jml number (4),
PRIMARY KEY (id_penjualan, id_barang)
);

Sintak diatas adalah sintak SQL untuk membuat sebuah tabel detail
penjualan yang memiliki kolom id penjualan, id barang, dan jml (jumlah
penjualan barang), dimana tiap masing-masing kolom diberi tipe data dan
ukuran masing-masing.
Pada tabel ini menggunakan 2 kolom sebagai PRIMARY KEY yaitu
id_penjualan dan id_barang sehingga 2 kolom tersebut akan memiliki sifat
NOT NULL dan UNIQUE
Berikut screenshoot pada run SQL command line :

2.3 Tabel Penjualan


CREATE TABLE penjualan (
id_penjualan varchar2(12)CONSTRAINT id_pj PRIMARY
KEY,
tgl date
);
Sintak diatas adalah sintak SQL untuk membuat sebuah tabel penjualan
yang memiliki kolom id penjualan, dan tgl (keterangan tanggal dilakukannya
penjualan barang), dimana tiap masing-masing kolom diberi tipe data dan
ukuran masing-masing.
Pada kolom id_penjualan ditambahkan constraint PRIMARY KEY
sehingga kolom tersebut tidak boleh kosong (NOT NULL) dan juga harus
bersifat unik (UNIQUE).
Berikut screenshoot pada run SQL command line :

2.4 Tabel Detail Pembelian


CREATE TABLE detail_pembelian (
id_pembelian varchar2 (12),
id_barang varchar (10),
jml number (4),
PRIMARY KEY (id_pembelian, id_barang)
);
Sintak diatas adalah sintak SQL untuk membuat sebuah tabel detail
pembelian yang memiliki kolom id pembelian, id barang, dan jml (jumlah
pembelian barang), dimana tiap masing-masing kolom diberi tipe data dan
ukuran masing-masing. Pada tabel ini menggunakan 2 kolom sebagai
PRIMARY KEY yaitu id_pembelian dan id_barang sehingga 2 kolom
tersebut akan memiliki sifat NOT NULL dan UNIQUE
Berikut screenshoot pada run SQL command line :

2.5 Tabel Pembelian


CREATE TABLE pembelian (
id_pembelian varchar(12)CONSTRAINT id_pl PRIMARY
KEY,
id_suplier number (10) NOT NULL,
tgl date
);
Sintak diatas adalah sintak SQL untuk membuat sebuah tabel
pembelian yang memiliki kolom id pembelian, id_suplier dan tgl (keterangan
tanggal dilakukannya pembelian barang), dimana tiap masing-masing kolom
diberi tipe data dan ukuran masing-masing.
Pada kolom id_pembelian ditambahkan constraint PRIMARY KEY
sehingga kolom tersebut tidak boleh kosong (NOT NULL) dan juga harus
bersifat unik (UNIQUE). Selanjutnya pada kolom id_suplier juga
ditambahkan constraint NOT NULL sehingga kolom tersebut tidak boleh
kosong saat pengisian data.
Berikut screenshoot pada run SQL command line :

2.6 Tabel Kategori


CREATE TABLE kategori (
id_kategori number(11)CONSTRAINT id_kt PRIMARY
KEY,
nama_kategori varchar2(15)
);
Sintak diatas adalah sintak SQL untuk membuat sebuah tabel kategori
yang memiliki kolom id kategori, dan nama kategori, dimana tiap masingmasing kolom diberi tipe data dan ukuran masing-masing.
Pada kolom id_kategori ditambahkan constraint PRIMARY KEY
sehingga kolom tersebut tidak boleh kosong (NOT NULL) dan juga harus
bersifat unik (UNIQUE).

Berikut screenshoot pada run SQL command line :

2.7 Tabel Suplier


CREATE TABLE suplier (
id_suplier number(10)CONSTRAINT id_sp PRIMARY
KEY,
nama_suplier varchar2(15),
alamat varchar2 (15),
no_telp varchar2(12)UNIQUE
);
Sintak diatas adalah sintak SQL untuk membuat sebuah tabel suplier
yang memiliki kolom id suplier, nama supplier, alamat, dan no telp dari
supplier, dimana tiap masing-masing kolom diberi tipe data dan ukuran
masing-masing.
Pada kolom id_suplier ditambahkan constraint PRIMARY KEY
sehingga kolom tersebut tidak boleh kosong (NOT NULL) dan juga harus
bersifat unik (UNIQUE). Selanjutnya pada kolom no_telp juga ditambahkan
constraint UNIQUE sehingga dengan pengisian data dikolom tersebut tidak
boleh memiliki nilai yang sama.
Berikut screenshoot pada run SQL command line :

3. MENAMBAHKAN FOREIGN KEY KE TABEL


Penambahan constraint Foreign Key hanya untuk tabel yang bersifat tabel child
atau tabel yang mendapat referensi dari tabel parent.
3.1 Tabel Barang Sebagai Table child
ALTER TABLE barang ADD CONSTRAINT fk_barang_kategori
FOREIGN

KEY

(id_kategori)

REFERENCES

kategori

(id_kategori)ON DELETE CASCADE;


Penjelasan :
Sintak diatas adalah sintak untuk menambahkan foreign key ke tabel
barang. Tabel barang memiliki relasi dengan tabel kategori dan yang
merelasikan itu adalah kolom id_kategori. Tabel barang merupakan tabel child
dari tabel kategori yang sebagai tabel parent.
Sintak diatas mempunyai arti menambahkan constraint ke tabel barang
(tabel child) yang bernama fk_barang_kategori berupa foreign key yaitu
id_kategori, dimana nilai merupakan referensi dari tabel kategori (tabel
parent).

3.2 Tabel Detail Penjualan Sebagai Table child


ALTER

TABLE

detail_penjualan

ADD

CONSTRAINT

fk_detailpenjualan_barang FOREIGN KEY (id_barang)


REFERENCES barang (id_barang)ON DELETE CASCADE;
ALTER

TABLE

detail_penjualan

fk_detailpenjualan_penjualan
(id_penjualan)

REFERENCES

ADD

CONSTRAINT

FOREIGN
penjualan

ON

KEY
DELETE

CASCADE;

Penjelasan :
Tabel detail_penjualan memiliki relasi dengan tabel barang (relasi oleh
kolom id_barang) dan tabel penjualan (relasi oleh kolom id_penjualan).
Sintak

pertama

adalah

menambahkan

constraint

ke

tabel

detail_penjualan (tabel child) yang bernama fk_detailpenjualan_barang


berupa foreign key yaitu id_barang, dimana nilai merupakan referensi dari
tabel barang (tabel parent).
Sintak kedua adalah menambahkan constraint ke tabel detail_penjualan
(tabel child) yang bernama fk_detailpenjualan_penjualan berupa foreign key
yaitu id_penjualan, dimana nilai merupakan referensi dari tabel penjualan
(tabel parent).

3.3 Tabel Detail Pembelian Sebagai Table child


Sintak SQL :
ALTER

TABLE

detail_pembelian

ADD

CONSTRAINT

fk_detailpembelian_barang FOREIGN KEY (id_barang)


REFERENCES barang (id_barang)ON DELETE CASCADE;
ALTER

TABLE

detail_pembelian

fk_detailpembelian_pembelian

ADD

CONSTRAINT

FOREIGN

KEY

(id_pembelian) REFERENCES pembelian (id_pembelian)


ON DELETE CASCADE;
Penjelasan :
Tabel detail_pembelian memiliki relasi dengan tabel barang (relasi oleh
kolom id_barang) dan tabel pembelian (relasi oleh kolom id_pembelian).
Sintak

pertama

adalah

menambahkan

constraint

ke

tabel

detail_pembelian (tabel child) yang bernama fk_detailpembelian_barang

berupa foreign key yaitu id_barang, dimana nilai merupakan referensi dari
tabel barang (tabel parent).
Sintak

kedua

adalah

menambahkan

constraint

ke

tabel

detail_pembelian (tabel child) yang bernama fk_detailpembelian_pembelian


berupa foreign key yaitu id_pembelian, dimana nilai merupakan referensi dari
tabel pembelian (tabel parent).

3.4 Tabel Pembelian Sebagai Table child


ALTER

TABLE

pembelian

fk_pembelian_suplier

FOREIGN

ADD

CONSTRAINT

KEY

(id_suplier)

REFERENCES suplier (id_suplier)ON DELETE CASCADE;


Penjelasan :
Sintak diatas adalah sintak untuk menambahkan foreign key ke tabel
pembelian. Tabel pembelian memiliki relasi dengan tabel suplier dan yang
merelasikan itu adalah kolom id_suplier. Tabel pembelian merupakan tabel
child dari tabel suplier yang sebagai tabel parent.
Sintak diatas mempunyai arti menambahkan constraint ke tabel
pembelian (tabel child) yang bernama fk_pembelian_suplier berupa foreign
key yaitu id_suplier, dimana nilai merupakan referensi dari tabel supplier
(tabel parent).

4. MENAMBAHKAN CONSTRAINT : Check KE TABEL


4.1 Tabel Barang
ALTER TABLE barang ADD CONSTRAINT ck_barang CHECK
(harga_beli >= 1000 and harga_beli <=1000000);
ALTER TABLE barang ADD CONSTRAINT ck_barang1 CHECK
(harga_jual >= 1500 and harga_jual <=1500000);
ALTER TABLE barang ADD CONSTRAINT ck_barang2 CHECK
(stok >= 30 and stok <9999);
Penjelasan :
Sintak diatas adalah sintak untuk menambahkan constraint check pada
tabel barang. Check digunakan sebagai syarat pengisian data dimana syarat
pertama adalah nilai data dari kolom harga_beli harus antara 1000 sampai
dengan 1000000, syarat kedua adalah nilai data dari kolom harga_jusl harus
antara 1500 sampai dengan 1500000, dan syarat ketiga adalah nilai data dari
kolom stok harus antara 30 sampai dengan 9999,

4.2 Tabel Detail Penjualan


ALTER TABLE detail_penjualan ADD CONSTRAINT ck_jml1
CHECK (jml > 0 and jml <=9999);
Penjelasan :

10

Sintak diatas adalah sintak untuk menambahkan constraint check pada


tabel detail_penjualan. Check digunakan sebagai syarat pengisian data dimana
nilai data dari kolom jml harus lebih besar dari 0 hingga batas 9999.

4.3 Tabel Detail Pembelian


ALTER TABLE detail_pembelian ADD CONSTRAINT ck_jml2
CHECK (jml > 0 and jml <=9999);
Penjelasan :
Sintak diatas adalah sintak untuk menambahkan constraint check pada
tabel detail_pembelian. Check digunakan sebagai syarat pengisian data dimana
nilai data dari kolom jml harus lebih besar dari 0 hingga batas 9999.

11

5. MENAMBAHKAN DATA KE TABEL


Untuk melakukan kemudahan pengisian data, dalam pengisian data dahulukan
untuk melakukan pengisian terhadap tabel parent karena data di table child
merupakan referensi dari tabel parent.
5.1.1 Tabel Suplier
INSERT INTO suplier VALUES
('1','PT.INDOFOOD','Pekanbaru','081372789405');
INSERT INTO suplier VALUES
('2','PT.sejahtera','Jakarta','085278545477');
INSERT INTO suplier VALUES
('3','Indogrosir','Padang','087812345432');
INSERT INTO suplier VALUES
('4','PT.Harja','Pekanbaru','081371729111');
INSERT INTO suplier VALUES
('5','PT.Yogya','Duri','082134129087');

5.1.2 Tabel Pembelian


INSERT INTO pembelian VALUES ('pl1',1,'11-Apr-2016');
INSERT INTO pembelian VALUES ('pl2',2,'12-Apr-2016');
INSERT INTO pembelian VALUES ('pl3',3,'13-Apr-2016');
INSERT INTO pembelian VALUES ('pl4',4,'15-Apr-2016');
INSERT INTO pembelian VALUES ('pl5',5,'16-Apr-2016');

12

5.1.3 Tabel Penjualan


INSERT INTO penjualan VALUES ('PJ1','20-Apr-2016');
INSERT INTO penjualan VALUES ('PJ2','21-Apr-2016');
INSERT INTO penjualan VALUES ('PJ3','22-Apr-2016');
INSERT INTO penjualan VALUES ('PJ4','23-Apr-2016');
INSERT INTO penjualan VALUES ('PJ5','24-Apr-2016');

5.1.4 Tabel Kategori


INSERT INTO kategori VALUES('11','minuman');
INSERT INTO kategori VALUES('12','makanan');
INSERT INTO kategori VALUES('13','bumbu dapur');

13

5.1.5 Tabel Barang


INSERT INTO barang VALUES
('brg1',11,'indomie','2000','3000','100');
INSERT INTO barang VALUES
('brg2',11,'Roti','1500','2000','200');
INSERT INTO barang VALUES ('brg3',12,'cocacola','5000','7000','150');
INSERT INTO barang VALUES
('brg4',12,'Fanta','6500','8000','100');
INSERT INTO barang VALUES ('brg5',13,'minyak
goreng','18000','20000','250');

5.1.6 Tabel Detail Penjualan


INSERT INTO detail_penjualan VALUES ('pj1'
,'brg1','25');
INSERT INTO detail_penjualan VALUES
('pj2','brg2','10');
INSERT INTO detail_penjualan VALUES
('pj3','brg3','20');
INSERT INTO detail_penjualan VALUES
('pj4','brg4','25');
INSERT INTO detail_penjualan VALUES
('pj5','brg5','30');

14

5.1.7 Tabel Detail Pembelian


INSERT INTO detail_pembelian VALUES
('pl1','brg1','40');
INSERT INTO detail_pembelian VALUES
('pl2','brg2','50');
INSERT INTO detail_pembelian VALUES
('pl3','brg3','50');
INSERT INTO detail_pembelian VALUES
('pl4','brg4','60');
INSERT INTO detail_pembelian VALUES
('pl5','brg5','100');

15

Anda mungkin juga menyukai