Kamis, 28 Januari 2010

Backup dan Recovery

Data dan database merupakan komponen terpenting dalam suatu sistem informasi manajemen, disamping tentu saja aplikasi untuk sistem informasi harus tersedia, keduanya saling tergantung. Suatu aplikasi sistem informasi manajemen tidak ada gunanya jika tidak mempunyai data yang lengkap, demikian juga sebaliknya jika punya data tetapi tidak mempunyai aplikasi yang digunakan untuk mengelolanya sehingga tidak dapat dihasilkan suatu laporan, statistik atau pun informasi.




BACK UP DATA
Backup data merupakan salah satu kegitan yang harus dilakukan oleh pengelola database untuk menyalin system ,data dan aplikasi .
Backup data harus dilakukan untuk menjaga jangan sampai terjadi kerusakan system dari luar ataupun dari dalam system,baik yang disengaja atupun tidak.
Proses backup data dilakukan secara rutin sesuai jadwal yang sudah ditentukan

Restore Data
Restore adalah proses mengembalikan backup kedalam system.
Restore dilakukan untuk mengembalikan keadaan system kembali pada keadaan semula ,keadaan terakhir pada saat operasional ,sebelum terjadi kerusakan system .Pada proses ini akan dilakukan pengembalian data baik struktur maupun isi dari database.
Skenario Kegagalan dan Resiko Backup
Kegagalan sebuah system bisa juga disebabkan oleh banyak faktor,salah satunya faktor bencana alam yang tidak pernah diduga datangnya sehingga kegagalan system harus diperhitungkan dengan pembangunan system backup harian dengan media backup yang disimpan ditempat berbeda.

Metode Backup Dan Recovery
Proses backup data sangat penting bagi keamanan data agar terjaga dengan baik terutama saat terjadi crash pada system database yang disebabkan oleh kerusakan fisik hardware atau faktor alam.
Banyak cara untuk melakukan backup data ,dibawah ini metode yang bisa dilakukan pada saat akan melakukan backup data:
• Backup Logika vs backup physic
• Backup Online vs backup offline
• Backup local vs backup remote
• Backup penuh vs backup bertambah sebagian
• Point in time recovery
• Backup scheduling,compression dan encryption
• Table Maintenance

Metoda SQL Server Backup and Recovery
SQL server mengijinkan 2 jenis backup yaitu :
• Backup Lengkap : merupakan gambaran lengkap dari database.
• Backup diferensial : merupakan salinan perubahan yang dilakukan pada database semenjak proses backup terakhir dilakukan.

Dengan kedua metoda backup ini anda bisa membuat mekanisme backup yang aman untuk mengoptimalkan ruang dan waktu akses disk.
Sebagai contoh, kita bisa melakukan backup lengkap dipagi hari dan backup diferensial pada siang hari dan diakhir hari.


Membuat Backup denga Enterprise Manager
Untuk melakukan backup dengan Enterprise Manager,klik kanan pada folder database yang akan dibackup untuk mengaktifkan menu shortcut.
Kemudian,pilih All Task Backup Database


Pilihlah database yang akan dibackup ,kemudian pilih data yang akan dibackup ,sebagian atau sebagian. Untuk menjawab pertanyaan ini jika anda baru pertama kali backup maka gunakan database complete tapi jika membackup yang berikutnya gunakan database differentian.

Pilihlah tujuan file yang akan anda simpan,misalnya :
C:\Program Files\Microsoft SQL Server\MSSQL\namafile


Merestore Data Pada SQL Server
Misalkan suatu saat server anda mengalami kerusakan parah akibat bencana alam atau disebabkan oleh hilangnya fisik dari server maka jika anda masih mempunyai backup dari databse hal itu bukan hal yang susah ,anda tinggal lakukan proses restorasi data semua akan mudah teratasi.
Berikut ini langkah-langkah restorasi data yang telah dibackup ke database yang baru misalnya database dblat2


Klik kanan database yang menjadi tujuan tempat restor data kemudian pilih All Task Restore Database





Pilih Add untuk memilih source nya.
Trigger SQL Server

Salah satu keistimewaan dari SQL Server adalah mekanisme kontrol yang bernama database Trigger. Trigger sama seperti sekumpulan perintah Transact-SQL yang secara otomatis dijalankan apabila ada perintah INSERT, DELETE, atau UPDATE yang dijalankan di dalam tabel.
Aplikasi utama dari trigger adalah pembuatan metode validasi dan batasan akses ke dalam database, seperti misalnya perintah perintah keamanan. Ini merupakan cara lain selain dengan menggunakan aplikasi kita juga bisa melakukan kontrol langsung dengan menggunakan trigger yang diletakkan pada tabel yang bersangkutan.
Perintah yang dapat dilakukan Trigger adalah :
􀂃Membuat isi dari kolom yang diambil dari kolom yang lain.
􀂃Membuat mekanisme validasi yang mencakup query pada banyak tabel.
􀂃Membuat log untuk mendaftarkan penggunaan tabel.
􀂃Meng-update tabel tabel lain apabila ada penambahan atau perubahan lain di dalam tabel yang sedang aktif.

Komponen dari Trigger
Trigger dibentuk dari dua bagian :
 Perintah SQL untuk mengaktifkan trigger. Perintah INSERT, DELETE dan UPDATE bisa mengaktifkan trigger. Trigger yang sama bisa diaktifkan apabila ada lebih dari satu aksi yang terjadi. Dengan kata lain trigger bisa diaktifkan apabila ada perintah insert, delete atau update dijalankan.
Batasan Trigger
Dibawah ini adalah batasan dan pertimbangan dalam menggunakan trigger :
 Trigger bisa menjalankan perintah yang terkandung di dalam badannya atau mengaktifkan prosedur dan trigger lain untuk menjalankan tugas tertentu.
 Setiap perintah SET bisa ditentukan di dalam trigger. Perintah ini akan tetap aktif selama ekseksi.
 Kita tidak bisa membuat trigger untuk view. Tetapi apabila view digunakan, trigger dari table dasar biasanya akan diaktifkan.
 Perintah Truncate Table tidak bisa dihentikan oleh trigger.
 Trigger tidak bisa menjalankan perintah Transact-SQL yang merupakan perintah DDL.

Membuat Trigger
Trigger bisa dibuat dengan 2 cara yaitu :
1. Menggunakan Query analizer
CREATE TRIGGER [TRIGGER NAME] ON [NAMA_TABEL]
FOR INSERT, UPDATE, DELETE
AS PERINTAH
Ket :
ON menunjukan tabel atau skema dimana trigger dibuat.
FOR harus diikuti oleh jenis perintah yang akan dijalankan.
AS memulai badan trigger dengan perintah yang akan dijalankan.


Berikut ini contoh pembuatan trigger misalnya kita mempunyai tabel dengan nama tmhs dengan struktur sebagai berikut :

Gambar : Struktur Tabel TMhs

Buatlah tabel TMhs2 yang mempunyai struktur yang sama dengan TMhs.
Misalkan kita akan membuat trigger menampilkan tulisan saat program melakukan input


2. Menggunakan Enterprise Manager
Dengan menggunakan Enterprise manager pembuatan Trigger sangatlah mudah. Berikut ini cara membuat trigger menampilkan tulisan pada saat melakukan input :

Gambar tersebut : Menampilkan Trigger

Gambar : Menuliskan perintah Trigger
Tabel Inserted dan Deleted
Apabila tabel dijalankan SQL server akan membuat dua buah tabel sementara yang hanya muncul apabila trigger sedang dijalankan, tabel yang pertama adalah tabel inserted dan yang kedua adalah tabel deleted.
Apabila perintah INSERT atau UPDATE dijalankan, record yang dibuat atau diubah di copy ke dalam tabel inserted. Apabila perintah DELETE dijalankan, baris baris yang dihapus di copy ke dalam tabel deleted.

Nama Trigger
Contoh :

Gambar : Menampilkan data yang diedit

Membuat Replikasi Baris dengan Trigger
Dengan menggunakan tabel sementara dari trigger, kita bisa membuat sebuah mekanisme untuk melakukan replikasi cepat dari satu tabel ke tabel yang lainnya. Kita bisa menyisipkan, mengubah atau menghapus record pada tabel lain pada saat operasi sedang dilakukan pada tabel yang sedang aktif.
Berikut ini contoh membuat tiga buah trigger untuk replikasi atau menggandakan operasi dari tabel Tmhs ke dalam tabel Tmhs2.

Replikasi Insert
Nama trigger : insertrep
Create Trigger insertrep on tmhs
For insert
As
Insert into Tmhs2
Select * from inserted
Pada trigger ini, kita menggunakan Insert into dan select untuk mendapatkan field field dari tabel inserted

Replikasi Delete
Nama trigger : delrep
Create Trigger delrep on Tmhs
For Delete
As
Delete from tmhs2
Where tmhs2.nim in (select nim from deleted)

Kita menggunakan perintah Delete From dan Where untuk menyaring record yang akan dihapus dengan mencarinya pada tabel deleted, yang dalam hal ini hanya mengandung record yang baru saja dihapus

Replikasi Update
Nama trigger : uprep
Create Trigger uprep on Tmhs
For Update
As
Update Tmhs2
Set Nama=(Select Nama from Inserted),
Alamat=(Select Alamat from Inserted)
Where Tmhs2.nim in (Select nim from Inserted)
Trigger ini mereplikasi proses update yang telah dilakukan pada tmhs, didalamnya mengupdate colom nama dan alamat dari Tmhs2 dengan isi dari colom nama dan alamat dari tabel inserted. Klause Where juga digunakan untuk mengupdate record yang kodenya ditemukan pada tabel inserted saja.
Pada perintah replikasi update dan juga update biasa sangat dilarang untuk mengupdate primary key.
Procedure SQL Server

Pendahuluan
Procedure pada dasarnya adalah sebuah program yang ditulis dalam bahasa Transact-SQL yang disimpan di dalam database SQL Server. Procedure dibentuk dari perintah, variabel serta alur logik yang terdapat pada SQL. Procedure bisa dijalankan secara manual ataupun dijalankan oleh program lain.

Jenis jenis Prosedur
Prosedur bisa dibagi bagi ke dalam prosedur lokal yang disimpan di dalam server lokal, atau prosedur remote yang disimpan didalam server yang lain. Prosedur juga bisa didefiniskan oleh user atau system procedures yang merupakan bagian dari server.
Komponen komponen prosedur :
􀀹Parameter
Prosedur bisa menyimpan 255 parameter dan sebuah kode hasil, parameter ini digunakan untuk komunikasi antara prosedur dan dunia luar, apabila kita menjalankan prosedur maka nilai akan dikirim dalam bentuk parameter.
􀀹Nama dan data tipe
Parameter harus memiliki nama yang eklusif dan diawali dengan simbol @. Kita juga diharuskan menyertakan tipe data
Contoh
Create procedure test1
@kode varchar(8),
@nilai int
Pada prosedur tersebut terdapat dua parameter yaitu kode dan nilai yang harus disertakan pada saat menjalankan prosedur.
􀀹Arah dari paremeter
Semua parameter yang dibuat dianggap sebagai parameter input, artinya mereka menerima data dari program yang menjalankan prosedur. Dengan menambahkan kata OUTPUT ke dalam definisi parameter, prosedure bisa mengembalikan nilai dari parameter ke dalam program yang memanggilnya

.

Cara membuat prosedur dengan Enterprise manager :
Klik kanan Strore Procedure untuk menampilkan Shorcut

Tulislah perintah prosedure kemudian check Syntax

Kemudian klick ok maka prosedur telah dibuat.
Cara membuat prosedure dengan Query Analizer
Untuk menjalankan query analizer langkah langkahnya adalah :
1. Koneksikan dengan server

2. Pilih database yang akan digunakan


Jika kita lupa database yang digunakan maka perintah perintah SQL tidak akan menghasilkan hasil yang diinginkan.

3. Ketikkan perintah transact-SQL

Ketikkan perintah pembuatan procedure dan dieksekusi maka prosedur tersebut akan ada di Stored Procedure
Prosedur yang dibuat oleh user dibagi menjadi dua yaitu :
􀂃Prosedur tanpa parameter

Misalkan ada sebuah tabel dengan rancangan :

Contoh prosedur tanpa parameter

Contoh 1 :
Create procedure proc_Tampil_MHS
As
Select * from Tmhs
Cara menjalankannya :
Exec proc_Tampil_MHS
Contoh 2 :
Create procedure proc_Tampil_Matakuliah
As
Select * from TMk
Cara menjalankannya :
Exec proc_Tampil_Matakuliah

􀂃Prosedur dengan parameter
Misalkan ada sebuah tabel dengan rancangan :

Contoh prosedur dengan parameter

Contoh 1 : Dengan nama field
Create procedure Proc_input_mhs
@nim varchar(10),
@nama varchar(20),
@alamat varchar(50)
As
Insert into TMhs(nim,nama,alamat) values(@nim,@nama,@alamat)
Cara menjalankan :
Exec proc_input_mhs ‘2000’,’dewi’,’kuningan’

Contoh 2 : Tanpa field
Create procedure Proc_input_Matakuliah
@kode varchar(3),
@namamk varchar(20),
@sks int
As
Insert into Tmk values(@kode,@namamk,@sks)
Cara menjalankan :
Exec Proc_input_matakuliah ‘M01’,’Perancangan Basis data’, 3
Contoh 3 : Edit data Mahasiswa
Create Procedure proc_edit_mhs
@nim varchar(10),
@nama varchar(20),
@alamat varchar(50)
As
Update tmhs set nama=@nama,alamat=@alamat where nim=@nim
Cara menjalankan :
Exec proc_edit_mhs ‘2001’,’Ayu’,’Cirebon’

Contoh 4 : Hapus data mahasiswa
Create Procedure proc_hapus_mhs
@nim varchar(10)
As
Delete from tmhs where nim=@nim
Cara Menjalankan :
Exec proc_hapus_mhs ‘2001’
Penggunaan prosedur ini sangat memudahkan programer dan DBA dalam mengembangkan dan menyederhanakan tugas tugas, juga prosedur ini dapat digunakan juga sebagai FAQ dari permintaan user.
View SQL Server

View adalah tabel virtual yang isinya didefinisikan oleh query database. View bukanlah sebuah tabel fisik, tetapi sekumpulan instruksi yang menghasilkan sekumpulan data.
Penggunaan view sangat bermanfaat apabila kita ingin memfokuskan diri pada informasi tertentu yang terdapat dalam basis data. Bayangkan sebuah database perusahaan yang diakses beberapa user pada departemen berbeda. Informasi yang dibutuhkan oleh setiap departemen pastilah berbeda. Dengan menggunakan view dapat menyediakan
informasi yang dibutuhkan saja, baik berasal dari satu tabel atau lebih dalam database tersebut.
View mengijinkan banyak user yang berbeda melihat informasi yang sama dengan fokus yang berbeda. View mengijinkan kombinasi informasi untuk memenuhi kebutuhan user tertentu dan bahkan bisa diekspor ke aplikasi lain
Membuat View
View dapat dibuat dengan perintah Transact-SQL yaitu Create view atau dengan menggunakan program penyunting view yaitu enterprise manager.
Hal yang harus diingat pada saat membuat view :
1. View hanya bisa dibuat di dalam database yang sedang digunakan.
2. Anda tidak bisa menghubungkan trigger, aturan kedalam view.
3. View bisa menggunakan data dari view lain.
4. Kita tidak bisa membuat indeks untuk view.
5. Jika ada lebih dari satu kolom view yang memiliki nama yang sama, kolom tersebut harus diberi alias.
6. Kolom didalam view sama dengan kolom ditabel asal.
Untuk membuat view kita dapat meng klick kanan view

Setelah tampil menu view kita dapat menambahkan tabel yang kita butuhkan

Misalnya akan menampilkan idtransaksi,nonota dan kode barang dari tabel transaksi tersebut maka pilih dari tabel Ttransaksi idtrans,kdbrg,no_nota

Untuk mengecek hasilnya klik tanda seru merah ! atau run maka akan terlihat idtransaksi,nonota dan kodebarang.
Untuk menyimpan view bisa klik save dan beri nama view misalnya view_nim_nama
PERINTAH DML(DATA MANIPULATION LANGUAGE) Pada MS.ACCES Dengan QUERY

1.Select
Perintah Select mengambil atau menampilkan data dari tabel tanpa mempengaruhi atau mengubah data yang disimpan.
- Klik Queries,create query in design view,klik sql view,misal untuk menampilkan semua data mahasiswa,ketik:
Select * from TMhs;
Hasilnya:

Select pada lebih dari 1 Tabel
Misal:Tampilkan nim,nama,hurufmutu,namamk,
Ketikan:
SELECT TMhs.nim,nama,TNilai.hurufmutu,TMk.namamk from TMhs,TMk,Tnilai where TMhs.nim=TNilai.nim and TMk.kode=Tnilai.kode;
Hasilnya:

2.Update
Kallimat Update memungkinkan kita memodifikasi/Merubah satu kolom nilai atau lebih untuk data tabel yang sudah ada.
Langkah- langkah sama seperti perintah select,hanya perintah yang di ketikkan adalah:
Misalnya merubah jurusan,maka
Update TMhs set prodi=’MI’ where nim=’2001’

3.Delete
Perintah Delete untuk menghapus satu record atau lebih dari database.
Misalnya ingin menghapus data mahasiswa yang nmanya Budi,
Delete from TMhs where nama='Budi';

4.Insert
Insert untuk menambah record pada tabel,Contoh: menambah data mahasiswa baru
Insert into TMhs(nim,nama,prodi,jk)
Values (‘2004’,’Tony’,’TI’,’L’)

Rabu, 27 Januari 2010

Klik semua kotak,create,
 Drag foreignkey pada tabel pada primarykey di tabel yang lain.