Diktat Aplikasi DBMS

(1)

DIKTAT KULIAH

APLIKASI DATABASE MANAJEMEN SISTEM

Wahju Tjahjo Saputro

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN ILMU KOMPUTER

EL-RAHMA

YOGYAKARTA 2013


(2)

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.


(3)

MENGGUNAKAN SQL QUERY ANALYZER

Fitur ini menggunakan Transact SQL untuk mengelola database. Perintah-perintah Transact SQL merupakan pengembangan dari penrintah-Perintah-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 perintah-perintah Transact SQL untuk mengelola database.


(4)

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


(5)

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.


(6)

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

*/


(7)

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 GroupNew SQL Server Registration.

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


(8)

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.


(9)

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.


(10)

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 ke-4 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. = > < >= <= <> != !> !<


(11)

5. ALL, ANY, BETWEEN, IN LIKE, OR dan SOME 6. = (penugasan)

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 files\microsoft sql

server\mssql\data\dbdat.mdf’, size=10,

maxsize=50, filegrowth=2) log on

(name=dblog,

filename=’c:\program files\microsoft sql

server\mssql\data\dblog.ldf’, size=3,

maxsize=20, filegrowth=1)

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:


(12)

Create database praktek

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


(13)

anda buat dapat diamati pada jendela Query Analyzer atau Windows Explorer. Langkah berikutnya hapuslah database yang anda buat.

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 agama check (ag

in(‘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 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:


(14)

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 Type Width Description

Kdbag Int - PK, Not Null

Nmbag Varchar 20 Not Null, Unique

Nama Tabel: Kota

Nama Field Type Width Description

Kdkota Int - PK, Not Null

Nmkota Varchar 15 Not Null

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


(15)

index khusus untuk tabel dan field-fieldnya. Berikut jenis constraint yang didukung SQL Server 2000:

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 Type Width Description

Norek Int - PK, Not Null

Kdcabang Char 5 FK

Pin Char (6) Not Null

Saldo Int -

-Nama Tabel: nasabah_rek

Nama Field Type Width Description

Idnasabah Int - FK

Norek Int - FK

Nama Tabel: transaksi

Nama Field Type Width Description

Notransaksi Int - PK, Not Null

Norek Int - FK

Idnasabah Int - FK

Jenistran Char 10 Not Null

Tgl Datetime - Not Null

Jml Int - Not Null

Tips:

Untuk mengeksekusi beberapa perintah SQL sekaligus tambahkan perintah GO pada bagian akhir perintah.

Create table rekening


(16)

on update cascade, 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 Type Width Description

Kdkar Int - PK, Identity, Not Null

Nmkar Varchar 40 Not Null

Kdbag Int - FK dari tabel bagian, Not Null

Gender Char 1 Not Null, Default Null

Tgllahir Datatime - Not Null

Mulaikerja Datetime - Not Null

Alamat Varchar 60

Kdkota Int - FK dari tabel kota

Gaji Numeric 7,2 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 cekagama check (agama in(‘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 constraint Unique maka perintahnya:


(17)

Alter column, digunakan untuk mengubah struktur field pada suatu tabel. Misal anda ingin mengubah lebar field nama(60) menjadi nama(100). Contoh:

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.


(18)

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.


(19)

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.

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 values (‘KT01’,’Kartu Mainan’,’Buah’,15000)

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>.

Tabel 7.1 Isi record tabel Nasabah

Idnasabah Nmnasabah Alamat

1 Ali Wardana Karangkajen Kidul No. 72

2 Susiana Mergangsan Lor RT 02 No. 24

3 Jaka Nugraha Jl. Tamansiswa No. 142

4 Fitriana Kusumawati Jl. Tamansiswa No. 32

5 Nilawati Jl. Diponegoro Kranggan RT 04

6 Mulawarman Karangkajen Kidul RT. 18


(20)

9 Laila Mirawardani Jl. Tamansiswa No. 24

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

Select * from nasabah

Tabel 7.2 Isi record tabel Cabang

Kdcabang Nmcabang Alamat

B1 BPR Cahaya Insani Karangkajen Kidul No. 12

B2 BPR Cahaya Mitra Jl. Tamansiswa No.17

B3 BPR Cahaya Madani Mergangsan Lor No. 4

Tabel 7.3 Isi record tabel Rekening Norek Kdcabang Pin Saldo

101 B1 111111 250000

102 B1 222222 125000

103 B3 333333 575000

104 B1 444444 300000

105 B3 555555 300000

106 B1 666666 750000

107 B2 777777 525000

108 B2 888888 150000

109 B1 999999 125000

Tabel 7.4 Isi record tabel Nasabah_rek Idnasabah Norek 1 104 2 103 3 105 3 106 4 101 4 107 5 102 5 107

Tabel 7.3 Isi record tabel Transaksi

Notransaksi Norek Idnasabah jenistran Tgl Jml

1 105 3 Debit 2003-03-10 20000 2 103 2 Debit 2003-03-10 15000 3 101 4 Kredit 2003-03-12 20000 4 106 3 Debit 2003-03-13 20000 5 107 5 Kredit 2003-03-13 35000 6 104 1 Kredit 2003-03-15 15000 7 101 4 Kredit 2003-03-15 35000 8 102 5 Debit 2003-03-16 20000 9 105 3 Kredit 2003-03-18 20000 10 107 4 Debit 2003-03-19 35000


(21)

11 103 2 Debit 2003-03-19 15000 12 104 1 Debit 2003-03-19 35000 13 107 4 Kredit 2003-03-20 35000 14 105 3 Debit 2003-03-21 20000 15 104 1 Kredit 2003-03-22 15000 16 101 4 Kredit 2003-03-22 20000 17 103 2 Debit 2003-03-22 15000 18 102 5 Debit 2003-03-25 35000 19 107 5 Debit 2003-03-26 20000 20 106 3 Kredit 2003-03-27 35000 21 103 2 Kredit 2003-03-28 35000 22 105 3 Kredit 2003-03-28 20000 23 102 5 Debit 2003-03-28 35000 24 104 1 Debit 2003-03-28 15000 25 103 2 Debit 2003-03-29 20000 26 101 4 Debit 2003-03-29 20000 27 103 2 Kredit 2003-03-29 20000 28 102 5 Kredit 2003-03-30 35000 29 101 4 Debit 2003-03-30 35000 30 105 3 Debit 2003-03-30 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:


(22)

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

Delete from cabang where namacabang=’Jl. Gejayan’

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 Fungsi

* Perkalian / Pembagian % Sisa pembagian


(23)

+ Penjumlahan - Pengurangan

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 Fungsi Keterangan

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

benar

AND atau && Dan Data dianggap benar bila kedua nilai benar XOR Exclusve or Data dianggap benar bila hanya data pertama

bernilai benar Tabel 7.4 Logika Operator OR Kondisi1 Kondisi2 Hasil

False False False False True True True False True

True True True

Tabel 7.5 Logika Operator AND Kondisi1 Kondisi2 Hasil False False False False True False True False False

True True True

Tabel 7.6 Logika Operator NOT Kondisi Hasil NOT True False NOT False True

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

Select * from nasabah where id_nasabah=2 and nama_nasabah=’Budi’

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


(24)

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

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


(25)

Select count(*) as ‘Jumlah Record’ from nasabah 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.


(26)

Select * from nasabah group by (alamat) 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 Keterangan

%h% Cocok dengan karakter apa saja yang mengandung karakter h.

%h Cocok dengan karakter yang berakhiran h. Bentuk ini hanya berlaku untuk tipe data VARCHAR.

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 TUGAS


(27)

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


(28)

Lakukan secara rutin.

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 di-resotore. 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.


(29)

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

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


(30)

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:


(31)

Select a.norek, b.nama_cabang

from rekening a inner join cabang_bank b on a.kode_cabang = b.Kode_cabang

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 Tipe Data Lebar Keterangan Idbuku Varchar 2 Nomor identitas buku Idterbit Varchar 2 Nomor identitas penerbit

Judul Varchar 100 Judul buku

Penulis Varchar 30 Nama penulis buku

Harga Integer 6 Harga satuan buku

Nama Tabel Penerbit

Nama Field Tipe Data Lebar Keterangan Idterbit Varchar 2 Nomor identitas penerbit Namaterbit Varchar 50 nama penerbit

Alamat Varchar 100 Alamat penerbit

Nama Tabel Jual


(32)

Nota Varchar 5 Nomor nota penjualan

Tgljual Date 8 Tanggal penjualan buku

Qty Integer 2 Jumlah buku yang terjual

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


(33)

Untuk melihat hasilnya ketik perintah berikut: Select * from viewtamsis

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:


(34)

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


(35)

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


(36)

@parameter2 tipedata, …….

……. Output as perintah_SQL

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


(37)

and rekening.kode_cabang = cabang_bank.kode_cabang and cabang_bank.kodecabang = @kodecabang

Untuk melihat hasilnya eksekusi perintah berikut: Exec sp_trans


(1)

Nota Varchar 5 Nomor nota penjualan Tgljual Date 8 Tanggal penjualan buku Qty Integer 2 Jumlah buku yang terjual

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


(2)

Untuk melihat hasilnya ketik perintah berikut:

Select * from viewtamsis

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:


(3)

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

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


(4)

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:


(5)

@parameter2 tipedata, …….

……. Output as perintah_SQL

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


(6)

and rekening.kode_cabang = cabang_bank.kode_cabang and cabang_bank.kodecabang = @kodecabang

Untuk melihat hasilnya eksekusi perintah berikut: