:: studi kasus inventori :: - adekyanna's blog | … · web viewtampilkan jumlah minimum...
TRANSCRIPT
Database Management Using SQL
A. Rancangan Database
Database Name : JAYANUSA Tabel :
Tabel BarangKode_barang char(6)Nama_barang varchar2(25)Satuan_barang varchar2(20)Stok_barang number(4)----------------------------------------Primary key (PK) adalah field kode_barang
Tabel Suplier
Kode_suplier char(5)Nama_suplier varchar2(30)Alamat_suplier varchar2(30)Kota_suplier varchar2(15)Telepon_suplier varchar2(15)----------------------------------------Primary key (PK) adalah field kode_suplier
Tabel Customer
Kode_customer char(6)Nama_customer varchar2(30)Alamat_customer varchar2(30)Kota_customer varchar2(15)Telepon_customer varchar2(15)----------------------------------------Primary key (PK) adalah field kode_customer
Tabel PemasokKode_pasok char(10)Kode_barang char(6)Kode_suplier char(6)Tanggal_pasok dateJumlah_pasok number(4)----------------------------------------Primary key (PK) adalah field kode_pasok, kode_barang dan kode_suplier.Foreign Key (FK) adalah field kode_barang dan kode_suplier
Tabel Pembelian
Kode_pembelian char(10)Kode_barang char(6)Kode_customer char(6)Tanggal_pembelian dateJumlah_pembelian number(4)----------------------------------------Primary key (PK) adalah field kode_pembelian, kode_barang dan kode_customerrForeign Key (FK) adalah field kode_barang dan kode_customer
B. Entity Relationship Diagram (ERD)
Keterangan : Tabel barang dengan tabel suplier berelasi melalui tabel pasok. Relasi tabel barang dengan tabel pasok adalah 1 ke banyak (1 kode barang bisa terdiri atas
beberapa kode suplier) Rrelasi tabel suplier dengan tabel pasok addalah 1 ke banyak ( 1 kode suplier bisa terdiri atas
beberapa kode_barang)
BARANG
KODE_BARANGNAMA_BARANGSATUAN_BARANGSTOK_BARANG
PEMASOK
KODE_PASOKKODE_BARANGKODE_SUPLIERTANGGAL_PASOKJUMLAH_PASOK
SUPLIER
KODE_SUPLIERNAMA_SUPLIERALAMAT_SUPLIERKOTA_SUPLIERTELEPON_SUPLIER
PEMBELIAN
KODE_PEMBELIANKODE_BARANGKODE_CUSTOMERTANGGAL_PEMBELIANJUMLAH_PEMBELIAN
CUSTOMER
KODE_CUSTOMERNAMA_CUSTOMERALAMAT_SUPLIERKOTA_CUTOMERTELEPON_CUSTOMER
:: SQL *Plus ::
Memulai SQL *Plus Aktifkan Oracle. Anda bisa mengguankan Aracle DBA, Oracle Developer atau
Personal Oracle. Aktifkan SQL *Plus Login dengan Nama User Anda masing-masing
Tampilan jendela Oracle SQL *Plus.
Pada kasus ini Penulis mengguankan Oracle 9i:Mengaktifkan SQL *Plus:Start > Program > Oracle–OraHome90 >
Application Development > SQL Plus
Kode_barang char(6)Nama_barang varchar2(25)Satuan_barang varchar2(20)Stok_barang number(4)-----------------------------------------------------------Primary key (PK) adalah field kode_barang
Catatan :
1. Membuat Tabel (Create Table)Bentuk umum:
Praktek :
Buatlah tabel Barang dengan stuktur sebagai berikut:
Tipe data di dalam OracleCHAR(n)
Mendefinisikan string sepanjang n karakter. Bila n tidak disertakan, panjang karakter adalah 1.
VARCHAR(n)Mendefinisikan string yang panjangnya bisa berubah-ubah sesuai dengan kebutuhan, namun string tersebut dibatasi sebanyak n karakter. Oracle merekomendasikan VARCHAR2
VARCHAR2(n)Mendefinisikan string yang panjangnya bisa berubah-ubah sesuai dengan kebutuhan, namun string tersebut dibatasi sebanyak n karakter. Mksimal karakter pada variabel adalah 2000 karakter
LONGMendefinisikan tipe data binary, maksimum 2 Gigabyte, disimpan dalam foramt internal Oracle
LONG RAWSama dengan Long yaitu medefinisikan tipe data binary, maksimum 2 Gigabyte, tidak dikonversi oleh Oracle (data mentah apa adanya)
DATEMendefinisikan tanggal, menyimpan tahun, bulan, hari, jam, menit, dan detik.
NUMBER(n)Mendefinisikan angka pecahan, fixed decimal atau floating point. Nilai n adalah jumlah bytes total dan p adalah presisi angka di belakang koma.
CERATE TABLE nama_tabel (nama field ke-1 tipe data (lebar_field),. . .. . .nama field ke-n tipe data (lebar_field),);
Keterangan: Untuk membuat table acuan (reference) sebelum tanda ‘)’ tambahkan sintak:
Constraint nama_constrains primary Key (nama)field_primarykey) not nul);
Untuk membuat tabel yang mengacu pada tabel lain (tabel relasi) sebelum tanda ‘)’ tambahkan sintak:Constraints nama_constraint primary key (
nama_filed_prmarykey-1, . . ,nama_field_primarykey-n),
Constaints nama_constraints foreign key(nama_field_foreignkey-1) referencesnama_tabel_acuan-1(nama_filed_primarykey-1),..
Constaints nama_constraints foreign key(nama_field_foreignkey-n) referencesnama_tabel_acuan-n((ama_filed_primarykey-n));
Kode_suplier char(5)Nama_suplier varchar2(30)Alamat_suplier varchar2(30)Kota_suplier varchar2(15)Telepon_suplier varchar2(15)---------------------------------------------------------Primary key (PK) adalah field kode_suplier
Kode_customer char(6)Nama_customer varchar2(30)Alamat_customer varchar2(30)Kota_customer varchar2(15)Telepon_customer varchar2(15)-------------------------------------------------------------Primary key (PK) adalah field kode_customer
Kode_pasok char(10)Kode_barang char(6)Kode_suplier char(6)Tanggal_pasok dateJumlah_pasok number(4)---------------------------------------------------------------------------------------------------Primary key (PK) adalah field kode_pasok, kode_barang dan kode_suplier.Foreign Key (FK) adalah field kode_barang dan kode_suplier
Caranya:
Tugas :
Berdasarkan contoh diatas buatlah tabel berikut:Tabel Sublier : Tabel Customer :
Praktek : Buatlah tabel Pasok dengan struktur sebagai berikut
Perhatikan Caranya:
Kode_pembelian char(10)Kode_barang char(6)Kode_customer char(6)Tanggal_pembelian dateJumlah_pembelian number(4)------------------------------------------------------------------------------------------------------------Primary key (PK) adalah field kode_pembelian, kode_barang dan kode_customerForeign Key (FK) adalah field kode_barang dan kode_customer
- fk_pasok_barang: foreign key tabel pasok yang mengacu pada tabel barang.
- fk_pasok_suplier: foreign key tabel pasok yang mengacu pada tabel suplier
- fk_pembelian_barang: foreign key tabel pembelian yang mengacu pada tabel barang.
- fk_pembelian_customer: foregin key tabel pembelian yang mengacu pada tabel customer.
Tugas :Berdasarkan contoh diatas buatlah tabel Pembelian dengan stuktur sebagai berikut: Tabel Pembelian
Keterangan:
Catatan:
Untuk menampilkan struktur tabel gunakan perintah : describe/desc nama_tabel.
Praktek :
Perintah untuk menampilkan daftar tabel:
Select * from tab :
Stuktur tabel Pasok dan tabel Pembelian
Catatan:
2. Mengubah Tabel (Alter Table)Bentuk Umum:
Praktek :
a. Ubahlah tipe data dari field satuan_barang dari varchar2(20) menjadi char(5).
ALTER TABLE nama_tabel ADD|MODIFY nama field tipe_data(lebar_field);
Pada pengubahan stuktur tabel ini ada bebrapa kemungkinan, diantaranya mengubah dalam arti menghapus salah satu atau beberapa field apda tabel tersebut atau dalam arti menambah satu atau beberapa field pada tabel tersebut.
Perhatikan Caranya:
b. Tambahkan satu field pada tabel barang dengan ketentuan:- nama field : keterangan- tipe data : varchar2- lebar data : 15
Perhatikan Caranya:
Tugas : Ubahlah tipe data untuk field stok_barang dari number(4) menjadi number(2) Tambahkan satu field pada tabel barang dengan ketentuan:
- nama field : stok_minimum- tipe data : number(4)
Catatan:
2. Menghapus Tabel (Drop Table)Bentuk Umum:
Praktek :
Hapuslah tabel barang (tabel barang disini adalah tabel reference/acuan). Perhatikan pesan yang muncul:
Perhatikan Caranya:
Hapuslah tabel pasok dan tabel pembelian (tabel yang mengacu pada tabel barang). Tabel pasok dan tabel Pembelian ini berjenis tabel relasi.
Perhatikan caranya :
DROP TABLE nama_tabel
Perintah DROP ini akan berhasil jika tabel yang dihapus adalah tabel yang tidak ada relasinya (tabel yang berdiri sendiri). Juga akan berhasil jika yang dihapus adalah tabel relasi (tabel yang mengacu pada tabel yang lain). Dalam kasus ini tabel, relasi adalah tabel pasok dan tabel reference, maka perintah DROP table ini tidak akan berhasil.Lihat Contoh dibawah ini:
Daftar tabel setelah penghapusan:
Sekarang coba hapus tabel barang, tabel customer dan tabel supplier
Tugas: Buat kembali :
- Tabel Barang- Tabel Suplier- Tabel Customer- Tabel Pasok- Tabel PembelianDengan stuktur tabel sama dengan sebelumnya.
Yaaaa… begitulah kalau Anda ingin cepat pandai.
Catatan:
3. Memasukkan Data (Insert)Bentuk Umum:
Praktek :
Isikanlah sebuah record kedalam tabel barang seperti tabel berikut:
KODE_BARANG NAMA_BARANG SATUAN_BARANG STOK_BARANGELK-01 RICE COOKER BUAH 20
Perhatikan caranya:
Tugas :
Tambahkan record kedalam tabel Barang seperti tabel berikut:
KODE_BARANG NAMA_BARANG SATUAN_BARANG STOK_BARANGELK-02 LEMARI ES UNIT 8ELK-03 TELEVISI UNIT 30ELK-04 RADIO/TAPE BUAH 35
Masukkan record kedalam tabel Suplier seperti tampilan berikut:
KODE_SUPLIER
NAMA_SUPLIER ALAMAT_SUPLIER KOTA_SUPLIER TELEPON_SUPLIER
EJ-01 PT.ACTRON JL.THAMRIN 12 JAKARTA 021-855-2301EJ-02 PT.MULYA
ELEKTRONJL.SUDIRMAN 45 JAKARTA 021-855-4262
EB-01 PT.ULTRASOUND JL.SUKARNO-HATTA BANDUNG 022-522-3305
INSERT INTO nama_tabel (nama field ke-1, . . ., nama field ke-n
VALUES (nilai_field ke-1,. . ., nilai_field ke-n);
Pada prinsipnya INSERT bertujuan mengisikan data/record ke dalam suatu tabel. Pengisian data ini bisa satu record penuh atau hanya sebagian saja.
Keterangan:(nama field ke-1, . .,nama field ke-n) adalah nama field yang ada pada tabel dan sifatnya opsional.(nama field ke-1,. . ,nilai_field ke-n) adalah isi dari field pada tabel dan harus diisi.
Select * from barang;Untuk melihat semua data pada tabel barang
EB-02 PT.SUPERTRON JL.INDUSTRI 37 BANDUNG 022-660-4091
Masukkan record kedalam tabel Customer seperti tabel berikut:
KODE_CUSTOMER
NAMA_CUSTOMER
ALAMAT_CUSTOMER
KOTA_CUSTOMER TELEPON_CUSTOMER
J-0001 TOKO KARISMA JL.CIMANGGIS 34 JAKARTA 021-856-4209J-0002 TOKO AYU JL.DIMANGGIS 12 JAKARTA 021-856-1321B-0001 TOKO SURYA JL.ABC 234 BANDUNG 022-432-6635B-0002 TOKO WARNA JL.ABC 309 BANDUNG 022-432-6024
Masukkan record kedalam tabel Pasok seperti tabel berikut:
KODE_PASOK
KODE_BARANG
KODE_SUPLIER TANGGAL_PASOK JUMLAH_PASOK
PAS-E001 ELK-01 EJ-01 01-JAN-02 8PAS-E002 ELK-01 EJ-02 01-JAN-02 5PAS-E003 ELK-02 EJ-01 01-FEB-02 2PAS-E004 ELK-02 EJ-02 02-FEB-02 3PAS-E005 ELK-02 EB-02 01-JAN-02 2PAS-E006 ELK-03 EJ-01 03-MAR-02 5PAS-E007 ELK-03 EJ-01 04-MAR-02 2PAS-E008 ELK-03 EJ-02 03-MAR-02 3PAS-E009 ELK-03 EB-01 13-MAR-02 4PAS-E010 ELK-03 EB-02 13-MAR-02 3PAS-E011 ELK-04 EB-01 22-APR-02 12PAS-E012 ELK-04 EB-02 30-APR-02 9
Masukkan record kedalam tabel Pembelian seperti tabel berikut:
KODE_PEMBELIAN
KODE_BARANG
KODE_CUSTOMER TANGGAL_PEMBELIAN
JUMLAH_PEMBELIAN
BEL-E001 ELK-01 J-001 20-MAY-02 3BEL-E002 ELK-01 J-001 21-MAY-02 4BEL-E003 ELK-01 J-002 20-MAY-02 2BEL-E004 ELK-01 B-001 20-MAY-02 2BEL-E005 ELK-01 B-002 22-MAY-02 3BEL-E006 ELK-02 J-001 24-MAY-02 1BEL-E007 ELK-02 J-002 24-JUN-02 1BEL-E008 ELK-02 B-001 25-JUN-02 2BEL-E009 ELK-02 B-002 25-JUN-02 2BEL-E010 ELK-02 J-001 20-JUM-02 5BEL-E011 ELK-03 J-002 02-JUL-02 4BEL-E012 ELK-03 B-001 04-JUL-02 6BEL-E013 ELK-03 B-002 10-JUL-02 5BEL-E014 ELK-03 J-001 15-JUL-02 12BEL-E015 ELK-03 B-002 17-JUL-02 15
Catatan:
4. Memperbaiki Data (Update)Bentuk Umum:
Praktek :
Perhatikan data tabel barang berikut ini:
Perbaikilah data pada :Kode_barang ELK-01 pada field STOK_BARANG menjadi 18
Perhatikan caranya:
Tugas: Lakukan perbaikan data
- Tabel Barang: Kode_Barang ELK-04 pada field SATUAN_BARANG menjadi UNIT
UPDATE nama_tabelSET nama_field = data_baruWHERE nama_field = data_lama
Pada prinsipnya UPDATE adAlah memperbaharui data lama dengan data
- Tabel Suplier:Kode_Suplier EJ-01 pada field NAMA_SUPLIER menjadi JAYANUSA , field ALAMAT_SUPLIER menjadi Jl.DAMAR 69, field KOTA_SUPLIER menjadi PADANG dan TELEPON_SUPLIER menjadi 0751-28984.
- Tabel Customer:Kode_Customer J-0002 pada field NAMA_CUSTOMER menjadi TOKO AWAK , field ALAMAT_CUSTOMER menjadi Jl.KITO 21, field KOTA_CUSTOMER menjadi PADANG dan TELEPON_SCUSTOMER menjadi 0751-33057.
Catatan:
5. Menghapus Data (Delete)Bentuk Umum:
Praktek :
Hapuslah semua recortd yang ada pada tabel barang :
Perhatikan tampilan berikut:
Kita tidak bisa menghapus isi tabel references (tabel abrang, tabel suplier dan tabel customer) tanpa lebih dahulu menghapus isi tabel yang mengacu pada taber tersebut.
Apabila kita ingin menghapus tabel barang, tabel suplier dan tabel customer, tanpa menghapus terlebih dahulu isi tabel pasok dan tabel pembelian, tambahkan sintak on delete cascade pada tabel pasok dan tabel pembelian pada saat pembuatan tabel..
Ctt:Untuk mempraktekkan penghapusan record, agar data pada tabel yang telah anda isi sebelumnya tidak hilang karena masih dibutuhkan lagi untuk kasus selanjutnya, maka
DELETE FROM nama_tabel[ WHERE kondisi ]
Pada Prinsipnya DELETE adalah untuk menghapus data atau record. Penghapusan record ini bisa dilakukan secara keseluruhan. Artinya, seluruh record dalam tabel tersebut akan dihapus. Penghapusan data atu deletion juga bisa untuk sebagian saja. Pada penghapusan data tipe ini digunakan kondisi where sebagai suatu kondisi untuk memilih record mana yang akan di hapus.
saya sarankan anda untuk membuat sebuah tabel lagi dan isi beberapa data, setelah itu lakukan penghapusan terhadap isi dari tebel tersebut.
Contoh: buatlah sebuah tabel yang bermana mhs seperti berikut:
di beberapa data, tampilkan dan lakukan penghapusan. Lihat contoh tampilan berikut:
Catatan:
6. Memilih Data/Seleksi Data (Select)Bentuk Umum:
DELETE nama_fieldFROM nama_tabel[ WHERE kondisi ]
Pada Prinsipnya SELECT bertujuan untuk menampilkan/menyeleksi data, yang diinginkan dari sekumpulan data yang ada. Select sering disebut dengan istilah query.
Praktek :
Buatlah perintah untuk menampilkan semua data pada tebel BarangPerhatikan tampilan berikut:
Buatlah perintah untuk menampilkan nama_barang dan stok_barang pada tebel Barang. Perhatikan tampilan berikut:
Tugas : Buatlah perintah untuk menampilkan nama_customer dan alamat_customer pada
tebel customer. Buatlah perintah untuk menampilkan kode_suplier dan nama_suplier pada tebel
suplier.
Membuat View (Create View)Buatlah view dengan nama v_customer yang menampilkan isi tabel customer:Perhatikan tampilan berikut:
Buatlah view dengan nama v_barang untuk menampilkan nama_barang dan stok_barang ari tabel barang. Perhatikan tampilan berikut:
Tugas:
Buatlah view dengan nama v_suplier untuk manampilkan kode_suplier, nama_suplier pada tabel suplier.
Buatlah view dengan nama v_pasok untuk menampilkamn kode_pasok, tanggal_pasok pada tabel pasok.
Catatan:
6. Pengelompokan Data (Group By) dan Aggregate Function
A. Min( )Bentuk Umum:
Praktek : Tampilkan minimum pemasok per kode barang
Perhatikan tampilan berikut:
Tampilkan jumlah minimum pemasokan dari seluruh pemasokan yang ada.Perhatikan tampilan berikut:
SELECT nama_field-1, . . , nama_field-n, MIN(nama_field)FROM nama_tabel
GROUP BY nama_field-1, . . , nama_field-n
Fungsi ini digunakan untuk mencari harga minimum dari sekumpulan data yang ada.
Pada kasus seleksi data seringkali diminta untuk menampilkan atau memilih sekumpulan data berdasarkan kelompok data tertentu. Untuk menyelesaikan permasalahan tersebut, SQL menyediakan perintah atau sintak group by. Pada pengelompokan data biasanya disertakan bnersama Aggregate Function. Dalam implementasinya, Aggregate Function harus diikuti group by bila terdapat field lain yang dijadikan sebagai kriteria pengelompokan. Aggregate function yang dimaksud adalah fungsi matematik yaitu: min(), max(), avg(), sum(), dan count().
Jika ingin menampilkan funsi aggregate(min, max, avg, count) berdasarkan kelompok data tertentu, yang harus dilakukan adalah membuat group by berdasarkan kelompok data tersebut.
Jika menentukan aggregate function tanpa melibatkan field yang lain (tidak ada field lain selain field eggregate function), maka tidak perlu menambahkan group by karena data yang ditampilkan tidak dikelompokkan berdasarkan field tertentu, jadi tidak perlu digroupkan/tidak perlu membuat grop by.
Tugas : Cari minimum pembelian per customer. Tampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang
ada.
B. Max( )Bentuk Umum:
Praktek : Tampilkan maksimum pemasokan per koe barang.
Perhatikan tampilan berikut:
Tampilkan maksimum pemasokan dari semua pemasokan yang ada.Perhatikan tampilan berikut:
SELECT nama_field-1, . . , nama_field-n, MAX(nama_field)FROM nama_tabel
GROUP BY nama_field-1, . . , nama_field-n
Fungsi ini digunakan untuk mencari harga maksimum dari sekumpulan data yang ada. .
C. Avg( )Bentuk Umum:
Praktek :
Tampilkan data-rata pemasokan (rata-rata jumlah pasok)Perhatikan tampilan berikut:
Tampilkan rata-rata pemasokan (rata-rata jumlah pasok) untuk semua kode_barang dan suplier.Perhatikan tampilan berikut:
D. Sum( )Bentuk Umum:
SELECT nama_field-1, . . , nama_field-n, AVG(nama_field)FROM nama_tabel
GROUP BY nama_field-1, . . , nama_field-n
Fungsi ini digunakan untuk mencari harga rata-rata dari semuplulan data yang ada.
SELECT nama_field-1, . . , nama_field-n, SUM(nama_field)FROM nama_tabel
GROUP BY nama_field-1, . . , nama_field-n
Fungsi ini digunakan untuk mencari jumlah data.
Praktek : Tampilkan total jumlah pembelian per kode barang.
Perhatikan tampilan berikut:
Tampilkan total jumlah pembelian per-kode barangPerhatikan tampilan berikut:
Tampilkan total jumlah pembelian per kode barang per kode customer.
E. Count( )Bentuk Umum:
Praktek : Tampilkan berapa kali pemasokan (cacah pasok) tiap kode_bnarang, atau
berdasarkan kode barang, ada berapa kali pemasokan.Perhatikan tampilan berikut:
Tampilkan berapa kali pemasokan (cacah pasok) tiap kode barang dan kode suplier. Atau dengan kata lainm, berdasarkan kode barang dan kode suplier, ada berapa kali.Perhatikan tampilan berikut:
SELECT nama_field-1, . . , nama_field-n, COUNT(nama_field)FROM nama_tabel
GROUP BY nama_field-1, . . , nama_field-n
Fungsi ini digunakan untuk mencari cacah atau banyaknya data
Tampilkan berapa kali terjadi pemasokan berdasarkan kode barang dan tanggal tertentu.Perhatikan tampilan berikut
Tampilkan minimum,maksimum,rata-rata dan jumlah barang serta berapa kali terjadi pemasokan untuk setiap kode barang.Perhatikan tampilan berikut:
Catatan:
7. Pengurutan Data (Order By)
Bentuk Umum:
Praktek : Tampilkan semua data barang berdasarkan urutan nama barang.
Perhatikan tampilan berikut:
Tampilkan semua data barang berdasarkan urutan yang terbalik dari nama Barang.Perhatikan tampilan berikut:
SELECT nama_field-1, . . , nama_field-nFROM nama_tabel
ORDER BY nama_field
Catatan:
8. Kriteria Data
A. Kriteria dengan Having
Bentuk Umum:
Praktek :
Tampilkan supplier yang memasok barang sebanyak 2 kali.Perhatikan tampilan berikut:
Tampilkan kode customer yang total jumlah pembeliannya lebih besar dari 15.Perhatikan tampilan berikut
SELECT nama_field-1, . . , nama_field-n, aggregate_functionFROM nama_tabel
ORDER BY
Kriteria data adalah data yang akan ditampilan, yaitu data memenuhi kriteria yang ditentukan (kriteria yang ada). Diabagi dalam dua kategori, kriteria dengan having dan kriteria where.
Kriteria dengan having adalah kriteria pemilihan atau seleksi data dengan menggunakan kata having. Kata having ini bisa berupa having count(nama_filed) having sum(nama_field), atau having dengan diikuti fungsi aggregate yang lain. Namun pada intinya adalah ingin menyeleksi data berdasarkan kriteria tertentu, dimana kriteria ini biasanya berupa fungsi aggregate (min, max, avg, sum dan count).
B. Kriteria dengan Where
(a). Comparison (=, <>, <, >, <= atau >=)
Bentuk Umum:
Praktek : Tampilkan kode barang dan kode suplier yang mempunyai jumlah pasok 2.
Perhatikan tampilan berikut:
Tampilkan barang yang memiliki jumlah atau stok abrang lebih besar atau sama dengan 20.Perhatikan tampilan berikut:
SELECT nama_field-1, . . , nama_field-nFROM nama_tabel
Pada kriteria dengan where pemilihan atau seleksi data dilakukan setelah kata where. Setelah kata where bisa diikuti oleh comparison (=, <>, <, >, >= atau <=), between, in, like/not like atau is null/is not null.
Comparison berfungsi untuk membandingkan dua nilai. Tipe data yang harus dibandingkan harus sesuai. Hasil yang diperolah dari operasi perbandingan atau comparison ini adlah berupa nilai logik.
(b). Between
Bentuk Umum:
Praktek : Tampilkan kode barang dan kode suplier yang jumlah pasoknya antara 5 dan 12.
(5 dan 12 termasuk dalam kategori)Perhatikan tampilan berikut:
(c). In
Bentuk Umum:
Praktek : Tampilkan kode barang dan kode suplier yang jumlah pasoknya 2,8, atau 12.
Perhatikan tampilan berikut:
SELECT nama_field-1, . . , betweenFROM nama_tabel
Pada prinsipnya between digunakan untuk membandingkan atau untuk mengecek apakah suatu nilai berada dalam range atau selang nilai tertentu.
SELECT nama_field-1, . . , betweenFROM nama_tabel
WHERE nama_field IN(. . ., . . ., . .
In digunakan untuk melakukan pengecekan apakah suatu nilai terdapat pada suatu himpunan tertentu
Tampilkan customer yang mempunyau ‘J-0001’ atau ‘B-0002’Perhatikan tampilan berikut:
(c). Like/Not Like
Bentuk Umum:
Praktek :
Tampilkan customer yang mempunyai kata ‘JAK’ pada kotanya.Perhatikan tampilan berikut:
Tampilkan data abrang yang memiliki nama abrang diawali dengan huruf R.Perhatikan tampilan berikut:
SELECT nama_field-1, . . , betweenFROM nama_tabel
WHERE nama_field LIKE ‘. . ‘
Like atau Not Like digunakan untuk membandingkan data dengan pola tertentu. Untuk membandingkan satu karakter digunakan karakter underscore (_), sedangkan untuk membandingkan string digunakan karakter porsen (%).
Catatan:
8. Query dan View
A. Seleksi Satu Tabel
Bentuk Umum:
Praktek : Tampilkan berapa kali pembelian (cacah pembelian) dan jumlah pembelian per
kode abrang per kode customer. Tampilkan diurutkan berdasarkan jumlah pembelianPerhatikan tampilan berikut:
SELECT nama_field-1, . . , nama_field-n, aggregate_functionFROM nama_tabelWHERE kriteriaGROUP BY nama_field-1, . . , nama_field-n HAVING kriteria_aggregate_functionORDER BY nama_field
Query adalah sebutan atau nama lain dari seleksi yang merupakan bagian danri DML (Data Manipulation Language)
Sleksi ini hanya berkisar pada field yang ada pada satu tabel.
Tampilkan berapa kali pembelian (Cacah pembelian) dan jumlah pembelian per kode barang per kode customer. Cacah pembelian yang ditampilkan adalah yang lebih besar dati 1. Tampilan diurutakan berdasarkan jumlah pembelian.Perhatikan tampilan berikut:
Tampilkan berapa kali pembelian (cacah pembelian) dan jumlah pembelian per kode barang per kode customer. Kode customer yang ditampilkan adlaah J-001 dan B-0001, tampilan diurutakn dari yang terbesar ke yang terkecil, urutan berdasarkan jumlah pembelian.Perhatikan tampilan berikut:
B. Seleksi Lebih dari Satu Tabel
Sleksi ini memungkinkan untuk memilih field mana saja yang ingin ditampilkan, asalkan antara field yang satu dan field yang lain masih berada pada tabel yang saling berelasi.
Bentuk Umum:
Praktek : Tampilkan nama supplier, tanggal pasokan dan berapa jumlah pasokannya.
Perhatikan tampilan berikut:
Tampilkan nama barang, nama suplier tanggal pasokan dan jumlah pasokan barang tersebut. Barang yang ditampilkan adalah televisi, radio/tape, lemari es.
SELECT nama_field-1, . . , nama_field-n, aggregate_functionFROM nama_tabel-1,. . .,nama_tabel-nWHERE kriteriaGROUP BY nama_field-1, . . , nama_field-n HAVING kriteria_aggregate_functionORDER BY nama_field
Tampilkan nama barang, nama suplier, tanggal p[asokan dan jumlah Pasokan barang. Barang yang ditampilkan adalah televisi, radio/tape, lemari as. Suplier yang ditampilkan adalah yang memiliki nama berakhiran tron. Jumlah pasokan yang ditampilkan dalam selang 3 sampai 9.Perhatikan tampilan berikut:
Hitunglah, maksimum, dan rata-rata pemasokan per nama suplier.Perhatikan tampilan berikut:
B. Seleksi dengan Subquery
Subquery adalah query di dalam query,. Artinya, seleksi data berdasarkan hasil seleksi data yang telah ada. Sintaknya SQL-nya sama dengan sitnak SQL pada umumnya, tetapi kondisi setelah where diikuti dengan query baru atau subquery.
HKode_barang char(6)HNama_barang varchar2(25)HSatuan_barang varchar2(20)HStok_barang number(4)Htanggal_hapus Datetime-----------------------------------------------------------Primary key (PK) adalah field kode_barang
CREATE OR REPLACE TRIGGER thapusbarang AFTER DELETE ON barang FOR EACH ROWBEGIN INSERT INTO HisBarang Values (:Old.Kode_barang,:Old.Nama_barang,:Old.Satuan_barang,:old.stok_barang,date());END;
Bentuk Umum:
9. Trigger
Bentuk Umum:
Praktek : Buatlah tabel HisBarang dengan stuktur sebagai berikut:
Buatlah trigger thapusbarang yang berfungsi untuk memasukkan data secara otomatis kedalam table hisbarang ketika ada query delete pada table barang
Hapus salah satu data pada table barang Lihat data pada table HisBarang
SELECT nama_field-1, . . , nama_field-n, aggregate_functionFROM nama_tabel-1WHERE kriteria ( SELECT nama_fioeld-1,. . .nama_field-n
FROM nama_tabel WHERE kriteria )
Trigger adalah suatu objek dalam database yang digunakan untuk membuat suatu keperluan manipulasi data secara otomatis, dimana suatu query akan dilakukan secara otomatis saat suatu query dieksekusi
CREATE OR REPLACE TRIGGER namatrigger AFTER/BEFORE INSERT/UPDATE/DELETE ON namatable FOR EACH ROWBEGIN Perintah/query yang dikerjakan;END;