P. 1
SQL Server

SQL Server

|Views: 5,335|Likes:
Published by Stefanus Halim
An introduction to SQL Server.
An introduction to SQL Server.

More info:

Published by: Stefanus Halim on Nov 01, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

03/13/2014

pdf

text

original

Learning Together

SQL Server
Modul 4
S. Halim

2007

4.1

Memulai SQL Server

Sebelum memulai topik ini, Anda dianggap telah menguasai dasardasar pemrograman SQL, mengenal dengan baik perintah-perintah baik DDL maupun DML. Karena pada modul ini kita hanya akan membahas tentang

Microsoft SQL Ser er, khususnya SQL Ser er !""".
4.1.1 Mengenal SQL Server SQL Ser er merupakan sistem managemen basis data relasional yang umumnya dikenal sebagai #elational Database Management

System $#D%MS& yaitu suatu sistem basis data yang menyediakan
integrasi data yang baik dimana data-data yang ada tersimpan dalam tabel-tabel yang berhubungan satu dengan lainnya. #D%MS 'uga mendukung 'umlah pengguna yang lebih besar. SQL Ser er menangani pengolahan basis data relasional antara klien dengan ser er menggunakan (ransact-SQL. )roses pengolahan basis data 'uga dapat menggunakan alat-alat bantu managemen yang telah disediakan oleh SQL Ser er sendiri. Misalnya SQL *nterprise Manager, SQL Query Analy+er, dan sebagainya. Klien adalah suatu obyek dalam bentuk aplikasi atau program dengan antarmuka yang berfungsi untuk berkomunikasi dan

mengakses data dari ser er. Sedangkan Ser er merupakan obyek berupa aplikasi yang menyediakan layanan terhadap data yang ada untuk klien-klien. Layanan yang disediakan dapat berupa analisa, pencarian dan pembaharuan data.

4.1.2

Instalasi SQL Server )ada topik ini kita akan menggunakan Microsoft SQL Ser er !""". ,nstalasi SQL Ser er dibedakan men'adi dua yaitu ,nstalasi Ser er dan ,nstalasi -lient.

S. Halim, 2007, Modul 4 – SQL Server

4.1.2.1 Instalasi Server )roses instalasi ser er dapat dilakukan secara local atau remote. .. ,nstalasi secara local a. )roses instalasi dimulai dengan memilih SQL Ser er

!""" -omponents.

/ambar 0.. SQL Ser er !""" Setup

b. Kemudian pilihlah ,nstall Database Ser er. c. Anda akan melihat kotak diaLog SQL Ser er !"""

,nstallation
melan'utkan.

1i+ard.

(ekan

tombol

2e3t

untuk

d. )ilihlah Local -omputer dan tekan tombol 2e3t.

S. Halim, 2007, Modul 4 – SQL Server

e. Klik -reate A 2e4 ,nstance 5f SQL Ser er dan tekan tombol 2e3t. f. Masukkan nama dan perusahaan pada 4indo4 6ser

,nformation dan tekan tombol 2e3t.
g. Klik yes untuk menyetu'ui license agreement SQL

Ser er

/ambar 0.! ,nstall -omponent

h. Masukkan !7 karakter -D Key dan tekan tombol 2e3t. i. )ilihlah

Ser er

And

-lient

(ools

pada

4indo4

berikutnya.

S. Halim, 2007, Modul 4 – SQL Server

'.

Anda kemudian akan melihat diaLog ,nstance 2ame. 8ika Anda ingin mengubah nama instance SQL Ser er, hilangkan tanda centang pada pilihan Default dan masukkan nama yang anda inginkan. (ekan 2e3t.

k. )ilihlah tipe setup apakah (ypical, Minimum, atau

-ustom. ,nstalasi dengan tipe (ypical meliputi semua
pilihan fitur kecuali pilihan De elopment (ools dan 9ull-

(e3t Search. ,nstalasi -ustom mengi+inkan Anda untuk
menentukan sendiri pilihan fitur yang ingin diinstall. Sedangkan instalasi Minimum sifatnya ekui alen dengan tipe (ypical, hanya sa'a tidak memiliki 6pgrade (ools,

%ooks 5nline, dan Management (ools.

/ambar 0.: (ipe Setup

l.

DiaLog Ser ices Accounts akan muncul setelah Anda
menekan tombol 2e3t. )ilih ;6se the same account for

each ser ice ...< 'ika Anda menggunakan account yang
sama atau ada auto-start pada setiap ser ice. )ilihan

S. Halim, 2007, Modul 4 – SQL Server

Local System account, menggunakan account pada
sistem operasi lokal dan pilihan Domain 6ser account menggunakan account pada domain 'aringan yang bersangkutan. Lihat gambar 0.0. m. %erikutnya anda harus menentukan mode otentikasi. Anda dapat memilih 1indo4s Authentication Mode untuk proses otentikasi menggunakan account 1indo4s atau Mi3ed Mode untuk gabungan antara otentikasi

dengan account 1indo4s dan account SQL Ser er. 8ika Anda memilih

Mi3ed

Mode,

maka

'angan

lupa

memasukkan pass4ord untuk sa $system administrator&

/ambar 0.0 Ser ices Accounts

S. Halim, 2007, Modul 4 – SQL Server

/ambar 0.7 DiaLog )ilihan 5tentikasi

n. ,kuti sa'a petun'uk setup berikutnya. Lama instalasi tergantung pada kecepatan sistem Anda. !. ,nstalasi secara remote a. Lakukan langkah a, b, c pada instalasi local. b. )ada diaLog -omputer 2ame pilih #emote -omputer dan ketikkan nama komputer pada sistem remote. (ekan 2e3t untuk melan'utkan. c. Lakukan langkah e, f, g, h pada instalasi local.

d. Lalu Anda akan men'umpai diaLog #emote Setup

,nformation seperti gambar 0.=.

S. Halim, 2007, Modul 4 – SQL Server

/ambar 0.= DiaLog #emote Setup ,nformation

e. Masukkan nama user, pass4ord dan domain untuk komputer dimana Anda ingin melakukan instalasi. )astikan

account

yang

Anda

gunakan

memiliki

ke4enangan untuk melakukan instalasi aplikasi pada komputer yang bersangkutan. Masukkan pula (arget

)ath dalam format 6ni ersal 2aming -on ention $62-&,
misalnya, >>remoteser er>c?>)rogram

9iles>Microsoft

SQL Ser er. (ekan 2e3t untuk melan'utkan. f. )ilihlah Ser er And -lient (ools pada diaLog ,nstallation

Definition.
g. Langkah selan'utnya sama dengan langkah instalasi dari

local.
h. Ketika proses instalasi SQL Ser er berhasil melakukan koneksi ke komputer remote, maka proses instalasi akan berlangsung seperti instalasi local.

S. Halim, 2007, Modul 4 – SQL Server

4.1.2.2 Instalasi Client

)roses instalasi client sama mudahnya dengan instalasi ser er. a. Lakukan langkah a s@d h pada instalasi ser er dari local. b. )ilih -lient (ools 5nly pada diaLog ,nstallation Definition dan tekan 2e3t untuk melan'utkan. c. Anda kemudian akan men'umpai diaLog

Select

-omponents, )ilihlah pilihan yang Anda inginkan dan tekan
tombol 2e3t untuk melan'utkan. Management (ools, -lient

-onnecti ity,

%ooks

5nline,

dan

De elopment

(ools

merupakan pilihan default dari SQL Ser er. d. (ekan tombol 2e3t pada diaLog Start -opying 9iles dan proses instalasi akan berlangsung hingga selesai.

4.2

Basis Data SQL Server

%asis data $Database& merupakan sekumpulan obyek berupa tabel dan obyek lainnya yang berfungsi menangani data-data di dalam tabel-tabel pada basis data tersebut.

4.2.1

Komponen Basis Data SQL Server %asis data SQL Ser er disusun oleh beberapa komponen antara lain sebagai berikutA

.. )hysical Database
Merupakan kumpulan 9ile-9ile fisik yang membentuk sebuah basis data. )hysical database memiliki ! atau lebih physical operating

system 9ile. Dalam kondisi minimal, . 9ile akan menyimpan
informasi mengenai basis data dan 9ile lainnya menyimpan catatan transaksi basis data $database transaction Log, ukurannya defaultnya !7B adalah dari 9ile data& yang berperan. Ketika ada

S. Halim, 2007, Modul 4 – SQL Server

perubahan isi basis data, maka semua perubahan dicatat ke dalam

transaction Log terlebih dahulu. !. Logical Database
Merupakan bagian dari basis data yang terlihat oleh pengguna meliputi obyek tabel, ie4, dan sebagainya. :. System Database SQL Ser er memiliki basis data khusus yang digunakan untuk mencatat dan men'aga kondisi dari sistem SQL Ser er itu sendiri. %asis data ini dibuat ketika proses instalasi pertama kali. %asis data sistem ini antara lainA

a. Master
%asis data ini terdiri dari tabel-tabel sistem yang mencatat keseimbangan sistem SQL Ser er secara keseluruhan. Misalnya ketika kita membuat basis data baru pada ser er, maka proses itu akan dimasukkan ke dalam tabel sysDatabase pada basis data Master. %asis data ini sangat kritikal untuk sistem dan tidak boleh dihapus

b. Model
%asis data ini menyediakan bentuk dasar dari sebuah basis data yang dapat diduplikasi. Dengan kata lain basis data ini berperan sebagai template bagi setiap basis data baru yang kita buat. c. Msdb %asis data ini digunakan SQL Ser er untuk menyimpan instruksi-instruksi sistem yang dihasilkan oleh proses SQL Agent, misalnya pen'ad4alan proses backup pada basis data, pencatatan history, dan sebagainya. %ila basis data ini dihapus maka proses pen'ad4alan, history, SQL Agent akan hilang dari SQL Ser er. d. (empdb

S. Halim, 2007, Modul 4 – SQL Server

%asis data ini digunakan sebagai tempat penyimpanan sementara ketika Ser er beker'a. %asis data ini dibuat dari a4al setiap kali SQL Ser er di'alankan. Ketika kita melakukan

Query yang sangat kompleks dimana dibutuhkan tabel
tambahan atau tabel sementara, maka itu dilakukan pada basis data ini.

e. 6ser Database
Merupakan basis data yang dibuat oleh pengguna. )ada SQL

Ser er !""", disediakan ! buah basis data contoh yang diberi
nama pubs dan north4ind untuk latihan dan eksperimen.

%asis data $Database& SQL Ser er tersusun dari beberapa sistem

9ile. 9ile-9ile ini terbagi men'adi tiga, yaituA
.. )rimary Data 9iles Setiap basis data SQL Ser er harus memiliki minimal . 9ile ini untuk menyimpan obyek-obyek basis data berupa tabel atau indeks. 9ile ini berekstensi .mdf. !. Secondary Data 9iles %asis data akan membuat sebuah 9ile data sekunder bila 9ile data primer tidak sanggup menampung data-data yang ada. 9ile ini berekstensi .ndf.

:. Log 9iles Setiap basis data memiliki 9ile Log untuk mencatat seluruh informasi yang ada sebelum informasi tersebut ditulis ke dalam

9ile primer atau sekunder. 9ile ini dapat digunakan untuk
memulihkan kembali kondisi basis data bila mengalami kerusakan. *kstensi dari 9ile ini adalah .ldf.

5byek-obyek yang terdapat dalam basis data $Database& SQL

Ser er antara lain sebagai berikutA

S. Halim, 2007, Modul 4 – SQL Server

.. (abel !. ,ndeks

:. Cie4 0. #ules, Default, -onstraint 7. Stored-)rocedured =. (rigger D. 6ser-Defined Data (ypes
4.2.2 Tipe Data SQL Server

Selain obyek, SQL Ser er 'uga memiliki tipe datanya sendiri. (ipe data ini digunakan untuk mendefinisikan ukuran-ukuran data di dalam tabel atau ariabel dalam pemrograman SQL. SQL ser er 'uga memiliki tipe data yang disebut 26LL. (ipe data ini hanya digunakan ketika Anda tidak ingin mendefinisikan suatu nilai pada suatu data.

Tipe Data

Penjelasan ,nteger $bilangan bulat& E-byte. Data biner dengan ukuran n bytes, dimana n

!uran E bytes

bigint

binaryF$n&G

bernilai dari . s@d E""". Digunakan 'ika entri data pada kolom diperkirakan memiliki ukuran yang sama atau berdekatan.

n H 0 bytes

. byte untuk (ipe data integer yang hanya dapat bernilai ., ", kolom E-bit, !

bit

atau 26LL. Kolom dengan tipe data ini tidak dapat bytes untuk memiliki indeks. kolom I-.= bit, dst...

charF$n&G

Data non-6nicode dengan 'umlah n karakter, dimana n bernilai dari . s@d E""".

n bytes

S. Halim, 2007, Modul 4 – SQL Server

#eferensi pada cursor. Janya dapat digunakan

cursor

sebagai ariabel dan parameter pada stored procedure.

-

datetime

Data tanggal dan 4aktu dari . 8anuari .D7: s@d :. Desember IIII, dengan akurasi :.:: mili-detik %ilangan dengan skala dan presisi yang ditentukan. $tipe data numeric bersinonim dengan decimal.& )resisi $p& menentukan 'umlah digit yang dapat

E bytes

decimalF$p,FsG&G atau numericF$p,FsG&G

disimpan, baik kiri maupun kanan koma. Skala $s& menentukan 'umlah digit maksimum yang dapat ditampung di belakang koma. Skala harus lebih kecil atau sama dengan presisi. )resisi minimum adalah . dan maksimum !E kecuali SQL Ser er di'alankan dengan parameter -p, 'ika demikian, presisi dapat mencapai :E digit. Data numerik dari -..DI* H:"E s@d ..DI* H:"E. 2ilai n berkisar antara . sampai 7:. Digunakan untuk data biner dengan ukuran lebih dari E""" bytes, maksimum !K:. - . bytes. Data ,nteger $bilangan bulat& dari -!K:. $!,.0D,0E:,=0E& s@d !K:. - . $!,.0D,0E:,=0D& Data dengan nilai uang dari -!K=: $-

7 - .D bytes, tergantung pada presisi

0 - E bytes, tergantung pada presisi .= bytes

floatF$n&G

image

integer or int

0 bytes

money

I!!,::D,!":,=E7,0DD.7E"E& s@d !K=: - . $I!!,::D,!":,=E7,0DD.7E"D& Data karakter 6nicode dengan 'umlah n karakter, dimana n bernilai antara . s@d 0""". Karakter

E bytes

ncharF$n&G

6nicode menggunakan ! bytes untuk setiap character dan mendukung semua karakter internasional.

! bytes L 'umlah karakter

S. Halim, 2007, Modul 4 – SQL Server

Data 6nicode dengan ukuran ber ariasi dengan

.= bytes untuk pointer dan ! bytes L 'umlah karakter ! bytes L 'umlah karakter

nte3t

'umlah karakter maksimum !K:" - . $.,"D:,D0.,E!:&. Data karakter 6nicode dengan ukuran ber ariasi

n archar

dengan 'umlah n karakter, dimana n bernilai antara . s@d 0""".

real

Data numerik dengan ukuran dari :.0"*H:E s@d :.0"*H:E. %ersinonim dengan float$!0&. Data tanggal dan 4aktu dari . 8anuari .I"" s@d = 8uni !"DI, dengan tingkat akurasi . menit. Data ,nteger dari -!K.7 $-:!,D=E& s@d !K.7 - . $:!,D=D& Data dengan nilai uang dari -!.0,D0E.:=0E s@d !.0,D0E.:=0D. Mengi+inkan nilai dari tipe data yang berbeda. (ipe data khusus, system-supplied, atau SQL

0 bytes

smalldatetime

0 bytes

smallint

! bytes

smallmoney

0 bytes 6kuran ber ariasi

sMlN ariant

Ser er user-defined data type. (ipe data sysname
didefinisikan SQL Ser er sebagai n archar$.!E&,

sysname

yang artinya mampu menampung .!E karakter 6nicode $atau !7= bytes&. /unakan sysname untuk mengacu pada kolom yang menyimpan nama obyek. Deklarasi meliputi daftar kolom dan tipe data.

!7= bytes

table

Dapat digunakan untuk mendefinisikan ariabel lokal atau untuk mengembalikan nilai dari userdefined function.

Sesuai definisi tabel

te3t

Digunakan untuk data karakter non-6nicode yang ukurannya lebih dari E""" byte. Maksimum

.= bytes

S. Halim, 2007, Modul 4 – SQL Server

menyimpan !K:. - . karakter. Kolom timestamp diperbaharui secara otomatis

timestamp

setiap kali suatu baris data dimasukkan atau diperbaharui. Setiap tabel hanya boleh memiliki . kolom dengan tipe timestamp.

E bytes

tinyint uniMue-identifier

Data ,nteger dari " s@d !77. Menyimpan nilai biner .=-byte yang merupakan globally uniMue identifier $/6,D& Data biner dengan ukuran ber ariasi, dimana n

. byte .= bytes )an'ang data

arbinary

bernilai antara . s@d E""". /unakan arbinary 'ika aktual yang ukuran data di dalam kolom diperkirakan akan cukup ber ariasi. Data karakter non-6nicode dengan ukuran n karakter, dimana n bernilai antara . s@d E""". dimasukkan H 0 bytes )an'ang data aktual yang dimasukkan

archarF$n&G

4."

#pa itu Transa$t%SQL&

(ransact-SQL adalah bahasa pemrograman SQL yang digunakan oleh Microsoft SQL Ser er untuk mengirim perintah $berinteraksi& antara klien dan

ser er. Sama seperti bahasa SQL lainnya, (ransact-SQL $(-SQL& terdiri dari
DDL $Data Definition Language& dan DML $Data Manipulation Language&.

)erintah-perintah DDL dan DML pada (-SQL kurang lebih sama dengan bahasa SQL lainnya.

4.".1

'!spresi (an )aria*el

'!spresi

merupakan

kombinasi

dari

simbol-simbol

dan

operator-operator yang die aluasi oleh SQL Ser er !""7 Database

S. Halim, 2007, Modul 4 – SQL Server

*ngine untuk mendapatkan suatu nilai data tunggal. *kspresi yang
sederhana dapat berupa konstanta tunggal, ariabel, kolom atau fungsi skalar. 5perator dapat digunakan untuk menggabungkan dua atau lebih ekspresi men'adi ekspresi yang lebih kompleks.

O constant P scalarNfunction P F alias. G column P localN ariable P $ e3pression & P $ scalarNsubQuery & P O unaryNoperator Q e3pression P e3pression O binaryNoperator Q e3pression P rankingN4indo4edNfunction P aggregateN4indo4edNfunction Q

Simbol yang merepresentasikan nilai data tunggal

constant

spesifik. constant dapat berupa satu atau lebih karakter alfanumerik $a-+, A-R, "-I& atau simbol $S&, $T&, $U&, dsb. 6nit sintaks (ransact-SQL yang menyediakan fungsi

scalarNfunction

khusus dan mengembalikan nilai tunggal. Misalnya fungsi S6M, /*(DA(*, atau -AS(.

F alias. G

Alias atau nama korelasi yang ditentukan pada tabel dengan key4ord AS dalam klausa 9#5M. 2ama kolom. 2ama ariabel yang dibuat oleh pengguna. Semua ekspresi yang alid. Diberi tanda kurung

column localN ariable

$ e3pression &

untuk menentukan bah4a ekspresi didalamnya terlebih dulu die aluasi.

$ scalarNsubQuery &

Sub Query yang mengembalikan . nilai. -ontohA S*L*-( -ount$,D& 9#5M (ableData

S. Halim, 2007, Modul 4 – SQL Server

5perator yang hanya memiliki . operan numerikA • • O unaryNoperator Q • H angka positif. - angka negatif V operator . komplemen

5perator unary hanya bisa diaplikasikan pada ekpresi yang menge aluasi tipe data yang tergolong dalam data numerik. 5perator yang menentukan bagaimana dua ekspresi digabungkan untuk menghasilkan satu nilai. binaryNoperator dapat men'adi operator O binaryNoperator Q aritmatika, operator assignment $W&, operator bit4ise, operator perbandingan, operator Logikal, operator penggabungan string$H&, atau operator unary.

rankingN4indo4edNfunction 9ungsi rangking (ransact-SQL. aggregateN4indo4edNfunction 9ungsi agregat (ransact-SQL dengan klausa 5C*#.

)aria*el adalah suatu referensi atas lokasi memori yang menyimpan data. %ila Anda beker'a pada data yang berubah-ubah dan ingin menempatkan data tersebut pada lokasi memori yang sama maka Anda harus mendefinisikan ariabel. Cariabel meru'uk pada

lokasi dimana data anda tersebut disimpan. Cariabel pada aplikasi SQL manapun secara umum dikelompokkan ke dalam ! bagian yaituA

a. /lobal Cariable /lobal Cariable adalah
ariabel yang telah dibuat oleh aplikasi yang bersangkutan dan diatur oleh sistem. 6ntuk (ransact-SQL, ariabel global ditandai dengan TT. %eberapa yang sering digunakan antara lainA ariabel global

S. Halim, 2007, Modul 4 – SQL Server

TT9*(-JNS(A(6S Cariabel ini bernilai " bila pernyataan 9*(-J berhasil mengambil data. Cariabel ini diinisialisasi setelah pernyataan 9*(-J dieksekusi dan umumnya digunakan untuk menghentikan perulangan 1J,L* pada cursor. Cariabel TT9*(-JNS(A(6S 'uga dapat bernilai X!, bila baris data yang ingin diambil telah dihapus setelah cursor dibuat. 2ilai ini hanya berlaku untuk cursor keyset-dri en $scroll&. TT-6#S5#N#51S, TT#51-562( Cariabel TT-6#S5#N#51S mengembalikan 'umlah baris data dalam cursor yang terbaru. Sedangkan ariabel TT#51-562(

mengembalikan 'umlah baris data yang terperbaharui akibat suatu

Query. Cariabel TT#51-562( umumnya digunakan bersama
pernyataan 6)DA(* dan D*L*(* untuk mengetahui berapa 'umlah baris data yang telah berhasil diperbaharui. TT*##5# Cariabel ini mengembalikan nilai kesalahan untuk pernyataan SQL yang terakhir kali di'alankan. 8ika bernilai ", artinya pernyataan tersebut suskes di'alankan tanpa kesalahan. TT,D*2(,(Y Cariabel global ini mengembalikan nilai yang paling terakhir digunakan untuk kolom identitas. Kolom identitas bersifat readonly dan dikelola oleh sistem. Setiap ada penambahan data pada tabel, aplikasi menggunakan informasi ini sebagai kunci untuk menambahkan data pada tabel lain terutama yang saling berhubungan melalui foreign key. Selain ariabel global diatas, (ransact-SQL masih memiliki banyak ariabel global lain. %erikut adalah daftar beberapa ariabel global yang umum digunakanA

S. Halim, 2007, Modul 4 – SQL Server

)aria*el +lo*al TT-522*-(,52S TT-)6N%6SY

Keterangan 8umlah Login 8umlah total 4aktu ser er -)6 dalam detik 8umlah 4aktu -)6 yang sedang tidak beker'a 8umlah 4aktu ,nput@5utput ,D %ahasa yang sedang aktif 2ama %ahasa yang sedang aktif Maksimum koneksi dalam 4aktu yang sama (ingkat ketelitian nilai desimal atau numerik 8umlah nest le el yang sedang aktif 2ama ser er lokal ,D Ser er yang sedang proses 8umlah kesalahan selama SQL ber'alan 8umlah pembacaan pada Disk 8umlah penulisan pada Disk (otal transaksi yang dilakukan acti e user

TT,DL* TT,5N%6SY TTLA2/,D TTLA2/6A/* TTMAZN-522*-(,52S

TTMAZN)#*-,S,52 TT2*S(NL*C*L TTS*#C*#N2AM* TTS),D TT(5(ALN*##5#S TT(5(ALN#*AD TT(5(ALN1#,(* TT(#A2-562(

b. 6ser-Defined Cariable
8ika ariabel global adalah ariabel yang dibuat oleh sistem, maka ariabel ini adalah ariabel yang didefinisikan sendiri oleh user. Dalam (-SQL, caranya adalahA D*-LA#* TnamaN ariabel tipeN ariabel

S. Halim, 2007, Modul 4 – SQL Server

-ontohA D*-LA#* TintA ,2( D*-LA#* TintZ ,2(, TintY ,2(, TR -JA#$7&

4.".2

,ungsi%-ungsi

9ungsi dalam (ransact-SQL dikelompokkan men'adi beberapa bagian. %erikut adalah beberapa kelompok fungsi yang sering digunakanA a. 9ungsi String 9ungsi-fungsi terkait manipulasi string adalah sebagai berikutA AS-,,$karakter&, untuk mendapatkan nilai dari karakter -har$nilai&, kebalikan dari fungsi AS-,, -har,nde3$pola, ekspresi&, mengembalikan posisi dari hasil pertama dari pencarian argumen pertama dalam argumen kedua. 8ika Anda mengenal Cisual %asic, maka fungsi ini sama dengan ,ntStr$&. Left$string,n&, mengembalikan string dari kiri se'auh n karakter #ight$string,n&, mengembalikan string dari kanan se'auh n karakter Len$string&, mengembalikan pan'ang string DataLength$ ariabel&, mengembalikan pan'ang dari yang dideklarasikan ariabel

-

Lo4er$string&, mengubah string men'adi huruf kecil 6pper$string&, mengubah string men'adi huruf kapital Ltrim$string&, menghilangkan spasi di bagian kiri string #trim$string&, menghilangkan spasi di bagian kanan string Space$n&, menambah spasi se'umlah n

S. Halim, 2007, Modul 4 – SQL Server

-

S(#$float,n,dec&, mengubah ekspresi float men'adi string sesuai dengan pan'ang karakter n dan dec untuk menentukan 'umlah angka di belakang koma. MisalnyaA )#,2( S(#$:..0.7I, 0, !& Jasilnya :..0

-

#eplace$string.,string!,string:&,

untuk

mengganti

setiap

kesamaan string. di dalam string! dengan string:. #eplicate$karakter,n&, untuk mengembalikan string baru

dengan mengulang karakter sebanyak n-kali. #e erse$string&, membalikkan urutan karakter dari string Substring$string,m,n&, mengembalikan string yang diambil dari m sepan'ang n. Sama dengan fungsi Mid$& dalam Cisual %asic 2char$nilai&, mengembalikan karakter 6nicode dari nilai S(699$string.,m,n,string!&, mengganti bagian dari string. mulai dari m sepan'ang n dengan string!. -ontohA D*-LA#* Ts -JA#$:"& S*( Ts W [C% )rogramming\ S*( Ts W S(699$Ts,.,!,\SQL\& )#,2( Ts

Yang tercetak adalah [SQL )rogramming\

b. 9ungsi Kon ersi 9ungsi-fungsi terkait kon ersi data adalah sebagai berikutA

-

-on ert$tipedata, ar,style&, untuk mengkon ersi tipe data dari ar men'adi tipe data yang didefinisikan. Sedangkan argumen style untuk menentukan format tanggal ketika mengkon ersi tipe data Date(ime dan SmallDate.

S. Halim, 2007, Modul 4 – SQL Server

-

-ast$ ariabel AS tipedata&, untuk mengkon ersi ariabel atau nilai ke dalam tipe data yang ditentukan.

c.

9ungsi (anggal dan 1aktu 9ungsi-fungsi terkait dengan penanggalan dan 4aktu adalah sebagai berikutA /etDate$&, mengembalikan tanggal dan 4aktu saat ini dari mesin yang men'alankan SQL Ser er DateAdd$inter al,num,datetme&, menambah nilai argumen datetime dengan inter al yang diberikan. 2ilai inter al yang dapat digunakan ditun'ukkan dalam tabel berikutA

Interval year Muarter month dayofyear day 4eek 4eekday hour minute second millisecond

.ilai yy, yyyy MM, M mm, m dy, y dd, d 4k, 44 D4 Jh mi, n Ss Ms

/ange .D7:XIIII .X0 .X.! .X:== .X:. .X7: .XD "X!: "X7I "X7I "XIII

-

DateDiff$inter al,datetime.,datetime!&, untuk me-ngembalikan selisih antara datetime. dan datetime! dalam inter al yang diberikan.

S. Halim, 2007, Modul 4 – SQL Server

-

Date)art$inter al,datetime&,

mengembalikan

integer

yang

me4akili bagian dari datetime. Date2ame$inter al,datetime&, bagian datetime. -ontohA Date2ame$month, ;:.@"7@!""D<& Jasilnya adalah May Day$&, Month$&, Year$&, mengembalikan hari, bulan dan tahun. mengembalikan nama dari

d. 9ungsi Matematika #ound$numericNe3pression, length F,functionG&,

mengembalikan hari nilai dengan pembulatan yang ditentukan. 9loor$numericNe3pression&, mengembalikan nilai integer

terbesar yang kurang dari atau sama dengan nilai yang diberikan. -eiling$numericNe3pression&, mengembalikan nilai integer

terkecil yang lebih besar dari atau sama dengan nilai yang diberikan. SQ#($floatNe3pression&, mengembalikan akar dari nilai yang diberikan. )o4er$numericNe3pression, y&, mengembalikan nilai pangkat sesuai dengan faktor pangkat y yang diberikan.

e. 9ungsi Lain -5AL*S-*$ekspresi. F,...nG&, fungsi ini bertu'uan untuk

mengembalikan ekspresi pertama yang tidak null dalam daftar argumen yang diberikan. Misalnya Anda ingin mengetahui kolom yang isinya 2ull, maka Anda dapat melakukan dengan cara berikutA S*L*-( nip, -5AL*S-*$alamat, nama& 9#5M )ega4ai

S. Halim, 2007, Modul 4 – SQL Server

-

,s2ull$kolom,nilai&, 8ika argumen pertama tidak null maka yang dikembalikan adalah nilai dari argumen pertamanya. %ila null maka nilai dari argumen kedua yang dikembalikan. MisalnyaA. S*L*-( namaNbarang, ,S26LL$harga, "."& 9#5M %arang

-

2ull,f$ekspresi.,ekspresi!&, 'ika kedua argumen bernilai sama maka yang dikembalikan adalah null. 8ika berbeda maka argumen pertama yang dikembalikan.

4."."

Statement Statement
merupakan pernyataan-pernyataan yang dapat

berupa perintah, deklarasi, Query, dll di dalam script (ransact-SQL.

4.".".1 ,lo0 Statement

9lo4 Statement terdiri dari Seleksi dan )erulangan.
a. Seleksi Seleksi umumnya memiliki ! Statement yaituA .. ,9...*LS* )ada (-SQL, )ernyataan ,9 tidak ditutup dengan *2D ,9. Ada beberapa format yang bisa digunakan antara lainA

,9 kondisi OStatementQ *LS* OStatementQ

S. Halim, 2007, Modul 4 – SQL Server

Atau, ,9 kondisi %*/,2 Omultiple StatementsQ *2D *LS* %*/,2 Omultiple StatementsQ *2D

!. -AS* 9ungsi pernyataan -AS* sama dengan ,9. %erikut adalah sintaks penggunaannya dalam (-SQLA -AS* ekspresiNinput 1J*2 ekspresiN. (J*2 ekspresiNoutputN. ...

1J*2 ekspresiNn (J*2 ekspresiNoutputNn *2D

b. )erulangan $Looping& )ernyataan perulangan dalam SQL dikenal dengan

pernyataan 1J,L*. )erulangan sering digunakan terutama ketika ingin mengambil data dari cursor. 8ika pernytaan yang akan di'alankan hanya sebaris maka %*/,2@*2D tidak diperlukan sama halnya dengan pernyataan ,9. Sintaks dalam (-SQL adalah

1J,L* kondisi

S. Halim, 2007, Modul 4 – SQL Server

%*/,2 Omultiple StatementsQ *2D

4.".".2 Quer1 Statement

Query di dalam SQL Ser er dibagi ke dalam 0 'enis, yaituA
.. Query S*L*-(

Query

ini

digunakan

untuk

mengambil

atau

mengekstrak data-data dari tabel-tabel di dalam database. %erikut adalah sintaksnya dalam (-SQLA S*L*-( F ALL P D,S(,2-( G F(5) ekspresi F)*#-*2(G G ] selectNlist ^ F ,2(5 ne4Ntable G F 9#5M O ]tabel^ Q F ,...n G G F 1J*#* ]kondisi^ G F /#56) %Y F ALL G ekspresi F ,...n G F JAC,2/ ] kondisi ^ G F 5#D*# %Y orderNe3pression F AS- P D*S- G G

-ontohA Menampilkan semua data dari tabel produk secara berurut. S*L*-( L 9#5M )roduk 5#D*# %Y 2ama AS-

Menampilkan nama kota dari tabel karya4an dimana tidak boleh ada nama kota yang berulang. S*L*-( D,S(,2-( Kota 9#5M Karya4an

S. Halim, 2007, Modul 4 – SQL Server

Menampilkan data produk dengan kode bera4alan ;%K< ke dalam tabel sementara bernama tabelNprod. S*L*-( L ,2(5 UtabelNprod 9#5M )roduk 1J*#* Kode L,K* ;%KB<

Menampilkan harga rata-rata produk diatas 7""" dengan pengelompokan berdasarkan kode produk dan memiliki nama dia4ali dengan huruf ;%<. S*L*-( Kode, AC/$Jarga& AS ;Jarga #ata-#ata< 9#5M )roduk 1J*#* JA#/A ^ 7""" /#56) %Y Kode JAC,2/ 2ama L,K* ;%B<

!. Query ,2S*#(

Query ini digunakan untuk menambah data-data baru
ke dalam tabel-tabel di dalam database. %erikut adalah sintaksnya dalam (-SQLA ,2S*#( F (5) $ e3pression & F )*#-*2( G G F ,2(5G O F $ columnNlist & G F ]56()6( -lause^ G O CAL6*S $ O D*9A6L( P 26LL P e3pression Q F ,...n G & P deri edNtable P e3ecuteNStatement Q Q

-ontohA

,2S*#( ,2(5 )roduk $Kode, 2ama, Jarga& CAL6*S $;A"".!, _)aragon_, !7"""& &`

S. Halim, 2007, Modul 4 – SQL Server

:. Query 6)DA(*

Query ini digunakan untuk memperbaharui data-data
dari tabel-tabel di dalam database. %erikut adalah sintaksnya dalam (-SQLA

6)DA(* ]nama tabel^ F (5) $ ekspresi & F )*#-*2( G G S*( O kolom W O ekspresi P D*9A6L( P 26LL Q Q F 9#5MO ]tabel^ Q F ,...n G G F 1J*#* O ]kondisi^ Q G

-ontohA

6)DA(* )roduk S*( Jarga W !D""" 1J*#* Kode W ;A"".!<

0. Query D*L*(*

Query ini digunakan untuk menghapus data-data dari
tabel-tabel di dalam database. %erikut adalah sintaksnya dalam (-SQLA

D*L*(* F (5) $ ekspresi & F )*#-*2( G G F 9#5MO ]tabel^ Q F ,...n G G F 1J*#* O ]kondisi^ Q G

-ontohA Japus semua data produk yang harganya di atas !7"""" D*L*(* 9#5M )roduk 1J*#* Jarga ^ !7""""

S. Halim, 2007, Modul 4 – SQL Server

4.".4

,ungsi #gregat

9ungsi-fungsi agregat biasanya digunakan didalam pernyataanpernyataan Query. 9ungsi ini antara lain sebagai berikutA .. Ma3$& Digunakan untuk mencari nilai yang terbesar. -ontohA

S*L*-( MAZ$totalStok& 9#5M )roduk

!. Min$& Digunakan untuk mencari nilai yang terkecil. -ontohA

S*L*-( S6M$totalStok& 9#5M )roduk

:. Sum$& Digunakan untuk men'umlahkan semua nilai. -ontohA

S*L*-( S6M$total& AS [/rand (otal\ 9#5M 5rderDetil

0. -ount$& Digunakan untuk menghitung 'umlah baris data dalam tabel. -ontohA

S*L*-( -562($L& 9#5M )roduk

7. A g$& Digunakan untuk menghitung nilai rata-rata. -ontohA

S*L*-( AC/$totalStok& 9#5M )roduk

S. Halim, 2007, Modul 4 – SQL Server

4.".2

nion (an 3oin nion berguna untuk menggabungkan kolom yang memiliki tipe
data yang sama dan berasal dari dua tabel yang berbeda. Sintaks

6nion dalam (-SQL adalah sebagai berikutA
S*L*-( ]nama field^ 9#5M ]nama tabel.^ 62,52 F ALL G S*L*-( ]nama field^ 9#5M ]nama tabel!^

-ontohA

(abelN. dan (abelN! memiliki struktur seperti di ba4ah iniA (abelN. ,D KolomZ ,nt char$:& (abelN! ,D KolomY ,nt char$:&

,2S*#( ,2(5 (abelN. CAL6*S $;A%-<& ,2S*#( ,2(5 (abelN. CAL6*S $;D*9<& ,2S*#( ,2(5 (abelN! CAL6*S $;D*9<& ,2S*#( ,2(5 (abelN! CAL6*S $;ZYR<&

S*L*-( KolomZ 9#5M (abelN. 62,52 S*L*-( KolomY 9#5M (abelN!

Jasilnya adalah KolomZ A%D*9

S. Halim, 2007, Modul 4 – SQL Server

ZYR $: ro4$s& affected&

8ika Anda menambahkan ALL setelah 62,52 maka hasilnya adalah KolomZ A%D*9 D*9 ZYR $0 ro4$s& affected&

3oin berguna untuk menggabungkan ! tabel atau lebih di
dalam basis data. Secara umum, 8oin dibedakan men'adi 0 'enis yaituA .. ,nner 8oin Merupakan bentuk 'oin default artinya 'ika Anda tidak menentukan 'enis 'oin dalam Query Anda, maka bentuk 'oinnya otomatis menggunakan tipe ini. ,nner 8oin akan menggabungkan tabeltabel berdasarkan primary key atau foreign key dari masingmasing tabel. SintaksA S*L*-( F]nama tabel^G.field F,..nG 9#5M ]nama tabel.^ F,22*#G 85,2 ]nama tabel!^ 52 F]nama tabel.^G.field W F]nama tabel!^G.field

-ontohA S*L*-( p.Kode)rod, s.8umlah 9#5M )roduk p ,22*# 85,2 Sales s

S. Halim, 2007, Modul 4 – SQL Server

52 p.Kode)rod W s.Kode)rod 5#D*# %Y p.Kode)rod `

Data yang muncul hanyalah data dari kode yang sama antara Kode)rod di tabel )roduk dan tabel Sales.

!. 5uter 8oin

5uter 8oin dibedakan lagi men'adi ! 'enis, yakniA a. Left 5uter 8oin
Menggabungkan tabel dimana tabel kiri yang men'adi patokan.

S*L*-( F]nama tabel^G.field F,..nG 9#5M ]nama tabel.^ L*9( F56(*#G 85,2 ]nama tabel!^ 52 F]nama tabel.^G.field W F]nama tabel!^G.field

-ontohA

(abelN. Kode "". ""! 2ama Sammy Jelen Alamat )emuda 2o. ."" Keluarga 2o. :I"

(abelN! Kode ""! ""! Materi SQL Ser er 1eb )rogramming 2ilai I" IE

S. Halim, 2007, Modul 4 – SQL Server

S*L*-( t..Kode, 2ama, Materi, 2ilai 9#5M (abelN. t. L*9( 56(*# 85,2 (abelN! t! 52 t..Kode W t!.Kode

Jasil Kode "". ""! ""! 2ama Sammy Jelen Jelen Materi 26LL SQL Ser er 1eb )rogramming 2ilai 26LL I" IE

b. #ight 5uter 8oin. Menggabungkan tabel dimana tabel kanan yang men'adi patokan.

S*L*-( F]nama tabel^G.field F,..nG 9#5M ]nama tabel.^ #,/J( F56(*#G 85,2 ]nama tabel!^ 52 F]nama tabel.^G.field W F]nama tabel!^G.field

-ontohA S*L*-( t..Kode, 2ama, Materi, 2ilai 9#5M (abelN. t. #,/J( 56(*# 85,2 (abelN! t! 52 t..Kode W t!.Kode

Jasil Kode ""! ""! 2ama Jelen Jelen Materi SQL Ser er 1eb )rogramming 2ilai I" IE

S. Halim, 2007, Modul 4 – SQL Server

:. 9ull 8oin
Menggabungkan kolom-kolom dari beberapa tabel. Sintaknya yaituA

S*L*-( F]nama tabel^G.field F,..nG 9#5M ]nama tabel.^

96LL 85,2 ]nama tabel!^ 52 F]nama tabel.^G.field W F]nama tabel!^G.field

-ontohA

S*L*-( 2ama, Alamat, Materi 9#5M (abelN. 96LL 85,2 (abelN! 52 (abelN..Kode W (abelN!.Kode

Jasil 2ama Sammy Jelen Jelen Alamat )emuda 2o. ."" Keluarga 2o. :I" Keluarga 2o. :I" Materi 26LL SQL Ser er 1eb )rogramming

0. -ross 8oin
Menggabungkan kolom-kolom dari beberapa tabel secara silang. Sintaknya yaituA

S. Halim, 2007, Modul 4 – SQL Server

S*L*-( F]nama tabel^G.field F,..nG 9#5M ]nama tabel.^ -#5SS 85,2 ]nama tabel!^ 52 F]nama tabel.^G.field W F]nama tabel!^G.field

-ontohA S*L*-( 2ama, Alamat, Materi 9#5M (abelN. -#5SS 85,2 (abelN! 52 (abelN..Kode W (abelN!.Kode

Jasil 2ama Sammy Jelen Sammy Jelen Alamat )emuda 2o. ."" Keluarga 2o. :I" )emuda 2o. ."" Keluarga 2o. :I" Materi SQL Ser er SQL Ser er 1eb )rogramming 1eb )rogramming

4.4

Mem*uat Basis Data

4.4.1

Mengguna!an T%SQL (an 'nterprise Manager

Anda dapat membuat sebuah database dengan menggunakan DDL dari (ransact-SQL. Sama seperti perintah DDL dari bahasa SQL lainya, (-SQL 'uga menggunakan perintah-perintah -#*A(*

DA(A%AS*, -#*A(* (A%L*, dan sebagainya.

%erikut adalah sintaks (-SQL untuk membuat DatabaseA -#*A(* DA(A%AS* databaseNname F 52 F )#,MA#Y G F ]9ilespec^ F ,...n G

S. Halim, 2007, Modul 4 – SQL Server

F , ]9ilegroup^ F ,...n G G F L5/ 52 O ]9ilespec^ F ,...n G Q G G F -5LLA(* collationNname G F 1,(J ]e3ternalNaccessNoption^ G G F`G

-ontohA

-#*A(* DA(A%AS* Sales 52 $ 2AM* W SalesNdat,

9,L*2AM* W _-A>(estSQL>_ H _saledat.mdf_,
S,R* W .", MAZS,R* W 7",

9,L*/#51(J W 7 & L5/ 52
$ 2AM* W SalesNLog,

9,L*2AM* W _-A>(estSQL>_ H _saleLog.ldf_,
S,R* W 7M%, MAZS,R* W !7M%,

9,L*/#51(J W 7M% &_
/5

6ntuk membuat basis data dengan cara yang lebih mudah Anda dapat menggunakan SQL *nterprise Manager yang menyediakan antar muka grafis. Dengan

*nterprise

Manager,

Anda

tidak

perlu

S. Halim, 2007, Modul 4 – SQL Server

mengetikkan kode-kode DDL secara manual seperti diatas. Anda cukup memilih dan menentukan karakteristik basis data Anda.

/ambar 0.D SQL Ser er *nterprise Manager

%erikut

adalah

langkah-langkah

membuat

basis

data

dengan

*nterprise Manager.
.. %uka *nterprise Manager. )ada panel kiri, )ilih item SQL Ser er /roup yang mencakup nama ser er dimana Anda ingin membuat basis data Anda. )ilih item Databases di dalam Ser er tersebut, klik kanan dan pilihlah 2e4 Database.

!. )ada dialog Database )roperties yang muncul, pada tab /eneral, masukkan nama basis data yang ingin Anda buat pada isian 2ame. Lihat gambar 0.E.

S. Halim, 2007, Modul 4 – SQL Server

:. Klik tab Data 9iles. Seperti ditun'ukkan dalam gambar 0.I, *nterprise Manager secara otomatis membuat 9ile data primer, dengan nama dia4ali nama basis data dan dengan )#,MA#Y sebagai grup 9ile. Anda dapat mengubah nama, lokasi, dan ukuran dari 9ile primer, tetapi tidak dapat mengubah grup 9ile. Ketikan nama 9ile, lokasi dan ukuran serta grup 9ile untuk setiap 9ile data yang Anda buat. )ada setiap 9ile data kecuali 9ile data primer, Anda dapat mengetikkan grup 9ile Anda sendiri. Misalnya kita membuat 9ile data sekunder MyD%NData! di dalam grup 9ile

MyN9/.

/ambar 0.E DiaLog Database )roperties X (ab /eneral

S. Halim, 2007, Modul 4 – SQL Server

/ambar 0.I DiaLog Database )roperties X (ab Data 9iles

0. Setelah selesai, maka basis data Anda akan muncul pada daftar basis data di dalam SQL Ser er *nterprise Manager.

Lalu apakah langkah selan'utnyaa (entu proses pembuatan basis data belum selesai. Seperti yang kita ketahui, basis data merupakan kumpulan data-data yang diorganisasi sedemikian rupa ke dalam bentuk tabel-tabel. 8adi, setelah basis data selesai dibuat maka yang perlu kita lakukan adalah membuat dan menambah tabel-tabel ke dalam basis data bersangkutan.

6ntuk membuat tabel, Anda 'uga tentu bisa melakukannya dengan perintah DML, -#*A(* (A%L*.

Sintaknya dalam (-SQL adalahA

S. Halim, 2007, Modul 4 – SQL Server

-#*A(* (A%L* ]nama tabel^ $ ]nama field^ ]tipe data^ F$pan'ang karakter&G F,..nG F -52S(#A,2( constraintNname G O O )#,MA#Y K*Y P 62,Q6* Q F -L6S(*#*D P 252-L6S(*#*D G F 52 O partitionNschemeNname $ partitionNcolumnNname & P 9ilegroup P bdefaultb Q G P F 95#*,/2 K*Y G #*9*#*2-*S F schemaNname . G referencedNtableNname F $ refNcolumn & G F 52 D*L*(* O 25 A-(,52 P -AS-AD* P S*( 26LL P S*( D*9A6L( Q G F 52 6)DA(* O 25 A-(,52 P -AS-AD* P S*( 26LL P S*( D*9A6L( Q G F 25( 95# #*)L,-A(,52 G P -J*-K F 25( 95# #*)L,-A(,52 G $ LogicalNe3pression & Q& F`G

-ontohA

-#*A(* (A%L* )roductN,nfo $ )roductN,D SMALL,2(, )roductN2ame -JA#$!"&, Description -JA#$:"&, )rice SMALLM52*Y, %randN,D SMALL,2( & /5

S. Halim, 2007, Modul 4 – SQL Server

8ika menggunakan SQL *nterprise Manager, maka caranya hampir sama dengan cara membuat basis data. )ertama, buka basis data baru Anda kemudian klik kanan pada item [(ables\ dan pilih [2e4 (able\ dan dialog 2e4 (able akan terbuka $gambar 0.."&.

/ambar 0.." DiaLog 2e4 (able

Definisikan isi tabel anda dengan mengisi nama kolom, menentukan tipe data dan ukurannya. %agian [Allo4

2ulls\
harus

menentukan apakah kolom boleh berisi nilai null $tidak ada data& atau harus mengandung suatu nilai atau sebaliknya. Anda

melakukannya baris demi baris. )ada bagian ba4ah, Anda bisa mengatur karakteristik kolom Anda misalnya nilai default, dan sebagainya. Lihat gambar 0....

S. Halim, 2007, Modul 4 – SQL Server

Anda 'uga dapat menentukan constraints dan indeks lain pada tabel dengan mengklik kanan kolom apa sa'a dan memilih

,nde3es@Keys, #elationships, -onstraints, atau )roperties dari menu
yang muncul. Atau Anda 'uga bisa mengklik icon (able And ,nde3

)roperties yang berada di dekan icon Sa e pada toolbar.

/ambar 0... Mendefinisikan (abel %aru Anda

S. Halim, 2007, Modul 4 – SQL Server

/ambar 0..! DiaLog )roperties

8ika tabel yang Anda buat berhasil maka nama tabel tersebut akan ditambah ke dalam daftar [(ables\ pada *nterprise Manager.

4.4.2

Mem*uat (an menjalan!an Quer1

Anda tentu telah tahu bagaimana menggunakan pernyataan

Query ,2S*#(, D*L*(*, 6)DA(* dan S*L*-( pada sub topik
sebelumnya.

SQL Ser er menyediakan Query Analy+er pada Anda untuk membuat dan men'alankan pernyataan-pernyataan atau script (-SQL sekaligus menampilkan hasilnya. 6ntuk men'alankan Query Analy+er, ikuti langkah berikut iniA

S. Halim, 2007, Modul 4 – SQL Server

.. 8alankan Query Analy+er dengan salah satu metode berikutA a. Ketik isMl4 pada command prompt. b. %uka *nterprise Manager dan pilih SQL Query Analy+er dari menu (ools. c. Dari menu Start 4indo4, pilih menu )rograms, pilih Microsoft SQL Ser er, dan kemudian pilih Query Analy+er

DiaLog -onnect to SQL Ser er akan terbuka bila Anda belum terhubung ke Ser er.

/ambar 0..: DiaLog -onnect to SQL Ser er

!. )ilih nama ser er dari drop-do4n list. Ketikkan Login Anda. Dan klk 5K, maka 4indo4 Query Analy+er akan terbuka seperti ditun'ukkan oleh gambar 0..0 berikut.

S. Halim, 2007, Modul 4 – SQL Server

/ambar 0..0 SQL Query Analy+er

:. Ketikkan perintah, pernyataan, script (-SQL atau stored-procedure pada 4indo4 ini. 0. 6ntuk men'alankannya, klik icon panah pada toolbar atau cukup tekan kombinasi tombol -trlH*.

S. Halim, 2007, Modul 4 – SQL Server

/ambar 0..7 -ontoh *ksekusi Query Dengan SQL Query Analy+er

4.2

Store( Pro$e(ure (an Trigger
4.2.1

Store( Pro$e(ure Stored )rocedure adalah kumpulan pernyataan SQL yang
disimpan di ser er, sehingga dapat digunakan kapan sa'a untuk melakukan suatu perintah tertentu tanpa harus mendefinisi ulang perintah-perintah setiap kali diperlukan.

)rosedur memberikan konsistensi dan lingkungan yang aman 'uga dapat memastikan seluruh operasi tercatat dengan benar. )engguna tidak memiliki akses secara langsung kedalam tabel-tabel di dalam basis data tetapi dapat men'alankan prosedur-prosedur yang telah didefinisikan sebelumnya. Stored procedure meningkatkan kiner'a dan efisiensi karena tidak membutuhkan pengiriman banyak informasi antara klien dan ser er. )rosedur 'uga dapat dieksekusi dari aplikasi lain diluar aplikasi SQL sehingga sifatnya re-usable $dapat digunakan kembali&.

S. Halim, 2007, Modul 4 – SQL Server

Sintaks untuk membuat stored procedure pada (-SQL adalah sebagai berikutA -#*A(* O )#5- P )#5-*D6#* Q FschemaNname.G procedureNname F ` number G F O Tparameter F typeNschemaNname. G dataNtype Q AS O ]sMlNStatement^ F`GF ...n G P ]methodNspecifier^ Q F`G

Sedangkan untuk men'alankan prosedur adalah dengan sintaksA *Z*- namaNprosedur

Atau, cukup dengan memanggil nama prosedurnya sa'a. 6ntuk mengubah stored procedure digunakan sintaksA AL(*# )#5-*D6#* namaNprosedur AS OStatementsQ

-ontohA 6S* )erusahaan` /5 ,9 *Z,S(S $S*L*-( name 9#5M sysob'ects 1J*#* name W ;-ariKarya4an<& D#5) )#5-*D6#* -ariKarya4an /5 -#*A(* )#5-*D6#* -ariKarya4an Tnama archar$!7& W _DB_, AS S*L*-( 2ama, 8abatan, Departemen 9#5M Karya4an 1J*#* 2ama L,K* Tnama /5

S. Halim, 2007, Modul 4 – SQL Server

6ntuk men'alankan )rosedur diatas, gunakan perintah sebagai berikutA

*Z*-6(* -ariKarya4an

-ontoh dengan parameterA

6S* 2orth4ind /5

,9 *Z,S(S $S*L*-( name 9#5M sysob'ects 1J*#* name W bLateShipmentsb& D#5) )#5-*D6#* LateShipments /5

-#*A(* )#5-*D6#* LateShipments Tshipper2ame char$0"& AS S*L*-( #eMuiredDate, ShippedDate, Shippers.-ompany2ame 9#5M 5rders, Shippers 1J*#* ShippedDate ^ #eMuiredDate A2D 5rders.ShipCia W Shippers.Shipper,D A2D Shippers.-ompany2ame W Tshipper2ame /5

6ntuk men'alankan prosedur ini Anda harus memberikan parameter.

*Z*-6(* LateShipments [9ed*3\

S. Halim, 2007, Modul 4 – SQL Server

4.2.2 Trigger (rigger adalah kode-kode logik yang didefinisikan agar dapat
dieksekusi apabila ter'adi suatu proses yang mengubah kondisi record dalam tabel baik oleh pernyataan ,2S*#(, 6)DA(* maupun D*L*(*.

(rigger biasanya digunakan untuk memeriksa nilai atau data dari
sebuah record sebelum record tersebut dimasukkan ke dalam tabel.

(rigger pada pernyataan ,2S*#(, 6)DA(*, or D*L*(* di dalam
tabel@ ie4 $DML (rigger&

-#*A(* (#,//*# F schemaNname . GtriggerNname 52 O table P ie4 Q F 1,(J ]dmlNtriggerNoption^ F ,...n G G O 95# P A9(*# P ,2S(*AD 59 Q O F ,2S*#( G F , G F 6)DA(* G F , G F D*L*(* G Q F 1,(J A))*2D G F 25( 95# #*)L,-A(,52 G AS O sMlNStatement specifier F ` G ^ Q F ` G F ...n G P *Z(*#2AL 2AM* ]method

(rigger pada pernyataan -#*A(*, AL(*#, D#5), /#A2(, D*2Y,
#*C5K*, atau 6)DA(* S(A(,S(,-S $DDL (rigger&

-#*A(* (#,//*# triggerNname 52 O ALL S*#C*# P DA(A%AS* Q F 1,(J ]ddlNtriggerNoption^ F ,...n G G O 95# P A9(*# Q O e entNtype P e entNgroup Q F ,...n G AS O sMlNStatement specifier ^ F ` G Q F ` G F ...n G P *Z(*#2AL 2AM* ] method

S. Halim, 2007, Modul 4 – SQL Server

-ontoh prosedur (rigger dengan (-SQLA

6S* )erusahaan ,9 *Z,S(S $S*L*-( name 9#5M sysob'ects 1J*#* name W _pegNinsupd_ A2D type W _(#_& D#5) (#,//*# peg Ninsupd /5 -#*A(* (#,//*# pegNinsupd 52 )ega4ai 95# ,2S*#(, 6)DA(* AS D*-LA#* TtkNmin (,2Y,2(, TtkNmaks (,2Y,2(, TtkNpeg (,2Y,2(, TkdNpek SMALL,2( S*L*-( TtkNmin W tkNmin, TtkNmaks W tkNmaks, TtkNpeg W i.tkNpek, TkdNpek W i.kdNpek 9#5M )ega4ai p ,22*# 85,2 inserted i 52 p.nip W i.nip 85,2 )eker'aan k 52 k.kdNpek W i.kdNpek ,9 25( $TtkNpeg %*(1**2 TtkNmin A2D TtkNmaks& %*/,2

#A,S*##5# $_(ingkat )ega4ai untuk Kode )eker'aanABd harus bernilai antara Bd dan Bd._, .=, ., TkdNpek, TtkNmin, TtkNmaks& #5LL%A-K (#A2SA-(,52 *2D

S. Halim, 2007, Modul 4 – SQL Server

)ada SQL Ser er, dikenal pula yang namanya ,nstead of

(rigger. 8enis trigger ini memungkinkan kita untuk mendefinisikan trigger pada sebuah ie4. 2amun, tidak diperbolehkan pada pada
ie4 yang menyertakan -J*-K 5)(,52. )ada ,nstead of trigger, D*L*(* tidak diperbolehkan pada tabel yang memiliki relasi dengan 'enis 52 D*L*(* -AS-AD*. Demikian halnya 'uga dengan perintah 6)DA(* tidak dii+inkan pada tabel yang berhubungan dengan relasi 52 6)DA(* -AS-AD*.

Misalnya kita ingin melakukan ,2S*#( data pada sebuah tabel. (entu sa'a kita tidak bisa memasukkan dua data dengan primary key yang sama. %ila ternyata nilai yang kita masukkan sebagai )K telah ada, maka akan muncul peringatan kesalahan. 6ntuk menghindari hal ini, kita dapat menggunakan ,nstead of (rigger untuk memproses data tersebutA

-#*A(* (A%L* tabel(es $ idNtes ,2( 25( 26LL )#,MA#Y K*Y, ketNtes CA#-JA#$!"& 25( 26LL & /5

-#*A(* (#,//*# trigNtes 52 tabel(es ,2S(*AD 59 ,2S*#( AS ,9 TT#51-562( W " #*(6#2 6)DA(* t X- 'ika id sudah ada S*( ketNtes W i. ketNtes 9#5M inserted i 85,2 tabel(es t 52 t.idNtabel W i.idNtabel

S. Halim, 2007, Modul 4 – SQL Server

,2S*#( tabel(es S*L*-( idNtabel, ketNtes 9#5M inserted i 1J*#* 25( *Z,S(S $ S*L*-( L 9#5M tabel(es t 1J*#* t.idNtabel W i.idNtabel & /5

4.4

#(ministrasi SQL Server

Kunci kiner'a yang baik adalah melakukan konfigurasi SQL Ser er dengan tepat dan melakukan pemeliharaan secara rutin. )ada topik ini kita membahas bagaimana mengelola sistem keamanan pada SQL Ser er, Konsep SQL Ser er Agent dan mempela'ari Data (ransformation Ser ice.

4.4.1

Sistem Keamanan Pa(a SQL Server

Masalah keamanan data adalah hal yang tidak terpisahkan dari proses pengelolaan dan administrasi database. Keamanan data memiliki beberapa dasar, antara lainA .. Setiap orang dengan . Login ,D dan . )ass4ord !. Masa berlaku pass4ord :. )an'ang pass4ord 0. 8umlah percobaan untuk Login 7. (empat penyimpanan user dan pass4ord

)ada SQL Ser er !""" $Cersi diatas SQL Ser er D."& seperti yang di'elaskan sebelumnya pada topik instalasi, memiliki ! pilihan keamanan, yaituA .. !. 1indo4s Authentication $2( ,ntegrated Security& Mi3ed Mode $/abungan 2( dan SQL Ser er Security&

S. Halim, 2007, Modul 4 – SQL Server

4.4.1.1 .T Integrate( Se$urit1

8enis ini merupakan 'enis keamanan pada SQL Ser er yang menggunakan account dan group yang sudah ada pada domain 2( dimana SQL Ser er berada. Dalam hal ini adalah 1indo4s misalnya.

-ara memberikan akses kepada pengguna 2( adalah dengan menggunakan Sintaknya yaituA perintah

stored-procedure

spNgrantlogin.

spNgrantLogin FTLoginnameWG<]Domain2ame^>2( 6ser2ame^<

4.4.1.2 Keamanan SQL Server 2555

Keamanan pada SQL Ser er !""" dia4ali dengan pembuatan

Login ,D. Misalnya sa, yang merupakan Login ,D default pada
saat instalasi SQL Ser er dilakukan. 6ntuk membuat Login ,D, Anda dapat melakukannya baik dengan (-SQL maupun

*nterprise Manager.

%ila Anda menggunakan (-SQL, maka Anda dapat menggunakan stored-procedure spNaddlogin untuk menambah atau membuat

Login ,D baru. Sintaksnya adalah sebagai berikutA
spNaddLogin FTLoginnameWG]<Login<^ F,FTpass4ordWG]<pass4ord<^G F,FTdefdbWG]<database<^G F,FTdeflanguageWG]<language<^G F,FTsidWG]<sid<^G F,FTencryptoptWG]<encryptNoption<^G

S. Halim, 2007, Modul 4 – SQL Server

DimanaA - TLoginname - Tpass4ord - Tdefdb A me4akili nama Login A me4akili pass4ord A me4akili default basis data untuk pengguna tersebut - Tdeflanguage A berupa bahasa default bagi pengguna ini - Tsid A identifier sistem untuk SQL Ser er. S,D akan dibuat secara otomatis bila tak diisi. - Tencryptopt A menentukan apakah Login dan pass4ord itu di-encrypt atau tidak.

6ntuk mengubah pass4ord, Anda bisa menggunakan perintahA

spNpass4ord FFToldWG]<oldpass4ord<^,G FTne4WG]<ne4pass4ord<^G, FTLoginnameWG]<Login<^

6ntuk membuat Login ,D menggunakan *nterprise Manager, pilihlah folder security lalu klik kanan pada icon Logins dan pilih 2e4 Login.

DiaLog SQL Ser er login )roperties akan terbuka. Masukkan nama Login ,D yang Anda inginkan, kemudian pilihlah SQL Ser er

Authentication untuk menggunakan SQL Ser er Security.
Masukkan pass4ord Anda, kemudian tentukan basis data dan bahasa default yang diperuntukkan untuk pengguna yang baru Anda definisikan.

S. Halim, 2007, Modul 4 – SQL Server

Anda kemudian bisa menentukan Ser er #ole untuk pengguna ini pada tab Ser er #oles, atau basis data apa sa'a yang bisa diakses oleh pengguna ini pada tab Database Access.

6ntuk lebih 'elas baca sub topik Ser er dan Database #oles.

/ambar 0..=a SQL Ser er Login )roperties X (ab /eneral

S. Halim, 2007, Modul 4 – SQL Server

/ambar 0..=b SQL Ser er Login )roperties X (ab Ser er #oles

/ambar 0..=c SQL Ser er Login )roperties X (ab Database Access

S. Halim, 2007, Modul 4 – SQL Server

4.4.1." 6a! #!ses Pengguna

Jak akses pengguna merupakan salah satu poin penting dalam basis data. Disini kita menentukan hak bagi setiap pengguna untuk melakukan sesuatu dalam SQL Ser er. Jak akses pengguna dikelompokkan men'adi : 'enis yaituA .. Jak untuk Login !. Jak untuk mengakses basis data tertentu :. Jak untuk men'alankan akti itas tertentu dalam suatu obyek pada basis data tertentu.

Jal yang perlu dilakukan agar seorang pengguna memiliki akses ke sebuah basis data adalah dengan memberi pengguna tersebut hak akses ke basis data tersebut. Anda dapat melakukannya dengan stored-procedure spNgrantdbaccess menggunakan (SQLA

spNgrantdbaccess FTLoginnameWG]<Login<^ F,FTnameNinNdbWG ]<nameNinNdb<^G

Atau anda dapat menggunakan *nterprise Manager. -aranya klik kanan pada icon 6sers dan pilih 2e4 Database 6ser.

S. Halim, 2007, Modul 4 – SQL Server

/ambar 0..D Dialog Database 6ser )roperties

Selain hak penuh ke dalam basis data, adakalanya seorang pengguna hanya dii+inkan untuk mengakses obyek-obyek

tertentu $tabel, ie4 atau stored-procedure& di dalam basis data. Jak akses untuk obyek tertentu dibagi men'adi = kategori, yaituA - S*L*-( - ,2S*#( - 6)DA(* - D*L*(* - #*9*#*2-*S A Jak untuk melihat data A Jak untuk menambah data A Jak untuk memperbaharui data A Jak untuk menghapus data A Jak untuk menambah data pada tabel yang

9oreign key-nya memiliki referensi ke tabel
lain. - *Z*-6(* A Jak untuk men'alankan stored-procedure.

S. Halim, 2007, Modul 4 – SQL Server

)ernyataan (-SQL untuk memberikan hak akses pada obyek tertentu adalah /#A2(. Sintaksnya adalahA

/#A2( O ALL F )#,C,L*/*S G Q P permission F $ column F ,...n G & G F ,...n G

F 52 F class AA G securable G (5 principal F ,...n G F 1,(J /#A2( 5)(,52 G F AS principal G

Sebaliknya pernyataan (-SQL untuk mencegah pengguna untuk mengakses obyek tertentu adalah D*2Y. Sintaksnya adalahA

D*2Y O ALL F )#,C,L*/*S G Q P permission F $ column F ,...n G & G F ,...n G F 52 F class AA G securable G (5 principal F ,...n G F -AS-AD*G F AS principal G

SQL

Ser er

'uga

menyediakan efek yang

pernyataan telah

(-SQL

untuk dengan

membatalkan

semua

diberikan

pernyataan /#A2( dan D*2Y pada pengguna.

Yaitu dengan

menggunakan pernyataan #*C5K*. Sintaksnya adalahA

#*C5K* F /#A2( 5)(,52 95# G O F ALL F )#,C,L*/*S G G P permission F $ column F ,...n G & G F ,...n G Q F 52 F class AA G securable G O (5 P 9#5M Q principal F ,...n G F -AS-AD*G F AS principal G

S. Halim, 2007, Modul 4 – SQL Server

(5 digunakan untuk menghapus D*2Y dan 9#5M untuk menghapus /#A2(.

4.4.1.4 Server (an Data*ase /oles

SQL Ser er !""" membedakan role ke dalam ! kategori, yaituA

.. Ser er #oles
Merupakan kumpulan hak akses yang berhubungan dengan administrasi Ser er. SQL Ser er memiliki role ser er sebagai berikut $lihat gambar 0..=b&A - SysAdmin, memiliki kemampuan untuk men'alankan akti itas apapun dalam ser er tersebut. - Ser erAdmin, dapat mengatur konfigurasi ser er dan mematikan ser er. - SetupAdmin, hanya memiliki hak untuk mengatur

prosedur startup. - SecurityAdmin, menangani administrasi Login untuk pengguna. - )rocessAdmin, menangani proses yang ber'alan dalam SQL Ser er. - D%-reator, hanya memiliki hak untuk membuat dan mengubah basis data. - DiskAdmin, menangani 9ile-9ile pada disk. - %ulkAdmin, memiliki kemampuan untuk men'alankan pernyataan %6LK insert.

!. Database #oles
Merupakan kumpulan hak akses yang berhubungan dengan basis data. Masing-masing basis data memiliki role sendiri sehingga lingkup role basis data hanya berada pada satu

S. Halim, 2007, Modul 4 – SQL Server

basis data sa'a. SQL Ser er memiliki role basis data sebagai berikut $lihat gambar 0..=c& A - dbNo4ner, memiliki hak untuk melakukan apa sa'a pada basis data tersebut. - dbNaccessadmin, seperti SecurityAdmin pada Ser er

#ole, hanya sa'a terbatas pada satu basis data serta
dapat menambah pengguna baru. - dbNdatareader, dapat men'alankan pernyataan S*L*-(. - dbNdata4riter, dapat men'alankan pernyataan ,2S*#(, 6)DA(*, D*L*(*. - dbNddladmin, dapat menambah, mengubah atau

menghapus obyek dalam basis data. - dbNsecurityadmin, menangani Login pengguna yang sudah ada pada basis data tersebut. - dbNbackupoperator, dapat men'alankan proses backup. - dbNdenydatareader, tidak dapat men'alankan pernyataan S*L*-(. - dbNdenydata4riter, tidak dapat men'alankan pernyataan ,2S*#(, 6)DA(*, dan D*L*(*.

4.4.2

SQL Server #gent SQL Ser er Agent memiliki kemampuan untuk men'alankan beberapa
tugas secara periodik pada basis data dengan menotifikasi Database

Administrator $D%A& atau orang yang ditentukan bah4a suatu masalah
atau suatu e ent telah ter'adi pada ser er. Dengan menggunakan fungsi ini maka D%A tidak perlu terus menerus memantau secara manual sistem basis data tersebut untuk menentukan kapan harus men'alankan proses-proses tertentu. 5leh karena itu, memiliki lebih banyak 4aktu untuk mengurus masalah-masalah basis data yang lebih

S. Halim, 2007, Modul 4 – SQL Server

rumit seperti membangun dan menyesuaikan indeks, mengoptimasi

Query, atau merencanakan perkembangan ke depannya.
Ada tiga alat bantu utama yang digunakan untuk mengotomatisasikan peker'aan administratif yaitu 'obs, alerts, dan operators.

*nterprise Manager menyediakan antar muka yang ramah untuk
mengelola layanan SQL Ser er Agent. 6ntuk melakukannya ikuti langkah-langkah berikutA .. Klik Ser er yang ingin Anda akses, lalu pilih folder Management seperti terlihat pada gambar 0..E di ba4ah ini.

/ambar 0..E Management 9older

S. Halim, 2007, Modul 4 – SQL Server

!. Klik kanan pada SQL Ser er Agent di panel kiri atau klik kanan pada icon SQL Ser er Agent di panel kanan. )ada popup menu, Anda dapat men'alankan atau menghentikan layanan SQL Ser er

Agent` melihat catatan kesalahan` membuat 'ob, alert, atau operator` atau melihat properti.
:. )ilih )roperties dan dialog SQL Ser er Agent )roperties akan ditampilkan seperti terlihat pada gambar 0..I berikut.

0. Disini, Anda dapat mengkonfigurasi beberapa opsi untuk layanan SQL Ser er Agent melalui tab-tab yang adaA /eneral, Ad anced,

Alert System, 8ob System, dan -onnection.

/ambar 0..I Dialog SQL Ser er Agent )roperties

S. Halim, 2007, Modul 4 – SQL Server

4.4."

Data Trans-ormation Servi$e
D(S $Data (ransformation Ser ice&, adalah bagian dari SQL Ser er

*nterprise Manager, yang dirancang untuk membantu Anda untuk
melakukan transfer data $ekspor@impor& dari@ke basis data dengan lebih mudah. 9asilitas ini hanya terdapat pada SQL Ser er D@!""". )ada SQL Ser er !""7, D(S telah dihilangkan dan digantikan dengan SS,S $SQL Ser er ,ntegration Ser ice& yang lebih kompleks.

Selain menyediakan kemampuan untuk transfer data, D(S 'uga mampu melakukan proses transformasi data yang berarti mengubah data pada saat transfer data berlangsung dengan beberapa aturan

Logical.
4.4.".1 DTS Pa$!age '(itor

D(S )ackage *ditor adalah sebuah alat bantu yang berguna untuk membuat paket D(S yang didalamnya terdapat prosesproses transfer maupun transformasi data.

-ara mengaktifkan paket D(S. Klik kanan pada folder Data

(ransformation Ser ice di *nterprise Manager, lalu pilih 2e4 )ackage dan 4indo4 D(S )ackage *ditor akan ditampilkan. Ada
beberapa komponen yang dapat digunakan dalam D(S )ackage

*ditor, yaituA .. -onnection
Merupakan obyek yang berperan sebagai 'embatan koneksi antara sumber data dengan SQL Ser er.

S. Halim, 2007, Modul 4 – SQL Server

!. (ask
Merupakan komponen pada package editor berupa unit-unit peker'aan yang akan dilakukan oleh D(S. %eberapa task yang umum digunakan adalahA - 9(), mendo4nload@mengupload data melalui

9ile

(ransfer )rotocol. - (ransform Data, melakukan proses transformasi data pada saat transfer data berlangsung. - *3ecute SQL, men'alankan pernyataan (-SQL. - *3ecute )ackage, men'alankan paket D(S yang sudah ada. - (ransfer Database, mentransfer basis data.

4.4.".2 Import 7i8ar(
6ntuk menggunakan

,mport 1i+ard ikuti langkah-langkah

diba4ah ini. 1. )ada *nterprise Manager, pilih nama ser er dimana Anda ingin memasukkan data hasil impor. Lalu dari menu (ools, )ilih 1i+ards. Klik D(S ,mport 1i+ard pada dialog select dan tekan tombol 5K. Anda 'uga dapat melakukannya dengan mengklik kanan nama ser er, pilih All (asks, lalu klik ,mport

Data.
!. Klik 2e3t untuk menampilkan layar -hoose A Data Source seperti pada gambar 0.!.. )ilihlah sumber data dari drop-do4n list. Anda dapat memilih sumber data berikutA
-

(e3t 9ile
d%ase Microsoft Access

S. Halim, 2007, Modul 4 – SQL Server

-

Microsoft Data Link Microsoft *3cel Microsoft Cisual 9o3)ro 5ther 5D%- data source 5ther 5L* D% data source )arado3

)ilihan ini bergantung pada dri er 5D%- yang terdapat pada komputer Anda.

/ambar 0.!" DiaLog D(S ,mport@*3port 1i+ard

S. Halim, 2007, Modul 4 – SQL Server

/ambar 0.!. )ilih Sumber Data - ,mpor

:. )ilih 2e3t untuk menampilkan layar Select 9ile 9ormat, Layar ini hanya muncul 'ika Anda memilih sumber data (e3t 9ile. Ada beberapa pilihan format yang dapat Anda gunakan antara lain sebagai berikutA
-

Delimited dan 9i3ed 9ield untuk memilih format dari 9ile
input, karakter pemisah atau pan'ang karakter tertentu.

-

9ile (ype untuk menentukan format 9ile input 9ile apakah
berupa 9ile A2S,, 5*M, atau 6nicode.

-

#o4 Delimiter untuk menentukan apakah karakter yang
digunakan untuk menterminasi tiap baris di dalam 9ile input.

-

(e3t Qualifier dapat digunakan untuk menentukan teks di
dalam 9ile delimited.

-

Skip #o4s untuk menentukan berapa banyak baris pada
a4al 9ile input yang dilompati.

S. Halim, 2007, Modul 4 – SQL Server

-

9irst #o4 Jas -olumn 2ames untuk menentukan bah4a
baris pertama bukanlah data tetapi label dan dilompati.

/ambar 0.!! )ilih 9ormat 9ile

0. )ilih format 9ile Delimited, O-#QOL9Q untuk pemisah, dan tanpa Qualifier teks. Klik tombol 2e3t.

/ambar 0.!: Layar Specify -olumn Delimiter

S. Halim, 2007, Modul 4 – SQL Server

7. )ilihlah salah satu delimiter yang Anda inginkan dan tekan tombol 2e3t. Anda akan mendapatkan layar -hoose A

Destination screen. )ada layar ini, tentukan basis data
dimana Anda ingin mengimpor data. )ilih salah satu tipe otentikasiA 1indo4s 2( atau SQL Ser er authentication.

/ambar 0.!0 Layar -hoose A Destination - ,mpor

=. (ekan tombol 2e3t dan pada layar berikutnya pilih tabel dimana data akan di-load. D. Anda 'uga bisa melakukan transformasi data dari layar ini. Klik tombol (ransform untuk membuka dialog -olumn

Mappings And (ransformations, seperti pada gambar 0.!=.
)ada tab -olumn Mappings, Anda dapat memilih membuat tabel baru, menghapus baris dari atau menambah baris pada tabel yang sudah ada. )ilihan default adalah Append #o4s

(o Destination (able. 8ika Anda memilih untuk membuat
tabel baru, tombol *dit SQL akan mengi+inkan Anda untuk

S. Halim, 2007, Modul 4 – SQL Server

melihat dan mengubah pernyataan SQL yang Anda gunakan untuk membuat tabel baru.

/ambar 0.!7 Layar Select Source (ables and Cie4s

E. Klik

tab

(ransformations

untuk

melihat

pilihan-pilihan

transformasi, seperti gambar 0.!D. )ada tab ini, Anda dapat memilih untuk meng-copy secara langsung ke kolom atau mentransformasi informasi.

I. Klik 5K dan klik 2e3t untuk menampilkan layar Sa e,

Schedule, And #eplicate )ackage, seperti ditun'ukkan gambar
0.!E. Anda bisa melakukan impor sekarang atau men'ad4alkannya untuk 4aktu tertentu.

S. Halim, 2007, Modul 4 – SQL Server

/ambar 0.!= Dialog -olumn Mappings And (ransformations X (ab -olumn Mappings

/ambar 0.!D Dialog -olumn Mappings And (ransformations X (ab (ransformations

S. Halim, 2007, Modul 4 – SQL Server

/ambar 0.!E Layar Sa e, Schedule And #eplicate )ackage

.". Klik 2e3t untuk menampilkan layar -ompleting (he D(S

,mport@*3port 1i+ard dan klik 9inish untuk impor.
... Setelah Anda klik 9inish, Anda akan melihat layar *3ecuting

)ackage.

Sebuah

kotak

pesan

akan

muncul

menginformasikan pada Anda bah4a proses copy telah selesai atau ter'adi kesalahan.

S. Halim, 2007, Modul 4 – SQL Server

/ambar 0.!I Layar -ompleting (he D(S ,mport@*3port 1i+ard

/ambar 0.:" Layar *3ecuting )ackage - ,mport

S. Halim, 2007, Modul 4 – SQL Server

4.4."." '9port 7i8ar(
-ara menggunakan *3port 1i+ard hampir sama seperti ,mport 1i+ard. %erikut adalah langkah-langkahnya. 1. )ada *nterprise Manager, pilih nama ser er dimana Anda ingin memasukkan data hasil impor. Lalu dari menu (ools, )ilih 1i+ards. Klik D(S *3port 1i+ard pada dialog select dan tekan tombol 5K. Anda 'uga dapat melakukannya dengan mengklik kanan nama ser er, pilih All (asks, lalu klik *3port

Data.
!. Klik 2e3t untuk menampilkan layar -hoose A Data Source $lihat gambar 0.:.&. :. Klik 2e3t untuk menampilkan layar -hoose A Destination. $lihat gambar 0.:!&.

/ambar 0.:. Layar )ilih Sumber Data - *kspor

S. Halim, 2007, Modul 4 – SQL Server

/ambar 0.:! Layar -hoose A Destination X *kspor

0. Klik 2e3t untuk menampilkan layar Specify (able -opy 5r

Query. )ilih apakah seluruh tabel akan diekspor atau ekspor
dilakukan berdasarkan Query. )ilihan ketiga akan aktif bila Anda memilih database selain SQL Ser er sebagai output.

/ambar 0.:: Layar Specify (able -opy 5r Query

S. Halim, 2007, Modul 4 – SQL Server

8ika Anda menggunakan Query (o Specify (he Data (o

(ransfer dan klik 2e3t, maka akan muncul layar pernyataan
SQL seperti gambar 0.:0. Disini Anda dapat mengetikkan pernyataan Query yang menentukan data apa yang hendak Anda ekspor. 7. Klik 2e3t untuk menampilkan layar Select Destination 9ile

9ormat. $Layar ini tidak akan muncul 'ika anda mengakses
layar ini dari layar (ype SQL Statement& =. Setelah Anda klik 2e3t pada layar Select Destination 9ile 9ormat, Anda akan men'umpai layar Sa e, Schedule, And

#eplicate )ackage yang mana adalah identik dan memiliki
fungsi yang sama dengan layar yang sama pada ,mport

1i+ard. $lihat gambar 0.!E&
D. Klik 2e3t untuk menampilkan layar -ompleting (he D(S

,mport@*3port 1i+ard dan klik 9inish untuk impor.

/ambar 0.:0 Layar (ype SQL Statement

S. Halim, 2007, Modul 4 – SQL Server

/ambar 0.:7 )ilih 9ile 9ormat

/ambar 0.:= Layar -ompleting *3port

S. Halim, 2007, Modul 4 – SQL Server

E. Setelah Anda klik 9inish, Anda akan melihat layar *3ecuting

)ackage.

Sebuah

kotak

pesan

akan

muncul

menginformasikan pada Anda bah4a proses copy telah selesai atau ter'adi kesalahan.

/ambar 0.:D Layar *3ecuting )ackage - *3port

4.:

Integrasi ;ML (engan SQL Server

Microsoft telah mengimplementasikan ZML ke dalam SQL Ser er !""" dan menyediakan alat bantu konfigurasi sederhana yang memungkinkan pengguna untuk mendapatkan akses ke basis data dengan Query melalui url dari J((). Misalnya kita dapat membuat sebuah direktori irtual untuk SQL ZML pada 4eb ser er kita dengan nama (estSQLZML. Anggap kita punya akses $memiliki otorisasi&, maka kita dapat melakukan Query pada basis data kita dari bro4ser menggunakan Query url sederhana seperti A

S. Halim, 2007, Modul 4 – SQL Server

httpA@@localhost@(estSQLZMLaSQLWselectHLHfromHproductsHforH3mlHauto

8ika di'alankan, maka hasilnya akan dikembalikan dalam bentuk recordset 3ml dan ditampilkan di bro4ser.

SQL Ser er !""" memiliki : metode untuk membentuk data kita. Antara lain sebagai berikutA .. <-or 9ml auto<A Mengembalikan elemen ZML yang bersarang,

berdasarkan tabel yang diberikan pada bagian [9#5M\ dari Query, dan kolom-kolom yang diberikan pada bagian bS*L*-(b. !. <-or 9ml ra0<A Mengembalikan elemen ZML dengan prefiks bro4b $contohA b]ro4 t)roduct c^b&. (iap kolom dalam tabel direpresentasikan sebagai sebuah atribut dan kolom yang bernilai 26LL tidak diikutsertakan. :. <-or 9ml e9pli$it<A Mode ini merupakan metode yang paling rumit. Dengan Metode ini, Anda dii+inkan untuk meng-Query sumber data dimana nama dan nilai dari ZML yang dikembalikan ditentukan sebelum batch Query di'alankan.

/ambar 0.:E Definisi (abel my)roducts

S. Halim, 2007, Modul 4 – SQL Server

Lang!a= 1> Mem*uat Ta*el %uatlah basis data baru dengan nama ;my)roducts<. Lalu buatlah tabel seperti gambar 0.:E. $-atatanA cat,d, product,d dan desc,d adalah kolom identity yang sifatnya auto-increment& Sebelum memulai, kita akan terlebih dahulu mengisi tabelXtabel tersebut, misalnya : entri untuk tabel -ategories, D entri untuk )roducts dan D entri untuk Descriptions. -- *ntry U. ,2S*#( ,2(5 -A(*/5#,*S$cat2ame& CAL6*S $_AS)_& S*L*-( Tint,d W TTidentity ,2S*#( ,2(5 )#5D6-(S$product-at, product2ame& CAL6*S $Tint,d, _Learning AS) in !0 hours ersion ._& S*L*-( Tint,d W TTidentity ,2S*#( ,2(5 D*S-#,)(,52S$desc)rod,d, desc(e3t& CAL6*S $Tint,d, _Learning AS) is a book designed to help readers familiar 4ith J(ML to start to learn the basic fundamentals of AS)._&

-- *ntry U! S*L*-( Tint,d W TTidentity ,2S*#( ,2(5 )#5D6-(S$product-at, product2ame& CAL6*S $Tint,d, _AS) and SQL !"""A (he po4er to de elop_& S*L*-( Tint,d W TTidentity ,2S*#( ,2(5 D*S-#,)(,52S$desc)rod,d, desc(e3t& CAL6*S $Tint,d, _,f you__re familiar 4ith AS) and are looking to manipulate a database through script, then this is the book for you._&

S. Halim, 2007, Modul 4 – SQL Server

-- *ntry U: S*L*-( Tint,d W TTidentity ,2S*#( ,2(5 )#5D6-(S$product-at, product2ame& CAL6*S $Tint,d, _%eginners guide to e-ommerce 4ith AS) and ZML_& S*L*-( Tint,d W TTidentity ,2S*#( ,2(5 D*S-#,)(,52S$desc)rod,d, desc(e3t& CAL6*S $Tint,d, _e-ommerce is dynamic, fun, fle3ible and profitable. Learn ho4 to create a4ard 4inning 4ebsites using AS) and ZML in 'ust ! 4eeks._&

-- *ntry U0 ,2S*#( ,2(5 -A(*/5#,*S$cat2ame& CAL6*S $_C%.2*(_& S*L*-( Tint,d W TTidentity ,2S*#( ,2(5 )#5D6-(S$product-at, product2ame& CAL6*S $Tint,d, _*3ploring C%.2*( %eta !_& S*L*-( Tint,d W TTidentity ,2S*#( ,2(5 D*S-#,)(,52S$desc)rod,d, desc(e3t& CAL6*S $Tint,d, _1ith the recent release of C%.2*( %eta !, there are alot of changes, mainly those in ol ing AD5.2*(. -hanges are understand the .2*( frame4ork_& ital and 4ill help you to better

-- *ntry U7 S*L*-( Tint,d W TTidentity ,2S*#( ,2(5 )#5D6-(S$product-at, product2ame& CAL6*S $Tint,d, _-reating scalable 4eb ser ices using C%.2*(_& S*L*-( Tint,d W TTidentity ,2S*#( ,2(5 D*S-#,)(,52S$desc)rod,d, desc(e3t& CAL6*S $Tint,d,

S. Halim, 2007, Modul 4 – SQL Server

_1eb ser ices are the ne4 4ay to communicate cross ser er. Learning from Mike 8ohnson, you__ll be creating 4eb ser ices in no timeS_&

-- *ntry U= ,2S*#( ,2(5 -A(*/5#,*S$cat2ame& CAL6*S $_-U.2*(_& S*L*-( Tint,d W TTidentity ,2S*#( ,2(5 )#5D6-(S$product-at, product2ame& CAL6*S $Tint,d, _Migrating from -HH to -U_& S*L*-( Tint,d W TTidentity ,2S*#( ,2(5 D*S-#,)(,52S$desc)rod,d, desc(e3t& CAL6*S $Tint,d, _-HH is a po4erful 55) language. -U is a po4erful 4eb based 55) language. Migration to -U for the 4eb doesn__t ha e to be difficult. ,n this book 8ohn e3plains ho4, in 'ust :" days._&

-- *ntry UD S*L*-( Tint,d W TTidentity ,2S*#( ,2(5 )#5D6-(S$product-at, product2ame& CAL6*S $Tint,d, _6sing -U and AD5.2*(_& S*L*-( Tint,d W TTidentity ,2S*#( ,2(5 D*S-#,)(,52S$desc)rod,d, desc(e3t& CAL6*S $Tint,d, _Databases dri e dynamic content. 6sing -U and AD5.2*(, you too can de elop fast, and tightly integrated database 4ebsites in 'ust hours._&

Lang!a= 2> Mem*uat store( pro$e(ure 6ntuk mengambil data dalam format ZML, kita akan mengkompresi batch

Query

kita

ke

dalam

stored-procedure

tunggal

sehingga

kita

bisa

menggunakannya berulang kali dan memudahkan pengembangan lebih lan'ut.

S. Halim, 2007, Modul 4 – SQL Server

6S* my)roducts /5 -#*A(* )#5- spN/et*3plicitZML AS S*L*-( . AS (ag, 26LL AS )arent, c.cat2ame as F-ategoryS.S-at2ameG, 26LL as F)roductS!S)rod2ameG, 26LL as F)roductS!SDescriptionG 9#5M categories c 62,52 ALL S*L*-( ! AS (ag, . AS )arent, c.cat2ame, p.product2ame, d.desc(e3t 9#5M categories c, products p, descriptions d 1J*#* c.cat,d W p.product-at A2D p.product,d W d.desc)rod,d 5#D*# %Y F-ategoryS.S-at2ameG, F)roductS!S)rod2ameG 95# ZML *Z)L,-,(

Lang!a= "> Menampil!an 6asil 6ntuk menampilkan hasil dari stored-procedure diatas pada bro4ser, kita akan menulis script ASP script yang akan men'alankan stored procedure tersebut, mengisi datanya ke dalam obyek MSZML DomDocument, dan kemudian mentransformasi hasilnya menggunakan XSL stylesheet. %uatlah 9ile AS) dengan nama prodtest.asp. Masukkan kode berikutA ]S-- M*(ADA(A (ypeWb(ypeLibb 9ileWbcA>program 9iles>common

9iles>system>ado>msado.7.dllb --^
]B dim ob'Stream dim ob'-onn dim ob'-omm dim ob'ZML set ob'Stream W Ser er.-reate5b'ect$bAD5D%.Streamb&

S. Halim, 2007, Modul 4 – SQL Server

set ob'-onn W Ser er.-reate5b'ect$bAD5D%.-onnectionb& set ob'-omm W Ser er.-reate5b'ect$bAD5D%.-ommandb& set ob'ZML W Ser er.-reate5b'ect$bMSZML!.D5MDocumentb& ob'-onn.5pen b)ro iderWSQL5L*D%` Data SourceW$local&` ,nitial -ataLogWmy)roducts` 6,dWsa` )4dWb ob'-omm.Acti e-onnection W ob'-onn ob'-omm.-ommand(ype W ad-mdStored)roc ob'-omm.-ommand(e3t W bspN/et*3plicitZMLb ob'Stream.5pen ob'-omm.)roperties$b5utput Streamb&.Calue W ob'Stream ob'-omm.*3ecute ,, ad*3ecuteStream ob'Stream.)osition W " ob'ZML.LoadZML$b]a3ml ersionW_.."_a^]a3ml-stylesheet typeW_te3t@3sl_ hrefW_prodtest.3sl_a^]MyN)roducts^b d

ob'Stream.#ead(e3t d b]@MyN)roducts^b& if ob'ZML.parse*rror.error-ode ]^ " then #esponse.1rite b*rror loading ZMLA b d ob'ZML.parse*rror.reason #esponse.*nd end if #esponse.-ontent(ype W bte3t@3mlb #esponse.1rite ob'ZML.3ml B^

8adi, kita menggunakan perintah AD5 dan obyek Stream untuk men'alankan

stored-procedure kita lalu membaca hasilnya ke dalam MSZML D5MDocument
yang kemudian di-parsing. 8ika tidak ada kesalahan, maka kita menulis ZML tersebut ke dalam bro4ser menggunakan stylesheet prodtest.3sl untuk mentransformasi data 3ml ke dalam format yang lebih mudah untuk dibaca.

S. Halim, 2007, Modul 4 – SQL Server

]a3ml ersionWb.."b a^ ]3slAstylesheet 3mlnsA3slWbhttpA@@444.4:.org@(#@1D-3slb^ ]3slAtemplate matchWb@b^ ]html^ ]head^ ]title^ Sample )roducts ]@title^ ]@head^ ]body^ ]h.^%ooks in -ataLog]@h.^ ]table borderWb"b cellspacingWb!b cellpaddingWb:b^ ]3slAfor-each selectWbMyN)roducts@-ategoryb^ ]tr^ ]td 4idthWb.""Bb bgcolorWbU-"99-"b^ ]3slA alue-of selectWbT-at2ameb@^ ]@td^ ]@tr^ ]3slAfor-each selectWb)roductb^ ]tr^ ]td 4idthWb.""Bb bgcolorWbU*I*I*Ib^ ]p styleWbmargin-leftA:"b^]3slA alue-of selectWbT)rod2ameb@^]@p^ ]@td^ ]@tr^ ]@3slAfor-each^ ]@3slAfor-each^ ]@table^ ]@body^ ]@html^ ]@3slAtemplate^ ]@3slAstylesheet^

S. Halim, 2007, Modul 4 – SQL Server

6ntuk men'alankannya copy file prodtest.asp dan prodtest.3sl ke direktori

irtual 4eb ser er $,,S& Anda.

/ambar 0.:I Jasil *ksekusi prodtest.asp di %ro4ser Sebelum memulai Anda terlebih dahulu harus mengkonfigurasi direktori

irtual untuk SQL ZML Anda. ,kuti langkah-langkah berikut.
.. %ukalah konfigurasi -onfigure SQL ZML dari menu Start $StartP)rogramsPSQL AdministrationP-onfigure SQL ZML Supports in ,,S& !. %uka Ser er Anda dan klik Default 1eb Site. :. )ada menu Action, pilih 2e4 dan klik Cirtual Directory. 0. Masukkan nama basis data anda $misalnya )ubs& ke dalam direktori irtual tersebut dan path fisik dari direktori tersebut. $-A>inetpub>444root&

S. Halim, 2007, Modul 4 – SQL Server

7. )ilih tab Security. Disini Anda bisa memilih Login tunggal untuk semua pengguna direktori ini, mengi+inkan Anda menggunakan 1indo4s ,ntegrated Authentication untuk mengakses SQL dengan account 4indo4s mereka, atau menggunakan %asic -lear, yang mengi+inkan pengguna untuk menggunakan account 1indo4s mereka tetapi informasi Login tidak dienkripsi.

/ambar 0.0" 2e4 Cirtual Directory X (ab /eneral

S. Halim, 2007, Modul 4 – SQL Server

/ambar 0.0. 2e4 Cirtual Directory X (ab Security

=. )ilih tab Data Source. Disini Anda memberitahu ,,S basis data mana yang dihubungkan ke direktori irtual. Masukkan nama Ser er Anda dan pilih basis data Anda. D. )ilih tab Settings. Disini Anda menentukan batasan Query yang dapat diproses menggunakan ZML. Query melalui 6#L tidak direkomendasikan karena dapat digunakan untuk mengirim Query apapun ke dalam basis data, yang dapat menimbulkan pelanggaran keamanan $Security %reach&.

Query template direkomendasikan karena admin dapat menentukan
kumpulan Query untuk digunakan. )ilihan ini membutuhkan pengetahuan pemrograman ZML. Dan Zpath Query diperuntukkan bagi pengguna yang sudah mahir dengan ZML. Query ini mengi+inkan pengguna untuk mengakses SQL menggunakan bahasa Zpath.

S. Halim, 2007, Modul 4 – SQL Server

/ambar 0.0! 2e4 Cirtual Directory X (ab Data Source

E. )ilih tab Cirtual 2ames. Disini Anda mengasosiasikan skema Zpath atau template dengan direktori irtual untuk mambuat akses data lebih mudah bagi pengguna.

I. )ada tab Ad anced tab, lea e the defaults. Settings ini digunakan untuk membuat perubahan terhadapa bagaimana ,,S memproses Query.

.". Klik 5K untuk membuat direktori irtual.

S. Halim, 2007, Modul 4 – SQL Server

/ambar 0.0: 2e4 Cirtual Directory X (ab Settings

/ambar 0.0: 2e4 Cirtual Directory X (ab Settings

S. Halim, 2007, Modul 4 – SQL Server

D#,T#/ P ST#K# • • • •

Microsoft. SQL Ser er !""" %ooks 5nline Microsoft. SQL Ser er !""" Kno4ledge %ase Q!7DD.= MSD2 (raining. %uilding ZML-*nabled Applications using Microsoft SQL

Ser ere !""". Microsoft )ress.
/arcia, Marcilina S. $9rohock&. 8amie #eding. *d4ard 1halen. Ste e Adrien DeLuca. Microsoft SQL Ser er !""" Administrator<s -ompanion. Microsoft )ress. $!"""& • • • • SQL Ser er !""" in Microsoft De elopment 2et4ork $MSD2& Shepke4, Matthe4. 1riting Stored )rocedures for Microsoft SQL Ser er. Sams )ublishing. $!"""& Mortensen, Lance. #ick Sa4tell. 8oseph L. 8orden. MS-*A SQL Ser er !"""

Administration. Sybe3 ,nc. Alameda, -A. $!"".&
1ebsiteA o httpA@@444.sMlmag.com@ o httpA@@444.4:schools.com@ o httpA@@msdn.microsoft.com@

S. Halim, 2007, Modul 4 – SQL Server

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->