Diktat Aplikasi DBMS
DIKTAT KULIAH
APLIKASI DATABASE MANAJEMEN SISTEM
Wahju Tjahjo Saputro
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN ILMU KOMPUTER
EL-RAHMA YOGYAKARTA 2013
Wahju Tjahjo S.
1
Diktat Aplikasi DBMS
1 PENDAHULUAN Beberapa produk DBMS yang cukup terkenal saat ini adalah Microsoft SQL Server, MySQL, ORACLE dan PostgreeSQL. Semua DBMS tersebut menggunakan perintah yang sama yaitu SQL (Structure Query Language). Pendekatan yang digunakan dalam diktat ini menggunakan perintah Transact SQL yang diketik dalam Query Analyzer. SQL Server 2000 merupakan produk DBMS yang dibuat oleh Microsoft. SQL Server 2000 menawarkan beberapa fitur di dalam mengelola database. Ada dua fitur yang biasa digunakan yaitu: MENGGUNAKAN ENTERPRISE MANAGER Fitur ini relatif mudah digunakan karena mode pengelolaan database menggunakan fitur GUI (Graphical User Interface). Jadi cukup menggunakan metode click dan drag mouse, anda dapat mengelola database dengan mudah.
Gambar 1.1 Menu Enterprise Manager
Wahju Tjahjo S.
2
Diktat Aplikasi DBMS
MENGGUNAKAN SQL QUERY ANALYZER Fitur ini menggunakan Transact SQL untuk mengelola database. Perintahperintah Transact SQL merupakan pengembangan dari penrintah-perintah SQL standar yang disesuaikan dengan manajemen database SQL Server. Pada gambar 2 panel sebelah kiri menampilkan semua daftar database beserta object yang ada di dalam database. Seperti tabel, view, trigger, stored procedure. Jendela SQL Editor digunakan untuk mengetik perintahperintah Transact SQL untuk mengelola database.
Gambar 1.2 Menu Query Analyzer
Wahju Tjahjo S.
3
Diktat Aplikasi DBMS
OBJECT-OBJECT SQL SERVER 2000
Gambar 1.3 Menu Object SQL Server 2000
1. Diagram Merupakan sebuah diagram yang digunakan untuk mendisain sebuah relasi antar tabel dalam database. 2. Tables Menyimpan reocrd data. Tabel adalah inti dari sebuah database yang dikelompokkan dalamm bentuk baris dan kolom. 3. Views Sebuah tabel virtual yang digunakan untuk mengakses data tertentu pada sebuah tabel. Data penting yang tidak ditampilkan secara public dapat disembunyikan dengan menggunakan view. 4. Store Procedure Sekumpulan perintah SQL yang tersimpan dalam server database dan dapat dieksekusi melalui perintah execute atau tombol F5. 5. Users Pengguna yang diberi hak untuk mengakses database pada server. 6. Function Sekumpulan perintah SQL yang dapat mengembalikan nilai.
Wahju Tjahjo S.
4
Diktat Aplikasi DBMS
QUERY ANALYZER Sebelum menggunakan fitur Query Analyzer anda harus melakukan koneksi ke SQL Server, dengan langkah pilih Start All Programs Microsoft SQL Server Query Analyzer. Silahkan pilih mode Windows Authentication OK. Jika memilih SQL Server Authentication maka isi login dan password pada waktu instalasi SQL Server 2000 pertama kali.
Gambar 1.4 Menu Connect to SQL Server
Jendela kerja Query Analyzer terbagi menjadi dua panel. Panel atas adalah panel SQL Editor, sedangkan panel bawah adalah panel hasil. Jika terlihat hanya panel atas maka tekan tombol Hide Result disebelah Tools Database. Untuk mencoba mengetikkan perintah SQL pertama kali pada panel SQL Editor ketikkan perintah berikut: Use contoh
Kemudian tekan F5 atau tombol Execute Query. Hasilnya akan tampak pada panel bawah seperti gambar 5. Bila belum pernah membuat database tersebut maka pesan kesalahan akan muncul pada panel. Perintah SQL pada SQL Editor dapat di simpan dalam folder memilih menu File Save atau tekan tombol Save Query/Result. Untuk menyimpan file ada tiga format yaitu: .sql, .tql dan .txt. File tersebut dapat dibuka dengan Ms. Word atau Notepad.
Wahju Tjahjo S.
5
Diktat Aplikasi DBMS
Gambar 1.5 Hasil perintah SQL
MENGGUNAKAN KOMENTAR Pada SQL Server 2000 ada fitur komentar yang dapat disisipkan pada perintah SQL. Komentar dideklarasikan dengan dua cara pada Query Analyzer. 1. Memberikan komentar satu baris. Caranya dengan memberikan tanda -(double dash) di depan baris perintah SQL. Contoh: -- mengaktifkan databse contoh use contoh
2. Memberikan komentar lebih dari dua baris pada SQL. Caranya dengan memberikan tanda /* dan diakhiri tanda */. /* perintah ini akan menampilkan seluruh data pegawai dari tabel biodata tanpa kriteria */ select * from biodata
Wahju Tjahjo S.
6
Diktat Aplikasi DBMS
2 REGISTER DATABASE
Gamabr 2.1 Menu SQL Server Enterprise Manager
Gambar 2.1 menunjukkan bahwa server database belum didaftarkan. Maka untuk mendaftarkan server database melalui Enterprise Manager lakukan langkah berikut: 1. Klik kanan mouse pada node SQL Server Group New SQL Server Registration. 2. Pada menu Register SQL Server Wizard pilih Next, isikan nama komputer atau IP Address pada Available Servers. Klik Add Next.
Wahju Tjahjo S.
7
Diktat Aplikasi DBMS
Gambar 2.2 Menu Select an Authentification Mode
3. Lakukan pilihan seperti gambar 2.2 lalu tekan Next. Pada menu berikutnya pilih Add the SQL Server(s) to an …. Jika ingin meregistrasikan server database pada group yang telah ada atau pilih Create a new … untuk mendefinisikan group server anda sendiri. Lalu pilh Next. 4. Tekan Finish yang menandakan proses register database telah selesai, lalu pilih Close.
Wahju Tjahjo S.
8
Diktat Aplikasi DBMS
Gambar 2.3 Menu Register Database
5. SQL Database Server yang berhasil diregister akan langsung ditampilkan di jendela utama Enterprise Manager, seperti gambar 2.4.
Gambar 2.4 Menu Enterprise Manager
Wahju Tjahjo S.
9
Diktat Aplikasi DBMS
3 KONSEP SQL SQL adalah salah satu bahasa generasi ke-4 (4th GL) yang awalnya dikembangkan oleh IBM di San Jose Research Laboratory. SQL generasi ke4 bersifat request oriented dan non-prosedural sehingga mudah untuk dipelajari. SQL terdiri atas: 1. DDL (Data Definition Language), yaitu bahasa yang memiliki kemampuan untuk mendefinisikan data yang berhubungan dengan pembuatan dan penghapusan obyek. Seperti CREATE, DROP dan ALTER. 2. DML (Data Manipulation Langauge), yaitu bahasa yang berhubungan dengan proses manipulasi data. Seperti INSERT, SELECT, UPDATE dan DELETE.
TIPE DATA Tipe data yang didukung oleh SQL Server 2000 yaitu: 1. Numeric untuk menampung data angka terdiri dari bigint, int, smallint, tinyint, bit, decimal dan numeric. 2. Money untuk menampung data nilai mata uang terdiri dari money dan smallmoney. 3. Numeric Precission untuk menampung data angka dengan presisi tinggi yaitu float dan real. 4. Date Time untuk menampung data tanggal waktu terdiri dari datetime dan smalldatetime. 5. Strings untuk menampung data karakter terdiri dari char, varchar dan text. 6. Unicode Character Strings untuk menampung data karakter dengan ukuran tertentu terdiri dari nchar, nvarchar dan ntext. 7. Binary Strings untuk menampung data binary terdiri dari binary, varbinary dan image. 8. Serta tipe data lainnya seperti cursor, timestamp dan uniqueidentifier. OPERATOR Hampir semua operator yang ada pada bahasa pemrograman dapat digunakan pada SQL Server 2000. Berikut urutan operator berdasarkan urutan evaluasi: 1. + (positif), - (negatif) dan ~ (bitwise NOT). 2. * (perkalian), / (pembagian) dan % (modulus). 3. + (penjumlahan), + (penggabungan dan – (pengurangan). 4. = > < >= <= <> != !> !< 5. ALL, ANY, BETWEEN, IN LIKE, OR dan SOME 6. = (penugasan)
Wahju Tjahjo S.
10
Diktat Aplikasi DBMS
4 DATABASE MEMBUAT DATABASE Berikut ini contoh perintah dasar untuk membuat database menggunakan perintah SQL Editor. create database praktek on primary (name=dbdat, filename=‟c:\program server\mssql\data\dbdat.mdf‟, size=10, maxsize=50, filegrowth=2) log on (name=dblog, filename=‟c:\program server\mssql\data\dblog.ldf‟, size=3, maxsize=20, filegrowth=1)
files\microsoft
sql
files\microsoft
sql
untuk membuat perintah diatas jalankan Query Analyzer Window Authentication Ok. Untuk menjalankan query tersebut tekan F5 atau tombol Execute Query. Untuk melihat apakah database praktek yang baru saja dibuat telah terdaftar dalam daftar database, lakukan langkah berikut: pilih menu Query Change Database.
Gambar 4.1 Daftar Database
Anda juga dapat membuat database tanpa ketentuan, dengan perintah berikut: Create database praktek
Wahju Tjahjo S.
11
Diktat Aplikasi DBMS
Untuk melihat format lengkap anda dapat melihat di SQL Server Books Online. Untuk melihat daftar database yang ada pada SQL Server 2000 ketikkan perintah: Exec sp_helpdb
Bila sebuah database akan digunakan jangan lupa memberikan perintah: Use
contoh: Use praktek
Perintah menghapus database yaitu: drop database
Jika database yang dihapus lebih dari satu maka gunakan tanda koma ( , ). Contoh: Drop database praktek, latihan, tugas
Perintah-perintah SQL yang anda berikan pada SQL Editor dapat anda simpan dengan cara File Save, seperti gambar 4.2. File dapat disimpan dalam format .sql, .tql atau .txt file hasil penyimpanan tersebut dapat dibuka langsung di Notepad atau Ms. Word.
Gambar 4.2 Menu simpan pada SQL Editor
LATIHAN Buatlah dua buah database pada SQL Editor, yang satu dengan pengaturan dan satunya lagi tanpa pengaturan. Kemudian dari database yang sudah anda buat dapat diamati pada jendela Query Analyzer atau Windows Explorer. Langkah berikutnya hapuslah database yang anda buat.
Wahju Tjahjo S.
12
Diktat Aplikasi DBMS
5 TABEL MEMBUAT TABEL Pada SQL Server 2000 ada dua jenis tabel yaitu permanen dan temporary. Tabel temporary adalah tabel yang diletakkan di RAM sedangkan tabel permanen yaitu tabel yang diletakkan pada disk. Jumlah kolom/field yang mampu diciptakan oleh SQL Server 2000 mencapai 1024 field. Untuk melihat format lengkap cara membuat tabel anda dapat melihat di SQL Server Books Online. Secara umum perintah membuat tabel: Create table biodata ( Nim int identity (1,1), Nama varchar(20) not null, Jk char(1), Tgllahir datetime, Status bit default 1, Ag varchar(1) constraint in(„I‟,‟K‟,‟P‟,‟B‟,‟H‟)), Primary key (nim))
agama
check
(ag
Penjelasan: 1. Not Null, menyatakan bahwa sebuah field nilainya tidak diketahui. Not Null tidak boleh dipakai pada field yang memiliki sifat identity atau primary key. 2. Identity, menyatakan field akan diisi nilai secara otomatis dengan kenaikan 1 dimulai dari angka 1 (lihat 1,1). Identity setara auto_increment pada MySQL. 3. Default value, artinya nilai default status mhs adalah 1, dapat diartikan bahwa 1 = belum menikah, dan nilai 0 = menikah. 4. Constraint, memberlakukan integritas data dan menjaga kualitas data. Pada field ag hanya nilai („I‟,‟K‟,‟P‟,‟B‟,‟H‟) yang boleh diinputkan. Contraint dilakukan pada saat menciptakan tabel. 5. Rules, fungsinya sama dengan constraint namun rules dilakukan jika tabel seudah terbentuk. Untuk melihat apakah sebuah tabel telah terdaftar pada database, ketikkan perintah: Select * from information_schema.tables
Wahju Tjahjo S.
13
Diktat Aplikasi DBMS
Sedangkan untuk melihat struktur setiap tabel gunakan perintah: Select * from information_schema.columns
Berikut ini beberapa contoh cara menciptakan tabel, yang dapat anda coba pada SQL Editor. Selamat mencoba ! dan jangan lupa penyimpan perintah SQL tersebut untuk dipelajari di rumah.
TUGAS Buatlah database dengan nama perbankan. Kemudian berikan perintah use perbankan. Dan kerjakan tabel dibawah sebagai latihan. Create table cabang (kdcabang char(5) not null, nmcabang varchar(15) not null, alamat varchar(60) not null default null, primary key (kdcabang)) create table biodata (idnasabah int not null, nmnasabah varchar(25) not null, alamat varchar(60) default null primary key (idnasabah))
Selesaikan dengan SQL Server 2000 untuk menciptakan tabel berikut: Nama Tabel: Bagian Nama Field Kdbag Nmbag
Type Int Varchar
Width 20
Description PK, Not Null Not Null, Unique
Type Int Varchar
Width 15
Description PK, Not Null Not Null
Nama Tabel: Kota Nama Field Kdkota Nmkota
Empat buah tabel yang anda buat diatas merupakan tabel master yaitu untuk menyimpan data induk dan proses manipulasi datanya tidak tergantung tabel lain. Selanjutnya di bawah ini anda diminta membuat tabel transaksi yang proses input datanya tergantung tabel lain.
MEMBUAT TABEL DENGAN CONSTRAINT 1. Constraint merupakan kata kunci opsional yang menandakan awal dari definisi batasan Primary Key, Foreign Key, Unique, Check dan Default. Constraint adalah fitur yang memaksakan integritas data dan membuat index khusus untuk tabel dan field-fieldnya. Berikut jenis constraint yang didukung SQL Server 2000:
Wahju Tjahjo S.
14
Diktat Aplikasi DBMS
2. Primary Key, merupakan kunci primer yang bersifat unik dan hanya dapat dibuat per tabel. 3. Foreign Key…..References, merupakan kunci tamu/relasi. Berasal dari kunci primer pada tabel master yang diletakkan pada tabel transaksi. Batasan Foreign Key hanya bisa merujuk field yang memiliki batasan Primary Key atau Unique pada tabel yang dirujuk. 4. Unique, fungsi sama dengan Primary Key. Perbedaannya terletak pada Primary Key hanya dapat dibuat satu kali pada sebuah tabel dan Unique dapat dibuat beberapa kali pada sebuah tabel. Jika anda menginginkan beberapa field bersifat unik maka deklarasikan dengan Unique yang tidak termasuk dalam field Primary Key. 5. Identity, digunakan untuk memberikan nilai unik dengan kenaikan nilai tertentu. Digunakan bersamaan dengan Primary Key dan bertipe numeric. Hanya satu field yang bersifat identity dalam sebuah tabel. Anda harus menentukan nilai awal dan nilai akhir atau tidak keduanya. Jika tidak ditentukan maka defaultnya bernilai (1,1). 6. Default, nilai default dapat diterapkan pada semua field kecuali field bertipe TimeStamp atau Identity. TUGAS Nama Tabel: Rekening Nama Field Norek Kdcabang Pin Saldo
Type Int Char Char Int
Width 5 (6) -
Description PK, Not Null FK Not Null -
Nama Tabel: nasabah_rek Nama Field Idnasabah Norek
Type Int Int
Width -
Description FK FK
Type Int Int Int Char Datetime Int
Width 10 -
Description PK, Not Null FK FK Not Null Not Null Not Null
Nama Tabel: transaksi Nama Field Notransaksi Norek Idnasabah Jenistran Tgl Jml
Tips: Untuk mengeksekusi beberapa perintah SQL sekaligus tambahkan perintah GO pada bagian akhir perintah. Create table rekening (norek int not null primary key, kdcabang char(5) references cabang(kdcabang) on delete cascade on update cascade,
Wahju Tjahjo S.
15
Diktat Aplikasi DBMS
pin char(6) not null, saldo int) go
Selanjutnya buatlah tabel nasabah_rek dan transaksi dengan contoh seperti perintah SQL diatas. Setelah selesai simpan perintah-perintah SQL tersebut dengan cara File Save. Simpan di folder masing-masing pada drive D:\. TUGAS Buatlah tabel karyawan dengan struktur seperti di bawah. Perhatikan batasan PK, FK, Identity, default dan Null. Nama Field Kdkar Nmkar Kdbag Gender Tgllahir Mulaikerja Alamat Kdkota Gaji
Type Int Varchar Int Char Datatime Datetime Varchar Int Numeric
Width 40 1 60 7,2
Description PK, Identity, Not Null Not Null FK dari tabel bagian, Not Null Not Null, Default Null Not Null Not Null FK dari tabel kota Not Null
MENGUBAH STRUKTUR TABEL Mengubah struktur tabel dapat menggunakan perintah alter tabel. Pada database perbankan sebagai latihan kerjakan perintah SQL berikut: Create table pegawai (idpeg int identity (1,1), nama varchar(20) not null, jk char(1) not null, status bit default 1, agama varchar(1) constraint in(„I‟,‟K‟,‟P‟,‟B‟,‟H‟)), primary key (idpeg))
cekagama
check
(agama
Add, digunakan untuk menambah field pada sebuah tabel. Contoh: Alter table pegawai add alamat varchar(50)
Bila anda ingin menambah field nama di tabel pegawai dengan constraint Unique maka perintahnya: Alter table pegawai add unique(nama)
Alter column, digunakan untuk mengubah struktur field pada suatu tabel. Misal anda ingin mengubah lebar field nama(60) menjadi nama(100). Contoh:
Wahju Tjahjo S.
16
Diktat Aplikasi DBMS
Alter table pegawai alter column nama varchar(100)
Untuk melihat hasil-hasil perubahan pada tabel berikan perintah: Select * from information_schema.columns
Drop, digunakan untuk menghapus field pada tabel. Contoh: Alter table pegawai drop column jk
Drop table, merupakan perintah untuk menghapus sebuah tabel dalam database. Contoh: Drop table pegawai
Untuk menghapus tabel yang berada pada database lain anda harus menyebutkan nama database diikuti dengan ekstensi .dbo dan nama dari tabel tersebut. kecuali anda telah menggunakan perintah use. Contoh: Drop table kampusku.dbo.biodata
Perintah diatas artinya menghapus tabel biodata yang ada di dalam database kampusku.
Wahju Tjahjo S.
17
Diktat Aplikasi DBMS
6 DATABASE DIAGRAM Database diagram digunakan untuk mengetahui relasi yang terjadi antar tabel di dalam sebuah database. Membuat database diagram dilakukan melalui Enterprise Manager. Setelah anda menjalankan Enterprise Manager lakukan langkah berikut: 1. Pilih database yang akan dibuat diagramnya. Misal database perbankan. Pada obyek database perbankan, klik kanan kemudian pilih menu New Database Diagram.
Gambar 6.1 Menu Enterprise Manager
2. Selanjutnya tampil menu Create Database Diagram Wizard. Klik Next. 3. Kemudian pilih tabel yang akan dibuat relasinya di bagian Available Tables. Misal anda merelasikan tabel-tabel pada Bab 5, setelah selesai memlih semua tabel klik Add untuk memasukkan tabel-tabel tersebut ke bagian Tables to add to diagram. Selanjutnya klik Next. 4. Kemudian pada langkah terakhir klik Finish. Selanjutnya anda dapat melihat hasil relasi yang telah dibuat, dan simpan diagram tersebut dengan nama relasi_bank. TUGAS Untuk tugas, buatlah sebuah database dan tabel-tabel sesuai petunjuk dari dosen anda. Lakukan seperti pada Bab 3 – 6. 1. Untuk perintah SQL simpan dengan nama .sql, contoh 12080007B.sql. 2. Untuk database diagram simpan dengan nama dbg. Contoh 12080007dbg.
Wahju Tjahjo S.
18
Diktat Aplikasi DBMS
7 DATA MANIMULATION LANGUAGE Perbedaan DML dan DDL adal pada obyek yang dikelolanya. Jika DDL yang dikelola adalah obyek database, tabel, view, trigger dan store procedure. Sedangkan DML yang dikelola adalah record. INSERT Perintah INSERT digunakan untuk menyisipkan record dalam tabel/view. Penyisipan record tergantung pada waktu menciptakan tabel beserta constraintnya. Jika field dideklarasikan NOT NULL maka field tersebut harus diisi. Contoh: Insert into barang Mainan’,’Buah’,15000)
values
(‘KT01’,’Kartu
Atau bila tidak semua record diisi maka fieldnya harus disebutkan. Contoh: Insert into barang (kdbrg,nmbrg,hrgsat) values (‘KT01’,’Kartu Mainan’,15000) TUGAS Tuliskan record berikut ini ke tabel masing-masing pada database perbankan. Sebagai latihan jangan lupa sebelum menggunakan database anda harus memberikan perintah use . Idnasabah
1 2 3 4 5 6 7 8 9
Tabel 7.1 Isi record tabel Nasabah Nmnasabah Alamat
Ali Wardana Susiana Jaka Nugraha Fitriana Kusumawati Nilawati Mulawarman Purwanti Indah Rinawati Laila Mirawardani
Karangkajen Kidul No. 72 Mergangsan Lor RT 02 No. 24 Jl. Tamansiswa No. 142 Jl. Tamansiswa No. 32 Jl. Diponegoro Kranggan RT 04 Karangkajen Kidul RT. 18 Jl. Tamansiswa No. 59 Karangkajen Kidul No. 34 Jl. Tamansiswa No. 24
Untuk mengeksekusi tekan F5 atau tombol Query Execute. Untuk melihat hasilnya anda dapat memberikan perintah berikut ini: Select * from nasabah
Wahju Tjahjo S.
19
Diktat Aplikasi DBMS
Tabel 7.2 Isi record tabel Cabang Nmcabang Alamat
Kdcabang
B1 B2 B3
BPR Cahaya Insani BPR Cahaya Mitra BPR Cahaya Madani
Karangkajen Kidul No. 12 Jl. Tamansiswa No.17 Mergangsan Lor No. 4
Tabel 7.3 Isi record tabel Rekening Kdcabang Pin Saldo
Norek
101 102 103 104 105 106 107 108 109
B1 B1 B3 B1 B3 B1 B2 B2 B1
111111 222222 333333 444444 555555 666666 777777 888888 999999
250000 125000 575000 300000 300000 750000 525000 150000 125000
Tabel 7.4 Isi record tabel Nasabah_rek Idnasabah Norek
1 2 3 3 4 4 5 5 Notransaksi
Norek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
105 103 101 106 107 104 101 102 105 107 103 104 107 105 104 101 103 102 107
Wahju Tjahjo S.
104 103 105 106 101 107 102 107
Tabel 7.3 Isi record tabel Transaksi Idnasabah jenistran Tgl 3 2 4 3 5 1 4 5 3 4 2 1 4 3 1 4 2 5 5
Debit Debit Kredit Debit Kredit Kredit Kredit Debit Kredit Debit Debit Debit Kredit Debit Kredit Kredit Debit Debit Debit
2003-03-10 2003-03-10 2003-03-12 2003-03-13 2003-03-13 2003-03-15 2003-03-15 2003-03-16 2003-03-18 2003-03-19 2003-03-19 2003-03-19 2003-03-20 2003-03-21 2003-03-22 2003-03-22 2003-03-22 2003-03-25 2003-03-26
Jml 20000 15000 20000 20000 35000 15000 35000 20000 20000 35000 15000 35000 35000 20000 15000 20000 15000 35000 20000
20
Diktat Aplikasi DBMS
20 21 22 23 24 25 26 27 28 29 30
106 103 105 102 104 103 101 103 102 101 105
3 2 3 5 1 2 4 2 5 4 3
Kredit Kredit Kredit Debit Debit Debit Debit Kredit Kredit Debit Debit
2003-03-27 2003-03-28 2003-03-28 2003-03-28 2003-03-28 2003-03-29 2003-03-29 2003-03-29 2003-03-30 2003-03-30 2003-03-30
35000 35000 20000 35000 15000 20000 20000 20000 35000 35000 20000
UPDATE Perintah update digunakan untuk mengubah data/record dari tabel. Berikut formatnya : Update namatabel set namakolom = “databaru” where [kondisi]
Contoh berikut menjelaskan akan mengupdate data dari tabel cabang pada kolom alamat, dimana semua alamat lama akan diganti dengan ‘Jl. Gejayan’. Upadate cabang set alamat = „Jl. Gejayan‟
Jika record yang diubah lebih dari satu gunakan tanda koma ( , ) berikut formatnya: Update namatabel set namakolom1=”nilai1”, namakolom2=”nilai2”, …… Where [kondisi]
Contoh: Update biodata set jur=”TI”, nilai=”B”, angkatan=”2007” where jk=”L”
Perintah diatas artinya mengubah semua record mahasiswa yang berjenis kelamin laki-laki dimana jurusan=TI, nilai=B dan angkatan=2007. DELETE Perintah delete digunakan untuk menghapus sebuah/beberapa record sesuai dengan kondisi. Berikut formatnya: Delete from namatabel where [kondisi]
Anda perlu berhati-hati menggunakan perintah delete, karena tidak akan mengkonfirmasi dalam proses penghapusan. Berikut ini contohnya: Delete from cabang where namacabang=‟Jl. Gejayan‟
Wahju Tjahjo S.
21
Diktat Aplikasi DBMS
Bila ingin menghapus semua record dalam tabel, anda tidak perlu menyertakan kondisi pada klausa where. SELECT Digunakan untuk menampilkan record yang berada dalam tabel sesuai dengan kriteria tertentu. Format perintah select sebagai berikut: Select (field1,field2, ….) from tabelasal where [kondisi] group by [ekspresi] Having [kondisi] order by [ekspresi] [asc | desc]
Untuk menampilkan semua record dalam satu tabel perintahnya: Select * from cabang
Untuk menampilkan beberapa field dalam satu tabel perintahnya: Select nama, jk, alamat from biodata
Menampilkan record dalam satu tabel dengan syarat kondisi tertentu: Select nama, alamat, tgl_lahir from biodata where jk=‟L‟ and alamat=‟Jl. Gejayan‟
Untuk menampilkan semua record yang ada dalam tabel rekening yang saldonya lebih dari 350000, perintahnya: Select * from rekening where saldo > 350000
MANIPULASI DATA DENGAN BANYAK KONDISI Untuk menampilkan data dengan banyak kondisi dapat menggunakan operator logika yaitu: NOT, AND, OR, BETWEEN, LIKE, IN, SOME, ANY dan ALL. Untuk operator NOT, AND dan OR mempunyai kondisi logika dengan aturan baku. Pelajari tabel-tabel dibawah. Dalam SQL Server juga dikenal banyak operator seperti halnya pada bahasa pemrograman, untuk melakukan manipulasi data cermati tabel-tabel di bawah. Tabel 7.1 Operator Aritmatika menurut tingkatan Operator * / % + -
Wahju Tjahjo S.
Fungsi Perkalian Pembagian Sisa pembagian Penjumlahan Pengurangan
22
Diktat Aplikasi DBMS
Tabel 7.2 Operator Relasi Operator = > < >= <= <>
Keterangan Sama dengan Lebi besar Lebih kecil Lebih besar atau sama dengan Lebih kecil atau sama dengan Tidak sama dengan
Tabel 7.3 Oprator Logika Operator NOT atau != OR atau || AND atau && XOR
Fungsi atau pembalik nilai. Atau
Keterangan Data dianggap benar bila nilainya salah Data dianggap benar bila salah satu bernilai benar Data dianggap benar bila kedua nilai benar Data dianggap benar bila hanya data pertama bernilai benar
Dan Exclusve or
Tabel 7.4 Logika Operator OR Kondisi1 False False True True
Kondisi2 False True False True
Hasil False True True True
Tabel 7.5 Logika Operator AND Kondisi1 False False True True
Kondisi2 False True False True
Hasil False False False True
Tabel 7.6 Logika Operator NOT Kondisi NOT True NOT False
Hasil False True
Berikut ini perintah untuk menampilkan data dari tabel nasabah yang memiliki id=2 dan nama nasabah=’Budi’. Select * from nama_nasabah=‟Budi‟
nasabah
where
id_nasabah=2
and
Perintah di bawah ini menampilkan data dari tabel nasabah yang berasal dari kota=’Solo’ atau nasabah berjenis kelamin=’L’. Select * from nasabah where kota=‟Solo‟ or jk=‟L‟
Wahju Tjahjo S.
23
Diktat Aplikasi DBMS
Perintah di bawah ini akan menampilkan semua record dari tabel rekeking yang nasabahnya mempunyai saldo tabungan antara 250000 dan 400000. Jika diluar jangkauan batasan tersebut record tidak ditampilkan. Select * from rekening where saldo between 250000 and 400000
Berikut ini akan ditampilkan record dari tabel rekening yang nasabahnya memiliki rekening di kantor cabang yang kode cabangnya di dalam ‘B2’ dan ‘B3’. Select * from rekening where kode_cabang in („B1‟,‟B2‟)
ALIAS Klausa alias digunakan untuk mengganti nama kolom tabel yang dihasilkan dari perintah select. Format dasarnya: Select field1 as „nama1‟, field2 as „nama2‟, … from tabelasal
Contoh: Select id_nasabah as „ID‟, nama_nasabah as „Nama Lengkap‟, jk as „Kelamin‟ from nasabah
FUNGSI AGREGAT Beberapa fungsi agregat yang didukung oleh SQL Server yaitu: SUM, AVG, COUNT, MIN dan MAX. 1. SUM, digunakan untuk melakukan penjumlahan nilai record pada suatu field. Fungsi ini hanya dapat digunakan pada data bertipe integer/nuemric. 2. AVG, digunakan untuk mencari nilai rata-rata dari record dalam satu field. 3. COUNT, digunakan untuk menghitung jumlah record yang ada dalam tabel. 4. MIN, digunakan untuk menampilkan nilai record terkecil yang ada dalam satu field. 5. MAX, digunakan untuk menampilkan nilia record terbesar yang ada dalam satu field. Berikut ini contoh-contoh penggunaan fungsi agregat: Menampilkan jumlah semua saldo nasabah dari tabel rekening perintahnya: Select sum(saldo) as ‘Total Saldo’ from rekening Select avg(saldo),min(saldo) from rekening Select count(*) as ‘Jumlah Record’ from nasabah
Wahju Tjahjo S.
24
Diktat Aplikasi DBMS
Select min(saldo) as ‘Saldo Terendah’ from rekening Select max(saldo) as ‘Saldo Tertinggi’ from rekening Untuk menggunakan fungsi agregat secara bersamaan dapat menggunakan tanda koma ( , ) Select max(saldo) as „Saldo Tertinggi‟, min(saldo) as „Saldo Terendah‟, avg(Saldo) as „Saldo Rata-rata‟, count(saldo) as „Jumlah‟ from rekening
DISTINCT Fungsi ini digunakan untuk menampilkan data hanya satu kali dari data yang berulang dalam penampilannya. Formatnya sebagai berikut: Select distinct (namafield) from tabelasal
Contoh: Select * from rekening Select distinct(kode_cabang) from rekening
MENGURUTKAN DATA Mengurutkan record menggunakan perintah ORDER BY [ASC | DESC]. Pengurutan berlaku untuk tipe data string dan integer/numeric. Jika dalam pengurutan tidak disebutkan jenis pengurutannya maka decara default diset urut naik. Jika ada klausa WHERE maka order by diletakkan setelah WHERE. Cobalah beberapa perintah berikut: Select * from nasabah order by nama_nasabah Select * from nasabah order by nama_nasabah desc Select * from nasabah order by id_nasabah, alamat Select * from nasabah_rek order by norek, id_nasabah desc Select * from nasabah_rek order by norek desc, id_nasabah
PENGELOMPOKAN RECORD Untuk menampilkan pengelompokan record gunakan GROUP BY. Berikut ini contoh perintah dari GROUP BY. Select * from nasabah group by (alamat)
Wahju Tjahjo S.
25
Diktat Aplikasi DBMS
PENCARIAN STRING Untuk pencarian record dengan kriteria tertentu dapat menggunakan klausa LIKE. Klausa LIKE digunakan bersamaan dengan WHERE. Berikut ini contohnya: Select * from nasabah where alamat like „Jl. Taman siswa‟ Select * from nasabah where nama_nasabah like „Budi‟
Operator ini sangat berguna untuk mencari data yang mengadung suatu nilai yang disebutkan. Misalnya untuk mencari data pasien yang mengandung nama ‘Andi’ atau mengandung huruf ‘J’. Data yang dicari dengan operator ini hasilnya cukup akurat dan sangat terasa dalam menyajikan informasi atau laporan. Untuk menggunakan operator ini anda perlu menambahkan tanda wildcard ( _ ) atau tanda persen ( % ). Untuk tanda ( _ ) artinya sebuah karakter apa saja. Misalnya, a_u cocok dengan abu, alu, anu atau awu. Tetapi tidak sesuai dengan abru, altru atau accu. Sedangkan tanda % artinya cocok dengan karakter apa saja dan berapa pun jumlahnya. Termasuk cocok dengan nol karakter. Dan huruf besar atau kecil dianggap sama. Formatnya dilihat pada Tabel 6.9. Tabel 7.7 Penggunaan tanda % Bentuk %h% %h
h%
Keterangan Cocok dengan karakter apa saja yang mengandung karakter h. Cocok dengan karakter yang berakhiran h. Bentuk ini hanya berlaku untuk tipe data VARCHAR. Cocok dengan karakter yang berawalan h.
Select * from nasabah where nama_nasabah like „%jono%‟ Select * from nasabah where nama_nasabah like „r_dy_nto _ri_f
TUGAS Tugas terprogram diberikan oleh dosen.
Wahju Tjahjo S.
26
Diktat Aplikasi DBMS
8 BACKUP DATABASE Proses backup dapat dilakukan dengan dua cara yaitu: 1. Menggunakan Enterprise Manager 2. Menggunakan backup secara manual MANUAL Backup secara manual perlu memperhatikan hal berikut: 1. Anda harus mengetahui lokasi letak file database yang selama ini digunakan. Secara default lokasi berada pada “C:\Program Files\Microsoft SQLServer\MSSQLl\Data\”. 2. Anda harus mengetahui ekstensi file database SQL Server 2000. Ketika membuat database secara otomatis akan diciptakan dua buah jeni file yaitu: .MDF dan .LOG. Proses backup secara manual sama halnya anda mengkopi-paste file dari Windows Explorer. Dari lokasi database SQL Server anda dapat langsung mengkopi file database .MDF dan .LOG ke drive lain, misal D:\ atau ke Flashdisk. Untuk mengembalikan/restore lakukan proses copy-paste seperti halnya anda mengcopy file. ENTERPRISE MANAGER Proses backup menggunakan Enterprise Manager langkahnya sebagai berikut: 1. Jalankan Enterprise Manager Start Program Microsoft SQL Server Enterprise Manager. 2. Berikutnya pilih Database. Selanjutnya pilih database yang akan di backup lalu klik kanan pilih All Tasks Backup Database. 3. Pada jendela SQL Server Backup pilih Database – complete Add. 4. Pada jendela Select Backup Destination pilih File Name karena hasil backup akan disimpan dalam bentuk file. Pada bagian tersebut ketik nama file backup dan masukkan lokasi folder tujuan backup selanjutnya klik OK. 5. Setelah itu lokasi penyimpanan backup akan terdaftar pada bagian Destination, Backup to klik OK setelah itu proses backup dilakukan. 6. Jika selesai klik OK. TUGAS Sebagai latihan lakukan backup database yang sudah anda buat dan amati hasilnya. Proses backup dapat anda lakukan dengan kedua cara yaitu manual dan melalui Enterprise Manager. Amati hasilnya. Fasilitas ini dapat anda manfaatkan untuk meng-backup pekerjaan anda setelah selesai kuliah. Lakukan secara rutin.
Wahju Tjahjo S.
27
Diktat Aplikasi DBMS
9 RESTORE DATABASE Restore database dapat dilakukan dengan dua cara yaitu: 1. Menggunakan cara manual 2. Menggunakan Enterprise Manager
MANUAL Cara manual dapat dilakukan seperti anda mengkopi-paste file pada Windows Explorer. Untuk merestore dari folder asal lakukan klik Paste pada folder tujuan semula yaitu: C:\Program Files\Microsoft SQL Server\MSSQL\Data\.
ENTERPRISE MANAGER Untuk me-restore database yang sudah du backup langkahnya sebagai berikut: 1. Pilih Start Program Microsoft SQL Server Enterprise Manager. Setelah itu pilih obyek Database. 2. Klik kanan pada obyek Database, kemudian pilih All Tasks Restore Database. 3. Pada jendela Restore Database pada bagian Restore as database pilih nama database yang akan direstore. Pada bagian Restore pilih Database atau pilih Filegroups or File jika yang di-restore adalah file dan pilih From device jika yang di-restore adalah database/file yang berasal dari CD/DVD/HD. Pada kelompok Parameters bagian Show backups of database pilih ama backup database yang akan diresotore. Kemudian pada bagian First backup to restore, pilih file backup database dari database yang telah dipilih sebelumnya di bagian Show backups of database. Catatan: jika anda pernah melakukan backup lebih dari sekali untuk database yang sama, maka bagian tersebut akan terdaftar beberapa file backup database. 4. Setelah semua parameter terisi maka pilih OK, kemudian tunggu proses backup dilakukan selesai. Jika proses selesai akan muncul pesan konfirmasi lalu klik OK.
TUGAS Sebagai latihan lakukan proses restore dari database yang sudah anda backup. Amati hasilnya. Fasilitas ini dapat anda manfaatkan untuk meresotre pekerjaan anda setelah sampai di rumah. Lakukan secara rutin.
Wahju Tjahjo S.
28
Diktat Aplikasi DBMS
10 JOIN ANTAR TABEL Join merupakan sebuah operasi yang digunakan untuk mendapatkan data gabungan dari dua tabel atau lebih. Pada SQL Server terdapat tiga jenis join yaitu: Cross Join (cartesian) Menghasilkan kombinasi semua baris yang terdapat dalam tabel, baik yang berpasangan maupun tidak berpasangan. Meskipun join ini tidak pernah digunakan namun Cross Join merupakan dasar dari join antar tabel. Inner Join Join ini hanya menghasilkan output berupa kombinasi baris-baris yang berpasangan saja, baris lainnya akan dieleminasi dan baris lain yang tidak mempunyai pasangan juga akan disingkirkan. Outer Join Hampir sama dengan Inner Join perbedaannya terletak pada baris yang tidak mempunyai pasangan akan turut diproses. Outer Join masih dibagi menjadi tiga lagi: 1. Left Outer Join 2. Right Outer Join 3. Full Outer Join
CROSS JOIN Perintah dasarnya: Select * from tabel1, tabel2, tabel3, …..
atau select * from tabel1.field1, tabel2.field1, tabel3.field1, …..
contoh: select * from nasabah, cabang_bank select * from nasabah.idnasabah, nasabah.nama_nasabah, cabang_bank.nama_cabang from nasabah, cabang_bank
Wahju Tjahjo S.
29
Diktat Aplikasi DBMS
INNER JOIN Di bawah ini diberikan beberapa contoh Inner Join, cobalah pada Query Analyzer dan amai hasilnya. Jika perlu kembangkan perintah-perintah tersebut. Select * from nasabah, nasabah_rek where nasabah.idnasabah = nasabah_rek.idnasabah select * from rekening, nasabah_rek where rekening.norek = nasabah.norek select a.nama_nasabah, b.kode_cabang, c.norek from nasabah a, rekening b, nasabah_rek c where a.idnasabah = c.idnasabah and b.norek = c.norek select * from nasabah a inner join nasabah_rek b on a.idnasabah = b.idnasabah select * from rekening a join nasabah_rek b on a.norek = b.norek select a.nama_nasabah, b.kode_cabang, c.norek from nasabah a join nasabah_rek c on a.idnasabah = c.idnasabah join rekening b on b.norek = c.norek
OUTER JOIN Berikut ini contoh penggunaan Left Outer Join: Select * from nasabah left join nasabah_rek on nasabah.idnasabah = nasabah_Rek.idnasabah select a.nama_nasabah, b.kode_cabang, c.norek from nasabah a left join nasabah_rek c on a.idnasabah = c.idnasabah left join rekening b on b.norek = c.norek
Berikut ini contoh penggunaan Right Outer Join: Select * from nasabah right join nasabah_rek on nasabah.idnasabah = nasabah_rek.idnasabah
Berikut ini contoh penggunaan Full Outer Join: Select * nasabah full join nasabah_rek On nasabah.idnasabah = nasabah_rek.idnasabah
Berikut ini contoh perintah untuk melihat perbedaan antara Inner Join dan Outer Join, contoh: Select a.norek, b.nama_cabang from rekening a inner join cabang_bank b on a.kode_cabang = b.Kode_cabang
Wahju Tjahjo S.
30
Diktat Aplikasi DBMS
Contoh lainnya: Select a.norek, b.nama_cabang from rekening a left outer join cabang_bank b on a.kode_cabang = b.kode.cabang Select a.norek, b.nama_cabang from rekening a right outer join cabang_bank b on a.kode_cabang b.kode.cabang
=
Select a.norek, b.nama_cabang from rekening a full outer join cabang_bank b on a.kode_cabang = b.kode.cabang
secara sederhana dapat disimpulkan bahwa Cross Join merupakan jenis join yang tidak memakai persyaratan. Sementara jenis join lainnya memerlukan persyaratan. Persyaratan yang dimaksud disini yaitu data pada kolom FK (kunci relasi) di tabel transaksi harus sama dengan data pada kolom PK (kunci primer) di tabel master. Persyaratan tersebut dapat ditulis sebagai berikut atau sebaliknya: TabelMaster.KunciPrimary = TabelTransaksi.KunciForeign
Oleh sebab itu keharusan FK dan PK yang saling berhubungan maka Inner Join dan Outer Join hanya dapt dilakukan pada tabel yang memiliki relasi saja. Sementara Cross Join dapat dilakukan pada sembarang/semua tabel. TUGAS Sebelum menerima tugas dari dosen pelajari sekali lagi Bab 10 Join Antar Tabel diatas, agar lebih mudah dalam memahami dan menerima tugas yang diberikan. Nama Tabel Buku Nama Field Idbuku Idterbit Judul Penulis Harga
Tipe Data Varchar Varchar Varchar Varchar Integer
Nama Field Idterbit Namaterbit Alamat
Tipe Data Varchar Varchar Varchar
Lebar 2 2 100 30 6
Keterangan Nomor identitas buku Nomor identitas penerbit Judul buku Nama penulis buku Harga satuan buku
Nama Tabel Penerbit Lebar 2 50 100
Keterangan Nomor identitas penerbit nama penerbit Alamat penerbit
Nama Tabel Jual Nama Field Idbuku Nota Tgljual Qty
Wahju Tjahjo S.
Tipe Data Varchar Varchar Date Integer
Lebar 2 5 8 2
Keterangan Nomor identitas buku Nomor nota penjualan Tanggal penjualan buku Jumlah buku yang terjual
31
Diktat Aplikasi DBMS
11 VIEW View adalah sebuah virtual tabel/tabel sementara yang isinya diciptakan dengan perintah SQL. View merupakan cara alternatif untuk melihat data dari satu atau banyak tabel di dalam database. MENCIPTAKAN VIEW Format dari perintah view yaitu: Create view namaview (daftarfield) as ekspresiselect
Sedangkan untuk melihat hasil dari view yang telah dibuat gunakan perintah berikut: Select * from namaview
Dalam membuat view terdapat beberapa aturan sebagai berikut: 1. Vew hanya dapat dibuat pada database yang sedang aktif. 2. Nama view harus bersifat unik untuk setiap user. Untuk membedakan biasanya nama view diberi tambahan huruf v…. atau view….. Contoh: vnasabah atau viewnasabah. 3. View dapat dibuat berdasarkan view yang lain. 4. Query yang didefinisikan dalam view tidak boleh mengandung ORDER BY. 5. Jumlah kolom/field yang tercantum dalam daftarfield harus sama dengan jumlah kolom/field pada ekspreasiselect. 6. Daftarfield dapat bersifat opsional. Akan tetapi beberapa kondisi tertentu menyebabkan daftarfield wajib ditulis karena: a) Terdapat kolom di dalam view yang diturunkan dari ekspresi aritmatika, fungsi atau konstanta. b) Dua atau lebih kolom dalam view memiliki nama yang sama (biasanya terjadi karena berasal dari tabel yang di join). c) Memang sengaja hendak memberi nama kolom secara manual. Berikut ini contoh membuat view dengan nama viewtamsis, yang akan menampilkan data nasabah dengan alamat Jl. Tamansiswa. Create view viewtamsis as select * from nasabah where alamat like „Jl. Tamansiswa%‟
Untuk melihat hasilnya ketik perintah berikut: Select * from viewtamsis
Wahju Tjahjo S.
32
Diktat Aplikasi DBMS
Dibawah ini contoh membuat view dengan nama viewcabang yang menampilkan data nama dan alamat cabang. Kemudian lihat hasilnya dengan perintah SELECT. Create view viewcabang as select nama_cabang, alamat_cabang from cabang_bank
View juga dapat diciptakan yang berasal dari banyak tabel, berikut ini contohnya: Create view viewtransaksi as select b.norek, a.nama_nasabah, a.alamat_nasabah from nasabah a, nasabah_rek b, rekening c where b.norek = c.norek and a.idnasabah = b.idnasabah
Perintah di atas dapat di tulis seperti di bawah dan hasilnya sama. Pahami baik-baik. create view viewnasabahrek as select b.norek, a.nama_nasabah, a.alamat_nasabah from nasabah a join nasabah_rek b on a.idnasabah = b.idnasabah join rekening c on c.norek = b.norek
Selain perintah diatas anda juga dapat membuat view yang berasal dari: 1. Join antara tabel – view. 2. Join antara view – view. Sejauh ini ada sudah membuat view yang terdapat pada database perbankan yaitu: 1. Viewtamsis 2. Viewcabang 3. Viewtransaksi 4. Viewnasabahrek Untuk melihat daftar view yang sudah dibuat ketikkan perintah berikut: Select * from sysobjects where type = „view‟ and name like „view%‟
Sebagai latihan silahkan mencoba berkreasi untuk membuat view dan menampilkan informasi yang sesuai dengan keinginan anda. UPDATE VIEW Perintah untuk mengubah view hampir sama dengan mengubah tabel yaitu menggunakan perintah ALTER. Contoh berikut ini dapat anda coba: Alter view viewtransaksi Select nama_nasabah, alamat_nasabah, c.saldo From nasabah a, nasabah_rek b, rekening c Where b.nore = c.norek and a.idnasabah = b.idnasabah
Wahju Tjahjo S.
33
Diktat Aplikasi DBMS
Untuk melihat hasilnya ketikkan perintah berikut: Select * from viewtransaksi
MENGHAPUS VIEW Perintah dasar menghapus view: Drop namaview1, namaview2, ……….
Contoh: Drop viewtransaksi
TUGAS Tugas akan diberikan oleh dosen dengan tema membuat view yang berasal dari materi Bab 10
Wahju Tjahjo S.
34
Diktat Aplikasi DBMS
12 STORE PROCEDURE Store procedure merupakan sekumpulan perintah SQL yang tersimpan dalam sebuah nama dan diproses dalam satu kesatuan. Store procedure mirip dengan procedure atau function pada bahasa pemrograman yang dapat dieksekusi tersendiri. Kemiripan tersebut antara lain: 1. Dapat menerima parameter sebagai input dan mengembalikan nilai dalam bentuk parameter output kepada yang memanggilnya. 2. Mengandung sekumpulan perintah program yang melakukan operasi di dalam dataabase, termasuk memanggil prosedur lainnya. 3. Mengembalikan suatu nilai pada pemanggilnya untuk mengindikasikan kesuksesan atau kegagalan prosedur dan alasan mengapa prosedur tersebut gagal. Keuntungan menggunakan store procedure yaitu: 1. Pemrograman menjadi lebih modular. Artinya prosedur hanya dibuat sekali tersimpan dalam database dan dapat dipanggil berkali-kali dari bahasa pemrograman, seperti Delphi, VFP, PHP, JAVA atau VB. 2. Store procedure dapat dimodifikasi tanpa harus mengubah kode program (Delphi, JAVA, VFP atau PHP) yang memanggil store procedure tersebut. 3. Eksekusi program lebih cepat. 4. Mengurangi padatnya lalulintas data dalam jaringan komputer. Efeknya akan terasa ketika menggunakan aplikasi client/server. Karena hanya mengirimkan store procedure saja dari pada mengirim perintah SQL yang berpuluh-puluh baris. 5. Dapat digunakan untuk mekanisme keamanan. Artinya user dapat diberi hak menjalankan store procedure walaupun user tersebut tidak memiliki hak akses menjalankan SQL di dalam store procedure. Dalam membuat store procedure terdapat beberapa aturan sebagai berikut: 1. Store procedure hanya dibuat pada database yang aktif saja. 2. Nama store procedure harus sesuai dengan aturan-aturan membuat variabel. 3. Untuk menjalankan store procedure menggunakan perintah EXECUTE atau EXEC. Perintah dasar store procedure yaitu: Create procedure namaprosedur @parameter1 tipedata, @parameter2 tipedata, ……. ……. Output as perintah_SQL
Wahju Tjahjo S.
35
Diktat Aplikasi DBMS
STORE PROCEDURE TANPA PARAMETER Berikut ini contoh menciptakan store procedure tanpa parameter: Create procedure sp_nasabah As select idnasabah as „ID‟,nama_nasabah as „Nama Lengkap‟, alamat as „Alamat Domisili‟ from nasabah
Untuk menjalankan store procedure, ketikkan perintah: Exec sp_nasabah
STORE PROCEDURE DENGAN PARAMETER Berikut ini contoh menciptakan store prosedure dengan parameter berdasarkan parameter masukan kodecabang. Create procedure sp_transaksi @kodecabang varchar(25) as select nasabah.nama_nasabah, cabang_bank.nama_cabang from nasabah, cabang_bank, nasabah_rek where nasabah.idnasabah = nasabah_rek.idnasabah and rekening.norek = nasabah_Rek.norek and cabang_bank.kodecabang = @kodecabang
Perintah berikut ini digunakan untuk menampilkan semua nasabah yang memiliki rekening di cabang ‘BPR Cahaya Mitra’. Parameter dari @kodecabang adalah ‘BPR Cahaya Mitra’. Parameter tersebut dapat anda ganti sesuai dengan nama cabang keinginan. Exec sp_transaksi „BPR Cahaya Mitra‟
Berikut ini contoh perintah membuat store procedure dimana jika lupa mengisi parameternya sudah ditentukan, namun jika diisikan parameter lain tetap dapat dieksekusi sesuai dengan parameter yang dimasukkan. Create procedure sp_trans @kodecabang varchar(25) = „BPR Cahaya Madani‟ as select nasabah.nama_nasabah, cabang_bank.nama_cabang from nasabah, cabang_bank, nasabah_rek where nasabah.idnasabah = nasabah_rek.idnasabah and rekening.norek = nasabah_Rek.norek and rekening.kode_cabang = cabang_bank.kode_cabang and cabang_bank.kodecabang = @kodecabang
Untuk melihat hasilnya eksekusi perintah berikut: Exec sp_trans
Wahju Tjahjo S.
36