You are on page 1of 111

Database Server | Desy & Maya _^

DAFTAR ISI

Daftar isi.......................................................................................................................... 2

1.1. Pengenalan Microsoft SQL Server......................................................... 3


1.1.1. Sejarah Microsoft SQL Server.................................................... 3
1.1.2. Pengantar Microsoft SQL Server 2000....................................... 4
1.1.3. Pengantar Microsoft SQL Server 2005....................................... 8
1.1.3.1. Business Intelligence dengan SQL Server 2005
Membuat Data Menjadi Bermakna........................... 10
1.2. Cara Instal Microsoft SQL Server.......................................................... 16
1.2.1. Cara Instal Microsoft SQL Server 2000..................................... 16
1.2.2. Cara Instal Microsoft SQL Server 2005..................................... 22
1.2.3. Instalasi SQL Server 7.0 pada komputer pribadi
( bukan server )........................................................................... 35
1.3. TSQL....................................................................................................... 42
1.3.1. Pengertian TSQL........................................................................ 42
1.3.2. Syntak SQL dan Fungsinya........................................................ 45
1.3.3. Perintah – perintah SQL.............................................................. 69

Daftar Pustaka 103........................................................................................................

Database Server | Desy & Maya _^


1.1 Pengenalan Microsoft SQL Server

1.1.1. Sejarah Microsoft SQL Server

Pada tahun 1988, Microsoft mengeluarkan versi pertama dari SQL Server. Pada saat
itu masih didesain untuk platform OS/2 dan didevelop bersama antara Microsoft dengan
Sybase. Selama awal tahun 1990an, Microsoft mulai untuk membuat versi baru dari SQL
Server untuk platform NT-nya. Selama proses development tersebut Microsoft memutuskan
bahwa Microsoft SQL Server ini harus bisa terintegrasi dengan kuat dengan sistem operasi
NT-nya. Pada tahun 1993, Windows NT 3.1 dan SQL Server 4.2 untuk NT dirilis oleh
Microsoft. Target Microsoft untuk mengkombinasikan antara performa database server yang
tinggi serta kemudahan cara penggunaan dan administrasinya rupanya tercapai melalui SQL
Server ini.
Microsoft terus berhasil memasarkan SQL Server dan menjadi database server yang
terkenal. Pada tahun 1994, Microsoft dan Sybase secara resmi mengakhiri kerjasamanya. Di
tahun 1995 Microsoft merilis versi 6.0 dari SQL Server. Versi ini merupakan versi yang
penting karena sebagian besar merupakan hasil tulis ulang dan juga redesain dari core
technology sebelumnya. Versi 6.0 ini menawarkan peningkatan pada performa, built-in
replication dan juga administrasi yang tersentralisasi.
Pada tahun 1996, Microsoft merilis SQL Server versi 6.5 yang berisi berbagai macam
kemampuan tambahan dan juga fitur-fitur baru. Pada tahun 1997, Microsoft merilis SQL
Server 6.5 Enterprise Edition. SQL Server 7.0 dirilis Microsoft pada tahun 1998 dan database
engine-nya ditulis ulang agar lebih optimal. Akhirnya tahun 2000 Microsoft mengeluarkan
SQL Server 2000 yang merupakan versi yang banyak digunakan sampai tulisan ini
dipublikasikan. Versi SQL Server 2000 ini berbasis pada framework yang ada pada versi 7.0
sebelumnya.

Database Server | Desy & Maya _^


1.1.2. Pengantar Microsoft SQL Server 2000

MS SQL Server adalah salah satu produk Relational Database Management System
(RDBMS) populer saat ini. Fungsi utamanya adalah sebagai database server yang mengatur
semua proses penyimpanan data dan transaksi suatu aplikasi. Popularitas SQL Server akhir-
akhir ini mulai menanjak dan setara dengan pesaing terdekatnya yaitu Oracle 9i dan Oracle
10g. Saat ini versi terbaru adalah SQL Server 2000, sedangkan SQL Server 2005 masih
dalam tahap Beta version. Versi 2000 memiliki feature-feature lengkap untuk membangun
aplikasi mulai skala kecil sampai dengan tingkat enterprise.
SQL Server 2000 memiliki beberapa versi antara lain :
 SQL Server Personal Edition
 SQL Server Developer Edition
 SQL Server Enterprise Edition
 SQL Server Standard Edition
 SQL Server Desktop Engine
 SQL Server for Windows CE Edition

Masing masing versi memiliki perbedaan dalam hal maksimum ukuran database,
RAM, jumlah koneksi, serta berbagai feature lanjutan. Versi Personal, Developer, dan
Desktop dapat diinstall di OS Desktop seperti Windows 2000 Professioanal dan Xp,
sedangkan versi Enterprise dan Standard hanya dapat diinstal di Windows 2000/2003 Server
serta NT Server. Versi Windows CE biasa digunakan untuk PDA dan Pocket PC.

 Interface SQL Server

Berikut interface utama saat Anda bekerja dengan SQL Server:

jadwal tugas pemeliharaan umum atau membuat dan memodifikasi struktur database
individu.

Database Server | Desy & Maya _^


Di dalam folder database ditampilkan berbagai database yang ada. Database master,
model, msdb, dan tempdb merupakan default system database yang diperlukan agar SQL
Server dapat berfungsi baik. Keempat database ini tidak boleh dihapus ataupun dimodifikasi

Database Server | Desy & Maya _^


tanpa pengetahuan yang mencukupi tentang sistem SQL Server. Sedangkan NorthWind dan
pubs adalah database sampel yang dapat digunakan untuk berlatih perintah SQL maupun
administration job. Dalam tutorial selanjutnya, kita akan banyak menggunakan NorthWind
sebagai kasus.

Di dalam folder Security terdapat tool Login yang berisi daftar user di dalam
database. Di bagian ini semua manajemen menyangkut user account dilakukan. Fungsi-fungsi
lain dalam Enterprise Manager akan dibahas pada artikel berikutnya tentang SQL Server
Lanjutan.

Query Analyzer Tool ini merupakan interface utama dalam melakukan


pemrograman di SQL Server. Bahasa yang digunakan adalah Transact SQL (T-SQL). Anda
dapat membuat perintah untuk mengambil data, sortir, manipulasi data serta melakukan
perhitungan tertentu terhadap sekumpulan data dalam database. Script yang telah dibuat dapat
disimpan sebagai View ataupun Stored Procedure, sesuai dengan kebutuhan dalam
pembuatan aplikasi.

Tutorial Ini cara yang bagus untuk cepat menarik informasi dari database sebagai
respons atas permintaan pengguna, uji query sebelum menerapkan mereka dalam aplikasi
lain, membuat / memodifikasi disimpan prosedur dan melaksanakan tugas-tugas administrasi.

Database Server | Desy & Maya _^


Query Analyser juga dapat digunakan untuk membuat script sebuah database maupun obyek-
obyek di dalamnya. Script ini selanjutnya dapat dijalankan di server lain untuk membuat
database yang serupa, atau digunakan dalam sebuah aplikasi untuk mendukung
pemrograman. Caranya adalah menklik kanan sebuah obyek, dan pilih Script to New
Windows.

SQL profiler menyediakan jendela ke inner pekerjaan dari database Anda. Anda
dapat memantau berbagai jenis event yang berbeda dan melihat kinerja database secara real
time. SQL profiler memungkinkan Anda untuk menangkap dan sistem replay "jejak" bahwa
log berbagai kegiatan. Ini adalah alat yang hebat untuk mengoptimalkan database dengan
masalah kinerja atau memecahkan masalah tertentu.

Service Manager digunakan untuk mengontrol MSSQLSERVER (SQL Server utama


proses), MSDTC (Microsoft Distributed Transaction Coordinator) dan SQLServer Agent
Proses. Sebuah ikon untuk layanan ini biasanya berada dalam baki sistem mesin yang
menjalankan SQL Server. Anda dapat menggunakan Service Manager untuk memulai,
menghentikan atau menghentikan sementara salah satu dari layanan ini.

Ada 3 service standar dalam setiap instalasi default SQL Server:


 Distributed Transaction Coordinator
 SQL Server
 SQL Server Agent

Data Transformation Services (DTS) memberikan metode yang sangat fleksibel


untuk mengimpor dan mengekspor data antara SQL Server Microsoft dan instalasi berbagai

Database Server | Desy & Maya _^


macam format lain. DTS aplikasi yang paling sering digunakan adalah "Impor dan Ekspor
Data" wizard ditemukan dalam grup program SQL Server.

Fitur-fitur menarik pada SQL Server 2000 Berikut ini adalah beberapa fitur yang
menarik untuk diangkat dari sekian banyak fitur yang ada pada SQL Server 2000.
Diantaranya adalah:

 XML Support

 Multi-Instance Support

 Data Warehousing/Business Intelligence Improvements

 Performance and Scalability Improvements

 Query Analyzer Improvements

 DTS Improvements

 Transact SQL Enhancement

 XML Support

XML saat ini sudah menjadi standar dalam dunia bisnis untuk komunikasi dan juga
sharing informasi. SQL Server dalam hal ini sudah mendukung format XML. Dengan ini
Anda bisa menyimpan dokumen XML dalam suatu tabel, meng-query data ke dalam format
XML melalui Transact-SQL dan lain sebagainya.

 Multi-Instance Support

Fitur ini memungkinkan Anda untuk menjalankan beberapa database engine SQL
Server pada mesin yang sama. Fitur ini sebelumnya juga sudah ada pada Oracle Database.
Fitur ini sangat menarik karena memungkinkan seorang DBA (Database Administrator)
untuk mengkombinasikan beberapa lingkungan misalnya untuk development, testing dan

Database Server | Desy & Maya _^


produksi dalam satu mesin yang sama. Ini juga menarik bagi penyedia jasa hosting (baik ASP
maupun ISP) dimana mereka dapat menghost beberapa aplikasi dalam satu mesin yang sama.

1.1.3. Pengantar Microsoft SQL Server 2005

SQL Server digunakan sebagai database server. Data yang ada di SQL server akan
diakses oleh user lewat aplikasi khusus seperti aplikasi yang ada di supermarket, sistem
reservasi pesawat, aplikasi internet banking seperti klikbca atau menggunakan aplikasi
bawaan SQL Server 2005 yaitu Query Window.

Berdasarkan tipe datanya, database server bisa digolongkan sebagai:


1. OLTP: Online Transaction Processing (Transaksi)
2. OLAP: Online Analyze Processing (Analisa)

Contoh OLTP adalah transaksi transfer uang di atm, mengambil no. urut saat antri di
telkom dsb. Contoh OLAP adalah summary laporan penjualan saham, contoh lain  report
penjualan bulanan. SQL Server 2005 dapat digunakan sebagai OLTP atau OLAP server.

Query Window Merupakan aplikasi bawaan SQL Server. Di aplikasi ini Anda
mengetikkan perintah-perintah SQL (Structured Query Langguage) dan menjalankannya.
SQL Server akan memproses perintah tersebut dan menampilkan hasilnya di layar SQL
Server. Perintah-perintah dasar SQL akan dibahas lebih lanjut.

 Database

Database menyimpan data, tabel dan semua object yang diperlukan SQL Server.
Berikut ini object-object yang ada di Database:

1. Tabel : Kumpulan baris-baris data yang dikelompokkan dalam kolom tertentu.


2. Data Type: Tipe data yang diijinkan pada kolom.
3. Index: Penyimpanan data dalam urutan tertentu.

Database Server | Desy & Maya _^


4. View: Menyediakan cara lain untuk menampilkan tabel. Dengan view tabel kompleks
bisa disajikan dengan sederhana.
5. Stored Procedure: Kumpulan perintah SQL untuk tugas tertentu.
6. Function: Mirip dengan Stored Procedure tetapi function bisa mengembalikan suatu
nilai.
7. Constraint: Cara SQL mempertahankan integritas Data.

 System Database

Saat selesai menginstall SQL Server, akan ditemukan 4 system database, yaitu:

1. Master
2. MSDB
3. Model
4. Temp

Ke empat database ini dipergunakan SQL Server untuk administrasi, maintain dan
semua aspek yang berhubungan dengan SQL Server. Berikut penjelasannya :

MASTER database adalah database yang paling penting. Didalamnya terdapat


informasi semua user yang boleh login ke SQL Server, informasi tentang database, berisi
store procedure-store procedure system yang penting. Kehilangan database master membuat
SQL Server tidak dapat diakses.

MSDB database digunakan untuk menyimpan informasi yang berhubungan dengan


jobs, alert dan operator (akan dibahas kemudian).

MODEL database adalah "blue print" dari setiap database baru yang akan
dibuat.Ukuran setiap database baru akan mengikuti/sama dengan ukuran database model.

Object yang dimasukkan ke database model akan ikut dimasukkan ke database baru. Jika
object tersebut adalah tabel dan tabel tersebut mempunyai data, maka data tersebut akan
dicopy juga ke database baru. Database temp sebagai temporary database. Object database
yang dimasukan ke database temp akan hilang secara otomatis saat keluar aplikasi.

Database Server | Desy & Maya _^


Diluar ke empat system database tersebut adalah user database, kecuali Distribution.
Database ini muncul setelah SQL Server dikonfigurasi untuk replikasi.

1.1.3.1. Business Intelligence dengan SQL Server 2005 Membuat Data


Menjadi Bermakna

 Tawaran Baru SQL Server 2005

Sejak Microsoft merelease SQL Server versi 7, sebenarnya kemampuan BI telah


mulai dibundle dalam produk ini. Namun kemampuan BI yang benar-benar lengkap baru
didapat dalam SQL Server 2005. Kabar baiknya adalah feature BI ini telah tersedia dalam
produknya tanpa harus membeli add on tambahan.

Proses BI dalam SQL Server 2005 terbagi dalam 3 tahap yaitu Integrasi, Analisis, dan
Penyajian laporan.

Database Server | Desy & Maya _^


Database Server | Desy & Maya _^
Ketiga pilar tersebut merupakan satru kesatuan solusi BI yang terdapat dalam SQL
Server 2005. Sangat jelas terlihat bahwa ternyata proses BI merupakan sebuah perjalanan
panjang sebelum akhirnya data disajikan untuk mendukung pengambilan keputusan.

 Integrasi Data: Kunci Keberhasilan BI

Tahap ini merupakan proses mengintegrasikan berbagai data dari berbagai sumber
dan memasukkanya ke dalam data warehouse. Data dari sistem operasional divalidasi,
diekstrak, diringkas, atau diberikan formula tertentu sesuai dengan hasil analisis bisnis.
Proses ini juga dikenal sebagai extract, transform, loading (ETL) yang menggunakan SQL
Server Intgration Services (SSIS). Sumber data tidak terbatas pada SQL Server saja, tetapi
uga Oracle, DB2, flat file, XML, dan semua sumber data yang kompatibel dengan ODBC
maupun OLEDB.

Tentu saja proses ini dilakukan setelah system analyst menghasilkan jenis-jenis data
yang harus diintegrasikan, serta dari mana data tersebut dapat diperoleh. Dalam SSIS tersedia
perangkat untuk membuat data source yang mampu mengambil data dari berbagai sumber,
dan tidak terbatas pada format produk Microsoft.

Database Server | Desy & Maya _^


Proses integrasi data tidak hanya sekedar melakukan import dari data source, tetapi
termasuk juga proses validasi, agregasi, dan perhitungan menggunakan berbagai formula
yang dikehendaki.

Database Server | Desy & Maya _^


Dengan proses ini maka data yang dimasukkan ke data warehouse benar-benar siap
untuk dianalisis. Artinya dalam proses penyajian laporan tidak diperlukan lagi penggunaan
formula yang rumit. Hal ini tentu sangat meningkatkan kecepatan penyajian data, disamping
menyederhanakan proses pembuatan laporan.
Dalam gambar 3 terlihat tahap-tahap mengekstrak data yang dimulai dari
pengambilan data dari data source, dilanjutkan proses perhitungan harga perbaris transaksi
penjualan, kemudian dikalikan dengan jumlah pembelian, dan selanjutnya dihitung harga
rata-ratanya sebelum akhirnya hasil perhitungan tersebut diload ke data warehouse.

Proses pembuatan package SSIS ini menggunakan SSIS designer yang dilengkapi
dengan toolbox SSIS, sehingga mempermudah pembuatan package secara visual. Developer
dapat memasukkan formula dan code ke dalam tiap tahap pengambilan data tersebut. Selain
itu tersedia juga control flow yang digunakan untuk mengatur proses looping berdasarkan
kondisi yang telah ditentukan. Developer juga dapat menciptakan event handler yang
menangkap berbagai kejadian selama package tersebut dieksekusi. Misalnya memasukkan
pesan atau tindakan tertentu ketika terjadi error dan selesainya eksekusi.

 Analysis Services dan Data Mining

Dalam tahap ini data di dalam data warehouse dianalisis menggunakan Analysis
Services. Analysis Services merupakan alat bantu yang berisi berbagai metode data mining
dan OLAP (online analytical processing). SQL Server 2005 menyediakan 7 metode statistic
untuk membaca kecenderungan data dalam proses data mining. OLAP menyediakan cara

Database Server | Desy & Maya _^


mudah untuk membuat cube, yang merupakan representasi dari berbagai ukuran (measures)
dan dimensi (dimension) data yang akan dianalisis.

Contoh praktisnya adalah tingkat penjualan merupakan measures, sedangkan lokasi


geografis, dan profil pelanggan digolongkan sebagai dimension. Dengan demikian dapat
dianalis pengaruh lokasi dan profil pelanggan terhadap tingkat penjualan produk.

Perangkat Analysis Service di SQL 2005 merupakan salah satu implementasi dari
konsep OLAP. Mungkin para developer masih bertanya, mengapa diperlukan Analysis
Services? Apakah T-SQL query saja tidak cukup untuk menyajikan data?

Developer sering dihadapkan pada kondisi dimana bentuk dan isi reporting yang
diinginkan user sering berubah-ubah. Selain itu sering muncul kebutuhan report baru,
sehingga dilakukan pembuatan query berulang-ulang. Analysis Services merupakan solusi
dari masalah ini. Developer dapat membuat berbagai cube yang merupakan representasi dari
berbagai variabel report yang diinginkan user. Dengan demikian dalam proses reporting
tinggal menggunakan client tools seperti Excell atau Sharepoint dan dapat melakukan drag
and drop secara visual dari cube yang telah tersedia di Analysis Services Server. User dapat
membuat reportnya sendiri untuk melihat perbandingan penjualan antar produk, atau melihat
perbandingan volume penjualan di berbagai area geografis yang berbeda.

Improvement menonjol dari Analysis Services adalah Key Performance Indicator


(KPI). Terminologi ini sering digunakan para pelaku bisnis untuk mengukur pencapaian
kinerja setiap karyawan, departemen, atau perusahaan secara keseluruhan. Developer dapat

Database Server | Desy & Maya _^


mendefinisikan KPI yang telah disepakati, dan digunakan untuk mengukur apakah data yang
tersedia telah memenuhi kriteria tertentu. Penggunaan praktisnya misalnya untuk
mengevaluasi apakah setiap kota atau dealer telah mencapai target penjualan yang ditetapkan.

Dalam proses data mining, SQL 2005 menyediakan 7 metode statistik yang dapat
digunakan untuk menganalisis data. Setiap metode memiliki kekurangan dan kelebihannya
masing-masing,

Ketika
dihadapkan pada masalah peramalan penjualan, maka teknik regresi atau time series lebih
tepat digunakan. Sedangkan untuk pengambilan keputusan berdasarkan berbagai kriteria dan
alternatif, teknik decision trees lebih tepat.

 Menyajikan Data dengan Reporting Services

Reporting Services merupakan media utama dalam tahap penyajian laporan.


Perangkat ini telah tersedia dalam SQL Server 2005 dan terintegrasi dengan Business
Intelligence Development Studio. Di sisi server terdapat Report Server yang melayani
pengolahan dan penampilan laporan untuk end user. Reporting Service berjalan di web
browser sehingga sangat mudah untuk didistribusikan di intranet. Dengan demikian tidak
terdapat komponen yang harus diinstal di sisi klien.

Database Server | Desy & Maya _^


Developer dapat menyediakan berbagai format laporan dan meletakkannya di Report
Server sehingga dapat dibaca oleh end user. Selain itu pengguna juga dapat membuat laporan
sendiri menggunakan Report Builder. Tentu saja berbagai query dan tabel yang rumit harus
disiapkan dahulu oleh developer, sehingga pengguna dapat menggunakannya dengan lebih
intuitif.

Alternatif lain dalam penyajian data adalah mengintegrasikannya dalam sebuah portal.
Infrastruktur yang tersedia adalah Sharepoint Portal yang sudah terintegrasi dengan Windows
Server 2003 dan SQL Server 2005. Semua sajian data dari Reporting Services, Analysis
Services, dan Excel dapat dengan mudah ditampilkan dan diintegrasikan dalam BI Portal.
Semua tersaji dalam web browser, sehingga sangat memudahkan deployment dan
maintenance.

Database Server | Desy & Maya _^


1.2. Cara Instalasi Microsoft SQL Server

1.2.1. Instalasi Microsoft SQL Server 2000

Dalam contoh ini penulis menggunakan versi personal, yang sudah mencukupi untuk
bekerja dan membuat aplikasi. Versi ini 100% kompatibel dengan versi lain yang lebih tinggi
(Standard dan Enterprise). Database dan semua obyeknya dapat direstore ke versi tersebut
tanpa ada masalah.

Pada saat memulai, Anda harus menentukan lokasi instalasi apakah di local computer,
atau di komputer lain dalam jaringan.

Masukkan CD master SQL Server 2000, tunggu beberapa saat hingga muncul layar berikut

(jika layar tersebut


tidak muncul, buka folder Setup lalu dobel klik file setupsql.exe) Pada layar diatas pilih
SQL Server 2000 Components lalu pada layar dibawah pilih Install Database Server.

Database Server | Desy & Maya _^


Klik [Next] lalu pilih Local Computer dan klik [Next]

Selanjutnya pilih Create New Instance agar SQL Server membuat instalasi baru.

Database Server | Desy & Maya _^


Langkah berikutnya adalah menentukan komponen yang akan diinstal. Pilih server
and Client Tools yang meliputi database engine sebagagai inti SQL Server dan client tools
yang berfungsi sebagai interface untuk mengatur dan setup SQL Server.

Database Server | Desy & Maya _^


Apabila Anda belum memiliki instalasi SQL Server di komputer tersebut, pilih
“Default”. Jika sudah ada SQL Server di komputer, Anda dapat membuat instance baru
sehingga terdapat 2 SQL Server di komputer Anda.

Tipe instalasi Typical sudah cukup mewakili untuk berbagai feature yang dibutuhkan
dalam membuat aplikasi.

Database Server | Desy & Maya _^


Pada bagian service setting, pilih local system account. Artinya SQL Server
menggunakan account system di OS untuk menjalankan servicenya. Anda dapat juga
menggunakan account yang terdapat di domain/ Active Directory maupun account user
tertentu untuk menjalankan service tersebut. Penjelasan lebih detil mengenai \ hal ini akan
dibahas di tulisan selanjutnya tentang SQL Server Lanjutan.

Untuk
mode Autentikasi, sebaiknya dipilih Windows Authentication yang lebih menjamin
keamanan karena terintegrasi dengan Windows. Antara mode Windows dan Mixed masing-
masing memiliki kelebihan yang akan dijelaskan pada artikel selanjutnya. Biasanya SQL
Server di internet/Web Hosting menggunakan Mixed Mode, sehingga setiap user/pelanggan
dapat membuat login di SQL Server tanpa harus memiliki login di sistem Windows.

Database Server | Desy & Maya _^


Selanjutnya proses instalasi akan mengcopy file ke komputer. Setelah proses selesai
maka Anda sudah siap bekerja dengan SQL Server.

1.2.2. Cara Instalasi Microsoft SQL Server 2005

 Installasi SQL Server 2005 pada Windows Server 2003 SP II dengan


Virtual PC 2007.

 Installasi SQL Server 2005 Enterprise Edition

Aplikasi program database yang kami gunakan adalah SQL server 2005 Enterprise
Edition. Kami menjalankan Sql server 2005 pada platform windows server 2003 yang
berjalan di virtual PC 2007. Pada proses intallasi ini kami menggunakan perangkat Laptop/
Notebook Acer 4710 (core duo 2.0GHz, 4GB DDR2 RAM).

Perlu diketahui penulis menggunakan Windows yang berlicense, begitu pula SQL
server 2005 Enterprise Edition. Yang bertujuan untuk kegiatan belajar.

Database Server | Desy & Maya _^


Persyaratan minimum perangkat keras untuk menjalankan SQL Server 2005 :

Database Server | Desy & Maya _^


Persyaratan kecocokan sql server dengan sistem operasi yang digunakan :

Database Server | Desy & Maya _^


Database Server | Desy & Maya _^
Software/ Aplikasi yang berhubungan dengan internet/ web yang dibutuhkan :

Langsung saja kami berikan step by step bagaimana menginstall Virtual PC 2007, sebagai komputer virtual untuk menjalankan Windows Server
2003. Perlu diketahui, OS yang saat ini digunakan adalah Windows XPProfessional.

Database Server | Desy & Maya _^


MICROSOFT VIRTUAL PC 2007 :

 Siapkan CD/ ISO Virtual PC 2007


 Klik file VPC2007x86_EN. VPC2007X86 adalah singkatan dari Virtual PC 2007
untuk komputer bermesin 32bit atau x86. Sedang EN adalah Virtual PC English.
Akan tampil seperti gambar dibawah ini :

 S e t e l a h i t u t e
akan keluar form username dan organization, isi lah sesuai dengan apa yang anda
masukan. Kemudian Next, ketika memilih file directory lanjut dengan klik Next. Lalu
akan terjadi proses installasi, dan berakhir dengan Finish. Dan Virtual PC 2007 telah
dapat digunakan.

Database Server | Desy & Maya _^


 Jalankan Virtual PC 2007

 Pilih New, dan Setelah muncul jendela baru klik next


 Pilih Create Virtual Machine, dan setelah itu klik Next.
 Lalu ketikan nama virtual, bebas terserah Anda “Server 2003” lalu klik next.default
nya : New Virtual Machine
 Nah pada bagian ini pilih jenis Operasi sistem yang ingin Anda install, jikalau tidak
ada pilihlah Others (Linux / Windows Server 2008). Tapi saat ini pilih lah Windows
Server 2003, lalu klik Next.
 Lalu kotak dialog memory akan segera tampil, secara default akan tersetting 256MB,
jikalau ingin mengatur memory, pilih Adjusting the RAM lalu setting lah sesuai
dengan semau anda (1024MB) lalu tekan next. Perlu di ingat dalam mensetting RAM
diharapkan, memperhatikan nilai RAM yang terdapat di komputer kita, contohnya
Laptop memiliki RAM 2GB, setting Virtual PC 1024MB. Artinya komputer
menjalankan Windows XP 1024MB, dan Windows Server 2003 1024MB. Proses ini
berlaku ketika menajalankan Win Server 2003, pada virtual pc saja.

Database Server | Desy & Maya _^


 Ini baru sampai konfigurasi awal untuk virtual machine, selanjutnya adalah mengatur
penggunaan virtual hardisk pada virtual machine. Melanjutkan installasi yang telah di
next tadi, selanjutnya terdapat optional dan pilihlah a new virtual hardisk. Lalu pilih
next..
 Apabila anda ingin mengikuti nilai default klik tombol next, atau anda ingin
mensetkan terlebih dahulu.

Database Server | Desy & Maya _^


 Terakhir klik tombol Finish. Sampai disini anda sudah bisa membuat virtual machine
dan virtual disk. Untuk melihat komponen2 apa saja yang ada anda dapat melihat
“Setting” pada halaman awal.
 Jalankan virtual PC 2007, pada tampilan awal seperti ini. Pilih windows yang mau di
install, dan klik “Start”.

 Siapkan DVD/CD Windows Server 2003, dan masukan kedalam DVD/CD room
anda. Setelah itu akan muncul jendela baru, yang berisi seperti tampilan awal ketika
kita booting CPU.

Database Server | Desy & Maya _^


 Lalu pilih CD, dan Use physical drive E ://

 Jikalau tidak terdeteksi, restart Virtual Machine dengan memilih “Action” (pada
pojok kiri atas) klik saja “restart”.
 Dari sini lakukanlah install windows seperti biasa nya, hingga usai dan Windows
digunakan pada virtual PC

Database Server | Desy & Maya _^


 Installasi Sql Server 2005 Enterprise Edition 32-Bit pada Windows
Server 2003

 Sebelum melakukan proses installasi ada baiknya, install terlebih dahulu komponen
sql server yang dibutuhkan. Apa itu? Itu adalah IIS server. Pergilah ke Control Panel,
lalu pilih add/remove programs.Klik bagian kiri yang bernama add/remove komponen
windows, beberapa saat keluar jendela baru beri tanda cek list pada “Application
Server” mohon sebelum proses instal, terlebih dahulu lihat detail. Cek kembali apakah
IIS sudah terceklis?, jika belum ceklist saja. Yang lain tidak perlu diceklist yang
mengandung kata .net/asp.net. Lalu oke, dan lanjutkan installasi server IIS.
 Siapkan DVD/CD sql server 2005 yang anda miliki, dan masukan lah ke dalam
sebuah DVD/CD room. Diharapkan posisi ini sudah berada pada sebuah Windows
Server 2003 yang sedang dijalankan.

 Install “Server components, tool, Book,...”, beberapa saat keluar jendela “License
Agreements” beri tanda ceklist dan
next. Lalu keluar windows baru

Database Server | Desy & Maya _^


yang menyatakan proses installasi dot Net Framwork 2.0 dan 2 lainnya. Setelah
selesai klik tombol Next.

 Isikan nama Anda dan nama perusahaan Anda di halaman berikutnya, jika sudah
tekan tombol next.

Database Server | Desy & Maya _^


 Pilih komponen yang ingin Anda install di halaman ini. Integration Service
merupakan fitur baru di SQL Server 2005 yang menawarkan banyak keuntungan dan
kemudahan administrasi database. Jika Anda ingin bereksplorasi, aktifkan semua
komponen. Kemudian pilih menu Advanced untuk menginstall sample databases,
SQL Server Books Online, dan Sample Codes. Setelah konfigurasi selesai dilakukan,
tekan tombol next.

 Di halaman berikutnya pilih default instances untuk Instances Name Anda. Untuk
catatan, Anda dapat menginstall lebih dari 1 instances, tapi untuk instalasi pertama
kali, Anda harus menginstall default instances ini. Instances dapat diumpamakan
sebagai server baru. Anda dapat mengaktifkan instances baru untuk masalah
kompatibilitas dengan SQL Server edisi sebelumnya, testing software, dll. Tekan
tombol next setelah selesai.
 Pada halaman Service Accounts, pilih Local System, kemudian pilih tombol next.
 Pada halaman ini, Anda harus memilih mode autentikasi yang ingin Anda gunakan.
Bagi Anda yang baru pertama kali mencoba aplikasi ini, sebaiknya Anda pilih
Windows Authentication Mode terlebih saja. setelah selesai, tekan tombol next.
 Pada halaman Collation Settings, Anda dapat memilih mode collation yang ingin
Anda gunakan. Untuk default, SQL Server akan menggunakan incase-
sensitive,inaccent sensitive, dan sebagainya. Tekan tombol next jika sudah selesai.

Database Server | Desy & Maya _^


 Pada bagian error report pilih bagaimana sikap Anda jika ada error pada SQL Server
2005, tekan tombol next jika sudah selesai.

 Jika sudah mencapai tahap ini, berarti Anda


sudah siap menginstall SQL Server 2005. Anda akan diberikan review konfigurasi
yang telah Anda pilih sebelumnya di halaman ini. Tekan tombol install jika sudah
selesai.

Database Server | Desy & Maya _^


 Setelah selesai. Klik tombol finish. Anda dapat menggunakan SQL server 2005 pada
windows server 2003_^.

1.2.3. Instalasi SQL Server 7.0 pada komputer pribadi ( bukan server )

Database Server | Desy & Maya _^


Database Server | Desy & Maya _^
Database Server | Desy & Maya _^
Database Server | Desy & Maya _^
Database Server | Desy & Maya _^
Database Server | Desy & Maya _^
Database Server | Desy & Maya _^
1.3. TSQL

1.3.1. Pengertian TSQL

 Apa itu T-SQL?

Setiap database server semuanya pasti mendukung SQL dan SQL Server
dalam hal ini mengembangkan ekstensinya sendiri yang diberi nama T-
SQL atau Transact-SQL. Ini bisa Anda analogikan seperti PL/SQL jika
pada Oracle Database. T-SQL merupakan superset dari SQL-92 (standar
ISO untuk SQL yang disertifikasi pada tahun 1992). T-SQL
menambahkan beberapa sintaks baru yang hanya dikenal di SQL Server. Seperti diketahui
bahwa standar SQL mengharuskan transaksi database dengan istilah ACID yaitu Atomic,
Consistent, Isolated dan Durable.

Transact-SQL adalah pusat menggunakan SQL Server. Semua aplikasi yang


berkomunikasi dengan sebuah instance dari SQL Server melakukannya dengan mengirimkan
pernyataan Transact-SQL ke server, tanpa user interface aplikasi.

Berikut ini adalah daftar jenis-jenis aplikasi yang dapat menghasilkan Transact-SQL:

 Kantor aplikasi produktivitas Umum.


 Aplikasi yang menggunakan antarmuka pengguna grafis (GUI) agar pengguna
memilih tabel dan kolom dari yang mereka ingin melihat data.
 Aplikasi yang menggunakan kalimat-kalimat bahasa umum untuk menentukan data
apa yang pengguna ingin melihat.
 Bidang aplikasi bisnis yang menyimpan data mereka dalam database SQL Server.
Aplikasi tersebut dapat mencakup aplikasi yang ditulis oleh vendor dan aplikasi yang
ditulis dalam-rumah.
 Transact-SQL script yang dijalankan dengan menggunakan utilitas seperti sqlcmd.
 Aplikasi dibuat dengan menggunakan pengembangan sistem seperti Microsoft Visual
C + +, Microsoft Visual Basic, atau Visual Microsoft J + + yang menggunakan
database API seperti ADO, OLE DB, dan ODBC.

Database Server | Desy & Maya _^


 Web halaman yang mengekstrak data dari database SQL Server.
 sistem database yang terdistribusi dari data dari SQL Server direplikasi ke berbagai
database, atau didistribusikan query dijalankan.
 Data gudang di mana data yang diekstrak dari proses transaksi online (OLTP) sistem
dan diringkas untuk analisis keputusan-dukungan.

 Apa ada varian dari SQL Server?

Versi sederhana dari SQL Server dikenal dengan nama MSDE (Microsoft SQL Server
Desktop Engine) dan didistribusikan bersama dengan produk Microsoft yang lainnya seperti
Visual Studio, Visual FoxPro, Microsoft Access dan yang lainnya. Batasan dari MSDE ini
adalah maksimal database yang bisa dihasilkan adalah 2 GB dan tidak dilengkapi dengan tool
untuk mengadministrasi databasenya. Berita baiknya adalah Microsoft sedang menyiapkan
versi lanjutan dari MSDE yang akan diberi nama SQL Server Express. SQL Server Express
ini akan dilengkapi dengan SQL Server Express Manager untuk mengadministrasi database
dengan mudah.

SQL Server dilengkapi dengan fungsi-fungsi untuk keperluan Business Intelligence


melalui Analysis Services (sebelumnya bernama OLAP Services pada versi 7.0). Analysis
Services menawarkan OLAP (Online Analytical Processing) yang bisa diakses lewat web
sehingga bisa diakses juga dari internet. Sebagai tambahannya SQL Server 2000 juga
ditambahi dengan tools untuk keperluan data mining. Performance and Scalability
Improvements Dari sisi performa dan skalabilitas, SQL Server juga sudah
memperhitungkannya. Ini dicapai dengan menerapkan distributed partitioned views yang
mana memungkinkan untuk membagi workload ke beberapa server sekaligus. Peningkatan
lainnya dicapai di sisi DBCC, indexed view dan index reorganization.

Manajemen Transaksi Server:

1. Connect dan Disconnect

2. State Transaksi

3. Commit

Database Server | Desy & Maya _^


4. Rollback

Manajemen Database Server :

1. Backup dan Restore

2. Unload dan load / Reload

3. Kompresi dan Dekompresi

Database Security:

1. Encrypt

2. Otorisasi

 SQL Server Online Manager

Membahas tentang SQL-DMO (SQL-Distributed Management Objects) dan beberapa


langkah untuk mengimplementasikannya.

 SQL Server merupakan salah satu database engine yang patut untuk diperhitungkan
reliabilitasnya. Walaupun sebuah database engine merupakan servis yang boleh
dibilang tidak sederhana, tetapi Microsoft mampu merancang interface program-
program pendukungnya sedemikian rupa sehingga mudah untuk dipahami dan
digunakan.

Jika anda salah satu pengguna SQL Server, tentunya anda sudah sangat terbiasa
menggunakan tool-tool yang disediakan oleh database engine tersebut. salah satu tool yang
sangat banyak digunakan adalah Enterprise Manager. Dengan tool itu kita bisa membuat dan
memaintenance database dengan sangat mudah. Tetapi kemudahan-kemudahan yang
ditawarkan oleh microsoft kadang tidak sepenuhnya mampu mengatasi masalah yang kita
hadapi. Salah satu contoh jika kita dihadapkan pada sebuah pertanyaan, dengan tool yang ada
apakah bisa kita memaintenance database kita kapan saja dan dari mana saja, misalkan dari
Database Server | Desy & Maya _^
warnet atau dari rumah kita? Saya pernah mencoba enterprise manager saya remote dari
rumah saya menggunakan Virtual Private Network (VPN) dan ternyata bisa tersambung, akan
tetapi hasilnya sangat mengecewakan karena selain koneksinya yang lambat kadang juga
sering putus. Dari kasus ini kemudian saya mencoba berpikir bagaimana caranya mencari
solusinya. Akhirnya setelah baca-baca dari beberapa tutorial akhirnya saya tertarik dengan
SQL-DMO untuk memecahkan problem tersebut. Dikarenakan aplikasi tersebut harus bisa
online maka untuk prgrammingnya saya pilih ASP.

1.3.2. Syntak SQL dan Fungsinya

 Beberapa Fungsi Penting di SQL Server

Function (fungsi) adalah suatu procedure yang menghasilkan suatu nilai tertentu.
Function di dalam SQL Server dibagi menjadi dua yaitu function yang sudah ada di SQL
Server (bawaan) dan function buatan user. Beberapa function bawaan Ms. SQL Server adalah
sbb :

 Data Defenition Language ( DDL ) / Pembentukan database

 Membuat tabel (Creating tables)

Syntax

CREATE TABLE <nama_tabel> (

<nama_kolom> <tipe_data>(<panjang_data>)

[UNIQUE] [NOT NUL] [PRIMARY KEY] [DEFAULT<nilai_default>]

[referential_constraint_defenition>] [CHECK<constraint_defenotion>],

<nama_kolom> <tipe_data>(<panjang_data>)

[UNIQUE] [NOT NULL] [PRIMARY KEY] [DEFAULT<nilai>]

Database Server | Desy & Maya _^


[referential_constraint_defenition>] [CHECK<constraint_defenition>],

...

);

Keterangan Unique; Pada kolom tersebut tidak boleh ada data yang sama. Not Null;
tidak boleh data pada kolom tersebut bernilai null Unique dan Not Null; kolom tersebut dapat
dijadikan primary key. Default; nilai default yang secara otomatis akan mengisi kolom
dengan data default tersebut setiap operasi insert dilakukan.

Referential_Constraint_Definition; Bila kolom tersebut merupakan foreign key


terhadap tabel lain. Dengan syntax

FOREIGN KEY <nama_kolom> REFERENCES <nama_tabel>

Contoh :

CREATE TABLE Pelajar (

No_Induk CHAR(8),

Nama CHAR(20),

Tgl_Lahir DATE,

Kelas CHAR(2)

);

CREATE TABLE Mata_Pelajaran(

Kode CHAR(4),

Nama CHAR(20),

Kelas CHAR(2)

);

Database Server | Desy & Maya _^


CREATE TABLE Nilai(

No_Induk CHAR(8),

Kode CHAR(4),

Nl_Angka Number

);

 Membuat index (Creating indices)

Syntax

...

[<nama_kolom><tipe_data>(<panjang_data>)REFERENCES<nama_tabel>(<nama_kolom>
), . . . ]

CREATE INDEX <nama_index> ON <namatabel>(<nama_kolom>);

Contoh :

DROP TABLE Pelajar;

CREATE TABLE Pelajar (

No_Induk CHAR(8) PRIMARY KEY,

Nama CHAR(20),

Tgl_Lahir DATE,

Kelas CHAR(2)

);

CREATE INDEX nm ON Pelajar(Nama);

DROP TABLE Mata_Pelajaran;


Database Server | Desy & Maya _^
CREATE TABLE Mata_Pelajaran(

Kode CHAR(4) PRIMARY KEY,

Nama CHAR(20),

Kelas CHAR(2)

);

CREATE TABLE Nilai(

No_Induk CHAR(8) REFERENCES Pelajar(No_Induk),

Kode CHAR(4) REFERENCES Mata_Pelajaran(Kode),

Nilai Number

);

 Mengubah tabel (Altering tables)

Syntax

ALTER TABLE <nama_tabel>

[ ADD (<nama_kolom> <tipe_data>(<panjang_data>), . . . ); ]

[ MODIFY (<nama_kolom><tipe_data>(<panjang_data>), . . .); ]

Keterangan

Add; Penambahan kolom baru.

Modify; Mengubah kolom yang sudah ada sebelumnya.

Contoh :

Database Server | Desy & Maya _^


ALTER TABLE Pelajar

ADD (Jenis_Kelamin CHAR(10));

 Menghapus tabel (Dropping tables)

Syntax

DROP TABLE <nama_tabel>

DROP INDEX <nama_index>

Contoh :

DROP TABLE Pelajar;

DROP INDEX nm;

 Data Manipulation Language ( DML ) / Manipulasi Data

 Penyisipan data (Inserting)

Syntax

INSERT INTO <nama_tabel> [(<nama_kolom1,nama_kolom2, . . . <nama_kolomN>)]

VALUES (<nilai_kolom1>,<nilai_kolom2>, . . . <nilai_kolomN>);

Contoh :

DROP TABLE Pelajar CASCADE CONSTRAINTS;

CREATE TABLE Pelajar (

No_Induk CHAR(8) PRIMARY KEY,

Database Server | Desy & Maya _^


Nama CHAR(20),

Tgl_Lahir DATE,

Kelas CHAR(2)

);

INSERT INTO Pelajar

VALUES (‘00311217’,’Wempi Satria’,’02-JAN-1982’,’1’,’Laki-laki’);

INSERT INTO Pelajar

VALUES (‘00311211’,’Wempi,’03-MAR -1982’,’1’,’Laki-laki’);

INSERT INTO Pelajar

VALUES (‘00311210’,’Satria’,’12-DEC -1982’,’1’,’Perempuan’);

 Mengubah data (Updating)

Syntax

UPDATE <nama_tabel>

SET <nama_kolom1= ‘nilai_kolom1’>,

<nama_kolom2= ‘nilai_kolom2’>,

... ,

<nama_kolomN= ‘nilai_kolomN’>

[WHERE <kondisi>];

Contoh :

Database Server | Desy & Maya _^


UPDATE Pelajar

SET No_Induk = ‘00311216’ ,Nama = ‘Wati’

WHERE No_Induk =’00311210’ and Nama = ‘Satria’;

 Menghapus data (Deletion)

Syntax

DELETE FROM <nama_tabel>

WHERE <kondisi>;

Contoh :

DELETE FROM Pelajar

WHERE No_Induk = ‘00311211’;

 Seleksi data (Selection)

Syntax

SELECT [*] [<kolom1>, <kolom2>, . . ., <kolomN>]

[<alias.kolom1>, <alias.kolom2>, . . . , <alias.kolomN>]

FROM <nama_tabel>

WHERE <kondisi>

[AND <kondisi>]

[AND MONTH_BETWEEN (<kondisi>);

Contoh :

Database Server | Desy & Maya _^


SELECT * FROM Pelajar;

SELECT a.No_Induk, a.Nama, b.Kode, b.Nama, c.Nl_Angka

FROM Pelajar a, Mata_Pelajaran b, Nilai c;

WHERE a.No_Induk=c.No_Induk and b.Kode=c.kode;

 Membuat tabel maya (Creating views)

Syntax

CREATE VIEW <nama_view>

AS SELECT <kolom1, kolom2, . . . , kolomN>

FROM <nama_tabel>

WHERE <kondisi>;

 Data Control Language ( DCL ) / Kontrol Data

 Konfirmasi menyimpan data di memory ke database (Commit)

Syntax

COMMIT [WORK];

Contoh :

INSERT INTO Pelajar

VALUES (‘00311210’,’Satria’,’15-DEC -1982’,’1’,’Perempuan’);

Database Server | Desy & Maya _^


COMMIT;

 Mengembalikan status transaksi sebelum penyimpanan (Rollback)

Syntax

ROLLBACK [WORK];

 Pemberian hak dari satu user ke user lain (Grant)

Syntax

GRANT <spesifikasi_akses>

ON <nama_tabel/nama_view> TO <nama_user>

[WITH GRAN OPTION];

 Penghapusan hak yang diberikan (Revoke)

Syntax

REVOKE <spesifikasi_akses>

FROM <nama_user>;

 Spesifikasi akses

Database Server | Desy & Maya _^


All Privileges; Semua hak diberikan.

Select; Untuk seleksi

Update; Untuk mengubah data

Insert; Untuk menyisipkan data

Delete; Untuk menghapus data

 EKSPRESI

FROM

 Untuk mendefenisikan tabel yang menjadi sumber data dari suatu


perintah seleksi

Contoh : SELECT * FROM Pelajar

 WHERE

 Untuk mendefenisikan kondisi pengambilan data dari suatu perintah


seleksi

SELECT * FROM Pelajar

Contoh :

WHERE No_Induk = ‘00311217’;

 GROUP BY

Database Server | Desy & Maya _^


 Untuk Mengelompokkan data berdasarkan ekspresi group

Syntax :

SELECT <kolom1, kolom2, ... , kolomN>

FROM <nama_tabel>

WHERE <kondisi>

GROUP BY <group_kolom>;

Contoh : SELECT a.No_Induk, b.Nama, c.Nl_Angka

FROM Pelajar.a, Nilai b

WHERE a.No_Induk=c.No_Induk and b.kode=c.kode

GROUP BY a.No_Induk, b.Nama, c.Nl_Angka;

ORDER BY

 Untuk mengurutkan data hasil seleksi

Syntax : SELECT <kolom1, kolom2, ... , kolomN>

FROM <nama_tabel>

WHERE <kondisi>

ORDER BY <nama_kolom> [DESC];

Contoh : SELECT * FROM Pelajar

Database Server | Desy & Maya _^


ORDER BY No_Induk;

 HAVING

 Untuk mendefenisikan batasan seleksi berdasarkan GROUP BY

Syntax :

SELECT <kolom1, kolom2, ... , kolomN>

FROM <nama_tabel>

WHERE <kondisi>

GROUP BY <group_kolom>

HAVING <batasan_group>;

Contoh :

SELECT a.No_Induk, b.Nama, c.Nl_Angka

FROM Pelajar.a, Nilai b

WHERE a.No_Induk=c.No_Induk and b.kode=c.kode

GROUP BY a.No_Induk, b.Nama, c.Nl_Angka

HAVING Nilai>80;

Database Server | Desy & Maya _^


 PREDIKAT

 COMPARISON

Pembanding dua nilai dengan syarat type data yang dibandingkan harus sama

 BETWEN

 Pembanding untuk mengecek apakah suatu nilai berada dalam range


tertentu atau tidak

Syntax :

... BETWEEN ... AND ...

... NOT BETWEEN ... AND ...

Database Server | Desy & Maya _^


Contoh : Menampilkan data nilai pada range 80 dan 100

SELECT * FROM Nilai

WHERE Nl_Angka BETWEEN 80 AND 100;

 IN

 Untuk melakukan pengecekan apakah suatu nilai terdapat dalam suatu


himpunan

Syntax :

IN ( ... )

IN SELECT ...

Contoh : Select * FROM Pelajar a

WHERE a.No_Induk IN (SELECT b.No_Induk FROM Nilai b);

 LIKE / NOT LIKE

 Untuk membandingkan data dengan pola / struktur tertentu, untuk satu


karakter dipakai ( _ ) dan string ( % )

Syntax : ... <kolom> LIKE <struktur>

Database Server | Desy & Maya _^


... <kolom> NOT LIKE <struktur>

Contoh : SELECT * FROM Pelajar

WHERE Nama LIKE ‘We%’;

 IS NULL / IS NOT NULL

 Untuk membandingkan suatu nilai dengan NULL

Syntax : ... <kolom> IS NULL ... <kolom> IS NOT NULL

Contoh :

SELECT * FROM Pelajar

WHERE Kelas IS NULL

 EXIST

 Untuk pengecekan apakah suatu query memiliki hasil atau tidak

Syntax : ... WHERE EXIST (SELECT ... )

Contoh : SELECT * FROM Pelajar a

WHERE EXIST (

SELECT b.No_Induk FROM Nilai b

WHERE a.No_Induk=b.No_Induk);

Database Server | Desy & Maya _^


 String Functions

1. ASCII
 Kegunaan : Menghasilkan nilai ASCII dari suatu karakter.
 Sintaks : ASCII(<expression>)
 Contoh :
SELECT
ASCII(‘A’) uppercase_a,
ASCII(‘abc’) lowercase_a
uppercase_a lowercase_a
----------- -----------
65 97

2. CHAR
 Kegunaan : Menghasilkan karakter dari suatu angka ASCII.
 Sintaks : CHAR(<numeric_expression>)
 Contoh :
SELECT
CHAR(65) uppercase_a,
CHAR(97) lowercase_a
uppercase_a lowercase_a
----------- -----------
A a

3. CHARINDEX
 Kegunaan :Menghasilkan nilai posisi karakter dari suatukarakter/kata/kalimat
yang dicari.
 Sintaks : CHARINDEX(<char_expression1>, <char_expression2>)
 Contoh :
SELECT
CHARINDEX(‘E’, ‘ABCDEFG’) AS position
position
---------

Database Server | Desy & Maya _^


5

4. LEFT & RIGHT


 Kegunaan : Menghasilkan beberapa karakter yang berawal dari sebelah kiri
(left) atau kanan (right) dari suatu karakter/kata/kalimat.
 Sintaks :
LEFT(<char_expression>,<length_integer>)
RIGHT(<char_expression>,<length_integer>)
 Contoh :
SELECT
RIGHT(‘ABCDEF’, 3) AS three_last,
LEFT(‘ABCDEF’, 3) AS three_first
three_last three_first
---------- ------------
DEF ABC

5. LEN
 Kegunaan : Menghasilkan panjang dari suatu karakter/kata/kalimat.
 Sintaks : LEN(<char_expression>)
 Contoh :
SELECT LEN(‘ ABCD ‘) AS total_length
total_length
------------
5

6. LTRIM & RTRIM


 Kegunaan : Menghilangkan spasi sebelah kiri atau kanan dari suatu
karakter/kata/kalimat.
 Sintaks :
LTRIM(<char_expression>)
RTRIM(<char_expression>)
 Contoh :
SELECT

Database Server | Desy & Maya _^


( ‘*’ + LTRIM (‘ ABC ‘) + ‘*’) AS left_trimmed,
( ‘*’ + RTRIM (‘ ABC ‘) + ‘*’) AS right_trimmed
left_trimmed right_trimmed
------------ ------------
*ABC * * ABC*

7. LOWER
 Kegunaan : Menghasilkan tampilan huruf kecil dari suatu
karakter/kata/kalimat.
 Sintaks : LOWER(<char_expression>)
 Contoh :
SELECT
LOWER(‘STRING’) lowercase
LOWERCASE
------------
String

8. REPLACE
 Kegunaan : Mengganti suatu karakter/ kata/ kalimat dengan suatu karakter/
kata/ kalimat lain berdasarkan posisi tertentu.
 Sintaks :
REPLACE(<string_expression1>,<string_expression2>,<string_expression3>)
 Contoh :
SELECT
REPLACE(‘ABCDEFG’,’CDE’,’*’) AS no_CDE
no_CDE
-------------
AB*FG

9. REPLICATE
 Kegunaan : Menduplikasi suatu karakter/kata/kalimat dengan jumlah
tertentu.
 Sintaks : REPLICATE(<expression>,<times_integer>)

Database Server | Desy & Maya _^


 Contoh :
SELECT
REPLICATE(‘A’,5) AS five_a,
REPLICATE(‘’,5) AS five_blanks,
REPLICATE(5,2) AS two_times_five
five_a five_blanks two_times_five
------ ----------- --------------
AAAAA 55

10.REVERSE
 Kegunaan : Membalik suatu karakter/kata/kalimat.
 Sintaks : REVERSE(<expression>)
 Contoh :
SELECT
REVERSE(‘ABCD’) AS backwards_char,
REVERSE(12345) AS backwards_numeric
backwards_char backwards_numeric
-------------- ----------------
DCBA 54321

11.STR
 Kegunaan : Menampilkan numerik secara string dengan panjang dan tempat
pecahan yang bisa ditentukan.
 Sintaks : STR(<number_float [,<length_integer> [,<decimal_integer]])
 Contoh :
SELECT
STR(1234.5678, 4) AS four_chars
STR(1234.5678, 7,2) AS seven_chars
STR(1234.5678, 3,1) AS not_enough_space
four_chars seven_chars not_enough_space
---------- ----------- ----------------
1235 1234.57 ***

Database Server | Desy & Maya _^


12.STUFF
 Kegunaan : Menghapus suatu kata/kalimat pada posisi dan panjang tertentu
kemudian diganti dengan karakter/kata/kalimat yang lain.
 Sintaks : STUFF(<char_expression1> ,<start_integer> , <length_integer> ,
<char_expression2>)
 Contoh 1 :
SELECT
STUFF(‘ABCDABCD’,5,4,’EFG’) as alphabet
alphabet
---------
ABCDEFG

 Contoh 2 :
SELECT
STUFF(‘ABCDABCD’,5,3,NULL) AS remove3,
STUFF(‘ABCDABCD’,5,3,’ ‘) AS blank,
STUFF(‘ABCDABCD’,5,3,’’) AS empty_string
remove3 blank empty_string
------- ------ ------------
ABCDD ABCD D ABCDD

13.SUBSTRING
 Kegunaan : Menghasilkan potongan kata/kalimat pada posisi dan panjang
tertentu dalam suatu karakter/kata/kalimat.
 Sintaks : SUBSTRING(<expression>,<start_integer>,<length_integer>)
 Contoh :
SELECT
SUBSTRING(‘ABCDEFG’,1,3) AS first_three,
SUBSTRING(0x001101,1,2) AS first_binary
first_three first_binary
----------- ------------
ABC 0x0011

Database Server | Desy & Maya _^


14.UPPER
 Kegunaan : Menghasilkan tampilan huruf kapital dari suatu
karakter/kata/kalimat.
 Sintaks : UPPER(<numeric expression>)
 Contoh :
SELECT
UPPER(‘string’) as uppercase

UPPERCASE
-------------
STRING

 Date and Time Functions (Fungsi Tanggal dan Waktu)

1. DATEADD
 Kegunaan : Menghasilkan tanggal dan waktu baru berdasarkan tanggal dan
waktu asal/lama yang dijumlah dengan interval yang diinputkan.
 Sintaks : DATEADD(<datepart>,<how_many_integer>,<add_to_date>)
 Contoh :
SELECT
DATEADD(month,4, GETDATE()) as four_months_ahead
four_months_ahead
------------------------------------------------------
2006-11-11 09:39:19.747

2. DATEDIFF
 Kegunaan : Menghasilkan selisih hari/bulan/tahun antara dua tanggal dan
waktu.
 Sintaks : DATEDIFF(<datepart>,<date_expression1>,<date_expression2>)
 Contoh :
SELECT
DATEDIFF (day, ‘1900-01-01’, GETDATE()) AS days
days

Database Server | Desy & Maya _^


-----------
38907

3. DATENAME
 Kegunaan : Menghasilkan nama hari/bulan atau tahun dari tanggal tertentu.
 Sintaks : DATENAME(<date_expression>)
 Contoh :
SELECT
GETDATE() AS full_date,
DATENAME( month, GETDATE()) AS month_name
full_date month_name
----------------------- -------------------
2006-07-11 10:18:04.827 July

4. DATEPART
 Kegunaan : Menghasilkan nama hari/bulan atau tahun dari bagian tanggal
tertentu.
 Sintaks : DATEPART(<date_part>,<date_expression>)
 Contoh :
SELECT
DATEPART(year, GETDATE()) as current_year
current_year
------------
2006

5. DAY
 Kegunaan : Menghasilkan nilai hari dari tanggal tertentu.
 Sintaks : DAY(<date_expression>)
 Contoh :
SELECT
DAY(GETDATE()) AS current_day,
GETDATE() AS ‘current_date’
current_day current_date

Database Server | Desy & Maya _^


----------- ------------------------
11 2006-07-11 10:22:14.233

6. GETDATE
 Kegunaan : Mengambil tanggal dan waktu dari sistem komputer.
 Sintaks : GETDATE()
 Contoh :
SELECT
GETDATE() AS local_time
local_time
------------------------
2004-03-07 16:33:23.940
7. MONTH
 Kegunaan : Menghasilkan nilai bulan dari tanggal tertentu.
 Sintaks : MONTH(<date_expression>)
 Contoh :
SELECT
MONTH(GETDATE()) AS current_month,
GETDATE() AS ‘current_date’
current_month current_date
------------- ------------------------
7 2006-07-11 10:32:09.810

8. YEAR
 Kegunaan : Menghasilkan nilai tahun dari tanggal tertentu.
 Sintaks : YEAR(<date_expression>)
 Contoh :
SELECT
YEAR(GETDATE()) AS current_year,
GETDATE() AS ‘current_date’
current_year current_date
------------ ------------------------
2006 2006-07-11 10:34:30.043

Database Server | Desy & Maya _^


 System Functions (Fungsi Sistem)

1. CAST & CONVERT


 Kegunaan : Mengubah tipe suatu data ke tipe data yang lain.
 Sintaks : CAST(<expression> AS <data_type>) CONVERT(data_type
[ ( length ) ] , expression [ , style ] )
 Contoh 1 :
SELECT
‘$ ‘ + CAST (100 AS VARCHAR(10)) AS one_hundred_dollars
one_hundred_dollars
-------------------
$100

 Contoh 2 :
SELECT
CONVERT(VARCHAR(25),GETDATE(),111) AS japanese_style,
CONVERT(VARCHAR(25),GETDATE(),104) AS german_style,
CONVERT(VARCHAR(25),GETDATE(),126) AS ISO8601_style
japanese_style german_style ISO8601_style
-------------------- ------------------ -------------------------
2006/07/11 11.07.2006 2006-07-11T11:03:38.093

2. ISDATE
 Kegunaan : Memeriksa apakah suatu data merupakan tipe tanggal. Jika benar
menghasilkan angka 1 dan jika salah 0.
 Sintaks : ISDATE( )
 Contoh :
SELECT
ISDATE(GETDATE()) AS getdate_value,
ISDATE (‘07/18/2004’) AS date_value,
ISDATE(‘67/56/07’) AS not_a_date

Database Server | Desy & Maya _^


getdate_value date_value not_a_date
------------- ----------- -----------
1 1 0

3. ISNULL
 Kegunaan : Memeriksa apakah suatu data bertipe null. Jika benar maka data
tersebut akan diganti dengan data lainnya.
 Sintaks : ISNULL(<check_expression>,<replacement_value>)
 Contoh :
SELECT
ISNULL(NULL, ‘it is NULL’) AS null_value,
ISNULL(‘not NULL’, ‘it is NULL’) AS not_null
null_value not_null
---------- --------
it is NULL not NULL

4. ISNUMERIC
 Kegunaan : Memeriksa apakah suatu data merupakan tipe numerik. Jika
benar menghasilkan angka 1 dan jika salah 0.
 Sintaks : ISNUMERIC( )
 Contoh :
SELECT
ISNUMERIC(‘12345’) AS num_value,
ISNUMERIC(‘12@345’) AS not_num_value
num_value not_num_value
----------- -------------
1 0

1.3.3. Perintah – perintah SQL

 Membuat Database

Database Server | Desy & Maya _^


Kita akan belajar membuat database, tabel, dan mengimport data dari database lain
untuk digunakan sebagai sarana latihan perintah-perintah SQL.

Cara membuat sebuah database:

1. Buka Enterprise Manager lalu expand Microsoft SQL Server > SQL Server
Groups
2. Lanjutkan dengan membuka server LOCAL, atau sesuai nama komputer Anda,
lalu buka folder Database. Klik kanan folder tersebut dan pilih New Database.

3. Isikan nama
database yang akan dibuat, misalnya: ASPNET.

Database Server | Desy & Maya _^


4. Lanjutkan dengan membuka tab Data Files, di bagian ini terdapat beberapa option
yang dapat dijelaskan sebagai berikut:

 File Name dan Location, untuk memberi nama file dan meletakkan file
database tersebut di suatu lokasi folder yang diinginkan.

 File growth, mengatur penambahan ukuran file database. Dapat ditetapkan


dengan persentase tertentu atau berdasarkan jumlah megabytes tertentu.

 Maximum file size, ukuran file dapat dibatasi pada tingkat tertentu atau
unlimited.

5. Pada tab Transaction Log terdapat option yang sama dengan tab Data Files.
Apabila membuat database di SQL Server maka akan terdiri minimum 2 file yaitu:

 Data File, adalah file untuk menyimpan data.

 Transaction Log, adalah file ynag menyimpan histori transaksi dan semua
kejadian di database tersebut.

Database Server | Desy & Maya _^


Pada tutorial ini semua option untuk 2 file tersebut dibiarkan dalam kondisi
default.

6. Setelah proses pengisian option selesai, klik OK dan database baru akan terlihat di
Enterprise Manager.

 Membuat Tabel

Sebuah database terdiri dari satu atau banyak tabel untuk menyimpan data. Untuk
membuat tabel, klik kanan nama database tersebut lalu pilih New > Table.

Kemudian diisi
nama- nama kolom/field
untuk tabel tersebut.
Berikut contoh pengisian
untuk tabel dengan nama
Pelanggan yang
berisi 6 field, lengkap
dengan tipe datanya
masing- masing.

Database Server | Desy & Maya _^


Dapat dilihat bahwa setiap field memiliki tipe data dan ukurannya masing-masing.
Penting untuk diperhatikan bahwa sebuah field harus menggunakan tipe data dan ukuran
secara tepat, sesuai dengan kebutuhannya. Apalagi tipe data dan ukurannya terlalu besar,
maka database akan cepat membengkak dan memakan memori lebih banyak dari yang
dibutuhkan. Selain itu juga perlu ditetapkan field mana yang harus diisi dan mana yang tidak.
Pada contoh tersebut field IDPelanggan, Nama, dan Email harus diisi dengan mengisi setup
Allow Null = False. Artinya field tersebut tidak diperbolehkan kosong.

 Primary Key dan Foreign Key

Setiap tabel sebaiknya dilengkapi dengan primary key yang merupakan identitas
unik dari setiap baris data. Dengan demikian apabila dalam suatu tabel terdapat sekian ribu

Database Server | Desy & Maya _^


baris data misalnya, maka setiap barisnya memiliki identitas sendiri berdasarkan primary key
nya. Pada contoh diatas yang bertindak sebagai primary key adalah IDPelanggan, yang
berbeda untuk setiap barisnya.

Salah satu teknik sederhana dan efektif adalah menetapkan field autonumber
sebagai primary key. Jadi secara otomatis akan ditetapkan angka berurutan dalam setiap
barisnya. Pada tabel tersebut terlihat tipe datanya adalah smallint dan dibuat autonumber
dengan mengisi Identity Seed dan Identity Increment = 1. Identity diisi Yes, artinya field
tersebut akan bernilai berbeda setiap barisnya sehingga dapat berfungsi sebagai primary key.
Anda juga dapat membuat primary key dengan tipe data lain (bukan autonumber) sesuai
dengan kebutuhannya.

Cara membuat kunci utama tabel adalah sbb :

1. Letakkan kursor di field yang akan dijadikan kunci utamanya. Jika ada dua

field atau lebih yang letaknya berurutan dan akan dijadikan kunci utama maka

tekan shift dan klik kedua field tersebut. Jika letaknya tidak berurutan maka

tekan tombol ctrl dan klik field-fileld yang akan dijadikan kunci.

2.
Kl
ik icon Set Primary Key

Database Server | Desy & Maya _^


3. Tampilan tabel yang mempunyai kunci utama atau primary key.

Database Server | Desy & Maya _^


 Menghapus Database dan Tabel

Cara menghapus database adalah sbb :

1. Klik di folder database yang akan dihapus.


2. Klik kanan pada database tsb.

3. Pilih Delete maka akan muncul jendela seperti ini.

Database Server | Desy & Maya _^


4. Klik tombol OK untuk mengeksekusi dan tombol Cancel untuk membatalkan.

Cara menghapus tabel adalah sbb :

1. Klik di tabel yang akan dihapus.

2. Klik kanan pada tabel tsb.

3. Pilih menu Delete maka akan muncul jendela seperti ini.

Database Server | Desy & Maya _^


4. Jika yakin ingin menghapus klik tombol OK.

 Relationship Antar Tabel

Dalam sebuah database terdapat hubungan antar tabel yang menjelaskan


keterkaitan satu tabel dengan tabel lainnya. Relationship ini sangat penting untuk menjaga
integritas dan konsistensi data antar tabel. Misalnya jangan sampai terjadi muncul data
tentang pembelian barang di tabel Order, padahal nama pelanggannya belum dientri di tabel
Pelanggan. Selain itu relationship juga mempermudah membaca desain sebuah database
karena terlihat dengan jelas hubungan antar tabelnya. Misalnya dibuat satu tabel lagi dengan
nama Order, yang berisi data-data pesanan barang yang dibeli oleh setiap pelanggan sebaga
berikut:

Kedua tabel tersebut (Pelanggan dan


Order) dihubungkan oleh field IDPelanggan, sehingga konsistensi dan hubungan data kedua
tabel dapat dijamin. Perlu diperhatikan bahwa field PelangganID yang terdapat di kedua tabel
tersebut harus memiliki tipe data yang sama.

Database Server | Desy & Maya _^


Untuk membuat relationship antara kedua tabel tersebut, klik kanan ikon Diagrams
dan pilih new Diagram sehingga akan tampil wizard untuk membuat diagram dan
relationship.

Pilih 2 tabel Pelanggan dan Order dan klik Add sehingga keduanya menjadi anggota diagram.

Database Server | Desy & Maya _^


Setelah selesai maka terihat kedua tabel tesebut sudah terdapat dalam diagram. Untuk
menetapkan relationship, tinggal mengklik field IDPelanggan di tabel Pelanggan, dan
mendragnya ke field IDPelanggan di tabel Order. Maka muncul dialog properti relationship
sebagai berikut:

Pada dialog tersebut terdapat beberapa option sebagai berikut:

 Check existing data on creation, konsistensi data akan langsung dicek pada saat
pembuatan relationship.
 Enforce relationship on replication, pada saat replikasi antar database maka
pengcopyan data dilakukan dengan mempertimbangkan hubungan antra tabel (tidak
dibahas dalam tulisan ini)
 Enforces relationship for INSERTs and UPDATEs, merupakan bagian yang sangat
penting dalam relationship antar tabel. Bagian inimnegecek hubungan tabel setiap
terjadi perubahan dan penambahan data di tabel master.
o Cascade Update Related Fields, setiap ada perubahan di tabel master
(Pelanggan) makafield PelangganID di tabel Order juga ikut berubah.
o Cascade Delete Related Records, apabila data pelanggan di tabel master
(Pelanggan) dihapus, maka semua data yang terkait dengan PelangganID
terkait di tabel Order jugadihapus.

Setelah semua setup selesai, klik OK maka diagram tersebut selesai dibuat. Anda
dapat menambah tabel terkait ke dalam diagram tersebut sesuai dengan kebutuhan. Selain itu
juga dapat dibuat beberapa
diagram dalam satu databse
untuk mempermudah
menganalisis desain
database. Hal ini biasanya
dilakukan apabila jumlah
tabelnya sudah sangat
banyak.

Database Server | Desy & Maya _^


Database Server | Desy & Maya _^
Anda perlu memberikan nama kepada diagram tersebut dan menyimpannya. Klik
toolbar Save untuk menyimpan diagram.

 Konfigurasi Login dan Security

Security pada SQL Server merupakan sesuatu yang kompleks dan tidak cukup
dibahas tuntas dalam waktu singkat. Pada tulisan ini hanya dijelaskan dasar-dasar security
pada SQL Server. Terdapat 2 mode security dalam SQL Server, yaitu Windows Mode
(Integrated) dan SQL Mode (Standard). Buka property server Enterprise Manager dan
masuk ke tab Security.

Database Server | Desy & Maya _^


Maka terlihat ada 2 mode security sebagai berikut:

 SQL Server and Windows, merupakan seting default saat instalasi. Dengan konfigurasi
ini maka akses koneksi ke SQL server dapat dilakukan menggunakan account Windows
atau dengan account login SQL Server (tidak berhubungan dengan account Windows).
Konfigurasi jenis ini sangat umum digunakan pada database yang diakses secara terbuka
oleh umum, misalnya pada berbagai jasa web hosting di internet. Policy web hosting
biasanya tidak mengijinkan pelanggannya untuk memiliki account Windows sehingga

Database Server | Desy & Maya _^


untuk akses ke SQL Server disediakan SQL Server login yang dibuat di dalam database
dan tidak berhubungan dengan account Windows.
 Windows Only, sistem ini lebih aman dibandingkan dengan option pertama. Login untuk
akses ke SQL Server menggunakan account user di Windows. Dengan demikian policy
account dapat diatur sepenuhnya di Windows antara lain menyangkut perubahan
password, lockout, dan pembatasan waktu akses. Apabila databse digunakan di
lingkungan intranet atau internal, maka konfigurasi jenis ini lebih baik digunakan.

 Membuat User SQL Server

Untuk membuat account user di SQL Server, buka folder Security dan klik kanan
Login lalu pilih New Login.

Pada dialog property pilih SQL Server user, artinya Anda membuat user di SQL
Server yang terpisah dari account Windows. Masukkan nama user misalnya aspnetuser, lalu
pilih default database yaitu ASPNET. Artinya user tersebut diberikan hak akses ke database
ASPNET. Selain itu juga dimasukkan password untuk user tersebut.

Database Server | Desy & Maya _^


Kemudian buka tab Database Access, dan tetapkan aspnetuser sebagai database owner
untuk ASPNET. Karena user ini ditetapkan sebagai owner maka memilki hak penuh untuk
merubah, membuat, dan menghapus obyek di dalam database ASPNET.

Database Server | Desy & Maya _^


Konfigurasi lebih detil tentang security ini akan dibahas pada tulisan selanjutnya.

Setelah pembuatan user selesai maka jika Anda membuka database ASPNET dan masuk ke
ikon user akan terlihat bahwa user aspnetuser tersebut telah menjadi anggota di dalam
database ASPNET.

Database Server | Desy & Maya _^


 Memasukkan user Windows

Selain membuat user di SQL Server, Anda juga dapat memasukkan user Windows
sebagai user di SQL Server. Dengan demikian password user tersebut juga sama dengan di
Windows. Pada property New Login, pilih Windows Authentication lalu klik tombol yang
ada di sebelah kolom Name.

Kemudian pilih nama


komputer atau nama domain dimana user yang diinginkan berada. Artinya user tersebut tidak
harus berada dalam 1 server dengan SQL Server. User dapat berasal dari komputer lain, atau
dari Domain Controller dalam
jaringan.

Database Server | Desy & Maya _^


Setelah user tersebut di-Add, maka ditetapkan hak aksesnya terhadap database tertentu
sebagaimana telah dilakukan untuk aspnetuser seperti contoh sebelumnya.

 Backup dan Restore

Database yang telah dibuat harus dibackup secara teratur dan disimpan di lokasi yang
aman. File hasil backup dapat direstore ke server asal atau ke server lain. Untuk melakukan
backup database, ikuti langkah-langkah berikut:

2. Terdapat 4 jenis tipe backup, pilih Database-Complete yang artinya seluruh isi database
akan dibackup. Kemudian klik Add untuk menentukan lokasi backup. Klik tombol di
sebelah kolom File
name.

Database Server | Desy & Maya _^


3. Pilih lokasi backup sesuai yang diinginkan dan berikan nama file hasil backup di kotak
File name

4. Klik OK setelah selesai, maka hasil pemilihan lokasi ditampilkan di property backup.

Database Server | Desy & Maya _^


5. Klik OK, dan backup akan dilakukan di lokasi yang telah ditentukan.

Proses restore adalah


kebalikan dari backup. Dengan
restore maka file hasil backup disimpan kembali ke SQL Server. Anda harus berhati-hati saat
melakukan restore, agar tidak keliru dan menimpa database yang versi datanya lebih baru.
Anda dapat menetapkan apakah suatu restore akan menimpa database lama, atau direstore
sebagai database baru dengan nama berbeda.

Berikut langkah-langkah restore database:

1. Klik kanan folder database lalu pilih Restore. Setelah dialog restore ditampilkan, pada
kotak Restore as database Anda dapat memilih apakah database lama akan ditimpa
atau direstore sebagai database baru. Apabila ingin menimpa database lama pilih
nama database dari dropdown yang tersedia. Apabila ingin merestore sebagai database
baru maka isikan nama database pada kolom tersebut. Pada contoh ini dibuat database
baru dengan naama ASPNETBARU.

Database Server | Desy & Maya _^


2. Klik from device untuk menentukan lokasi file backup. Kemudian klik Select
Devices, plih Disk dan klik Add untuk mencari lokasi file.

3. Pilih file hasil backup


lalu klik OK sampai kembali ke menu konfigurasi restore.

4. Setelah kembali ke menu restore


database, klik option untuk menentukan nama dan lokasi file database yang akan

Database Server | Desy & Maya _^


dibuat dari hasil restore. Secara default nama dan lokasi filenya sama dengan
database ASPNET karena backupnya dibuat dari database ini. Karena akan dibuat
restore ke database baru maka harus ditetapkan nama file database yang berbeda.
Lokasi file boleh saja tetap sama dengan database ASPNET.

5. Ganti nama file database dan log menjadi ASPNETBARU seperti berikut

Klik OK, maka restore dilakukan dan terbuat database baru bernama
ASPNETBARU.
Note: Apabila Anda ingin menimpa database lama dengan file backup maka pada
dialog Options harus dilipih: Force restore over existing database.

 Perintah Transact SQL

Database Server | Desy & Maya _^


Anda telah mempelajari dasar-dasar administrasi database SQL Server pada tutorial
ini. Untuk mengakses data dari database digunakan perintah-perintah Transact SQL. Dengan
bahasa ini data di dapat ditambah, dihapus, update, sortir, filter serta melakukan berbagai
perhitungan manipulasi data.

 Menghitung Umur di T-SQL

create function dbo.fAgeCalc(@DOB datetime,@Date datetime)

returns smallint as

----------------------------------------------------

-- * Created By David Wiseman, Updated 03/11/2006

-- * http://www.wisesoft.co.uk

-- * This function calculates a persons age at a

-- * specified date from their date of birth.

-- * Usage:

-- * select dbo.fAgeCalc('1982-04-18',GetDate())

-- * select dbo.fAgeCalc('1982-04-18','2006-11-03')

----------------------------------------------------

begin

return (

      select case when month(@DOB)>month(@Date) then datediff(yyyy,@DOB,@Date)-1

                  when month(@DOB)<month(@Date) then datediff(yyyy,@DOB,@Date)

                  when month(@DOB)=month(@Date) then

                        case when day(@DOB)>day(@Date)

                              then datediff(yyyy,@DOB,@Date)-1

                        else datediff(yyyy,@DOB,@Date) end

                  end)

Database Server | Desy & Maya _^


end

 Merubah Database Name Pada SQL Server

Menggunakan Stored Procedure sp_renamedb,

SQL Server telah menyediakan suatu stored procedure untuk mengganti nama database yaitu
sp_renamedb yang terletak pada database master. Stored procedure ini mempunyai dua buah
parameter yaitu @dbname dan @newname. Parameter @dbname digunakan untuk
menandakan database name yang ingin Anda rubah namanya, sedangkan parameter
@newname digunakan untuk menunjukkan database name baru.

Contoh penggunaannya adalah sebagai berikut, misalkan ada database dengan nama
'golf_db' dan ingin Anda rubah menjadi 'golf_database' maka Anda bisa mengetikkan
perintah sebagai berikut pada Query Analyzer. Pastikan Anda berada pada database master
sebagai database yang aktif saat ini.

exec sp_renamedb @dbname = 'golf_db', @newname = 'golf_database'

Jika sukses maka akan muncul kalimat sebagai berikut:

The database name 'golf_database' has been set.

 Menggunakan Statement ALTER DATABASE,

Selain menggunakan stored procedure sp_renamedb Anda juga bisa menggunakan


statement DDL ALTER DATABASE. Mari kita ulangi lagi contoh diatas, misalkan ada
database dengan nama 'golf_db' dan ingin Anda rubah menjadi 'golf_database' maka Anda
bisa mengetikkan perintah sebagai berikut pada Query Analyzer.

Contoh : ALTER DATABASE golf_db MODIFY NAME = golf_database

 View Sederhana

 Membuat View Satu Tabel


Database Server | Desy & Maya _^
Cara membuat tabel di SQL Server Management Studio Express adalah sbb :

1. Letakkan kursor di folder view yang akan dibuat viewnya.


2. Klik kanan maka akan muncul tampilan sbb.

3. Pilih New maka akan muncul sub menu seperti di bawah ini.

4. Pilih tombol Add maka akan muncul jendela pembuatan view.

Database Server | Desy & Maya _^


Database Server | Desy & Maya _^
5. Untuk menambahkan tabel kedalam view caranya klik icon Add Tabel.

6. Tampilan jendela Add Tabel.

7. Jika ingin membuat view dari tabel maka klik tab tables kemudian pilih tabel
yang akan ditambahkan kemudian klik tombol Add.
8. Setelah tabel ditambahkan maka pada area untuk memilih field pilih field-field
yang akan ditampilkan.

Database Server | Desy & Maya _^


9. Pada contoh di atas yang akan ditampilkan di view dengan tabel M_Mahasiswa
adalah field NIM, Nama dan Alamat. Selain itu hasil view akan disort berdasarkan
NIM secara ascending.
10. Hasil Script SQL-nya di area Script SQL adalah sbb.

Database Server | Desy & Maya _^


11. Untuk menjalankan query dari view tsb klik icon Run.
12. Hasil query dari view tersebut adalah sbb.

13. Untuk menyimpan view


yang telah kita buat maka klik icon Save seperti gambar di bawah ini.

14. Jendela untuk menyimpan nama view akan muncul berbentuk sbb.
15. Isikan nama viewnya contoh ini mahasiswa kemudian klik tombol OK untuk
mengeksekusi dan tombol Cancel untuk membatalkan.

 Memformat nilai Integer menjadi 2 digit String di T-SQL

studi kasus yang saya punya adalah saya ingin memformat tanggal ‘2010-01-08’ menjadi
‘01/08’.

Saya bisa mendapatkan nilai Day dan Month dari tanggal tersebut dengan fungsi
DATEPART. Yang saya butuhkan adalah memformat nilai Integer yang saya dapat dari
fungsi DATEPART tersebut menjadi 2 digit String.

Database Server | Desy & Maya _^


Berikut adalah kode yang bisa saya pakai:

SELECT RIGHT('00' + LTRIM(STR(<angka>)), 2)

Kalau saya ganti <angka>  dengan 3, seperti ini:

SELECT RIGHT('00' + LTRIM(STR(3)), 2)

maka hasilnya adalah:


03

Berikut adalah solusi kasus saya:

DECLARE @dToFormat datetime


SET @dToFormat = '2010-01-08'
SELECT RIGHT('00' + LTRIM(STR(DATEPART(M, @dToFormat))), 2) + '/' + RIGHT('00' +
LTRIM(STR(DATEPART(D, @dToFormat))), 2)
dimana hasil eksekusinya adalah:
01/08

 Snippet: T-SQL OPENQUERY SYNTAX (SQL)

SELECT [username], [password] FROM OPENQUERY(DBServer,'SELECT [username],


[password] FROM agents')

DELETE FROM OPENQUERY (DBServer, 'SELECT username, domain FROM agents')

WHERE username NOT IN (SELECT [name] FROM @agentTmp)

UPDATE OPENQUERY (DBServer, 'SELECT username as n, password as p FROM agents')

SET p = AG.psw

FROM [name] , psw FROM @agentTmp) as AG

WHERE n = AG.name

INSERT INTO OPENQUERY (DBServer, 'SELECT username as n, password as p FROM agents')

SELECT [name] ,[psw]

FROM @agentTmp

 Snippet: T-SQL cursor (SQL)

Database Server | Desy & Maya _^


DECLARE UniqueNameCursor Cursor

FOR

Select id

From @tbl -- any table here

Open UniqueNameCursor

DECLARE @id bigint -- id

FETCH NEXT FROM UniqueNameCursor INTO @id

While (@@FETCH_STATUS <> -1)

BEGIN

IF (@@FETCH_STATUS <> -2)

-- use @id for your pourposes

FETCH NEXT FROM UniqueNameCursor INTO @id

END

CLOSE UniqueNameCursor

DEALLOCATE UniqueNameCursor

 Snippet: T-SQL transaction (SQL)

Title: T-SQL transaction Language: SQL Description: Template for try-catch with transaction

BEGIN TRY
BEGIN TRAN

-- insert and updates here

COMMIT TRAN
END TRY
BEGIN CATCH

DECLARE @r nvarchar(max)
SELECT @r = ERROR_MESSAGE()

Database Server | Desy & Maya _^


IF (@@TRANCOUNT > 0)
BEGIN
PRINT
N'The transaction is in an uncommittable state. ' +
'Rolling back transaction.'
ROLLBACK TRANSACTION;
END;
RAISERROR(@r,16,1)
END CATCH

 TSQL Enhancement in SQL Server 2008

Meski sepertinya sudah banyak yang tahu bahwa produk terbaru dari microsoft yaitu
SQL Server 2008 memiliki kehandalan dalam menangani data dalam skala enterprise, namun
tidak ada salahnya kita sedikit perhatikan perubahan mendasar dalam hal Syntax TSQL yang
terbaru di SQL Server 2008 ini.

Beberapa fitur yang sangat membantu developer dalam hal kemudahan melakukan
scripting di database diantaranya adalah adanya type data baru dan perintah SQL baru yang
banyak membantu database developer khususnya bagi mereka yang memiliki latar belakang
dari programming.

Berikut beberapa Enhancement dari TSQL di SQL Server 2008

A. TSQL "Delighters"

Database Server | Desy & Maya _^


terdapat kemampuan untuk melakukan perintah berikut dalam script TSQL di SQL 2008
DECLARE @t int = 5; -- ini tidak bisa dilakukan di versi sebelumnya INSERT dbo.myT
VALUES (‘WA’, @t), (‘FL’, @t+1); --ini tidak bisa dilakukan di versi sebelumnya

UPDATE dbo.myT

SET instances+=1; --ini tidak bisa dilakukan di versi sebelumnya

B. Table Value Parameter

Memungkinkan kita untuk mengirimkan para meter data berupa table, yang bisa
mengurangi rountrip dalam proses pengiriman data dari aplikasi ke server, karena bisa
dilakukan dalam 1 kali pemanggilan SP

create proc ins_data (@t table (a int)) as … -- Declarasi SP seperti ini tidak bisa dilakukan
pada versi sebelumnya

Berikut contoh implementasi Table value paramenter

USE AdventureWorks

GO

-- Declarasikan Table Value type EmployeeTable

CREATE TYPE EmployeeTableType AS TABLE

(EmpID INT, EmpName nvarchar(100), EmpEmail nvarchar(100))

USE AdventureWorks

GO

-- Buat Procedure yang menggunakan Parameter dengan type EmployeeTableType

Database Server | Desy & Maya _^


CREATE PROCEDURE NewEmployee(@EmployeeDetails EmployeeTableType
READONLY)

As

BEGIN

INSERT INTO dbo.Employee

SELECT * FROM @EmployeeDetails

END

-- Simpan data di table value type

use AdventureWorks

Go

DECLARE @NewEmployees EmployeeTableType

INSERT INTO @NewEmployees

VALUES(1,'John McLean','JohnMcLean@contoso.com')

INSERT INTO @NewEmployees

VALUES(2,'Bob Smith','BobSmith@contoso.com')

INSERT INTO @NewEmployees

VALUES(3,'Ted Connery','TedConnery@contoso.com')

--- Panggil SP

EXECUTE NewEmployee @NewEmployees

Database Server | Desy & Maya _^


C. MERGE Statement

Merge di gunakan untuk menangani proses UPSERT (UPDATE or INSERT) terhadap


suatu table, perintah ini menyederhanakan perintah IF Exist yang selama ini di gunakan untuk
melakukan syncronisasi data. skenario umumnya jika data sudah ada maka akan di update
diantaranya

OLTP insert-or-update (UPSERT)

-> UPDATE if row exists, INSERT otherwise

Synchronize two tables

-> INSERT/UPDATE/DELETE rows in the target table based on differences with


source

Tracking history of slowly changing dimensions

-> UPDATE existing rows as not current, INSERT new data

Tracking inventory

-> INSERT new stock, UPDATE existing stock, DELETE when amount is zero

berikut Syntax MERGE Statement

[ WITH <common_table_expression> [ ,…n ] ]

MERGE

Database Server | Desy & Maya _^


[ TOP (expression) [ PERCENT ] ]

[ INTO ] <target_table> [ [ AS ] table_alias ] [ WITH( <merge_hint> ) ]

USING <table_source>

ON <search_condition>

<merge_clause> [ …n ]

[ OUTPUT <dml_select_list> ]

[ OPTION ( <query_hint> [ ,…n ] ) ]

<merge_clause>:=

WHEN MATCHED [ AND <search_condition> ]

THEN { UPDATE SET <set_clause> | DELETE }

| WHEN [ TARGET ] NOT MATCHED [ AND <search_condition> ]

THEN INSERT [ (column_list) ]

{ VALUES (values_list) | DEFAULT VALUES }

| WHEN SOURCE NOT MATCHED [ AND <search_condition> ]

THEN { UPDATE SET <set_clause> | DELETE }

Contoh penggunaan MERGE untuk sinkronisasi data

CREATE TABLE Original (o_pk INT PRIMARY KEY, o_name VARCHAR(10),


o_number INT);

CREATE TABLE Replica (r_pk INT PRIMARY KEY, r_name VARCHAR(10),


r_number INT);

CREATE PROCEDURE usp_SyncReplica AS

MERGE Replica

Database Server | Desy & Maya _^


USING Original

ON o_pk = r_pk

WHEN MATCHED

AND (o_name != r_name OR o_number != r_number) THEN

-- Row exists but data differs

UPDATE SET r_name = o_name, r_number = o_number

WHEN SOURCE NOT MATCHED THEN

-- Row exists in Replica but not Original

DELETE

WHEN NOT MATCHED THEN

-- Row exists in Original but not Replica INSERT VALUES (o_pk, o_name,
o_number)

OUTPUT $action, inserted.r_pk, deleted.r_pk;

DAFTAR PUSTAKA

www.google.com

www.ilmukomputer.org

http://bangdanu.files.wordpress.com/2008/07/vbdatabase-sql1.pdf

http://www.quest.com/whitepapers/tuning_article_1_final.pdf

http://www.quest.com/whitepapers/sqltuningwp3.pdf

http://www.ebdesk.com/library/marketing/eXpert%20KM%20Server%20Installation
%20Guide(INA).pdf

http://www.itkomputer.com/index2.php?option=com_content&do_pdf=1&id=781

http://rofiqsiregar.wordpress.com/2007/05/11/instalasi-sql-server-2000/

Database Server | Desy & Maya _^


http://netindonesia.net/blogs/meidianto/archive/2010/01/08/memformat-nilai-integer-
menjadi-2-digit-string-di-t-sql.aspx

http://www.codekeep.net/SQL/code/snippets/18489/TSQL-OPENQUERY-SYNTAX/view.aspx

http://www.codekeep.net/SQL/code/snippets/18486/TSQL-cursor/view.aspx

http://www.codekeep.net/SQL/code/snippets/18485/TSQL-transaction/view.aspx

http://netindonesia.net/blogs/kiki/archive/2009/10/10/tsql-enhancement-in-sql-server-2008.aspx

http://ilmukomputer.com/umum/choirul-sql.php

http://netindonesia.net/blogs/emantin34/archive/2009/08/29/merge-statement-in-sql-server-
2008.aspx

http://prabelism.blogspot.com/2009/11/instal-sql-server.html

http://www.kompiku.com/2008/12/mengenal-dasar-perintah-sql.html

http://netindonesia.net/blogs/ziglaret/archive/2009/11/11/mengimpor-data-dari-excel-ke-sql-
server-2005.aspx

http://www.foxitsoftware.com

Database Server | Desy & Maya _^

You might also like