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

Diktat Dbms

Embed Size (px)

DESCRIPTION

diktat

Citation preview

  • 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. = > < >= ! 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

  • 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 a nd 400000

    Berikut ini akan ditampilkan record dari tabel rekening yang nasabahnyamemiliki rekening di kantor cabang yang kode cabangnya di dalam B2 danB3.

    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 Le ngkap ,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 rekening

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

    Select max(saldo) as Saldo Tertinggi from rekening

    Untuk 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(s aldo) 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_nasaba h desc

    Select * from nasabah_rek order by norek desc, id_n asabah

    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 %jon o%

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

    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 TasksRestore 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.f ield1, ..

    contoh:

    select * from nasabah, cabang_bank

    select * from nasabah.idnasabah, nasabah.nama_nasab ah,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.nor ek

    select * from nasabah a inner join nasabah_rek bon a.idnasabah = b.idnasabah

    select * from rekening a join nasabah_rek b on a.no rek =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.n orek =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_rek

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

    on 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.k ode.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.ko de.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.KunciFore ign

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

    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 whe re 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, alama t_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_nasabah

    from nasabah a, nasabah_rek b, rekening cwhere b.norek = c.norek and a.idnasabah = b.idnasab ah

    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 b

    on 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 nam e 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.idnasaba h

  • 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

    mailto:@parameter1mailto:@parameter2

  • Diktat Aplikasi DBMS

    Wahju Tjahjo S. 36

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

    Create procedure sp_nasabahAs

    select idnasabah as ID ,nama_nasabah as Nama Lengka p ,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.idnasabah

    and 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 Madaniasselect nasabah.nama_nasabah, cabang_bank.nama_cabangfrom nasabah, cabang_bank, nasabah_rekwhere nasabah.idnasabah = nasabah_rek.idnasabah

    and 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

    mailto:@kodecabangmailto:@kodecabangmailto:@kodecabangmailto:@kodecabangmailto:@kodecabang