2010

Database Server
Microsoft SQL Server
Pengenalan Ms. SQL Server, Cara Instalasi , dan TSQL Server

Nama Kelompok :

j Desi Yanah j Maya Chairunnisa

Free
1 Database Server | Desy & Maya _^

DAFTAR ISI

Daftar isi ................................ ................................ ................................ ................................ .......... 2 1.1.
£¢¤£¢ ¡

alan Microsoft SQL Server ................................ ................................ . 3 engantar Microsoft SQL Server 2000 ................................ ........... 4 engantar Microsoft SQL Server 2005 ................................ ........... 8 Business Intelligence dengan SQL Server 2005 Membuat Data Menjadi Bermakna........................... 10

1.1.1. 1.1.2. 1.1.3.

Sejarah Microsoft SQL Server ................................ ............................ 3
¡ ¡ ¡ ¡ ¥ ¥

1.1.3.1. 1.2.

ara Instal Microsoft SQL Server ................................ ................................ .... 16 ara Instal Microsoft SQL Server 2000 ................................ ........... 16 ara Instal Microsoft SQL Server 2005 ................................ ........... 22

1.2.1. 1.2.2. 1.2.3. 1.3.

TSQL ................................ ................................ ................................ ..................... 42 1.3.1. 1.3.2. 1.3.3. engertian TSQL ................................ ................................ .................. 42 erintah ² perintah SQL ................................ ................................ .... 69 Syntak SQL dan Fungsinya ................................ ............................... 45

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

2

Database Se ve | Desy & Maya _^

 

 

¥

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

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.

¦

¦

3

Database Se ve | 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 akhirakhir 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 :
y y y y y y

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.

§

§

4

Database Se ve | Desy & Maya _^

Di dalam folder database ditampil an 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. Fungsifungsi lain dalam Enterprise Manager akan dibahas pada artikel berikutnya tentan SQL Server g 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 melakuka n perhitungan tertentu terhadap sekumpulan data dalam database.Script yang telah dibuat dapat disimpan sebagai View ataupun Stored Procedure, sesuai dengan kebutuhan dalam pembuatan aplikasi.
5 Database Server | Desy & Maya _^

Tutorial

Ini cara yang bagus untuk cepat menarik informasi d database sebagai ari

respons atas permintaan pengguna, uji query sebelum menerapkan mereka dalam aplikasi lain, membuat / memodifikasi disimpan prosedur dan melaksan akan 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 menang kap 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.
6 Database Server | Desy & Maya _^

Ada 3 service standar dalam setiap instalasi default SQL Server: y y y 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: y y y y y y y XML Support Multi-Instance Support Data Warehousing/Business Intelligence Improvements Performance and Scalability Improvements Query Analyzer Improvements DTS Improvements Transact SQL Enhancement

7

Database Server | Desy & Maya _^ 

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 Analy e 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.

¨

¨

8

Database Se ve | Desy & Maya _^

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

©

©

9

Database Se ve | Desy & Maya _^

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.  

10

Database Se ve | 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 I
Tahap ini merupakan proses mengintegrasikan berbagai data dari berbagaisumber 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.

11

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.

12

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 . 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?  

13

Database Se ve | Desy & Maya _^

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. D engan 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 da yang ta 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 keku rangan dan kelebihannya masing-masing,

14

Database Server | Desy & Maya _^

Ketika dihadapkan pada masalah peramalan penjualan, maka teknik regresi atau time series lebih tepat digunakan. Sedangkan untuk pengambilan keputusan bedasarkan berbagai r 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.

15

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 membuatlaporan 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 mengintegra sikannya 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 ditampilka dan diintegrasikan dalam BI Portal. n 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.

16

Database Server | Desy & Maya _^

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.

17

Database Server | Desy & Maya _^

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

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

18

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.

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.

19

Database Server | Desy & Maya _^

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.

20

Database Server | Desy & Maya _^

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.

21

Database Server | Desy & Maya _^

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.0GH , 4GB DDR2 RAM). Perlu diketahui penulis menggunakan Windows yang berlicense, begitu pula SQL server 2005 Enterprise Edition. Yang bertujuan untuk kegiatan belajar.  

22

Database Se ve | 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 Win dows Server 2003. Perlu diketahui, OS yang saat ini digunakan a dalah Windows XPProfessional.

Database Server | Desy & Maya _^

MICROSOFT VIRTUAL PC 2007 : y y 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 :

y

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.

27

Database Server | Desy & Maya _^

y

Jalankan Virtual PC 2007

y y y

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

y

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.

y

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.

28

Database Server | Desy & Maya _^

y

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..

y

Apabila anda ingin mengikuti nilai default klik tombol next, atau anda ingin mensetkan terlebih dahulu.

29

Database Server | Desy & Maya _^

y

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.

y

Jalankan virtual PC 2007, pada tampilan awal seperti ini. Pilih windows yang mau di install, dan klik ³Start´.

y

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.

30

Database Server | Desy & Maya _^

y

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

y

Jikalau tidak terdeteksi, restart Virtual Machine dengan memilih ³Action´ (pada pojok kiri atas) klik saja ³restart´.

y

Dari sini lakukanlah install windows seperti biasa nya, hingga usai dan Windows digunakan pada virtual PC 

Installasi Sql Server 2005 Enterprise Edition 32- it 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 kem bali 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. y 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.

y

31

Database Server | Desy & Maya _^ 

y

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.

y

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

32

Database Server | Desy & Maya _^

y

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 dtabases, a SQL Server Books Online, dan Sample Codes. Setelah konfigurasi selesai dilakukan, tekan tombol next.

y

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.

y y

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, sebaikn Anda pilih ya Windows Authentication Mode terlebih saja. setelah selesai, tekan tombol next.

y

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.

33

Database Server | Desy & Maya _^

y

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

y

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.

34

Database Server | Desy & Maya _^

y

y

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 )

35

Database Server | Desy & Maya _^

36

Database Server | Desy & Maya _^

37

Database Server | Desy & Maya _^

38

Database Server | Desy & Maya _^

39

Database Server | Desy & Maya _^

40

Database Server | Desy & Maya _^

41

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, Iso lated 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:

y y

Kantor aplikasi produktivitas Umum. Aplikasi yang menggunakan antarmuka pengguna grafis (GUI) agar pengguna memilih tabel dan kolom dari yang mereka ingin melihat data.

y

Aplikasi yang menggunakan kalimat-kalimat bahasa umum untuk menentukan data apa yang pengguna ingin melihat.

y

Bidang aplikasi bisnis yang menyimpan data mereka dalam database SQL Server. Aplikasi tersebut dapat mencakup aplikasi yang ditulis oleh vendor dan aplikas yang i ditulis dalam-rumah.

y y

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 meng gunakan database API seperti ADO, OLE DB, dan ODBC.

y

Web halaman yang mengekstrak data dari database SQL Server.

42

Database Server | Desy & Maya _^

y

sistem database yang terdistribusi dari data dari SQL Server direplikasi ke berbagai database, atau didistribusikan query dijalankan.

y

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 reorgani ation. Manajemen Transaksi Server: 1. Connect dan Disconnect 2. State Transaksi 3. Commit 4. Rollback  

43

Database Se ve | Desy & Maya _^

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.
y

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 programprogram 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 


44

Database Se ve | Desy & Maya _^

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>], ... );  

45

Database Se ve | Desy & Maya _^

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), 


46

Database Se ve | Desy & Maya _^

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), 


47

Database Se ve | Desy & Maya _^

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));

48

Database Se ve | Desy & Maya _^ 

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)
! !

49

Database Se ve | Desy & Maya _^

); 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¶;

"

"

50

Database Se ve | Desy & Maya _^ 

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;

#

#

51

Database Se ve | Desy & Maya _^

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;

$

$

52

Database Se ve | Desy & Maya _^ 

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
53 Database Se ve | Desy & Maya _^
% %

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¶; 

Untuk Mengelompokkan data berdasarkan ekspresi group
Syntax : SELECT <kolom1, kolom2, ... , kolomN> FROM <nama_tabel>
54 Database Se ve | Desy & Maya _^
& &

' 

GROUP B

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;

(

(

55

Database Se ve | Desy & Maya _^ 

HAVING  Untuk mendefenisikan batasan seleksi berdasarkan GROUP B
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;

)

)

56

Database Se ve | Desy & Maya _^

0 

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;

57

Database Server | Desy & Maya _^ 

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
1 1

58

Database Se ve | Desy & Maya _^

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

2

59

Database Se ve | Desy & Maya _^

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
60 Database Se ve | Desy & Maya _^
3 3

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 :  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* Menghilangkan spasi sebelah kiri atau kanan dari suatu karakter/kata/kalimat.

7. LOWER 
Kegunaan : Menghasilkan tampilan huruf kecil dari suatu karakter/kata/kalimat.  Sintaks : LOWER(<char_expression>)  Contoh : SELECT
61 Database Se ve | Desy & Maya _^
4 4

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 : 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 Menduplikasi suatu karakter/kata/kalimat dengan jumlah

10. REVERSE 
Kegunaan : Membalik suatu karakter/kata/kalimat.  Sintaks : REVERSE(<expression>)
62 Database Se ve | Desy & Maya _^
5 5 

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

6

6

63

Database Se ve | Desy & Maya _^ 

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

7

7

64

Database Se ve | Desy & Maya _^ 

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

----------------------- ------------------8 8

65

Database Se ve | Desy & Maya _^

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
66 Database Se ve | Desy & Maya _^
9 9

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
@ @

67

Database Se ve | Desy & Maya _^

------------------$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
A A

68

Database Se ve | Desy & Maya _^

---------- -------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.

B

B

69

Database Se ve | Desy & Maya _^

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: y File Name dan Location, untuk memberi nama file dan meletakkan file database tersebut di suatu lokasi folder yang diinginkan.

70

Database Server | Desy & Maya _^

y

File growth, mengatur penambahan ukuran file database. Dapat ditetapkan dengan persentase tertentu atau berdasarkan jumlah megabytes tertentu.

y

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: y y 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 menyi pan data. Untuk m membuat tabel, klik kanan nama database tersebut lalu pilih New > Table.

71

Database Server | Desy & Maya _^

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 masingmasing.

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.

72

Database Server | Desy & Maya _^ 

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 dibua autonumber t 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.

73

Database Server | Desy & Maya _^

2. Klik 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.

74

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.

75

Database Server | Desy & Maya _^

2. Klik kanan pada tabel tsb.

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

4. Jika yakin ingin menghapus klik tombol OK.

76

Database Server | Desy & Maya _^ 

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.

77

Database Server | Desy & Maya _^

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:

78

Database Server | Desy & Maya _^

Pada dialog tersebut terdapat beberapa option sebagai berikut: y Check existing data on creation, konsistensi data akan langsung dicek pada saat pembuatan relationship. y Enforce relationship on replication, pada saat replikasi antar database maka pengcopyan data dilakukan dengan mempertimbangkan hubungan antra tabel(tidak dibahas dalam tulisan ini) y 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.

79

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 dasardasar security pada SQL Server. Terdapat 2 mode security dalam SQL Server, yaitu Windows Mode (Integrated) dan SQL Mode (Standard). masuk ke tab Security. Buka property server Enterprise Manager dan

80

Database Server | Desy & Maya _^

Maka terlihat ada 2 mode security sebagai berikut:

y

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

81

Database Server | Desy & Maya _^

untuk akses ke SQL Server disediakan SQL Server login yang dibuat di dalam database dan tidak berhubungan dengan account Windows. y 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.

82

Database Server | Desy & Maya _^

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

83

Database Server | Desy & Maya _^

Konfigurasi lebih detil tentang security ini akan dibahas pada tulisan s elanjutnya. 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.

84

Database Server | Desy & Maya _^

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.

85

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.

3.

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

86

Database Server | Desy & Maya _^

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.

87

Database Server | Desy & Maya _^

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 bar dengan nama u 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.

88

Database Server | Desy & Maya _^

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.

89

Database Server | Desy & Maya _^

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
90 Database Server | Desy & Maya _^

----------------------------------------------------- * 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.
91 Database Se ve | Desy & Maya _^
C C

Contoh penggunaannya adalah sebagai berikut, misalkan ada database dengan nama 'golf_db' dan ingin Anda rubah menjadi 'golf_database' maka Anda bi a mengetikkan s 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.
92 Database Server | Desy & Maya _^

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.
93 Database Server | Desy & Maya _^

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.

94

Database Server | Desy & Maya _^

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

95

Database Server | Desy & Maya _^ 

Snippet: T-SQL OPENQUERY SYNTAX (SQL)

SELECT [use ame], [passwo d] FROM OPENQUERY(DBSe ve ,'SELECT [use ame], [passwo d] FROM age ts') DELETE FROM OPENQUERY (DBSe ve , 'SELECT use ame, domain FROM agents') WHERE use name NOT IN (SELECT [name] FROM @agentTmp) UPDATE OPENQUERY (DBSe ve , 'SELECT use name as n, passwo d as p FROM agents') SET p = AG.psw FROM [name] , psw FROM @agentTmp) as AG WHERE n = AG.name INSERT INTO OPENQUERY (DBSe ve , 'SELECT use name as n, passwo d as p FROM agents') SELECT [name] ,[psw] FROM @agentTmp
E E E E E E E E E FE E E FE E E E F FE E 

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)

D

D

96

Database Se ve | Desy & Maya _^

-- 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() 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

97

Database Server | Desy & Maya _^ 

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

98

Database Server | Desy & Maya _^

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

99

Database Server | Desy & Maya _^

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

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 * Synchroni e two tables o -> INSERT/UPDATE/DELETE rows in the target table based on differences with source
100 Database Server | Desy & Maya _^

* 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 ero

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) ]
101 Database Server | Desy & Maya _^

{ 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 o_number) INSERT VALUES (o_pk, o_name,

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

102

Database Server | Desy & Maya _^

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%20Gui de(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-integermenjadi-2-digit-string-di-t-sql.aspx
http://www.code eep.net/SQL/code/snippets/18489/TSQL-OPENQUERY-SYNTAX/view.aspx
G

http://www.code eep.net/SQL/code/snippets/18486/TSQL-cursor/view.aspx http://www.code eep.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 H H

http://ilmukomputer.com/umum/choirul-sql.php
http://netindonesia.net/blogs/emantin34/archive/2009/08/29/merge -statement-in-sql-server2008.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/ iglaret/archive/2009/11/11/mengimpor-data-dari-excel-ke-sqlserver-2005.aspx
http://www.foxitsoftware.com

103

Database Server | Desy & Maya _^

104

Database Server | Desy & Maya _^

Sign up to vote on this title
UsefulNot useful