SQL Server

36
Diktat Aplikasi DBMS Wahju Tjahjo S. 1 DIKTAT KULIAH APLIKASI DATABASE MANAJEMEN SISTEM Wahju Tjahjo Saputro 2013

Transcript of SQL Server

Diktat Aplikasi DBMS

Wahju Tjahjo S. 1

DIKTAT KULIAH

APLIKASI DATABASE MANAJEMEN SISTEM

Wahju Tjahjo Saputro

2013

Diktat Aplikasi DBMS

Wahju Tjahjo S. 2

1PENDAHULUAN

Beberapa produk DBMS yang cukup terkenal saat ini adalah Microsoft SQLServer, MySQL, ORACLE dan PostgreeSQL. Semua DBMS tersebutmenggunakan perintah yang sama yaitu SQL (Structure Query Language).Pendekatan yang digunakan dalam diktat ini menggunakan perintahTransact SQL yang diketik dalam Query Analyzer. SQL Server 2000merupakan 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 MANAGERFitur ini relatif mudah digunakan karena mode pengelolaan databasemenggunakan fitur GUI (Graphical User Interface). Jadi cukup menggunakanmetode click dan drag mouse, anda dapat mengelola database denganmudah.

Gambar 1.1 Menu Enterprise Manager

Diktat Aplikasi DBMS

Wahju Tjahjo S. 3

MENGGUNAKAN SQL QUERY ANALYZERFitur ini menggunakan Transact SQL untuk mengelola database. Perintah-perintah Transact SQL merupakan pengembangan dari penrintah-perintahSQL standar yang disesuaikan dengan manajemen database SQL Server.Pada gambar 2 panel sebelah kiri menampilkan semua daftar databasebeserta object yang ada di dalam database. Seperti tabel, view, trigger,stored procedure. Jendela SQL Editor digunakan untuk mengetik perintah-perintah Transact SQL untuk mengelola database.

Gambar 1.2 Menu Query Analyzer

Diktat Aplikasi DBMS

Wahju Tjahjo S. 4

OBJECT-OBJECT SQL SERVER 2000

Gambar 1.3 Menu Object SQL Server 2000

1. DiagramMerupakan sebuah diagram yang digunakan untuk mendisain sebuahrelasi antar tabel dalam database.

2. TablesMenyimpan reocrd data. Tabel adalah inti dari sebuah database yangdikelompokkan dalamm bentuk baris dan kolom.

3. ViewsSebuah tabel virtual yang digunakan untuk mengakses data tertentu padasebuah tabel. Data penting yang tidak ditampilkan secara public dapatdisembunyikan dengan menggunakan view.

4. Store ProcedureSekumpulan perintah SQL yang tersimpan dalam server database dandapat dieksekusi melalui perintah execute atau tombol F5.

5. UsersPengguna yang diberi hak untuk mengakses database pada server.

6. FunctionSekumpulan perintah SQL yang dapat mengembalikan nilai.

Diktat Aplikasi DBMS

Wahju Tjahjo S. 5

QUERY ANALYZERSebelum menggunakan fitur Query Analyzer anda harus melakukan koneksike SQL Server, dengan langkah pilih Start All Programs MicrosoftSQL Server Query Analyzer. Silahkan pilih mode WindowsAuthentication OK. Jika memilih SQL Server Authentication maka isilogin 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 adalahpanel SQL Editor, sedangkan panel bawah adalah panel hasil. Jika terlihathanya panel atas maka tekan tombol Hide Result disebelah Tools Database.Untuk mencoba mengetikkan perintah SQL pertama kali pada panel SQLEditor ketikkan perintah berikut:

Use contoh

Kemudian tekan F5 atau tombol Execute Query. Hasilnya akan tampakpada panel bawah seperti gambar 5. Bila belum pernah membuat databasetersebut maka pesan kesalahan akan muncul pada panel. Perintah SQLpada SQL Editor dapat di simpan dalam folder memilih menu File Saveatau tekan tombol Save Query/Result. Untuk menyimpan file ada tiga formatyaitu: .sql, .tql dan .txt. File tersebut dapat dibuka dengan Ms. Word atauNotepad.

Diktat Aplikasi DBMS

Wahju Tjahjo S. 6

Gambar 1.5 Hasil perintah SQL

MENGGUNAKAN KOMENTARPada SQL Server 2000 ada fitur komentar yang dapat disisipkan padaperintah SQL. Komentar dideklarasikan dengan dua cara pada QueryAnalyzer.1. Memberikan komentar satu baris. Caranya dengan memberikan tanda --

(double dash) di depan baris perintah SQL. Contoh:

-- mengaktifkan databse contohuse contoh

2. Memberikan komentar lebih dari dua baris pada SQL. Caranya denganmemberikan tanda /* dan diakhiri tanda */.

/*perintah ini akan menampilkanseluruh data pegawai dari tabelbiodata tanpa kriteria*/select * from biodata

Diktat Aplikasi DBMS

Wahju Tjahjo S. 7

2REGISTER DATABASE

Gamabr 2.1 Menu SQL Server Enterprise Manager

Gambar 2.1 menunjukkan bahwa server database belum didaftarkan. Makauntuk mendaftarkan server database melalui Enterprise Manager lakukanlangkah berikut:

1. Klik kanan mouse pada node SQL Server Group New SQL ServerRegistration.

2. Pada menu Register SQL Server Wizard pilih Next, isikan namakomputer atau IP Address pada Available Servers. Klik Add Next.

Diktat Aplikasi DBMS

Wahju Tjahjo S. 8

Gambar 2.2 Menu Select an Authentification Mode

3. Lakukan pilihan seperti gambar 2.2 lalu tekan Next. Pada menuberikutnya pilih Add the SQL Server(s) to an …. Jika inginmeregistrasikan server database pada group yang telah ada atau pilihCreate a new … untuk mendefinisikan group server anda sendiri. Lalupilh Next.

4. Tekan Finish yang menandakan proses register database telahselesai, lalu pilih Close.

Diktat Aplikasi DBMS

Wahju Tjahjo S. 9

Gambar 2.3 Menu Register Database

5. SQL Database Server yang berhasil diregister akan langsungditampilkan di jendela utama Enterprise Manager, seperti gambar 2.4.

Gambar 2.4 Menu Enterprise Manager

Diktat Aplikasi DBMS

Wahju Tjahjo S. 10

3KONSEP SQL

SQL adalah salah satu bahasa generasi ke-4 (4th GL) yang awalnyadikembangkan oleh IBM di San Jose Research Laboratory. SQL generasi ke-4 bersifat request oriented dan non-prosedural sehingga mudah untukdipelajari. SQL terdiri atas:

1. DDL (Data Definition Language), yaitu bahasa yang memilikikemampuan untuk mendefinisikan data yang berhubungan denganpembuatan dan penghapusan obyek. Seperti CREATE, DROP danALTER.

2. DML (Data Manipulation Langauge), yaitu bahasa yang berhubungandengan proses manipulasi data. Seperti INSERT, SELECT, UPDATEdan DELETE.

TIPE DATATipe 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 dansmallmoney.

3. Numeric Precission untuk menampung data angka dengan presisitinggi yaitu float dan real.

4. Date Time untuk menampung data tanggal waktu terdiri dari datetimedan smalldatetime.

5. Strings untuk menampung data karakter terdiri dari char, varchardan text.

6. Unicode Character Strings untuk menampung data karakter denganukuran 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 danuniqueidentifier.

OPERATORHampir semua operator yang ada pada bahasa pemrograman dapatdigunakan pada SQL Server 2000. Berikut urutan operator berdasarkanurutan 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 SOME6. = (penugasan)

Diktat Aplikasi DBMS

Wahju Tjahjo S. 11

4DATABASE

MEMBUAT DATABASEBerikut ini contoh perintah dasar untuk membuat database menggunakanperintah SQL Editor.

create database praktekon primary (name=dbdat,filename=’c:\program files\microsoft sqlserver\mssql\data\dbdat.mdf’,size=10,maxsize=50,filegrowth=2)log on(name=dblog,filename=’c:\program files\microsoft sqlserver\mssql\data\dblog.ldf’,size=3,maxsize=20,filegrowth=1)

untuk membuat perintah diatas jalankan Query Analyzer WindowAuthentication Ok. Untuk menjalankan query tersebut tekan F5 atautombol Execute Query.

Untuk melihat apakah database praktek yang baru saja dibuat telah terdaftardalam daftar database, lakukan langkah berikut: pilih menu Query Change Database.

Gambar 4.1 Daftar Database

Anda juga dapat membuat database tanpa ketentuan, dengan perintahberikut:

Create database praktek

Diktat Aplikasi DBMS

Wahju Tjahjo S. 12

Untuk melihat format lengkap anda dapat melihat di SQL Server BooksOnline. Untuk melihat daftar database yang ada pada SQL Server 2000ketikkan 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 andasimpan dengan cara File Save, seperti gambar 4.2. File dapat disimpandalam format .sql, .tql atau .txt file hasil penyimpanan tersebut dapat dibukalangsung di Notepad atau Ms. Word.

Gambar 4.2 Menu simpan pada SQL Editor

LATIHANBuatlah dua buah database pada SQL Editor, yang satu dengan pengaturandan satunya lagi tanpa pengaturan. Kemudian dari database yang sudahanda buat dapat diamati pada jendela Query Analyzer atau WindowsExplorer. Langkah berikutnya hapuslah database yang anda buat.

Diktat Aplikasi DBMS

Wahju Tjahjo S. 13

5TABEL

MEMBUAT TABELPada SQL Server 2000 ada dua jenis tabel yaitu permanen dan temporary.Tabel temporary adalah tabel yang diletakkan di RAM sedangkan tabelpermanen yaitu tabel yang diletakkan pada disk. Jumlah kolom/field yangmampu diciptakan oleh SQL Server 2000 mencapai 1024 field. Untuk melihatformat lengkap cara membuat tabel anda dapat melihat di SQL ServerBooks 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 agama check (agin(‘I’,’K’,’P’,’B’,’H’)),Primary key (nim))

Penjelasan:1. Not Null, menyatakan bahwa sebuah field nilainya tidak diketahui. Not

Null tidak boleh dipakai pada field yang memiliki sifat identity atau primarykey.

2. Identity, menyatakan field akan diisi nilai secara otomatis dengankenaikan 1 dimulai dari angka 1 (lihat 1,1). Identity setara auto_incrementpada MySQL.

3. Default value, artinya nilai default status mhs adalah 1, dapat diartikanbahwa 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 bolehdiinputkan. Contraint dilakukan pada saat menciptakan tabel.

5. Rules, fungsinya sama dengan constraint namun rules dilakukan jikatabel seudah terbentuk.

Untuk melihat apakah sebuah tabel telah terdaftar pada database, ketikkanperintah:

Select * from information_schema.tables

Diktat Aplikasi DBMS

Wahju Tjahjo S. 14

Sedangkan untuk melihat struktur setiap tabel gunakan perintah:

Select * from information_schema.columns

Berikut ini beberapa contoh cara menciptakan tabel, yang dapat anda cobapada SQL Editor. Selamat mencoba ! dan jangan lupa penyimpan perintahSQL tersebut untuk dipelajari di rumah.

TUGASBuatlah database dengan nama perbankan. Kemudian berikan perintah useperbankan. 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 nullprimary key (idnasabah))

Selesaikan dengan SQL Server 2000 untuk menciptakan tabel berikut:

Nama Tabel: BagianNama Field Type Width Description

Kdbag Int - PK, Not NullNmbag Varchar 20 Not Null, Unique

Nama Tabel: KotaNama Field Type Width Description

Kdkota Int - PK, Not NullNmkota Varchar 15 Not Null

Empat buah tabel yang anda buat diatas merupakan tabel master yaitu untukmenyimpan data induk dan proses manipulasi datanya tidak tergantung tabellain. Selanjutnya di bawah ini anda diminta membuat tabel transaksi yangproses input datanya tergantung tabel lain.

MEMBUAT TABEL DENGAN CONSTRAINT1. 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 membuatindex khusus untuk tabel dan field-fieldnya. Berikut jenis constraint yangdidukung SQL Server 2000:

Diktat Aplikasi DBMS

Wahju Tjahjo S. 15

2. Primary Key, merupakan kunci primer yang bersifat unik dan hanyadapat dibuat per tabel.

3. Foreign Key…..References, merupakan kunci tamu/relasi. Berasal darikunci primer pada tabel master yang diletakkan pada tabel transaksi.Batasan Foreign Key hanya bisa merujuk field yang memiliki batasanPrimary Key atau Unique pada tabel yang dirujuk.

4. Unique, fungsi sama dengan Primary Key. Perbedaannya terletak padaPrimary Key hanya dapat dibuat satu kali pada sebuah tabel dan Uniquedapat dibuat beberapa kali pada sebuah tabel. Jika anda menginginkanbeberapa field bersifat unik maka deklarasikan dengan Unique yang tidaktermasuk dalam field Primary Key.

5. Identity, digunakan untuk memberikan nilai unik dengan kenaikan nilaitertentu. Digunakan bersamaan dengan Primary Key dan bertipe numeric.Hanya satu field yang bersifat identity dalam sebuah tabel. Anda harusmenentukan nilai awal dan nilai akhir atau tidak keduanya. Jika tidakditentukan maka defaultnya bernilai (1,1).

6. Default, nilai default dapat diterapkan pada semua field kecuali fieldbertipe TimeStamp atau Identity.

TUGASNama Tabel: Rekening

Nama Field Type Width DescriptionNorek Int - PK, Not NullKdcabang Char 5 FKPin Char (6) Not NullSaldo Int - -

Nama Tabel: nasabah_rekNama Field Type Width Description

Idnasabah Int - FKNorek Int - FK

Nama Tabel: transaksiNama Field Type Width Description

Notransaksi Int - PK, Not NullNorek Int - FKIdnasabah Int - FKJenistran Char 10 Not NullTgl Datetime - Not NullJml Int - Not Null

Tips:Untuk mengeksekusi beberapa perintah SQL sekaligus tambahkan perintahGO pada bagian akhir perintah.

Create table rekening(norek int not null primary key,kdcabang char(5) references cabang(kdcabang) on delete cascadeon update cascade,

Diktat Aplikasi DBMS

Wahju Tjahjo S. 16

pin char(6) not null,saldo int)go

Selanjutnya buatlah tabel nasabah_rek dan transaksi dengan contoh sepertiperintah SQL diatas. Setelah selesai simpan perintah-perintah SQL tersebutdengan cara File Save. Simpan di folder masing-masing pada drive D:\.

TUGASBuatlah tabel karyawan dengan struktur seperti di bawah. Perhatikanbatasan PK, FK, Identity, default dan Null.

Nama Field Type Width DescriptionKdkar Int - PK, Identity, Not NullNmkar Varchar 40 Not NullKdbag Int - FK dari tabel bagian, Not NullGender Char 1 Not Null, Default NullTgllahir Datatime - Not NullMulaikerja Datetime - Not NullAlamat Varchar 60Kdkota Int - FK dari tabel kotaGaji Numeric 7,2 Not Null

MENGUBAH STRUKTUR TABELMengubah struktur tabel dapat menggunakan perintah alter tabel. Padadatabase 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 cekagama check (agamain(‘I’,’K’,’P’,’B’,’H’)),primary key (idpeg))

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 constraintUnique 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:

Diktat Aplikasi DBMS

Wahju Tjahjo S. 17

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 dalamdatabase. Contoh:

Drop table pegawai

Untuk menghapus tabel yang berada pada database lain anda harusmenyebutkan nama database diikuti dengan ekstensi .dbo dan nama daritabel tersebut. kecuali anda telah menggunakan perintah use. Contoh:

Drop table kampusku.dbo.biodata

Perintah diatas artinya menghapus tabel biodata yang ada di dalamdatabase kampusku.

Diktat Aplikasi DBMS

Wahju Tjahjo S. 18

6DATABASE DIAGRAM

Database diagram digunakan untuk mengetahui relasi yang terjadi antartabel di dalam sebuah database. Membuat database diagram dilakukanmelalui Enterprise Manager. Setelah anda menjalankan Enterprise Managerlakukan 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 selesaimemlih semua tabel klik Add untuk memasukkan tabel-tabel tersebut kebagian Tables to add to diagram. Selanjutnya klik Next.

4. Kemudian pada langkah terakhir klik Finish. Selanjutnya anda dapatmelihat hasil relasi yang telah dibuat, dan simpan diagram tersebutdengan nama relasi_bank.

TUGASUntuk tugas, buatlah sebuah database dan tabel-tabel sesuai petunjuk daridosen 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.

Diktat Aplikasi DBMS

Wahju Tjahjo S. 19

7DATA MANIMULATION

LANGUAGEPerbedaan DML dan DDL adal pada obyek yang dikelolanya. Jika DDL yangdikelola adalah obyek database, tabel, view, trigger dan store procedure.Sedangkan DML yang dikelola adalah record.

INSERTPerintah INSERT digunakan untuk menyisipkan record dalam tabel/view.Penyisipan record tergantung pada waktu menciptakan tabel besertaconstraintnya. Jika field dideklarasikan NOT NULL maka field tersebut harusdiisi. Contoh:

Insert into barang values (‘KT01’,’KartuMainan’,’Buah’,15000)Atau bila tidak semua record diisi maka fieldnya harus disebutkan. Contoh:

Insert into barang (kdbrg,nmbrg,hrgsat) values(‘KT01’,’Kartu Mainan’,15000)

TUGASTuliskan record berikut ini ke tabel masing-masing pada databaseperbankan. Sebagai latihan jangan lupa sebelum menggunakan databaseanda harus memberikan perintah use <namadatabase>.

Tabel 7.1 Isi record tabel NasabahIdnasabah Nmnasabah Alamat

1 Ali Wardana Karangkajen Kidul No. 722 Susiana Mergangsan Lor RT 02 No. 243 Jaka Nugraha Jl. Tamansiswa No. 1424 Fitriana Kusumawati Jl. Tamansiswa No. 325 Nilawati Jl. Diponegoro Kranggan RT 046 Mulawarman Karangkajen Kidul RT. 187 Purwanti Jl. Tamansiswa No. 598 Indah Rinawati Karangkajen Kidul No. 349 Laila Mirawardani Jl. Tamansiswa No. 24

Untuk mengeksekusi tekan F5 atau tombol Query Execute. Untuk melihathasilnya anda dapat memberikan perintah berikut ini:

Select * from nasabah

Diktat Aplikasi DBMS

Wahju Tjahjo S. 20

Tabel 7.2 Isi record tabel CabangKdcabang Nmcabang Alamat

B1 BPR Cahaya Insani Karangkajen Kidul No. 12B2 BPR Cahaya Mitra Jl. Tamansiswa No.17B3 BPR Cahaya Madani Mergangsan Lor No. 4

Tabel 7.3 Isi record tabel RekeningNorek Kdcabang Pin Saldo101 B1 111111 250000102 B1 222222 125000103 B3 333333 575000104 B1 444444 300000105 B3 555555 300000106 B1 666666 750000107 B2 777777 525000108 B2 888888 150000109 B1 999999 125000

Tabel 7.4 Isi record tabel Nasabah_rekIdnasabah Norek

1 1042 1033 1053 1064 1014 1075 1025 107

Tabel 7.3 Isi record tabel TransaksiNotransaksi Norek Idnasabah jenistran Tgl Jml

1 105 3 Debit 2003-03-10 200002 103 2 Debit 2003-03-10 150003 101 4 Kredit 2003-03-12 200004 106 3 Debit 2003-03-13 200005 107 5 Kredit 2003-03-13 350006 104 1 Kredit 2003-03-15 150007 101 4 Kredit 2003-03-15 350008 102 5 Debit 2003-03-16 200009 105 3 Kredit 2003-03-18 2000010 107 4 Debit 2003-03-19 3500011 103 2 Debit 2003-03-19 1500012 104 1 Debit 2003-03-19 3500013 107 4 Kredit 2003-03-20 3500014 105 3 Debit 2003-03-21 2000015 104 1 Kredit 2003-03-22 1500016 101 4 Kredit 2003-03-22 2000017 103 2 Debit 2003-03-22 1500018 102 5 Debit 2003-03-25 3500019 107 5 Debit 2003-03-26 20000

Diktat Aplikasi DBMS

Wahju Tjahjo S. 21

20 106 3 Kredit 2003-03-27 3500021 103 2 Kredit 2003-03-28 3500022 105 3 Kredit 2003-03-28 2000023 102 5 Debit 2003-03-28 3500024 104 1 Debit 2003-03-28 1500025 103 2 Debit 2003-03-29 2000026 101 4 Debit 2003-03-29 2000027 103 2 Kredit 2003-03-29 2000028 102 5 Kredit 2003-03-30 3500029 101 4 Debit 2003-03-30 3500030 105 3 Debit 2003-03-30 20000

UPDATEPerintah update digunakan untuk mengubah data/record dari tabel. Berikutformatnya :

Update namatabel set namakolom = “databaru” where [kondisi]

Contoh berikut menjelaskan akan mengupdate data dari tabel cabang padakolom 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 ( , ) berikutformatnya:

Update namatabel set namakolom1=”nilai1”, namakolom2=”nilai2”,……

Where [kondisi]

Contoh:

Update biodata set jur=”TI”, nilai=”B”, angkatan=”2007” wherejk=”L”

Perintah diatas artinya mengubah semua record mahasiswa yang berjeniskelamin laki-laki dimana jurusan=TI, nilai=B dan angkatan=2007.

DELETEPerintah delete digunakan untuk menghapus sebuah/beberapa record sesuaidengan kondisi. Berikut formatnya:

Delete from namatabel where [kondisi]

Anda perlu berhati-hati menggunakan perintah delete, karena tidak akanmengkonfirmasi dalam proses penghapusan. Berikut ini contohnya:

Delete from cabang where namacabang=’Jl. Gejayan’

Diktat Aplikasi DBMS

Wahju Tjahjo S. 22

Bila ingin menghapus semua record dalam tabel, anda tidak perlumenyertakan kondisi pada klausa where.

SELECTDigunakan untuk menampilkan record yang berada dalam tabel sesuaidengan 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’ andalamat=’Jl. Gejayan’

Untuk menampilkan semua record yang ada dalam tabel rekening yangsaldonya lebih dari 350000, perintahnya:

Select * from rekening where saldo > 350000

MANIPULASI DATA DENGAN BANYAK KONDISIUntuk menampilkan data dengan banyak kondisi dapat menggunakanoperator logika yaitu: NOT, AND, OR, BETWEEN, LIKE, IN, SOME, ANY danALL. Untuk operator NOT, AND dan OR mempunyai kondisi logika denganaturan baku. Pelajari tabel-tabel dibawah.

Dalam SQL Server juga dikenal banyak operator seperti halnya pada bahasapemrograman, untuk melakukan manipulasi data cermati tabel-tabel dibawah.

Tabel 7.1 Operator Aritmatika menurut tingkatanOperator Fungsi

* Perkalian/ Pembagian

% Sisa pembagian+ Penjumlahan- Pengurangan

Diktat Aplikasi DBMS

Wahju Tjahjo S. 23

Tabel 7.2 Operator RelasiOperator Keterangan

= Sama dengan> Lebi besar< Lebih kecil

>= Lebih besar atau sama dengan<= Lebih kecil atau sama dengan<> Tidak sama dengan

Tabel 7.3 Oprator LogikaOperator Fungsi Keterangan

NOT atau != atau pembalik nilai. Data dianggap benar bila nilainya salahOR atau || Atau Data dianggap benar bila salah satu bernilai

benarAND atau && Dan Data dianggap benar bila kedua nilai benar

XOR Exclusve or Data dianggap benar bila hanya data pertamabernilai benar

Tabel 7.4 Logika Operator ORKondisi1 Kondisi2 Hasil

False False FalseFalse True TrueTrue False TrueTrue True True

Tabel 7.5 Logika Operator ANDKondisi1 Kondisi2 Hasil

False False FalseFalse True FalseTrue False FalseTrue True True

Tabel 7.6 Logika Operator NOTKondisi Hasil

NOT True FalseNOT False True

Berikut ini perintah untuk menampilkan data dari tabel nasabah yangmemiliki id=2 dan nama nasabah=’Budi’.

Select * from nasabah where id_nasabah=2 andnama_nasabah=’Budi’

Perintah di bawah ini menampilkan data dari tabel nasabah yang berasal darikota=’Solo’ atau nasabah berjenis kelamin=’L’.

Select * from nasabah where kota=’Solo’ or jk=’L’

Diktat Aplikasi DBMS

Wahju Tjahjo S. 24

Perintah di bawah ini akan menampilkan semua record dari tabel rekekingyang 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 nasabahnyamemiliki rekening di kantor cabang yang kode cabangnya di dalam ‘B2’ dan‘B3’.

Select * from rekening where kode_cabang in (‘B1’,’B2’)

ALIASKlausa alias digunakan untuk mengganti nama kolom tabel yang dihasilkandari 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 AGREGATBeberapa fungsi agregat yang didukung oleh SQL Server yaitu: SUM, AVG,COUNT, MIN dan MAX.

1. SUM, digunakan untuk melakukan penjumlahan nilai record padasuatu field. Fungsi ini hanya dapat digunakan pada data bertipeinteger/nuemric.

2. AVG, digunakan untuk mencari nilai rata-rata dari record dalam satufield.

3. COUNT, digunakan untuk menghitung jumlah record yang ada dalamtabel.

4. MIN, digunakan untuk menampilkan nilai record terkecil yang adadalam satu field.

5. MAX, digunakan untuk menampilkan nilia record terbesar yang adadalam 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 rekeningSelect avg(saldo),min(saldo) from rekening

Select count(*) as ‘Jumlah Record’ from nasabah

Diktat Aplikasi DBMS

Wahju Tjahjo S. 25

Select min(saldo) as ‘Saldo Terendah’ from rekeningSelect max(saldo) as ‘Saldo Tertinggi’ from rekeningUntuk menggunakan fungsi agregat secara bersamaan dapat menggunakantanda koma ( , )

Select max(saldo) as ‘Saldo Tertinggi’, min(saldo) as ‘SaldoTerendah’, avg(Saldo) as ‘Saldo Rata-rata’, count(saldo) as‘Jumlah’ from rekening

DISTINCTFungsi ini digunakan untuk menampilkan data hanya satu kali dari data yangberulang dalam penampilannya. Formatnya sebagai berikut:

Select distinct (namafield) from tabelasal

Contoh:

Select * from rekeningSelect distinct(kode_cabang) from rekening

MENGURUTKAN DATAMengurutkan record menggunakan perintah ORDER BY [ASC | DESC].Pengurutan berlaku untuk tipe data string dan integer/numeric. Jika dalampengurutan tidak disebutkan jenis pengurutannya maka decara default diseturut naik. Jika ada klausa WHERE maka order by diletakkan setelahWHERE.

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 RECORDUntuk menampilkan pengelompokan record gunakan GROUP BY. Berikut inicontoh perintah dari GROUP BY.

Select * from nasabah group by (alamat)

Diktat Aplikasi DBMS

Wahju Tjahjo S. 26

PENCARIAN STRINGUntuk pencarian record dengan kriteria tertentu dapat menggunakan klausaLIKE. Klausa LIKE digunakan bersamaan dengan WHERE. Berikut inicontohnya:

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 mengadungsuatu nilai yang disebutkan. Misalnya untuk mencari data pasien yangmengandung nama ‘Andi’ atau mengandung huruf ‘J’. Data yang dicaridengan operator ini hasilnya cukup akurat dan sangat terasa dalammenyajikan informasi atau laporan.

Untuk menggunakan operator ini anda perlu menambahkan tandawildcard ( _ ) atau tanda persen ( % ). Untuk tanda ( _ ) artinya sebuahkarakter 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 dianggapsama. Formatnya dilihat pada Tabel 6.9.

Tabel 7.7 Penggunaan tanda %Bentuk Keterangan%h% Cocok dengan karakter apa saja yang

mengandung karakter h.%h Cocok dengan karakter yang berakhiran h.

Bentuk ini hanya berlaku untuk tipe dataVARCHAR.

h% 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

TUGASTugas terprogram diberikan oleh dosen.

Diktat Aplikasi DBMS

Wahju Tjahjo S. 27

8BACKUP DATABASE

Proses backup dapat dilakukan dengan dua cara yaitu:1. Menggunakan Enterprise Manager2. Menggunakan backup secara manual

MANUALBackup secara manual perlu memperhatikan hal berikut:

1. Anda harus mengetahui lokasi letak file database yang selama inidigunakan. Secara default lokasi berada pada “C:\ProgramFiles\Microsoft SQLServer\MSSQLl\Data\”.

2. Anda harus mengetahui ekstensi file database SQL Server 2000.Ketika membuat database secara otomatis akan diciptakan dua buahjeni file yaitu: .MDF dan .LOG.

Proses backup secara manual sama halnya anda mengkopi-paste file dariWindows Explorer. Dari lokasi database SQL Server anda dapat langsungmengkopi file database .MDF dan .LOG ke drive lain, misal D:\ atau keFlashdisk. Untuk mengembalikan/restore lakukan proses copy-paste sepertihalnya anda mengcopy file.

ENTERPRISE MANAGERProses backup menggunakan Enterprise Manager langkahnya sebagaiberikut:

1. Jalankan Enterprise Manager Start Program Microsoft SQLServer Enterprise Manager.

2. Berikutnya pilih Database. Selanjutnya pilih database yang akan dibackup 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 karenahasil backup akan disimpan dalam bentuk file. Pada bagian tersebutketik nama file backup dan masukkan lokasi folder tujuan backupselanjutnya klik OK.

5. Setelah itu lokasi penyimpanan backup akan terdaftar pada bagianDestination, Backup to klik OK setelah itu proses backup dilakukan.

6. Jika selesai klik OK.

TUGASSebagai latihan lakukan backup database yang sudah anda buat dan amatihasilnya. Proses backup dapat anda lakukan dengan kedua cara yaitumanual dan melalui Enterprise Manager. Amati hasilnya. Fasilitas ini dapatanda manfaatkan untuk meng-backup pekerjaan anda setelah selesai kuliah.Lakukan secara rutin.

Diktat Aplikasi DBMS

Wahju Tjahjo S. 28

9RESTORE DATABASE

Restore database dapat dilakukan dengan dua cara yaitu:1. Menggunakan cara manual2. Menggunakan Enterprise Manager

MANUALCara manual dapat dilakukan seperti anda mengkopi-paste file padaWindows Explorer. Untuk merestore dari folder asal lakukan klik Paste padafolder tujuan semula yaitu: C:\Program Files\Microsoft SQLServer\MSSQL\Data\.

ENTERPRISE MANAGERUntuk me-restore database yang sudah du backup langkahnya sebagaiberikut:

1. Pilih Start Program Microsoft SQL Server EnterpriseManager. 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 databasepilih nama database yang akan direstore. Pada bagian Restore pilihDatabase atau pilih Filegroups or File jika yang di-restore adalah filedan pilih From device jika yang di-restore adalah database/file yangberasal dari CD/DVD/HD. Pada kelompok Parameters bagian Showbackups of database pilih ama backup database yang akan di-resotore. Kemudian pada bagian First backup to restore, pilih filebackup database dari database yang telah dipilih sebelumnya dibagian Show backups of database.Catatan: jika anda pernah melakukan backup lebih dari sekali untukdatabase yang sama, maka bagian tersebut akan terdaftar beberapafile backup database.

4. Setelah semua parameter terisi maka pilih OK, kemudian tungguproses backup dilakukan selesai. Jika proses selesai akan munculpesan konfirmasi lalu klik OK.

TUGASSebagai latihan lakukan proses restore dari database yang sudah andabackup. Amati hasilnya. Fasilitas ini dapat anda manfaatkan untuk me-resotre pekerjaan anda setelah sampai di rumah. Lakukan secara rutin.

Diktat Aplikasi DBMS

Wahju Tjahjo S. 29

10JOIN ANTAR TABEL

Join merupakan sebuah operasi yang digunakan untuk mendapatkan datagabungan dari dua tabel atau lebih. Pada SQL Server terdapat tiga jenis joinyaitu:

Cross Join (cartesian)Menghasilkan kombinasi semua baris yang terdapat dalam tabel, baik yangberpasangan maupun tidak berpasangan. Meskipun join ini tidak pernahdigunakan namun Cross Join merupakan dasar dari join antar tabel.

Inner JoinJoin ini hanya menghasilkan output berupa kombinasi baris-baris yangberpasangan saja, baris lainnya akan dieleminasi dan baris lain yang tidakmempunyai pasangan juga akan disingkirkan.

Outer JoinHampir sama dengan Inner Join perbedaannya terletak pada baris yang tidakmempunyai pasangan akan turut diproses. Outer Join masih dibagi menjaditiga lagi:

1. Left Outer Join2. Right Outer Join3. Full Outer Join

CROSS JOINPerintah 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

Diktat Aplikasi DBMS

Wahju Tjahjo S. 30

INNER JOINDi bawah ini diberikan beberapa contoh Inner Join, cobalah pada QueryAnalyzer dan amai hasilnya. Jika perlu kembangkan perintah-perintahtersebut.

Select * from nasabah, nasabah_rekwhere nasabah.idnasabah = nasabah_rek.idnasabah

select * from rekening, nasabah_rekwhere rekening.norek = nasabah.norek

select a.nama_nasabah, b.kode_cabang, c.norekfrom nasabah a, rekening b, nasabah_rek cwhere a.idnasabah = c.idnasabah and b.norek = c.norek

select * from nasabah a inner join nasabah_rek bon 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.norekfrom nasabah a join nasabah_rek con a.idnasabah = c.idnasabah join rekening b on b.norek =c.norek

OUTER JOINBerikut ini contoh penggunaan Left Outer Join:

Select * from nasabah left join nasabah_rekon nasabah.idnasabah = nasabah_Rek.idnasabah

select a.nama_nasabah, b.kode_cabang, c.norekfrom nasabah a left join nasabah_rek con a.idnasabah = c.idnasabah left join rekening bon b.norek = c.norek

Berikut ini contoh penggunaan Right Outer Join:Select * from nasabah right join nasabah_rekon nasabah.idnasabah = nasabah_rek.idnasabah

Berikut ini contoh penggunaan Full Outer Join:Select * nasabah full join nasabah_rekOn nasabah.idnasabah = nasabah_rek.idnasabah

Berikut ini contoh perintah untuk melihat perbedaan antara Inner Join danOuter Join, contoh:

Select a.norek, b.nama_cabangfrom rekening a inner join cabang_bank bon a.kode_cabang = b.Kode_cabang

Diktat Aplikasi DBMS

Wahju Tjahjo S. 31

Contoh lainnya:Select a.norek, b.nama_cabang from rekening aleft outer join cabang_bank b on a.kode_cabang = b.kode.cabang

Select a.norek, b.nama_cabang from rekening aright outer join cabang_bank b on a.kode_cabang =b.kode.cabang

Select a.norek, b.nama_cabang from rekening afull outer join cabang_bank b on a.kode_cabang = b.kode.cabang

secara sederhana dapat disimpulkan bahwa Cross Join merupakan jenis joinyang tidak memakai persyaratan. Sementara jenis join lainnya memerlukanpersyaratan. 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 InnerJoin dan Outer Join hanya dapt dilakukan pada tabel yang memiliki relasisaja. Sementara Cross Join dapat dilakukan pada sembarang/semua tabel.

TUGASSebelum menerima tugas dari dosen pelajari sekali lagi Bab 10 Join AntarTabel diatas, agar lebih mudah dalam memahami dan menerima tugas yangdiberikan.

Nama Tabel BukuNama Field Tipe Data Lebar Keterangan

Idbuku Varchar 2 Nomor identitas bukuIdterbit Varchar 2 Nomor identitas penerbitJudul Varchar 100 Judul bukuPenulis Varchar 30 Nama penulis bukuHarga Integer 6 Harga satuan buku

Nama Tabel PenerbitNama Field Tipe Data Lebar Keterangan

Idterbit Varchar 2 Nomor identitas penerbitNamaterbit Varchar 50 nama penerbitAlamat Varchar 100 Alamat penerbit

Nama Tabel JualNama Field Tipe Data Lebar Keterangan

Idbuku Varchar 2 Nomor identitas bukuNota Varchar 5 Nomor nota penjualanTgljual Date 8 Tanggal penjualan bukuQty Integer 2 Jumlah buku yang terjual

Diktat Aplikasi DBMS

Wahju Tjahjo S. 32

11VIEW

View adalah sebuah virtual tabel/tabel sementara yang isinya diciptakandengan perintah SQL. View merupakan cara alternatif untuk melihat data darisatu atau banyak tabel di dalam database.

MENCIPTAKAN VIEWFormat dari perintah view yaitu:

Create view namaview (daftarfield) as ekspresiselect

Sedangkan untuk melihat hasil dari view yang telah dibuat gunakan perintahberikut:

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 akanmenampilkan data nasabah dengan alamat Jl. Tamansiswa.

Create view viewtamsis as select * from nasabah where alamatlike ‘Jl. Tamansiswa%’

Untuk melihat hasilnya ketik perintah berikut:

Select * from viewtamsis

Diktat Aplikasi DBMS

Wahju Tjahjo S. 33

Dibawah ini contoh membuat view dengan nama viewcabang yangmenampilkan data nama dan alamat cabang. Kemudian lihat hasilnyadengan perintah SELECT.

Create view viewcabang as select nama_cabang, alamat_cabangfrom cabang_bank

View juga dapat diciptakan yang berasal dari banyak tabel, berikut inicontohnya:

Create view viewtransaksi asselect b.norek, a.nama_nasabah, a.alamat_nasabahfrom nasabah a, nasabah_rek b, rekening cwhere b.norek = c.norek and a.idnasabah = b.idnasabah

Perintah di atas dapat di tulis seperti di bawah dan hasilnya sama. Pahamibaik-baik.

create view viewnasabahrek asselect b.norek, a.nama_nasabah, a.alamat_nasabahfrom nasabah a join nasabah_rek bon a.idnasabah = b.idnasabahjoin 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 databaseperbankan yaitu:

1. Viewtamsis2. Viewcabang3. Viewtransaksi4. 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 danmenampilkan informasi yang sesuai dengan keinginan anda.

UPDATE VIEWPerintah untuk mengubah view hampir sama dengan mengubah tabel yaitumenggunakan perintah ALTER. Contoh berikut ini dapat anda coba:

Alter view viewtransaksiSelect nama_nasabah, alamat_nasabah, c.saldoFrom nasabah a, nasabah_rek b, rekening cWhere b.nore = c.norek and a.idnasabah = b.idnasabah

Diktat Aplikasi DBMS

Wahju Tjahjo S. 34

Untuk melihat hasilnya ketikkan perintah berikut:

Select * from viewtransaksi

MENGHAPUS VIEWPerintah dasar menghapus view:

Drop namaview1, namaview2, ……….

Contoh:Drop viewtransaksi

TUGASTugas akan diberikan oleh dosen dengan tema membuat view yang berasaldari materi Bab 10

Diktat Aplikasi DBMS

Wahju Tjahjo S. 35

12STORE PROCEDURE

Store procedure merupakan sekumpulan perintah SQL yang tersimpandalam sebuah nama dan diproses dalam satu kesatuan. Store proceduremirip dengan procedure atau function pada bahasa pemrograman yangdapat dieksekusi tersendiri. Kemiripan tersebut antara lain:

1. Dapat menerima parameter sebagai input dan mengembalikan nilaidalam bentuk parameter output kepada yang memanggilnya.

2. Mengandung sekumpulan perintah program yang melakukan operasidi dalam dataabase, termasuk memanggil prosedur lainnya.

3. Mengembalikan suatu nilai pada pemanggilnya untukmengindikasikan kesuksesan atau kegagalan prosedur dan alasanmengapa 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 daribahasa pemrograman, seperti Delphi, VFP, PHP, JAVA atau VB.

2. Store procedure dapat dimodifikasi tanpa harus mengubah kodeprogram (Delphi, JAVA, VFP atau PHP) yang memanggil storeprocedure 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 mengirimperintah SQL yang berpuluh-puluh baris.

5. Dapat digunakan untuk mekanisme keamanan. Artinya user dapatdiberi hak menjalankan store procedure walaupun user tersebut tidakmemiliki 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,…….……. Outputas perintah_SQL

Diktat Aplikasi DBMS

Wahju Tjahjo S. 36

STORE PROCEDURE TANPA PARAMETERBerikut ini contoh menciptakan store procedure tanpa parameter:

Create procedure sp_nasabahAsselect 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 PARAMETERBerikut ini contoh menciptakan store prosedure dengan parameterberdasarkan parameter masukan kodecabang.

Create procedure sp_transaksi@kodecabang varchar(25)asselect nasabah.nama_nasabah, cabang_bank.nama_cabangfrom nasabah, cabang_bank, nasabah_rekwhere nasabah.idnasabah = nasabah_rek.idnasabahand rekening.norek = nasabah_Rek.norekand cabang_bank.kodecabang = @kodecabang

Perintah berikut ini digunakan untuk menampilkan semua nasabah yangmemiliki rekening di cabang ‘BPR Cahaya Mitra’. Parameter dari@kodecabang adalah ‘BPR Cahaya Mitra’. Parameter tersebut dapat andaganti sesuai dengan nama cabang keinginan.

Exec sp_transaksi ‘BPR Cahaya Mitra’

Berikut ini contoh perintah membuat store procedure dimana jika lupamengisi parameternya sudah ditentukan, namun jika diisikan parameter laintetap dapat dieksekusi sesuai dengan parameter yang dimasukkan.

Create procedure sp_trans@kodecabang varchar(25) = ‘BPR Cahaya Madani’asselect nasabah.nama_nasabah, cabang_bank.nama_cabangfrom nasabah, cabang_bank, nasabah_rekwhere nasabah.idnasabah = nasabah_rek.idnasabahand rekening.norek = nasabah_Rek.norekand rekening.kode_cabang = cabang_bank.kode_cabangand cabang_bank.kodecabang = @kodecabang

Untuk melihat hasilnya eksekusi perintah berikut:Exec sp_trans