Selasa, 16 Juni 2009

Membuat Database dengan Menggunakan SQL Server 2000

Database
I. Konsep Database dan Tabel
Database merupakan sekumpulan data yang saling terintegrasi satu sama lain dan terorganisasi berdasarkan sebuah skema atau struktur tertentu dan tersimpan pada sebuah hardware komputer. Database terdiri dari beberapa tabel yang saling terorganisasi. Tabel digunakan untuk menyimpan data dan terdiri dari baris dan kolom. Setiap pemakian atau user yang diberikan wewenang saja yang dapat melakukan akses terhadap data tersebut.

NIM Nama TGL Lahir Alamat
03.01.1123 Ruth Damayanthi P.Raya,20/09/1983 Jl.Rajawali I No 7
03.01.0564 Rita Djaila Kendari,10/10/1982 Jl.Yos Sudarso III No1
03.01.8888 Arif Sampit,20/06/1983 Jl.Nyai Balau N0 54A
Keterangan :
Kolom : Setiap tabel terdiri dari beberapa kolom, kolom biasanya disebut juga field.
Baris : Baris dalam tabel menggambarkan jumlah data yang ada. Oleh karena itu, satu baris disebut juga dengan satu record.

II. Perintah SQL Standar dalam SQL Server 2000Berikut beberapa perintah dan fungsi yang sering digunakan di dalam Transcat SQL.

Perintah
Create Database = Membuat Database
Alter Database = Mengubah Database
Drop Database = Menghapus Database
Create Tabel = Membuat Database
Alter Tabel = Mengubah Tabel
Drop Tabel = Menghapus Tabel
Create View = Membuat View
Alter View = Mengubah View
Drop View = Menghapus View
Create Procedure = Membuat stored Procedure
Alter Procedure = Mengubah stored Procedure
Drop Procedure = Menghapus stored Procedure
Create Trigger = Membuat Trigger
Alter Trigger = Mengubah Trigger
Drop Trigger = Menghapus Trigger
Create Index = Membuat Index
Drop Index = Menghapus Index
Select = Menampilkan data dari tabel
Commit = Menuliskan perubahan ke dalam disk
Rollback = Membatalkan perubahan yang dilakukan setelah perintah Commit
yang terakhir

Berikutnya beberapa fungsi yang sering digunakan didalam Transact SQL yang ada :
Fungsi
SUM ( ) Menjumlahkan Record
AVG ( ) Rata-rata nilai
MAX ( ) Untuk menampilkan nilai terbesar
MIN ( ) Untuk menampilkan nilai terkecil
Count ( ) Menghitung jumlah Record
Sysdate ( ) Menampilkan tanggal pada sistem

III. Dasar-dasar SQL
DDL (Data Definition Language) yang mana perintah-perintah dasar SQL yang termasuk didalamnya adalah :
Perintah
Create Tabel = Membuat Tabel
Create Index = Membuat IndeX
Alter Tabel = Mengubah Tabel
Drop Tabel = Menghapus Tabel
Drop Index = Menghapus Index
Grant = Memberikan hak akses
Revoke = Menghapus hak akses

DML (Data Manipulation Language) yang mana perintah-perintah dasar SQL yang termasuk didalamnya adalah :
Perintah
Select = Menampilkan record dari tabel atau view
Insert = Menyisipkan record kedalam tabel
Update = Mengubah record dalam tabel
Delete = Menghapus record dari tabel
Commit = Menuliskan perubahan dalam disk
Rollback = Membatalkan perubahan yang dilakukan setelah perintah Commit yang terakhir.

Data Manipulation Language (DML)

I. Insert
Perintah Insert digunakan untuk menyisipkan record kedalam tabel/view. Penyisipan pada record kedalam tabel bisa dilakukan secara penuh penuh, artinya setiap filed yang ada pada tabel/view dalam satu record diisi semua atau hanya pada filed-filed tertentu. Penyisipan record secara penuh atau hanya sebagaian tergantung pada constraint yang diberikan pada tabel/view ketika pertama kali dibuat. Berikut perintah dasar untuk menyisipkan record:

Insert Into nama_tabel (field1, field2,…… fieldn)
Values (‘value1’,’value2’,’……value_n’)
Atau
Insert Into nama-tabel
Values (‘value1’,’value2’,’……value_n’)
Contoh :
Insert into Mahasiswa (Nama, NIM, Alamat)
Values (‘Mutia’,’DBC106091’,’Jl.garuda’)


II. Update
Update berfungsi untuk mengubah data yang ada didalam sebuah baris tanpa harus hapus semua data yang ada pada baris tersebut data yang hendak di ubah sesuai dengan perintah yang ada.

Update nama_tabel
Set assigment
Where p
Contoh :
Update Dosen
Set nama_dos = ‘Prof’ + nama_dos
Where kode_dos = 2


III. Delete
Delete berfungsi untuk menghapus data yang berada dalam sebuah tabel yang ada.

Delete
From nama_tabel
Where p
Contoh :
Delete
From kuliah
Where kode_kul like ‘MA%’

Dimana maksudnya data yang akan dihapus ada didalam tabel kuliah dimana yang akan dihapus semua mata kuliah yang memiliki huruf depan MA.

IV. Select

Sedangkan untuk melihat hasil dari penyisipan yang dilakukan dengan
perintah Insert dapat menggunakan perintah Select yang mana penulisannya
sebagai berikut :
Select * from nama_tabel

o Agar artibut ditampilkan unik dapat digunakan perintah distinct
Select distinct nama_mhs
From Mahasiswa

o Untuk menampilkan data dalam bentuk range nilai tertentu dapat digunakan
perintah between.
Where nilai between 50 and 60
Dimana akan menampilkan data yang memilik nilai dari 50 sampai nilai 60.

o Untuk menampilkan atribut yang berupa tipe data string atau varchar.
Select *
From Mahasiswa
Where nama like ‘A%’
Yang mana dinyatakan ‘A%’ akan menampilkan data nama mahasiswa yang
memiliki huruf depannya A saja.
Where nama like ‘_A%’
Digunakan untuk mencari karakter keduanya dengan huruf A.

o Untuk melakukan query terhadap dua tabel.
Select *
From kuliah, dosen
Where kuliah.kode_Dos = dosen.kode_dos
Disini tabel yang akan ditampilkan adalah dua tabel yang berupa tabel
kuliah dan tabel dosen.

o Untuk melakukan Sorting
Order by nama_artibut [asc/desc]
Contoh :
Select * From Mahasiswa
Order by nama_mhs asc
Dimana perintah asc merupakan untuk menampilkan data
secara ascending sedangkan desc untuk menampilkan data secara descending.

Aritmatika
Perhitungan aritmatika dapat dilakukan dengan menggunakan * / + - seperti yang digunakan pada umumnya.
Macam-macam fungsi dalam SQL sebagai berikut :
*AVG
AVG digunakan untuk mencari rata-rata dari suatu artibut yang ada dengan
sintaks sebagai berikut :
select avg(atribut)
from nama_tabel
Nilai perbandingan adalah hasil dari query yang baru. Dengan contoh sebagai berikut :
Select avg (sks)
From kuliah
*MAX
MAX digunakan untuk mencari nilai terbesar dari sebuah atribut yang ada
dengan sintaks sebagai berikut :
select max (atribut)
from nama_tabel
*MIN
MIN digunakan untuk mencari nilai terkecil dari sebuah atribut yang ada
dengan sintaks sebagai berikut :
select min(atribut)
from nama_tabel
*COUNT
COUNT digunakan untuk menghitung banyaknya record yang ada didalam tabel
dengan kualifikasi tertentu. Yang mana memiliki sintaks sebagai berikut :
select count(*)
from nama_tabel
Yang mana tanda bintang yang ada didalam tanda kurung menyatakan bahwa atribut
yang akan dihitung jumlah recordnya adalah semua atribut yang ada didalam
table tersebut. Tapi bila kita hanya akan menghitung atribut tertentu
saja kita dapat menuliskan nama atribut itu saja seperti berikut :

select count (nama)
from mahasiswa
*SUM
SUM digunakan untuk menampilkan nilai total dari atribut numerik
dengan sintaks sebagai berikut :
select sum(atribut)
from nama_tabel
where p

*GROUP BY

Fungsi menyeleksi himpunan yang terhitung berdasarkan fungsi spesifik
seperti AVG, COUNT, atau lainya denga sintaks sebagai berikut :
Select nim, count (*)
From mahasiswa
Group by nim

*GROUP BY ..... HAVING....
Having berlaku untuk kelompok query Group by dan berfungsi seperti Where.
Hanya group yang mempunyai kriteria tersebut yang akan diproses. Berikut
ini contohnya :
Select nim, AVG (nilai)
From mahasiswa
Group by nim Having AVG (nilai) > 80

*JOIN
Join adalah tehnik yang digunakan untuk mengakses lebih dari satu tabel
dan menggabungkan hasilnya. Perhatikan contohnya dibawah ini :
Select nim, mahasiswa.nama, grade
From kuliah, mahasiswa
Where kuliah.nim = mahasiswa.nim

Membuat View dalam Database
View adalah tabel virtual yang isinya didefinisikan oleh query database. View bukanlah sebuah tabel fisik, tapi sekumpulan instruksi yang menghasilkan sekumpulan data.
View mengizinkan banyak user yang berbeda melihat informasi yang sama dengan fokus yang berbeda. View memungkinkan kombinasi informasi untuk memenuhi kebutuhan user tertentu, dan bahkan bisa diekspor ke dalam aplikasi lain.

Membuat View
Bentuk umum untuk membuat view melalui query analyzer adalah :
Create View nama_view as select kolom_1,kolom_2,...,kolom_n from nama_tabel where predikat
Contoh :
Create view ViewMahasiswa as select nim,nama from Mahasiswa

Menjalankan View
Untuk menjalakan perintah view yang ada menggunakan perintah Select
Contoh :
Select nim, nama from ViewMahasiswa

Menghapus View
Untuk menghapus view, digunakan perintah Drop
Contoh :
Drop view ViewMahasiswa

Membuat View dengan Beberapa Tabel
Untuk membuat view dengan beberapa tabel kita dapat melakukannya dengan menggunakan sebuah join yang sederhana dengan contoh sintaks sebagai berikut ini :

Create view ViewDosenPA as
Select mhs.nim, mhs.nama, dos.nama_dosen
From Mahasiswa mhs, Dosen dos
Where mhs.Dosen_PA = dos.nip_dosen

Updating dan Insert Data dalam View
Update dapat dilakukan ke dalam view dengan memberikan nilai seperti pada insert dan update tabel. Namun perlu diperhatikan “Nol Null” option dan constraint lainnya sebelum memasukkan nilai ke dalam view.

Contoh :
Update ViewMahasiswa
Set Nama_mhs = ‘Budi’
Where Nama_mhs = ‘Andi’

Batasan Manipulasi melalui View
Pada view dapat dilakukan insert, update, serta delete dengan beberapa limitasi, yaitu :

 Tidak dapat memasukkan record baru jika mengabaikan Not Null pada basis tabel dari view tersebut.
 Tidak dapat melakukan insert atau update jika salah satu kolom dalam view merupakan hasil kalkulasi atau hasil nilai balik fungsi.
 Tidak dapat melakukan insert, update, atau delete jika dalam view terdapat perintah Group by atau Distinct.



Stored Procedure
Stored procedure adalah kumpulan perintah SQL yang diberi nama dan disimpan di server. Stored procedure akan meningkatkan performansi database, meningkatkan sekuritas database, dan memungkinkan membuat program untuk database. Stored procedure dapat menjalakan beberapa perintah yang mana tergantung dari pendeklarasian, bisa menerima parameter input, bisa menghasilkan parameter output, bisa memanggil prosedur lain dan bisa mengembalikan nilai integer.

• Membuat stored procedure dengan mengklik kanan folder stored procedure dan mengklik new stored procedure.
• Kemudian ketik perintah pada kotak dialog yang tersedia dengan sintak sebagai berikut :
Create Procedure nama_procedure as
Begin
Select * from Mahasiswa
End
• Dalam pembuatan stored procedure ada juga prosedur dengan parameter yang dapat dilakukan dengan menentukan nama tiap tipe data parameter.
Contoh:
Create Procedure in_Mhs as (@Nama as varchar(20),@NIM as varchar(9),@Alamat as varchar(25),@Status as bit)
As begin
Select * from Mahasiswa
End
• Sedangkan untuk menjalankan stored procedure yang sudah dibuat dengan mengetikkan exec nama_procedure. Apabila memiliki parameter , maka setelah nama procedure sertakan juga dengan nilai parameter yang ada.
• Untuk mengubah stored procedure dapat menggunakan perintah Alter Procedure yang digunakan untuk mengubah isi stored procedure yang didefinisikan user cara penulisannya mirip dengan Create Procedure.
Dengan sintaks sebagai berikut :
Alter Procedure in_Mhs as (@Nama as varchar(20),@NIM as varchar(9),@Alamat as varchar (25),@Status as bit,@DosenPA as varchar(50))
As begin
Select * from Mahasiswa
End
• Untuk menghapus stored procedure dipakai perintah Drop Procedure perintah ini menghapus stored procedure yang didefinisikan user.
Dengan sintaks sebagai berikut :
Drop Procedure in_Mhs

Trigger
Trigger adalah sekumpulan perintah Transct-SQL yang mana otomatis dijalankan apabila ada perintah Insert, Delete atau Update yang dijalankan didalam tabel. Aplikasi utama dari Trigger adalah pembuatan metode validasi dan batasan akses kedalam database.

Aplikasi yang dapat dilakukan yang dapat dilakukan oleh trigger di antaranya adalah :
 Membuat isi dalam kolom yang di ambil dari kolom yang lain.
 Membuat mekanisme validasi yang mencakup query pada banyak tabel.
 Membuat log untuk mendaftar penggunaan tabel.
 Mengupdate tabel-tabel lain apabila ada penambahan atau perubahan lain di dalam tabel yang sedang aktif.
Bentuk umum mendeklarasikan trigger adalah :
Create Trigger nama_trigger ON nama_tabel
For Insert, Update, Delete
As
Declare
-

Pengaktifan trigger akan tergantung pada event yang dipilih :
1. For Insert : trigger aktif pada saat record baru ditambahkan
2. For Update : trigger aktif pada saat record diubah
3. For Delete : trigger aktif pada saat record dihapus

Untuk mengubah trigger yang ada dengan menggunakan perintah alter yang mana sebagai berikut :
Alter Trigger nama_trigger ON nama_tabel
For Insert, Update, Delete
As
Declare

Sedangkan untuk menghapus trigger yang sudah dibuat adalah sebagai berikut :
Drop Trigger nama_trigger
Contoh :
Create Trigger Insert_peserta on Praktikum
For Insert
As
Update kls_praktikum
Set peserta = peserta + insert.daftarprak
From kls_praktikum, Insert
Where kls_praktikum.kode_kls = insert.kode_kls

Transaksi
Transaksi adalah sebuah unit kerja logis yang berisi sekumpulan perintah. Setiap database SQL Server mempunyai sebuah log transaksi yang mencatat semua transaksi dan memodifikasi database yang dibuat transaksi. Log tersebut mendukung tiga operator :

 Proses recovery dari tansaksi-transaksi tunggal. Jika sebuah aplikasi menjalankan perintah roolback atau SQL server mendeteksi sebuah kesalahan, record-record dalam log dipakai untuk kembali ke data sebelum transaksi dimulai.
 Proses recovery semua transaksi yang belum selesai pada saat SQL server dimulai.
 Mengembalikan database ke keadaan semula setelah terjadi kegagalan.

Sebuah transaksi harus memenuhi empat kriteria yang dikenal dengan properti ACID yaitu singkatan dari atomicity, consistency, isolation dan durability yang mana memiliki pengertian sebagai berikut :
 Atomicity artinya semua modifikasi dalam sebuah transaksi dianggap sebagai satu kesatuan, semua modifikasi akan berhasil atau berhasil atau semua akan gagal.
 Consistency artinya semua data dalam keada konsisten. Integritas data dijaga setelah transaksi selesai, baik berhasil atau gagal.
 Isolation artinya efek dari setiap transaksi sama dengan jika hanya ada transaksi tersebut di dalam sistem, modifikasi oleh sebuah transaksi diisolasi oleh modifikasi yang dilakukan oleh transaksi lain.
 Durability artinya sekali transaksi dicommit efek dari transaksi akan bersifat permanen di dalam database.

Sintaks pembuatan manajemen transaksi:
Begin tran transaction_name
Commit tran transaction_name
Rollback tran transaction_name

Begin tran menyatakan titik awal data yang diacu oleh sebuah koneksi secara logis dan secara fisik konsisten. Commit tran menyatakan titik akhir dari transaksi tersebut. Sedangkan Rollback tran untuk membatalkan transaksi yang ada bila ada kesalah dari modifikasi.


4 komentar: