Anda di halaman 1dari 43

Modul Kuliah Oracle SQL*Plus

BAB 1

DASAR-DASAR SQL

1.1 PENGERTIAN SQL SQL (Structured Query Language) adalah bahasa pemrograman standard yang meliputi perintah-perintah untuk menyimpan, menerima, memelihara dan mengatur akses-akses ke basis data serta digunakan untuk memanipulasi dan menampilkan data dari RDBMS (Relational DataBase Management System). SQL pertama kali dikembangkan pada akhir tahun 1970-an di laboratorium IBM San Jose, California. SQL yang biasa dibaca dengan sequel, pada awalnya dikembangkan untuk produk DB2 (Database) yang dimiliki oleh IBM. Mulai saat itu SQL bukan lagi sebagai bahasa untuk menjalankan prosedur pemrograman, melainkan sebagai program yang bersifat aplikasi untuk membuat dan mengelola database. Dengan SQL seorang programmer atau seorang database administrator dapat melakukan hal-hal berikut ini : Membuat database. Memodifikasi struktur database. Mengganti setting security. Menambah wewenang user pada database atau tabel. Menampilkan informasi dari database. Mengubah isi database. Membuat keamanan data. Menangani proses transaksi diantara aplikasi. Mentrasfer data antara database yang berbeda. SQL banyak dipakai oleh pembuat software database yang masing-masing memiliki kelebihan dan kekurangannya. Diantaranya adalah : Microsoft Access Digunakan pada PC, sangat mudah dipakai. Perintah-perintah SQL dapat langsung dimasukkan atau melalui fasilitas-fasilitas yang tersedia. Oracle 9i Karena keandalannya, Oracle 9i ini dipakai oleh 70% perusahaan-perusahaan besar di dunia. Pada software ini, SQL diimplementasikan dengan nama SQL*Plus.

Laboratorium Komputer Universitas Nasional 2011

Modul Kuliah Oracle SQL*Plus

Microsoft SQL Software produk Microsoft ini dipaket terpisah dengan Microsoft Windows, Microsoft Office dan Microsoft Visual Studio.

1.2 PERINTAH-PERINTAH SQL Beberapa perintah (command) SQL yang banyak dipakai untuk pengelolaan database diantaranya adalah : alter (dipakai untuk memodifikasi tabel). commit (untuk mengunci data yang baru dimasukkan). create (untuk membuat tabel). delete (untuk menghapus data tabel). drop (untuk menghapus tabel). insert (untuk memasukkan data ke dalam tabel). select (untuk menampilkan tabel). update (untuk memperbaharui data).

1.3 SQL*PLUS Pada Oracle 9i di dalamnya terdapat dua macam program SQL yaitu : SQL*Plus (GAMBAR 1-1) SQL*Plus Worksheet (GAMBAR 1-2)

Tempat untuk menuliskan perintah SQL dan hasilnya

GAMBAR 1-2 SQL*Plus

Laboratorium Komputer Universitas Nasional 2011

Modul Kuliah Oracle SQL*Plus

Tempat untuk menuliskan perintah SQL

Tempat hasil perintah-perintah SQL

GAMBAR 1-2 SQL*Plus Worksheet Dibanding dengan SQL*Plus , pemakaian SQL*Plus Worksheet terasa lebih mudah. Selain hasil dari perintah SQL yang diketik pada jendela Editor langsung dapat diketahui, bila terjadi kesalahanpun lebih mudah untuk diperbaiki.

1.3.1 SQL*Plus SQL*Plus memiliki sejumlah menu, yaitu : File, Edit, Search, Option dan Help dengan uraian sebagai berikut : FILE Menu File ini terdiri dari : Open Save Berfungsi untuk membuka file perintah SQL yang sebelumnya telah tersimpan dengan ekstensi .SQL Menu Save ini terdiri dari tiga pilihan, yaitu : Save Create Berfungsi menyimpan perintah SQL*Plus dari buffer dalam bentuk file dengan ekstensi .SQL. Save Create dapat juga dijalankan dari prompt SQL*Plus. Berfungsi menyimpan tetapi dengan cara menindas atau menggantikan file yang sudah ada namanya dengan perintah SQL yang baru. Tetapi bila filenya belum ada maka akan dianggap file yang baru. Save Replace dapat juga dijalankan dari prompt

Save Replace

Laboratorium Komputer Universitas Nasional 2011

Modul Kuliah Oracle SQL*Plus

SQL*Plus Save Append Berfungsi menambah perintah SQL dari buffer pada file yang sudah ada. Save Append dapat juga dijalankan dari prompt SQL*Plus

Setelah menyimpan file dengan menu Save maka dapat dilakukan hal-hal sebagai berikut : Membuka file dengan menu Open. Mengedit file dengan pilihan Editor pada menu Edit. Memulai atau mengeksekusi file dengan perintah START atau RUN dari prompt SQL*Plus. Berfungsi menyimpan perintah SQL dalam buffer dengan nama yang berbeda dari file sebelumnya. Menu ini terdiri dari : Spool File Berfungsi menyimpan hasil query dalam bentuk file dengan ekstensi .LST Untuk memberikan nama ekstensi yang berbeda, tulis dikotak File Name. Setelah hasil query di-spool menjadi sebuah file, selanjutnya dapat dilakukan hal-hal berikut ini : Mengedit dengan pilihan Editor dari menu Edit. Mencetak file dari teks Editor Windows. Dipakai untuk mengakhiri Spool File.

Save As Spool

Spool Off Run Cancel Exit

Berfungsi untuk mengeksekusi/menjalankan perintah SQL atau PL/SQL blok yang disimpan dalam SQL buffer. Berfungsi membatalkan perintah yang sedang dijalankan. Dapat juga dengan menekan tombol Ctrl + C pada keyboard. Berfungsi untuk menutup jendela aplikasi SQL*Plus dan akan menjalankan transaksi (commit) semua sistim database.

EDIT Menu Edit terdiri dari : Copy Paste Clear Editor Berfungsi untuk menyalin/mengcopy teks ke dalam clipboard Windows . Berfungsi untuk meletakkan hasil copy ke tempat yang dikehendaki. Berfungsi untuk membersihkan layar monitor. Terdiri dari : Invoke Editor Berfungsi untuk meletakkan hasil yang ada dalam SQL buffer ke dalam jendela NotePad dengan nama file default AFIED.BUF
4

Laboratorium Komputer Universitas Nasional 2011

Modul Kuliah Oracle SQL*Plus

Define Editor

Berfungsi untuk memilih jenis teks editor yang dukehendaki selain NotePad.

SEARCH Menu Search terdiri dari : Berfungsi untuk mencari karakter, kata, kumpulan karakter atau kumpulan Find kata dalam jendela SQL*Plus. Prosedur untuk mencari sebuah teks adalah : 1. Letakkan kursor pada layar yang hendak dicari sesuai dengan karakter yang hendak dicari. 2. Pilih Find dan masukkan teks yang hendak dicari. Pilih kotak cek Case Sensitive jika dikehendaki pencarian secara valid (baik huruf besar maupun kecilnya) dari teks yang dimaksud. Berfungsi untuk mencari teks yang sama dengan sebelumnya pada Find pencarian berikutnya. Next

GAMBAR 1-3 OPTION Menu Option terdiri dari : Environment

GAMBAR 1-4
Laboratorium Komputer Universitas Nasional 2011

Modul Kuliah Oracle SQL*Plus

Screen Buffer

Set Options

Berfungsi untuk mengontrol jumlah karakter dan baris yang digunakan untuk display SQL*Plus yang secara default bernilai 100 untuk Buffer Width dan bernilai 1000 untuk Buffer Length. Berfungsi untuk merubah nilai setting SQL*Plus. Apakah secara default atau secara custom.

1.3.2 SQL*PLUS WORKSHEET Menu SQL*Plus Worksheet memiliki sejumlah menu sebagai berikut : FILE

Menu File terdiri dari :

Change Database Connection Open Save Input As Save Output As Exit

Berfungsi untuk mengganti koneksi logon. Dapat juga diaktifkan

Berfungsi untuk membuka file perintah SQL yang sebelumnya telah tersimpan dengan ekstensi .SQL

Berfungsi untuk keluardari jendela SQL*Plus Worksheet.

EDIT

Menu Edit ini terdiri dari :

Cut Copy Paste Select all Clear all

Untuk memindahkan baris perintah yang sudah diblok terlebih dahulu ke dalam clipboard yang selanjutnya dapat di-Paste-kan ke tempat lain. Berfungsi untuk menyalin/mengcopy teks ke dalam clipboard Windows. Berfungsi untuk meletakkan hasil copy ke tempat yang dikehendaki. Berfungsi untuk memblok seluruh barisan perintah yang ada dalam jendela Editor. Berfungsi untuk membersihkan seluruh barisan perintah yang ada dalam jendela Editor.

Laboratorium Komputer Universitas Nasional 2011

Modul Kuliah Oracle SQL*Plus

WORKSHEET

Menu Worksheet terdiri dari :

Execute Run local script Command History Previous Command Next Command Help

Berfungsi untuk menjalankan perintah yang sudah ditulis pada jendela Editor

Untuk melihat seluruh perintah-perintah yang sudah ada selama jendela Editor belum ditutup. Untuk melihat perintah sebelumnya. Untuk melihat perintah berikutnya Berfungsi untuk mencari bantuan keterangan dan penggunaan Oracle 9i.

1.3.3 MEMULAI SQL*PLUS Untuk memulai SQL*Plus maupun SQL*Plus Worksheet yang terdapat pada Oracle 9i prosedurnya adalah sebagai berikut : Dari jendela desktop klik Start. Sorot Program. Pilih Oracle-Orahome90. Pilih Application Development (GAMBAR 1-5). Pilih dan klik SQL*Plus atau Pilih dan klik SQL*Plus Worksheet (GAMBAR 1-6)

Laboratorium Komputer Universitas Nasional 2011

Modul Kuliah Oracle SQL*Plus

SQL*Plus

GAMBAR 1-5

Laboratorium Komputer Universitas Nasional 2011

Modul Kuliah Oracle SQL*Plus

GAMBAR 1-6

Bila dipilih SQL*Plus maka akan muncul jendela Log On seperti pada GAMBAR 1-7. Ketikkan User Name, Password dan Host String pada jendela tersebut. Catatan : a. User Name scott dengan password tiger dan user name system dengan password manager telah tersedia pada Oracle 9i.

GAMBAR 1-7 Jendela Logon SQL*Plus

b. User Name dan Password dengan nama lain harus dibuat terlebih dahulu. c. Host String adalah nama konektornya. Klik OK. Bila dipilih SQL*Plus Worksheet maka akan muncul jendela Log On seperti GAMBAR 1-8. Ketikkan Username, Password dan Service dan klik OK. Isi dari Service sama dengan Host String pada SQL*Plus. Klik OK.
9

Laboratorium Komputer Universitas Nasional 2011

Modul Kuliah Oracle SQL*Plus

Maka pada layar muncul jendela seperti GAMBAR 1-1 untuk SQL*Plus dan GAMBAR 1-2 untuk SQL*Plus Worksheet.

GAMBAR 1-8 Jendela Login SQL*Plus Worksheet

BAB 2

MEMBUAT, MENGHAPUS DAN MENGUBAH TABEL

Sebelum membuat tabel, terlebih dahulu harus diketahui tipe-tipe data yang dipakai pada database Oracle seperti terurai di bawah. 2.1. TIPE TIPE DATA PADA ORACLE CHAR(n) :

Mendefinisikan tipe data string sepanjang n karakter. Bila n tidak disertakan, berarti panjang karakternya adalah 1. VARCHAR(n) :

Mendefinisikan tipe data string yang panjangnya bisa berubah-ubah sesuai dengan kebutuhan. Namun data string tersebut dibatasi sebanyak n karakter. Oracle merekomendasikan varchar2. VARCHAR2(n) :

Laboratorium Komputer Universitas Nasional 2011

10

Modul Kuliah Oracle SQL*Plus

Mendefinisikan tipe data string yang panjangnya bisa berubah-ubah sesuai dengan kebutuhan. Namun data string tersebut dibatasi sebanyak n karakter. Maksimum karakter pada varchar2 adalah 2000 karakter. LONG :

Mendefinisakan data binary, maksimum 2 Gigabyte dan disimpan dalam format internal Oracle. LONG RAW :

Sama dengan LONG yaitu mendefinisikan tipe data binary, maksimum 2 Gigabyte tetapi tidak dikonversi oleh Oracle (data mentah apa adanya). Biasa dipakai untuk menyimpan gambar, suara dan video. DATE :

Mendefinisikan tanggal, menyimpan tahun , bulan, hari, jam, menit dan detik. NUMBER(n,p) :

Mendefinisikan angka pecahan, fixed decimal atau floating point. Nilai n adalah jumlah bytes total dan padalah presisi angka di belakang koma.

2.2. ATURAN DALAM PEMBUATAN TABEL Dalam hal pemberian nama tabel dan kolom terdapat beberapa aturan yang harus diikuti, yaitu : 1. Nama Tabel dan Kolom mempunyai panjang karakter 1 30 karakter dan karakter pertama harus berupa abjad. 2. Nama harus berisi karakter saja, misalnya A-Z, a-z, 0-9, underscore (garis bawah). 3. Nama Tabel tidak boleh memakai kata-kata yang sudah dipakai oleh perintah SQL (misalnya : select, , where dan lain-lain. 4. Nama Tabel tidak boleh merupakan nama objek lain yang dimiliki oleh user yang sama. 5. Penulisan nama Tabel dalam huruf besar atau kecil tidak memiliki perbedaan. 6. Dalam satu Tabel tidak boleh memakai nama Kolom yang sama. 7. Dalam dua Tabel yang berbeda boleh memakai nama Kolom yang sama.

2.3. MEMBUAT TABEL Sintaks untuk pembuatan suatu tabel yaitu :


Laboratorium Komputer Universitas Nasional 2011

11

Modul Kuliah Oracle SQL*Plus

CREATE TABLE nama_tabel (nama_kolom ke 1 tipe_data ke 1(lebar_kolom ke 1), nama_kolom ke 2 tipe_data ke 2(lebar_kolom ke 2), nama_kolom ke 3 tipe_data ke 3(lebar_kolom ke 3), constraint nama_constraint primary key(nama_kolom_primarykey)); Latihan 2.3.1 : Buatlah tabel BARANG dengan field atau kolom kode_barang char(15), nama_barang varchar2(25), satuan_barang varchar2(20) dan stok_barang number(4) dengan primary key adalah kode_barang KODE_BARAN G NAMA_BARAN G SATUAN_BARAN G STOK_BARAN G

Tabel 1. TABEL BARANG Output :

Keterangan : Perintah di atas adalah perintah untuk membuat tabel BARANG. Perhatikan urutan tiap barisnya : Baris 1 Baris 2 perintah untuk membuat tabel dengan create table yang diikuti dengan nama tabel yaitu BARANG. perintah untuk mendefinisikan nama kolom yang pertama yang harus diawali dengan tanda kurung buka diikuti nama kolom yaitu KODE_BARANG , kemudian jenis datanya char dan jumlah karakternya 6 yang ditulis didalam kurung dan diakhiri dengan

Laboratorium Komputer Universitas Nasional 2011

12

Modul Kuliah Oracle SQL*Plus

Baris 3

Baris 4

Baris 5

Baris 6

tanda koma. perintah untuk mendefinisikan nama kolom yang kedua yaitu NAMA_BARANG yang ditulis tanpa tanda kurung diikuti jenis datanya yaitu varchar2 dengan jumlah karakter 25 yang ditulis didalam kurung dan diakhiri dengan tanda koma. perintah untuk mendefinisikan nama kolom yang ketiga yaitu SATUAN_BARANG yang ditulis tanpa tanda kurung diikuti jenis datanya yaitu varchar2 dengan jumlah karakter 20 yang ditulis didalam kurung dan diakhiri dengan tanda koma. perintah untuk mendefinisikan nama kolom yang keempat yaitu STOK_BARANG yang ditulis tanpa tanda kurung diikuti jenis datanya yaitu number dengan jumlah karakter 4 yang ditulis didalam kurung dan diakhiri dengan tanda koma. perintah untuk mendefinisikan bahwa tabel BARANG memiliki constraint dengan nama pk_BARANG dengan jenis constraint primary key untuk kolom KODE_BARANG yang ditulis dalam kurung, dan ditutup dengan tanda kurung tutup dan titik koma.

Latihan 2.3.2 : Buatlah tabel SUPLIER dengan field kode_suplier char(15), nama_suplier varchar2(30), alamat_suplier varchar2(30), kota_suplier varchar2(15), telepon_suplier varchar2(15) dan primary key (PK) adalah field kode_suplier. KODE_SUPLI NAMA_SUPL ER IER ALAMAT_SUP LIER KOTA_SUPL IER TELEPON_SUP LIER

TABEL 2. TABEL SUPLIER Output :

Laboratorium Komputer Universitas Nasional 2011

13

Modul Kuliah Oracle SQL*Plus

Latihan 2.3.3 : Buatlah tabel CUSTOMER dengan field kode_customer char(15), nama_customer varchar2(30), alamat_customer varchar2(30), kota_cutomer varchar2(15), telepon_customer varchar2(15) dan primary key (PK) adalah field kode_customer. KODE_CUST OMER NAMA_CUST OMER ALAMAT_CUS TOMER KOTA_ CUSTOMER TELEPON_ CUSTOMER

TABEL 3. TABEL CUSTOMER Output :

Latihan 2.3.4 : Buatlah tabel PASOK dengan field kode_pasok char(15), kode_barang char(15), kode_suplier char(15), tanggal_pasok date, jumlah_pasok number(4) dan Primary Key (PK) adalah field kode_pasok, kode_barang dan kode_suplier. Sedangkan Foreign Key (FK) adalah field kode_barang dan kode_suplier. KODE_PASO K KODE_BARA NG KODE_SUPLIE R TANGGAL_ PASOK JUMLAH_ PASOK

TABEL 4. TABEL PASOK Output :

Laboratorium Komputer Universitas Nasional 2011

14

Modul Kuliah Oracle SQL*Plus

Keterangan : fk_PASOK_BARANG pada tabel BARANG. fk_PASOK_SUPLIER pada tabel SUPLIER. : foreign key pada tabel PASOK yang mengacu : foreign key pada tabel PASOK yang mengacu

Latihan 2.3.5 : Buatlah tabel PEMBELIAN dengan field kode_pembelian char(15), kode_barang char(15), kode_customer char(15), tanggal_pembelian date, jumlah_pembelian number(4) dan Primary Key (PK) adalah field kode_pembelian, kode_barang dan kode_customer. Sedangkan Foreign Key (FK) adalah field kode_barang dan kode_customer.

KODE_ PEMBELIAN

KODE_ BARANG

KODE_ CUSTOMER

TANGGAL_ PEMBELIAN

JUMLAH_ PEMBELIAN

TABEL 5. TABEL PEMBELIAN

Output :
Laboratorium Komputer Universitas Nasional 2011

15

Modul Kuliah Oracle SQL*Plus

Keterangan : fk_PEMBELIAN_BARANG : foreign key pada tabel PEMBELIAN yang mengacu pada tabel BARANG. fk_PEMBELIAN_CUSTOMER : foreign key pada tabel PEMBELIAN yang mengacu pada tabel CUSTOMER.

2.4. MENAMPILKAN STRUKTUR TABEL Untuk menampilkan/memeriksa struktur tabel digunakan perintah DESCRIBE atau DESC saja. Sintaksnya adalah :

DESC nama tabel

Latihan 2.4.1 : Tampilkan struktur tabel BARANG, tabel SUPLIER dan tabel CUSTOMER. Catatan : Ketiga tabel tersebut adalah tabel referensi (tabel yang dijadikan acuan oleh tabel lain). Output :

Laboratorium Komputer Universitas Nasional 2011

16

Modul Kuliah Oracle SQL*Plus

Latihan 2.4.2 : Tampilkan struktur tabel PASOK dan tabel PEMBELIAN. Catatan : Kedua tabel tersebut adalah tabel transaksi/tabel relasi yaitu tabel yang mengacu pada tabel lain (biasanya tabel referensi). Tabel PASOK mengacu pada tabel BARANG dan tabel SUPLIER. Sedangkan tabel PEMBELIAN mengacu pada tabel BARANG dan tabel CUSTOMER. Output :

Laboratorium Komputer Universitas Nasional 2011

17

Modul Kuliah Oracle SQL*Plus

2.5. MENGHAPUS TABEL Tabel yang tidak digunakan dapat dihapus dengan syarat : Tabel tersebut berdiri sendiri atau Tabel tersebut tidak dalam keadaan terelasi / terhubung dengan tabel lain atau Tabel tersebut bukan tabel referensi atau Tabel tersebut adalah tabel transaksi/tabel relasi.

Untuk menghapus tabel digunakan perintah drop table. Sintaks penulisan perintahnya sebagai berikut : DROP TABLE nama_tabel Latihan 2.5.1 : Hapuslah tabel BARANG yang telah dibuat pada latihan 2.3.1 Output :

Laboratorium Komputer Universitas Nasional 2011

18

Modul Kuliah Oracle SQL*Plus

Pada output di atas terlihat bahwa tabel BARANG tidak dapat dihapus karena tabel BARANG adalah tabel referensi untuk tabel PASOK dan tabel PEMBELIAN. Selain itu tabel BARANG tersebut dalam keadaan masih terelasi/terhubung dengan tabel lain. Latihan 2.5.2 : Hapuslah tabel PASOK yang telah dibuat pada latihan 2.3.4. Catatan : Tabel PASOK adalah tabel transaksi/tabel relasi yang mengacu pada tabel BARANG. Output :

Pada output di atas terlihat bahwa tabel PASOK yang bukan tabel referensi dan mengacu pada tabel lain yaitu tabel BARANG telah berhasil dihapus yang ditandai dengan tulisan Table dropped.

Latihan 2.5.3 : Hapuslah tabel PEMBELIAN yang telah dibuat pada latihan 2.3.1. Catatan : Tabel PEMBELIAN adalah tabel traksaksi/tabel referensi yang mengacu pada tabel BARANG

Laboratorium Komputer Universitas Nasional 2011

19

Modul Kuliah Oracle SQL*Plus

Output :

Latihan 2.5.4 : Setelah tabel PASOK dan tabel PEMBELIAN yang mengacu pada tabel BARANG berhasil dihapus, hapuslah tabel BARANG dan amati apa yang terjadi. Output :

Pada output di atas ternyata tabel BARANG telah berhasil dihapus setelah tabel yang mengacu pada tabel BARANG ini, yaitu tabel PASOK dan tabel PEMBELIAN dihapus terlebih dahulu. Latihan 2.5.5 : Dengan cara yang sama, hapuslah tabel CUSTOMER dan tabel SUPPLIER. Amati bagaimana hasilnya. SOAL : Untuk keperluan pembahasan materi selanjutnya, buatlah kembali tabel tabel yang telah dihapus dengan ketentuan yang sama persis pada latihan 2.3.1 sampai dengan latihan 2.3.5. 2.6. MENAMBAH KOLOM PADA TABEL

Laboratorium Komputer Universitas Nasional 2011

20

Modul Kuliah Oracle SQL*Plus

Untuk menambah kolom pada tabel dipakai perintah ALTER TABLE dan ADD dengan sintaks sebagai berikut :

ALTER TABLE nama tabel ADD (nama_kolom tipe_data, nama_kolom tipe_data,)

Latihan 2.6.1 : Tambahkan kolom (field) KETERANGAN pada tabel BARANG yang pernah Anda buat. KODE_BAR ANG NAMA_BAR ANG SATUAN_BAR ANG STOK_BAR ANG KETERAN GAN

Output :

Keterangan : Table altered menyatakan bahwa tabel BARANG telah berubah dengan bertambahnya kolom KETERANGAN . Untuk melihat hasilnya gunakan perintah DESC BARANG.

Laboratorium Komputer Universitas Nasional 2011

21

Modul Kuliah Oracle SQL*Plus

2.7. MERUBAH KOLOM PADA TABEL Untuk merubah kolom pada tabel dipakai perintah ALTER TABLE dan MODIFY dengan sintaks sebagai berikut :

ALTER TABLE nama tabel MODIFY (nama_kolom tipe_data, nama_kolom tipe_data,)

Latihan 2.7.1 : Rubahlah lebar kolom (field) KETERANGAN pada tabel BARANG yang pernah Anda buat dari 20 karakter menjadi 30 karakter. KODE_BAR ANG NAMA_BAR ANG SATUAN_BAR ANG STOK_BAR ANG KETERAN GAN

Output :

Laboratorium Komputer Universitas Nasional 2011

22

Modul Kuliah Oracle SQL*Plus

Keterangan : Table altered menyatakan bahwa tabel BARANG telah berubah, yaitu lebar kolom KETERANGAN dari 20 karakter menjadi 30 karakter. Untuk melihat hasilnya gunakan perintah DESC BARANG.

2.8. MENGHAPUS KOLOM PADA TABEL Untuk menghapus kolom pada tabel dipakai perintah ALTER TABLE dan DROP dengan sintaks sebagai berikut :

ALTER TABLE nama tabel DROP (nama_kolom)

Laboratorium Komputer Universitas Nasional 2011

23

Modul Kuliah Oracle SQL*Plus

Latihan 2.8.1 : Hapuslah kolom (field) KETERANGAN pada tabel BARANG yang pernah Anda buat. KODE_BAR ANG NAMA_BAR ANG SATUAN_BAR ANG STOK_BAR ANG KETERAN GAN

Output :

Keterangan : Table altered menyatakan bahwa kolom (field) KETERANGAN pada tabel BARANG telah dihapus. Untuk melihat hasilnya gunakan perintah DESC BARANG.

2.9. MEMBUAT VIEW

Laboratorium Komputer Universitas Nasional 2011

24

Modul Kuliah Oracle SQL*Plus

View adalah tabel maya (virtual table) yang dipakai untuk keperluan Query. Dengan View , Query data yang rumit akan lebih mudah dilaksanakan. View dapat diperlakukan seperti tabel biasa. Karena View dibuat dari tabel asli, maka bila data dalam tabel asli berubah, otomatis data pada View juga ikut berubah. Namun secara fisik View ini tidak berada dalam harddisk, sehingga tidak menyita space harddisk. Sintaks pembuatanView adalah sebagai berikut :

CREATE VIEW nama_view (kolom1, kolom2) AS SELECT kolom1,kolom2.. FROM nama_tabel

Latihan 2.9.1 : Buatlah sebuah View dari tabel BARANG yang berisi KODE_BARANG, SATUAN_BARANG dan STOK_BARANG. KODE_BARANG SATUAN_BARANG STOK_BARANG

Output :

Keterangan : View created menyatakan bahwa sebuah View dengan nama V_BARANG telah dibuat. Untuk melihat hasilnya gunakan perintah DESC V_BARANG.

Laboratorium Komputer Universitas Nasional 2011

25

Modul Kuliah Oracle SQL*Plus

Latihan 2.9.2 : Buatlah sebuah View dari dua buah tabel yaitu tabel BARANG dan tabel PEMBELIAN yang pernah Anda buat. Dari tabel BARANG diambil KODE_BARANG dan NAMA_BARANG. Sedangkan dari tabel PEMBELIAN diambil KODE_PEMBELIAN dan TANGGAL_PEMBELIAN. Output :

Keterangan : View created menyatakan bahwa sebuah View dengan nama V_PEMBELIAN_BARANG telah terbentuk dari dua buah tabel yaitu tabel BARANG dan tabel PEMBELIAN. Untuk melihat hasilnya gunakan perintah DESC V_PEMBELIAN_BARANG. Output :

Laboratorium Komputer Universitas Nasional 2011

26

Modul Kuliah Oracle SQL*Plus

2.10. MENGHAPUS VIEW Untuk menghapus View dapat dilakukan seperti menghapus tabel dengan perintah DROP. Sintaks perintahnya adalah sebagai berikut : DROP nama_view Latihan 2.10.1 : Hapuslah view V_BARANG yang telah Anda buat. Output : VIEW

Keterangan : View dropped menunjukkan bahwa view V_BARANG telah terhapus dari database. Untuk melihat hasilnya gunakan perintah DESC V_BARANG.

Laboratorium Komputer Universitas Nasional 2011

27

Modul Kuliah Oracle SQL*Plus

Keterangan : ERROR: ORA-04043: object V_BARANG does not exist menunjukkan bahwa view V_BARANG betul-betul telah terhapus dari database. Perintah DROPVIEW tidak akan menghapus data asli yang tersimpan dalam tabel. 2.10. MEMBUAT INDEX Sebelum membuat Index ada beberapa hal yang perlu diketahui tentang Index ini, yaitu : Index pada database digunakan untuk mencari data secara langsung tanpa harus mencari data satu persatu sehingga proses pencarian data akan lebih cepat. Cara pencarian data seperti ini disebut dengan Direct Access Method. Untuk tabel yang kecil, pemakaian Index tidak akan meningkatkan kemampuan pencarian/penampilan data. Index akan meningkatkan kemampuan pencarian data yang berarti bila pada kolom yang diberi Index terdapat banyak data yang bervariasi dan banyak mengandung nilai null. Disatu sisi Index dapat meningkatkan kecepatan pencarian/penampilan data, namun disisi lain Index akan memperlambat proses perubahan (update) data. Bila akan dilakukan update data dalam jumlah besar, sebaiknya terlebih dahulu Index nya dihilangkan. Setelah selesai Index bisa dibuat lagi. Gunakan selalu Index bila hendak menggabungkan dua buah tabel. Jangan memasang Index pada kolom (field) yang sering diupdate (diperbaiki).

Sintaks untuk membuat Index adalah : CREATE INDEX nama_index ON nama_tabel (nama_kolom1,nama_kolom2,) Latihan 2.10.1 :

Laboratorium Komputer Universitas Nasional 2011

28

Modul Kuliah Oracle SQL*Plus

Buatlah Index pada kolom NAMA_BARANG untuk tabel BARANG yang pernah Anda buat. Output :

Keterangan : Index created menyatakan bahwa Index pada kolom NAMA_BARANG pada tabel BARANG telah berhasil dibuat.

2.11. MENGHAPUS INDEX Untuk menghapus Index dipakai perintah DROP dengan sintaks sebagai berikut : DROP INDEX nama_index Latihan 2.11.1 : Hapuslah index INDEKS_NAMA_BARANG dari tabel BARANG yang pernah Anda buat. Output :

Laboratorium Komputer Universitas Nasional 2011

29

Modul Kuliah Oracle SQL*Plus

Keterangan : Index dropped menyatakan bahwa Index pada kolom NAMA_BARANG pada tabel BARANG telah berhasil dihilangkan.

BAB 3

MEMANIPULASI DATA

Laboratorium Komputer Universitas Nasional 2011

30

Modul Kuliah Oracle SQL*Plus

Operasi manipulasi data pada SQL mencakup beberapa hal diantaranya adalah : Memasukkan/menambah data ke dalam tabel. Mengubah data dalam tabel. Menghapus data dalam tabel. Menyimpan dan membatalkan traksaksi.

3.1. MEMASUKKAN DATA Memasukkan satu baris data dapat dilakukan dengan perintah INSERT apabila tabel tempat menyimpan data telah dibentuk. Ada dua sintaks perintah INSERT yang dapat dipakai, yaitu : INSERT VALUES dan INSERT SELECT

3.1.1. INSERT VALUES Perintah ini dipakai untuk memasukkan record data satu persatu, bila data yang hendak dimasukkan ke dalam tabel sedikit jumlahnya. Ada beberapa hal yang perlu diketahui tentang perintah ini sebelum memasukan data ke dalam tabel, yaitu : Tipe data yang dimasukkan harus sama dengan tipe data tabel. Bila kolomnya bertipe number, maka nilai datanya juga harus bertipe number. Ukuran data yang dimasukkan harus sesuai dengan ukuran kolom pada tabel. Misal bila lebar kolom yang bertipe karakter adalah 20, maka nilai data yang akan dimasukkan pada kolom tersebut harus mempunyai ukuran maksimal 20 karakter. Nilai data yang dimasukkan harus sesuai dengan kolomnya. Misal kolom nama pada tabel harus diisi dengan data nama, kolom alamat harus diisi dengan data alamat dan seterusnya. Bila kolomnya bersifat unik, maka data yang sama tidak dapat dimasukkan.

Penulisan sintaksnya adalah : INSERT INTO nama_tabel (kolom1,kolom2,) VALUES (nilai1,nilai2,)

Latihan 3.1.1.1 :

Laboratorium Komputer Universitas Nasional 2011

31

Modul Kuliah Oracle SQL*Plus

Isilah tabel BARANG yang telah Anda buat dengan data yang sesuai. Bila pengisian datanya telah selesai masukkan perintah COMMIT agar data yang dimasukkan tersimpan secara permanen dalam database. Sebagai contoh perhatikan output berikut ini. Output :

Keterangan : 1 row created menyatakan bahwa satu baris data telah berhasil dimasukkan dalam tabel BARANG. Dan Commit complete menyatakan bahwa data telah disimpan permanen dalam tabel BARANG pada database. Untuk melihat hasilnya ketikkan perintah SELECT * FROM BARANG.

Latihan 3.1.1.2. Lanjutkan pengisian tabel BARANG hingga 5 data. Output :

Laboratorium Komputer Universitas Nasional 2011

32

Modul Kuliah Oracle SQL*Plus

3.1.2. INSERT SELECT Perintah ini dipakai untuk memasukkan data dari satu tabel yang jumlahnya sangat banyak ke dalam tabel lain. Untuk itu diperlukan dua buah tabel yang memiliki tipe data, jumlah kolom dan lebar kolom yang sama persis. Sintaks penulisannya adalah : INSERT INTO nama_tabel1(kolom1,kolom2) SELECT kolom1,kolom2 FROM nama_tabel2 Untuk keperluan perintah ini, kerjakan latihan berikut ini. Latihan 3.1.2.1. Buatlah sebuah tabel PRODUK yang memiliki struktur yang sama persis dengan tabel BARANG.

Output :

Laboratorium Komputer Universitas Nasional 2011

33

Modul Kuliah Oracle SQL*Plus

Latihan 3.1.2.2 Masukkan seluruh data yang ada pada tabel BARANG ke dalam tabel PRODUK yang baru dibuat dengan perintah INSERT . . . SELECT. Output :

Catatan : Untuk melihat hasilnya, gunakan perintah SELECT * FROM BARANG untuk melihat isi tabel BARANG dan SELECT * FROM PRODUK untuk melihat isi tabel PRODUK seperti yang terlihat pada output berikut ini.

Laboratorium Komputer Universitas Nasional 2011

34

Modul Kuliah Oracle SQL*Plus

3.1.3. MENGUBAH DATA

Untuk mengubah data yang sudah ada pada tabel digunakan perintah UPDATE dengan sintaks sebagai berikut : UPDATE nama_tabel SET kolom1 = nilai1,kolom2 = nilai2 WHERE kondisi

Latihan 3.1.3.1 Ubahlah data pada tabel BARANG : kode barang PSG menjadi CRY dan nama barang PENSIL GAMBAR menjadi CRAYON. Output :

Laboratorium Komputer Universitas Nasional 2011

35

Modul Kuliah Oracle SQL*Plus

Catatan : Tulisan 1 row updated menandakan pengubahan data pada 1 baris data telah berhasil dilakukan dan dengan perintah SELECT * FROM BARANG Kode Barang PSG telah diganti dengan CRY dan Nama Barang PENSIL GAMBAR telah diganti dengan CRAYON. Latihan 3.1.3.2 Ubahlah data pada tabel BARANG : satuan barang menjadi buah semuanya.

Output :

Laboratorium Komputer Universitas Nasional 2011

36

Modul Kuliah Oracle SQL*Plus

Catatan : Tulisan 5 rows updated menyatakan bahwa data pada 5 baris data telah berhasil diupdate yaitu pada kolom Satuan Barang menjadi buah semuanya. (Bandingkan dengan Output sebelumnya). Latihan 3.1.3.3 Ubahlah data pada tabel BARANG : Jumlah masing-masing barang pada Stok Barang ditambah 50. Output :

Catatan : Perhatikan jumlah barang pada koom STOK BARANG semuanya sudah ditambah 50. (Bandingkan dengan Output sebelumnya). 3.1.3. MENGHAPUS DATA Data dalam tabel yang tidak diperlukan lagi dapat dihapus dari dalam tabel dengan perintah DELETE FROM dengan sintaks penulisannya sebagai berilut : DELETE FROM nama_tabel WHERE kondisi

Dalam SQL apabila data akan dihapus, tidak ada konfirmasi terlebih dahulu tentang apakah data tersebut akan benar-benar dihapus atau tidak. Sehingga perlu kejelian dan

Laboratorium Komputer Universitas Nasional 2011

37

Modul Kuliah Oracle SQL*Plus

kehati-hatian sebelum menghapus data, karena SQL akan langsung menghapus begitu perintah dijalankan. Data yang dihapus adalah data yang ada dalam satu baris, bukan data dalam satu kolom saja. Namun perintah penghapusan dapat dilakukan terhadap satu baris, banyak baris atau semua baris yang diinginkan tergantung dari kondisi yang diberikan. Perintah penghapusan ini hanya menghapus data (record)nya saja, bukan menghapus tabelnya. Latihan 3.1.3.1 Hapuslah data barang yang bernama BUKU TULIS yang ada dalam tabel BARANG. Output :

Catatan : Pernyataan 1 row deleted menyatakan bahwa satu baris data yang berisi data BUKU TULIS yaitu : Kode_Barang, Nama_Barang, Satuan_Barang dan Stok_Barang telah berhasil dihapus dari tabel BARANG. Untuk melihat seluruh data gunakan perintah SELECT * FROM BARANG.

Laboratorium Komputer Universitas Nasional 2011

38

Modul Kuliah Oracle SQL*Plus

Sedangkan untuk melihat satu baris data yang telah dihapus diatas gunakan perintah SELECT * FROM BARANG WHERE nama_barang BUKU_TULIS seperti yang terlihat pada output berikut ini :

Catatan : Pernyataan no rows selected menunjukkan bahwa data barang bernama BUKU TULIS telah berhasil dihapus dari tabel BARANG.

3.1.4 MENGONTROL TRANSAKSI Mengontrol transaksi adalah menetapkan keputusan, apakah data hasil update, delete maupun insert akan disimpan dalam database atau tidak. Untuk mengontrol transaksi ini digunakan perintah COMMIT. Sedangkan untuk membatalkan transaksi gunakan perintah ROLLBACK. Namun yang harus diingat, perintah ROLLBACK ini tidak akan berpengaruh apa-apa setelah perintah COMMIT dilakukan. Dengan demikian sebelum melaksanakan perintah COMMIT ini sebaiknya dilakukan pengecekan terhadap data hasil transaksi terakhir.

Laboratorium Komputer Universitas Nasional 2011

39

Modul Kuliah Oracle SQL*Plus

BAB 4

MENAMPILKAN DATA

Untuk keperluan menampilkan data yang ada dalam tabel, Oracle SQL Plus memakai perintah-perintah sebagai berikut : 4.1. PERINTAH SQL MEMAKAI SELECT Perintah SELECT digunakan untuk menampilkan suatu data dengan kondisi/kriteria tertentu seperti pada uraian berikut ini . 4.1.1. PERINTAH SELECT DENGAN TANDA * (ASTERISK) Tanda * dalam perintah SELECT berfungsi menampilkan semua data pada semua kolom yang ada dalam tabel. Latihan 4.1.1.1 : Tampilkan isi / data semua kolom yang ada pada tabel BARANG. Select * barang; Output :
Laboratorium Komputer Universitas Nasional 2011

from

40

Modul Kuliah Oracle SQL*Plus

4.1.2. MENAMPILKAN ISI KOLOM (FIELD) YANG DIKEHENDAKI Isi kolom (field) tabel dapat dipilih sesuai yang diinginkan , baik urutannya maupun jumlah kolom yang akan ditampilkan. Latihan 4.1.2.1: Tampilkan isi kolom NAMA_BARANG, STOK_BARANG,SATUAN_BARANG dan KODE_BARANG yang ada dari tabel BARANG. SELECT NAMA_BARANG,STOK_BARANG,SATUAN_BARANG,KODE_BA RANG from BARANG;

Output :

Laboratorium Komputer Universitas Nasional 2011

41

Modul Kuliah Oracle SQL*Plus

Latihan 4.1.2.2: Tampilkan isi kolom NAMA_BARANG dan STOK_BARANG yang ada pada tabel BARANG. SELECT NAMA_BARANG ,STOK_BARANG from BARANG; Output :

4.1.3. MENAMPILKAN DATA SECARA URUT Isi /data kolom dapat ditampilkan secara berurutan dengan perintah ORDER BY. Latihan 4.1.3.1 : Tampilkan data STOK_BARANG pada tabel BARANG secara berurutan. Output :

Laboratorium Komputer Universitas Nasional 2011

42

Modul Kuliah Oracle SQL*Plus

4.2. KONDISI Untuk mempermudah proses pencarian sebuah data atau sekelompok data dari database, diperlukan satu kondisi atau lebih. Bila suatu kondisi diberikan kepada perintah SQL, maka data-data tertentu yang akan ditampilkan sesuai dengan kondisi yang dikehendaki tersebut. Sebagai kata kunci kondisi adalah WHERE yang disisipkan setelah menuliskan nama tabelnya. Sintaks penulisannya adalah : SELECT nama_kolom WHERE (kondisi) FROM nama_tabel

4.2.1. PERINTAH WHERE DENGAN SATU KONDISI Ada dua macam perintah WHERE dengan satu kondisi, yaitu : Menampilkan data yang mengandung sebuah karakter tertentu sebagai kata kunci. Menampilkan data dengan menggunakan ekspresi aritmatika.

4.2.1.1. MENAMPILKAN DATA YANG MENGANDUNG SEBUAH KARAKTER TERTENTU. Latihan 4.2.1.1.1 : Tampilkan data barang yang bernama BUKU TULIS dari tabel BARANG. Output :

Laboratorium Komputer Universitas Nasional 2011

43