Upload
wasim-ahmad
View
1.911
Download
2
Embed Size (px)
Citation preview
|
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
|
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.
|
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.
|
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
|
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.
|
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
|
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
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.
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.
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.
|
|
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.
|
Proses integrasi data tidak hanya sekedar melakukan import dari data source, tetapi
termasuk juga proses validasi, agregasi, dan
perhitungan menggunakan berbagai formula yang
dikehendaki.
|
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
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
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.
|
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.
|
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.
|
Klik [Next] lalu pilih Local Computer dan klik [Next]
Selanjutnya pilih Create New Instance agar SQL Server membuat instalasi baru.
|
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.
|
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.
|
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.
|
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.
|
Persyaratan minimum perangkat keras untuk menjalankan SQL Server 2005 :
|
Persyaratan kecocokan sql server dengan sistem operasi yang digunakan :
|
|
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.
|
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 :
Setelah itu tekan tombol Next, kemudian set menjadi I Accept lalu klik Next.
Kemudian 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.
|
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.
|
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.
|
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.
|
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
|
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
|
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.
|
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.
|
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.
|
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 )
|
|
|
|
|
|
|
|
|
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.
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
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
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>]
[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)
);
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;
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 :
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,
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 :
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 :
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’);
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
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
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
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;
|
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 ...
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>
... <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);
|
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
---------
|
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
|
( ‘*’ + 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>)
|
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 ***
|
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
|
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
|
-----------
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
|
----------- ------------------------
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
|
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
|
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
|
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.
|
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.
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.
|
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
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
|
3. Tampilan tabel yang mempunyai kunci utama atau primary key.
|
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.
|
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.
|
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.
|
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.
|
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.
|
|
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.
|
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
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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 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
|
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)
|
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
|
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.
|
|
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.
|
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.
|
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.
|
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)
|
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 TRYBEGIN TRAN
-- insert and updates here
COMMIT TRANEND TRYBEGIN CATCH
DECLARE @r nvarchar(max)SELECT @r = ERROR_MESSAGE()
|
IF (@@TRANCOUNT > 0)BEGIN
PRINTN'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"
|
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
|
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','[email protected]')
INSERT INTO @NewEmployees
VALUES(2,'Bob Smith','[email protected]')
INSERT INTO @NewEmployees
VALUES(3,'Ted Connery','[email protected]')
--- Panggil SP
EXECUTE NewEmployee @NewEmployees
|
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)
o
-> UPDATE if row exists, INSERT otherwise
*
Synchronize two tables
o
-> INSERT/UPDATE/DELETE rows in the target table based on differences with source
*
Tracking history of slowly changing dimensions
o
-> UPDATE existing rows as not current, INSERT new data
*
Tracking inventory
o
-> INSERT new stock, UPDATE existing stock, DELETE when amount is zero
berikut Syntax MERGE Statement
[ WITH <common_table_expression> [ ,…n ] ]
MERGE
|
[ 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
|
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/
|
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
|