1 - stmik el rahma

advertisement
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 <namadatabase> contoh:
Use praktek
Perintah menghapus database yaitu:
drop database <namadatabase_yang_dihapus>
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 <nim><klas>.sql, contoh
12080007B.sql.
2. Untuk database diagram simpan dengan nama <nim>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 <namadatabase>.
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
Download