Anda di halaman 1dari 95

PENDIDIKAN

JARINGAN KOMPUTER
DAN
SISTEM INFORMASI

©Copyright PIKSI-ITS 2002

Ruang C.203 Jurusan Teknik Elektro ITS Keputih Sukolilo - Surabaya


Telp: (031)5929871 Fax: (031)5929870
: piksi-its@ee.its.ac.id
MS – SQL Server Fundamental
i

Hak Cipta
Buku dan Logo dari PIKSI – ITS ini adalah merupakan
hak cipta dari PIKSI-ITS.
Dilarang memperbanyak, memfotocopy sebagian atau seluruh isi
dari buku dan logo tanpa seijin dari pihak PIKSI-ITS

Disclaimer
Book and Logo PIKSI-ITS are copyright© of PIKSI-ITS
No part of this book, including interior design , cover and logo
maybe reproduce without any permission from PIKSI-ITS
MS – SQL Server Fundamental
ii

Kata Pengantar

Jenis pendidikan satu tahun sekarang ini sudah mulai banyak jumlah-
nya. Salah satunya adalah Pendidikan Jaringan Komputer dan Sistem
Informasi – ITS atau disingkat PIKSI – ITS. PIKSI pertama mengkhususkan
diri pada bidang Jaringan Komputer dan Basis Data. Kemudian menyesuaikan
diri dengan perkembangan dan minat masyarakat, dibuka kelas baru Aplikasi
Perkantoran.
Salah satu bidang yang diajarkan PIKSI sekarang ini adalah Microsoft
SQL Server Fundamental.. Diharapkan bahwa buku ini akan menunjuang bagi
mereka yang berminat mendalami bidang ini, juga sebagai pembantu dalam
perkuliahan PIKSI-ITS.
Saran dan kritik anda tentang buku atau kualitas pengajaran dapat anda
kirimkan ke email : piksi-its@ee.its.ac.id.

Ketua PIKSI-ITS

I Ketut Edi Purnama, MT


MS – SQL Server Fundamental
iii

Daftar Isi
Kata Pengantar ...............................................................................................................ii

Daftar Isi .......................................................................................................................iii

Pengenalan Client /Server Database Computing ....................................................... 1-1


1.1. Pengantar Client / Server Database Computing......................................... 1-2
1.2. Mainframe Database Computing ............................................................... 1-2
1.3. PC/File Server Database Computing ......................................................... 1-3
1.4. Client/Server Database Computing............................................................ 1-3
1.5. Contoh –Contoh Client/Server Database .................................................. 1-4
MS SQL ............................................................................................................. 1-4
ORACLE............................................................................................................ 1-5

Gambaran Singkat MS SQL Server........................................................................... 2-1


2. 1. Pengenalan MS SQL Server .......................................................................... 2-2
2.2. Arsitektur SQL Server .................................................................................... 2-2
2.3.Komponen MS SQL server.............................................................................. 2-3
2.4. Membangun Sistem Database Client / Server ................................................ 2-3
Single Tier (Host) System.................................................................................. 2-4
N-Tier Architecture............................................................................................ 2-5
2.5. Modul-Modul Utama dalam MS SQL Server................................................. 2-5
2.5.1. Service Manager ................................................................................ 2-5
2.5.2. Query Analyzer.................................................................................. 2-5
2.5.3. Enterprise Manager............................................................................ 2-6

SQL Server Login dan User Security ...................................................................... 3-1


3.1. Implementasi Login Authentication ............................................................... 3-2
3.2. Membuat User Account ............................................................................. 3-3
3.3. Permissions ................................................................................................ 3-6
3.4. Role ................................................................................................................. 3-6

DataBase .................................................................................................................... 4-1


4.1. DATABASE ................................................................................................... 4-2
4.2. Pembuatan Database ....................................................................................... 4-3
4.2.1. dengan Enterprise Manager ..................................................................... 4-3
4.2.2. Pembuatan Database dengan Wizard................................................. 4-4
4.3. Menghapus Database. ................................................................................ 4-5

Tabel .......................................................................................................................... 5-1


5.1. Karakteristik Tabel.......................................................................................... 5-2
5.2. Pembuatan Tabel........................................................................................ 5-2
5.3. Menggunakan Tabel................................................................................... 5-4
5.3.1. Menghapus Tabel............................................................................... 5-4
5.3.2. Mengganti Nama Tabel...................................................................... 5-4
5.3.3. Melihat Data Tabel ............................................................................ 5-4
5.3.4. Editing Data dalam Tabel .................................................................. 5-5
5.3.5. Menambahkan Kolom Baru ke Dalam Tabel .................................... 5-5
MS – SQL Server Fundamental
iv

5.3.6. Menghapus Kolom dari Tabel ........................................................... 5-5


5.3.7. Melihat Properti dari Tabel................................................................ 5-5

Diagram Database...................................................................................................... 6-1


6.1. Diagram Database...................................................................................... 6-2
6.2. Membuat Diagram .......................................................................................... 6-3
6.3. Membuka Diagram Database..................................................................... 6-5
6.4. Mencetak Diagram..................................................................................... 6-5
6.5. Menambah Tabel kedalam Diagram.......................................................... 6-7
6.6. Menghapus Tabel dari Diagram Database................................................. 6-8
6.7. Membuat Hubungan Antar Tabel .............................................................. 6-8

Query Analyzer.......................................................................................................... 7-1


7.1. Menjalankan Query......................................................................................... 7-3
7.2. Melihat Query Execution Plan........................................................................ 7-4
7.3. Menganalisa Query .................................................................................... 7-4
7.4. Menyimpan dan Membuka Query ............................................................. 7-5
7.5. Menyimpan Result Panel ........................................................................... 7-5
7.6. Mencetak Query dan Hasilnya................................................................... 7-6
7.7. Menampilkan Help Online......................................................................... 7-6

Dasar – Dasar SQL .................................................................................................... 8-1


8.1. Dasar – Dasar SQL .................................................................................... 8-2
8.2. Macam Query SQL .................................................................................... 8-2
8.3. Tipe – Tipe Data ........................................................................................ 8-3
8.4. Ekspresi dan Operator................................................................................ 8-3

Data Definition Language (DDL).............................................................................. 9-1


9.1. DATA DEFINITION LANGUAGE.......................................................... 9-2
9.2. Create Table ............................................................................................... 9-2
9.3. Create Index ............................................................................................... 9-2
9.4. Alter Table ................................................................................................. 9-3
9.5. Drop Table ................................................................................................. 9-3
9.6. Drop Index ................................................................................................. 9-3
9.7. Grant .......................................................................................................... 9-3

Data Manipulation Language (DML) ...................................................................... 10-1


10.1 Data Manipulation Language................................................................... 10-1
10.2. SELECT............................................................................................... 10-2
10.3. INSERT................................................................................................ 10-2
10.4. DELETE .............................................................................................. 10-3
10.5. UPDATE.............................................................................................. 10-4

Data Manipulation Language (DML) II .................................................................. 11-1


11.1. Menampilkan Field-Field Tertentu ..................................................... 11-2
11.2. Membuat Judul Field ........................................................................... 11-3
11.3. Melakukan Perhitungan ....................................................................... 11-3
11.4. Melakukan Seleksi Informasi .............................................................. 11-3
11.5. Melakukan Sortir ................................................................................. 11-4
MS – SQL Server Fundamental
v

11.6. Mengelompokkan Record.................................................................... 11-4


11.7. Menggabungkan Query dengan pernyataan UNION........................... 11-4
11.8. Penggabungan Tabel melalui Operasi Join.......................................... 11-5
11.9. Sub Query ............................................................................................ 11-7

Fungsi-Fungsi Dalam SQL ...................................................................................... 12-1


12.1. Macam Fungsi-Fungsi SQL................................................................. 12-2
12.2. Fungsi Agregat..................................................................................... 12-2
12.3. Fungsi Aritmetika ................................................................................ 12-2

Fungsi – Fungsi SQL lanjutan ................................................................................. 13-1


13.1. Fungsi String........................................................................................ 13-2
13.2. Fungsi Konversi ................................................................................... 13-3

Indeks....................................................................................................................... 14-1
14.1. Jenis-jenis indeks ................................................................................. 14-2
14.2. Membuat Indeks................................................................................... 14-2
14.3. Membuat Indeks pada Saat Pembuatan Tabel ..................................... 14-2
14.4. Membuat Indeks pada Tabel yang Sudah Ada .................................... 14-3
14.5. Membuat Indeks dengan Wizard ......................................................... 14-4
14.6. Merekonstruksi Indeks......................................................................... 14-5
14.7. Melihat Indeks ..................................................................................... 14-5
14.8. Menghapus Indeks ............................................................................... 14-5

View......................................................................................................................... 15-1
15.1. Membuat View..................................................................................... 15-1
15.2. Menyimpan View................................................................................. 15-2
15.3. Memeriksa View.................................................................................. 15-2
15.4. Menyunting View ................................................................................ 15-2
15.5. Mengubah Nama View ........................................................................ 15-3
15.6. Menghapus View ................................................................................. 15-3

Prosedur ................................................................................................................... 16-1


16.1. STORE PROCEDURE ........................................................................ 16-2
16.2. Pesan Error........................................................................................... 16-3
MS – SQL Server Fundamental
vi
MS-SQL Server Fundamental
Pengenalan Client-Server Database Computing 1 - 1

BAB

Pengenalan Client /Server Database


Computing

Tujuan :

Pada Bab Ini diharapkan mahasiswa :


• Mengenal Konsep Client / Server Database
• Memahami lingkungan Client / Server Database Computing
MS-SQL Server Fundamental
Pengenalan Client-Server Database Computing 1 - 2

1.1. Pengantar Client / Server Database Computing

Client/server (C/S) database computing tergolong teknologi baru, terlebih untuk


lingkungan jaringan dengan PC. Perkembangannya tidak terlepas dari kebutuhan
akan model penanganan database yang baru selain alternatif yang sudah ada
seperti : database pada mainframe and database PC/file server.
Client/Server database banyak

1.2. Mainframe Database Computing

Sebelum tahun 80-an dan awal 90 an, mainframe computing merupakan satu
satunya pilihan untuk organisasi dengan pemrosesan yang tinggi dan banyak user.
Selama kurun waktu 20 tahunan, mainframe dapat membuktikan reliabitas dan
kemampuan untuk mendukung pemrosesan (termasuk terhadap database) oleh
banyak user secara serentak.
Model seperti ini terdiri dari mainframe dan sejumlah dumb termina (yang berfungsi
untuk input/ output).

Gambar 1.1 Mainframe Database Computing

Model ini juga dikenal dengan host-based computing, merefer pada semua
pemrosesan dilakukan pada mainframe. Dumb terminal hanya berfungsi sebagai
tempat untuk menerima masukan dan menampilkan hasil (format layar untuk input/
output ditangani oleh mainframe). Sebagai contoh, mainframe menjalankan RDBMS,
mengatur applikasi yang mengakses RDBMS tersebut dan menangani komunikasi
antara mainframe dan dumb terminal.
Kekurangan dari mainframe computing adalah mahal, karena semua menggunakan
peralatan yang tidak umum.
MS-SQL Server Fundamental
Pengenalan Client-Server Database Computing 1 - 3

1.3. PC/File Server Database Computing


PC/file server-based computing terkenal pada akhir tahun 80 an saat dikenalnya PC.
User menyukai komputer jenis ini karena kemudahan pengoperasian dan
kemamouan yang cukup untuk memenuhi kebutuhan. Hal ini meningkat dengan
diperkenalkannya sistem operansi LAN yang mendukung file server ditambah
kemampuan multi user pada aplikasi yang dibuat. Pemrosesan tidak lagi dilakukan
dipusat (mainframe pada host based computing), tetapi pada tiap station yang
menjalankan aplikasi. Komputer yang bertindak sebagai file server berfungsi untuk
penyimpanan file.

Gambar 1.2 PC/File Server Database Computing

Kekurangan dari model ini justru terletak pada ketidakpedulian file server terhadap
proses yang dilakukan. File server membagikan data yang diperlukan untuk
diproses di station (PC lokal), tanpa melakukan proses apa- apa. Ini menyebabkan
ketidakefisienan dan kesibukan lalu lintas data pada media kompunikasi (data yang
dilewatkan adalah data mentah).

1.4. Client/Server Database Computing

Sistem client/server pada mulanya dirancang untuk menghasilkan kinerja yang jauh
lebih besar dengan hanya menambah sedikit biaya, dengan cara memindahkan
sebagian tugas pemrosesan dari komputer kepada server.
MS-SQL Server Fundamental
Pengenalan Client-Server Database Computing 1 - 4

Gambar 1.3 Client/Server Database Computing

Gambar diatas menunjukkan bagaimana konfigurasi sistem client/server secara


umum. Pada gambar komputer menjalankan permintaan SQL, permintaan itu dikirim
melalui jaringan kepada sever Database. Server Database kemudian memproses
permintaan itu dan mengembalikan data kepada komputer client. Operasi sistem
client/server yang ditunjukkkan di sini berbeda dari aplikasi database pada Shared
Database dalam cara bagaimana data diproses. Jika memakai program Shared
Database seperti Access, seluruh tabel database yang diminta akan dikirim kepada
komputer client untuk diproses. Komputer client kemudian akan memproses data itu
dan menampilkan hasilnya. Kinerja dari Client akan menurun jika melakukan hal ini
karena jumlah data yang dikirim melalui network dan beban aplikasi tidak dibagi
antara Client dan Server. Satu-satunyaa tugas yang dilakukan oleh server dalam hal
ini ialah mengatur pembagian file kepada PC yang memintanya.

1.5. Contoh –Contoh Client/Server Database

Client /Server Database itu banyak sekali macamnya. Setiap client / server
database tersebut mempunyai kelebihan serta kekurangannya masing –
masing. Berikut ini akan diberikan penjelasan singkat mengenai client / server
database yang banyak digunakan atau dipakai oleh user :

MS SQL

MS SQL adalah sebuah Client / Server Database yang banyak digunakan di


perusahaan – perusahaan . Kelebihan dari MS SQL ini adalah user interface yang
bagus sehingga memudahkan user menggunakannya , serta kapasitas data yang
mampu disimpan cukup besar
MS-SQL Server Fundamental
Pengenalan Client-Server Database Computing 1 - 5

ORACLE

ORACLE adalah Client / Server database yang terkenal ketangguhannya, hal ini
dibuktikan dengan banyak dipakainya ORACLE pada perusahaan besar. Selain itu
kapasitas dari ORACLE juga sangat besar sampai bergiga-giga, selain itu ORACLE
dapat dibuat sebagai parallel database.

MYSQL

Mysql adalah sebuah client / Server database yang sangat free (gratis ) serta open
source, selain itu mysql dalam mengeksekusi suatu query SQL lebih cepat disbanding
yang lain. Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan
RDBMS.

POSTGRESQL

Kelebihan Postgresql dibanding yang lain free (gratis) serta fasilitas lengkap (
mensupport inherantance table, object model dll) . Kelemahan dari Postgresql adalah
support terhadap platform selain UNIX / LINUX adalah kurang.
MS-SQL Server Fundamental
Gambaran Singkat MS-SQL Server 2 - 1

BAB

Gambaran Singkat MS SQL Server

Tujuan :
Pada Bab ini mahasiswa akan mempelajari cara :
• Mengetahui gambaran tentang MS-SQL server
• Mengetahui Tools-tools yang ada pada MS-SQL server
MS-SQL Server Fundamental
Gambaran Singkat MS-SQL Server 2 - 2

2. 1. Pengenalan MS SQL Server

SQL server adalah sebuah RDBMS (Relational Database Management System).


Sistem RDBMS saat ini paling populer digunakan sebagai basis penyimpanan data.
Dengan SQL Server perancangan aplikasi database dapat dilakukan dengan arsitektur
client/server, dimana database terdapat pada komputer pusat yang disebut server, dan
informasi digunakan bersama-sama oleh beberapa user yang menjalankan aplikasi di
dalam komputer lokalnya yang disebut client. Arsitektur semacam ini memberikan
integritas data yang tinggi, karena semua user bekerja dengan informasi yang sama.

Melalui aturan-aturan bisnis, kendali diterapkan kepada semua user mengenai semua
informasi yang ditambahkan dalam database. Arsitektur Client/server database sangat
mengurangi lalulintas network, karena ia hanya memberikan data yang diminta user
saja. Sebagai contoh, jika sebuah pengcarian suatu database yang mengandung
100.000 records hanya menghasilkan 3 record, 3 record ini saja yang dikirimkan
melalui network ke komputer klient.

Pada sistemyang tradisional, kesemua 10.000 record akan dikirimkan ke klient


melalui network. Hal ini akan membantu tugas-tugas pemeliharaan seperti misalnya
memback-up dan merestorasi data, menjadi lebih mudah karena data terletak hanya
pada satu tempat.

2.2. Arsitektur SQL Server

Database SQL Server dibagi ke dalam beberapa komponen logikal, seperti misalnya
tabel, view, dan elemen-elemen lain yang terlihat oleh user. Elemen-elemen ini secara
fisik disimpan di dalam dua atau lebih file di dalam disk. Format file atau lokasi di
mana elemen-elemen logik ini ditulis, tidak diketahui oleh user sistem.

Server SQL Server bisa mengandung beberapa database yang digunakan oleh
beberapa user. Sebuah perusahaan bisa memiliki satu database yang digunakan oelh
banyak user pada beberapa departement, atau perusahaan tersebut bisa memiliki
beberapa database yang hanya digunakan khusus oleh beberapa user tertentu dalam
masing-masing departemen.

Dalam contoh kasus yang akan kita gunakan dalam pembahasan lebih lanjut adalah
sebuah perusahaan persewaan (rental) mobil. Perusahaan ini mempunyai beberapa
data tentang kondisi mobil, data transaksi rental yang terjadi, data pelanggan, dan data
karyawannya. Dengan berbagai user yang ada (karyawan, pemilik, pelanggan,
operator, dll), data yang tersimpan dapat diakses secara bersamaan dengan informasi
yang aktual.
MS-SQL Server Fundamental
Gambaran Singkat MS-SQL Server 2 - 3

2.3.Komponen MS SQL server

MS SQL server mempunyai beberapa komponen penting dalam penggunaanya,


hubungan antar komponen akan mempermudah kita dalam menggunakan MS SQL
server. Komponen – Komponen tersebut antara lain

No Komponen Keterangan
1 Database Database mengandung objek-objek yang digunakan untuk
mewakili, menyimpan, dan mengakses data.
2 Tabel Tabel digunakan menyimpan baris-baris atau rekord-rekord data
dan hubungannya dengan tabel lain.
3 Database Secara grafis menampilkan objek database sehingga dapat
diagram dimanipulasi tanpa menggunakan bahasa Transact-SQL
4 Indeks File-file tambahan yang meningkatkan kecepatan akses dari baris-
baris tabel.
5 View View menyediakan cara melihat data yang berbeda di dalam satu
atau lebih tabel.

6 Stored Program-program Transact-SQL yang disimpan di dalam server


Procedure yang menjalankan tugas-tugas yang telah ditentukan
7 Trigger, Sebuah jenis stored procedur khusus yang secara otomatis
dijalankan apabila operasi tertentu dilakukan di dalam tabel
8 Full-Text Indeks khusus yang membuat pencarian menjadi lebih mudah di
Indexes dalam kolom-kolom dengan tipe data Varchar dan Text.

9 Constraints Constraints, digunakan untuk menjaga integrity (keberadaan) data,


mendefinisikan rules (aturan) untuk updating data..

10 Keys Keys adalah kunci yang ada pada setiap tabel

2.4. Membangun Sistem Database Client / Server

Dari sekian banyak model database yang ada, pengelompokkan model ini berdasarkan
penanganan terhadap tiga services:
• User Service: beberapa layanan seperti penggambaran User Interface(U/I) dan
format tampilan field. Hal-hal yang ditangani oleh user service diantaranya adalah
cara menampilkan data tanggal yang benar –termasuk pemberian informasi
bahwa field tsb adalah field tanggal serta ada pengecekkan nilai yang dimasukkan
ke dalam field tsb adalah field tanggal.
• Business Service: beberapa layanan yang mengurusi masalah aturan bisnisnya
(business rules). Contohnya adalah aturan yang ada di perusahaan kartu kredit
untuk memvalidasi belanjaan yang memakai kartu kredit pelanggannya.
• Data Service: Penyimpanan dan pencarian data. Data service berisi aturan
integrasi data (seperti field barang-barang yang masuk tidak boleh bernilai
dibawah nol), tapi tidak perlu tahu darimana persetujuan kartu kredit berasal. Dan
disinilah pekerjaan yang dilakukan oleh SQL Server.
MS-SQL Server Fundamental
Gambaran Singkat MS-SQL Server 2 - 4

Beberapa arsitektur yang memuat tiga servis diatas adalah:

Single Tier (Host) System

Ini adalah model mainframe dan mini-computer. Tidak ada aturan-aturan logik, yang
ada adalah dumb terminal. Seluruh pengiriman data yang ada di terminal hanya
melalui layar tampilan informasi.

2-Tier Architecture (Client/Server)


Server

Business & Data


Client Service

User Service

Database

3-Tier Architecture
Client Server(s)

Data Service

User Business
Service Service

Database
MS-SQL Server Fundamental
Gambaran Singkat MS-SQL Server 2 - 5

N-Tier Architecture
Client

User
Service

Tersebar di
sejumlahServer(s)
Data Service

User Business
Service Service

Database

2.5. Modul-Modul Utama dalam MS SQL Server


2.5.1. Service Manager
Untuk memulai SQL Server Service Manager, klik ganda pada icon/ menu. Jika SQL
Server sedang berjalan (start), maka lampu indikator akan menyala hijau. Jika
dihentikan (stop), maka lampu indikatornya berwara merah.

Gambar 2.1 SQL Server Service Manager

Untuk memulai (start) SQL Server, klik panah pada label Start/Continue, demikian
pula untuk menghentikan (stop) tekan kontak merah, dan untuk menghentikan
sementara tekan bar ganda pada label Pause.

2.5.2. Query Analyzer


Query Analyzer adalah layar editor untuk melakukan serangkaian aktivitas yang
berhubungan dengan query. Query Analyzer adalah pilihan terbaik untuk melakukan
MS-SQL Server Fundamental
Gambaran Singkat MS-SQL Server 2 - 6

pekerjaan, karena semua aktivitas yang anda lakukan dapat disimpan ke file dan
dapat dijadikan sebagai backup pekerjaan.
Saat Query Analyzer dijalankan akan muncul tampilan

Gambar-2.2. Koneksi ke SQL Server

Setelah anda mengikuti langkah-langkah di atas, maka tampil layar editor seperti
gambar 2.3. Sekarang anda siap melakukan aktivitas seperti membuat/mengubah
database, table, memsaukkan/mengedit/manghapus/melihat data dan sebagainya.

Panel Hasil Query


Panel Query
Menu
Drop down Database

Gambar-2.3. Lingkungan Query Analyzer

2.5.3. Enterprise Manager


Selain Query Analyzer anda juga dapat melakukan aktivitas pada lingkungan
Enterprise Manager seperti apa yang anda lakukan pada Query Analyzer.
Perbedaannya adalah pada Query Analyzer semua aktivitas anda dapat disimpan
ke dalam file sehingga dapat digunakan sebagai backup dan digunakan pada
kompuer lain, sedangkan jika anda bekerja pada enterprise manager anda tidak
MS-SQL Server Fundamental
Gambaran Singkat MS-SQL Server 2 - 7

dapat membuat backup pekerjaan anda. Selain itu, pada Query Analyzer pekerjaan
dilakukan dengan mengetikkan perintah secara sequential sedangkan pada
Enterprise Manager perkerjaan dilakukan secara visual.
Saat Enterprise Manager dijalankan, akan muncul tampilan

Gambar-2.4. Lingkungan Enterprise Manager

Setelah tampilan lingkungan Enterprise Manager seperti gambar 2.4 , maka


sekarang anda siap melakukan aktivitas seperti membuat/ mengubah database,
table, memasukkan/ mengedit/ menghapus/ melihat data dll.
MS-SQL Server Fundamental
SQL – Server Login dan Security 3 - 1

BAB

SQL Server Login dan User Security

Tujuan :

Pada Bab Ini diharapkan mahasiswa :


• Mengenal Konsep SQL Server Login
• Memahami Konsep User Security
MS-SQL Server Fundamental
SQL – Server Login dan Security 3 - 2

3.1. Implementasi Login Authentication

SQL Server 7.0 dapat beroperasi pada dua mode authentication yaitu Windows NT
authentication mode atau Mixed mode. Mixed mode memungkinkan user untuk
berhubungan ke SQL Server melalui Windows NT Authentication atau SQL Server
Authentication.

Gambar 3.1: Windows NT Authentication Mode

Windows NT Authentication Mode


Windows NT Authentication mode dari SQL Server 7.0, memanfaatkan mekanisme
security (User Name dan Pasword) yang ada pada sistem operasi Window NT
(Window 2000).
Mode ini memungkinkan SQL Server untuk berbagi user name dan password yang
digunakan pada Windows NT dan mengijinkan user untuk mem- by pass proses
login dari SQL Server. User yang berhasil masuk Window NT dapat secara langsung
masuk ke SQL Server. Tipe koneksi seperti ini disebut trusted connection.
Cara kerjanya, saat user mengakses SQL Server, SQL Server memdapatkan
informasi user and password information dari attribut NT network security dari user
yang bersangkutan. Sebaliknya saat user mencoba login melalui aplikasi dengan
login tertentu, SQL Server akan mengabaikannya selama login tersebut tidak
terdapat pada Windows NT.
SQL Server Authentication
MS-SQL Server Fundamental
SQL – Server Login dan Security 3 - 3

SQL Server Authentication bergantung pada mekanisme authentication yang ada


pada SQL Server. Data user name dan password untuk SQL Server dipelihara
sendiri oleh SQL Server. Mode authentication ini sebenarnya tidak digunakan pada
SQL Server versi 7, akan tetapi masih didukung dengan tujuan:
1. Memelihara kompatibilitas dengan versi sebelumnya.
2. Beberapa aplikasi mungkin hanya memerlukan User Name dan Password dari
SQL Server.
3. Authentication diperlukan pada tipe koneksi tertentu seperti internet.
SQL Server akan secara otomatis beralih dari SQL Server Authentication ke
Windows NT Authentication jika seseorang mencoba login ke SQL Server dengan
login name yang dikosongi.

Mixed Mode Authentication


Pada mixed mode, NT Authentication and SQL Server Authentication keduanya
diaktifkan. Saat menggunakan SQL Server Authentication, user yang akan login ke
SQL Server harus memasukkan user name and a password yang akan divalidasi
oleh SQL Server. Saat menggunakan NT Authentication, users dapat masuk ke SQL
Server tanpa harus memasukkan user name dan password.

3.2. Membuat User Account


Terdapat tiga cara untuk membuat user account yang baru, yaitu :
1. Wizard
2. Enterprise Manager
3. Store procedure sp_addlogin
Bagian berikut ini hanya membahas dua cara pertama.

Pembuatan dengan Wizard


Tampilan untuk membuat user account baru dengan menggunakan wizard adalah
seperti gambar dibawah.
MS-SQL Server Fundamental
SQL – Server Login dan Security 3 - 4

Gambar 3.2. Tampilah awal dari Login Wizard

Pembuatan dengan SQL Server Enterprise Manager


Sengan memilih menu New Login dari the menu yang ditampilkan, akan terlihat
tampilan seperti gambar 3.3. Dua tab yang lain (Server Roles and Database Access)
ditampilkan.
MS-SQL Server Fundamental
SQL – Server Login dan Security 3 - 5

Gambar 3.3. Membuat user account baru dari Enterprise Manager

Built-In Administrator Account


Saat SQL Server diinstal pertama kali, secara otomatis dibaut satu account
administrator yaitu sa (system administrator). Jika digunakan Mixed mode
autentication, maka account ini harus digunakan untuk meng-administrasi SQL
Server pertama kali. Account sa ini tak dapat diubah.

Database User
Database user adalah konsep untuk mendefinisikan database mana yang bisa
diakses oleh user. Setelah sukses login ke SQL Server, maka SQL Server akan
menentukan database yang berhak diaksesnya.

Guest User
User ini merupakan user khusus, yang dapat ditambahkan pada database, untuk
mengijinkan semua user dengan login (ke SQL Server ) yang valid, dapat
mengakses database.

dbo
User dbo yang merupakan pemilik database adalah user spesial yang ada pada
setiap database. Dengan demikian user dbo ini tidak dapat dihapus dari database.
Setiap anggota dari sysadmin server role, secara otomatis dipetakan ke dbo pada
setiap database yang dibuatnya.
MS-SQL Server Fundamental
SQL – Server Login dan Security 3 - 6

3.3. Permissions
Permission memungkinkan seseorang untuk melakukan sesuatu terhadap database.
Terdapat dua jenis permission, yaitu:
1. object permission
2. statement permission

Object permissions
Object permissions mengontrol siapa yang dapat mengakses object ( diantaranya
tables, table columns, views, and stored procedures) dalam SQL Server. Sebagai
contoh, user yang ingin menjalankan perintah SELECT * FROM table1, maka user
tersebut harus mempunyai have SELECT permission terhadap table1.
Permission selengkapnya ada pada tabel berikut:

Object Type Possible Actions


table SELECT, UPDATE, DELETE, INSERT,
REFERENCE
column SELECT, UPDATE
view SELECT, UPDATE, INSERT, DELETE
stored procedure EXECUTE

Statement permissions
Statement permissions mengotrol siapa yang berhak menghapus (drop) dan
membuat object dalam database.
SQL Server menggunakan perintah GRANT, REVOKE, dan DENY masing- masing
untuk memberi, mencabut dan menolak permission.
Hanya account sa (anggota dari sysadmin role) atau database owner yang dapat
mengadministrasi statement permission.Daftar dari statement permissions:

Statement Permission Keterangan


CREATE DATABASE Membuat database. Permission ini dapat diberikan hanya oleh
account sa dan hanya kepada user yang ada pada database
master.
CREATE DEFAULT Membuat nilai default kepada kolom dari sebauh tabel
CREATE PROCEDURE Membuat store procedure
CREATE RULE Membuat rule dari sebuah kolom pada sebuah tabel
CREATE TABLE Membuat tabel
CREATE VIEW Membuat view
BACKUP DATABASE Mem-backup database
BACKUP Mam-backup transaction log
TRANSACTION

3.4. Role
Istilah role merupakan istilah baru pada SQL Server 7.0. Role menyediakan cara
memberikan permission pada user. Ada dua jenis roles yaitu :
1. Server roles
2. Database roles
MS-SQL Server Fundamental
SQL – Server Login dan Security 3 - 7

Server Roles
Server roles menyediakan level akses pada operasi dan tugas dari server. Jika
seseorang dimasukkan dalam (diberikan) role tertentu, maka ia akan dapat
melakukan tugas/ perintah yang diijikan oleh role. Sebagai contoh user yang menjadi
anggota dari sysadmin role dapat melakukan tugas apapun pada SQL Server.

Gambar 3.4. Pengaturan Server Roles


Server roles bersifat predefined dan serverwide. Roles ini tidak diperuntukkan pada
database tertentu, dan tidak dapat dikustomisasi.
Server Role Description
sysadmin Dapat melakukan apa saja dalam SQL Server
serveradmin Dapat memodifikasi seting dari SQL Server dan dapat melakukan
shut down SQL Server
setupadmin Dapat menginstal replication dan mengontrol extended stored
procedures
securityadmin Dapat mengontrol server logins dan membuat database permissions
processadmin Dapat mengontrol proses-proses pada SQL Server
dbcreator Dapat membuat dan memodifikasi database
diskadmin Dapat memgatur file- file

Database Roles
Database roles menyediakan permission terhadap database kepada user atau group
dari user. Database roles dapat diberikan kepada login dari NT Authentication
MS-SQL Server Fundamental
SQL – Server Login dan Security 3 - 8

ataupun SQL Server Authenticated. Roles that yang diberikan kepada login dari NT
Authenticated dapat diberikan kepada user NT ataupun group NT.
Database roles bersifat database specific (diperuntukkan pada database tertentu).
SQL Server menyediakan tiga tipe roles yaitu:
1. Predefined database roles
2.. User-defined database roles
3. Implicit roles

Gambar 3.5. Pengaturan Database Access

Predefined Database Roles


Predefined database roles merupakan database roles standard dari SQL Server.
Setip database pada SQL Server mempunyai roles jenis ini. Predefined database
roles membuat kemudahan dalam pendelegasian tanggungjawab. Sebagai contoh
seorang developer dapat diberikan db_ddladmin role in pada saat pengembangan
aplikasi, yang memungkinkan developer untuk create and drop objects (tables,
stored procedures, views, dll) sesuai dengan kebutuhannya.

Predefine Description
Database Role
db_owner Dapat melakukan aktifitas pada semua database roles
db_accessadmin Dapat menambah atau menghapus Windows NT group, Windows
NT user, dan SQL Server user pada database.
db_datareader Dapat melihat semua data dari semua tabel milik user pada
database.
MS-SQL Server Fundamental
SQL – Server Login dan Security 3 - 9

Predefine Description
Database Role
db_datawriter Dapat menambah, mengubah atau menghapus data dari semua tabel
milik user pada database.
db_ddladmin Dapat menambah, mengubah atau menghapus object dalam
database.
db_securityadmin Dapat mengatur roles dan anggota dari SQL Server database roles,
dan mengatur permission dalam database.
db_backupoperator Dapat mem-backup database.
db_denydatareader Tidak dapat melihat data dalam database, tetapi dapat membuat
perubahan pada skema.
db_denydatawriter Tidak dapat mengubah data dalam tabel.

User-Defined Roles
User-defined roles memungkinkan pegelompokan (grouping) user ke fungsi
pengamanan khusus. Roles ini bersifat database specific, whereas server roles are
server specific.

Berikut adalah tipe dari user-defined database roles:


1. Standard role
2. Application role

Standard Role
Standard role menyediakan metode untuk membuat user-defined roles untuk
pengamanan. Fungsi umum dari standard role adalah mengelompokkan user
berdasarkan level security tertentu. Sebagai contoh kebanyakan aplikasi mempunyai
beberapa level sekuriti sbb:
1. Power user, dapat melakukan tugas apapun pada database seperti melakukan
perintah SELECT/INSERT/DELETE/UPDATE pada semua tabel dari database.
User jenis ini diberi roles db_datareader and db_datawriter.
2. Normal user, sama seperti Power User kecuali permission hanya pada sebagian
tabel dapat memodifikasi tipe data tertentu. User jenis ini diberi role
standard_user
3. Bonehead user, tidak diijinkan mengubah apapunkecuali melakukan operasi
SELECT terhadap tabel. User jenis ini diberi role db_datareader

Application Role
Application role adalah tipe khusus dari role yang memungkinkan user mengambil
karakteristik dari role. Saat user diberi application role, maka ia akan mempunyai role
baru yang mengabaikan permission yang diatur pada role sebelumnya.

Saat application role yang aktif, user dapat dikontrol dalam melakukan pemrosesan
dan query terhadap database. Saat tidak aktif user kembali dibatasi pada permision
standard yang dipunyai sebelumnya.
Perbedaan antara application roles and standard roles adalah :
1. Application roles dapat diproteksi dengan password. Dengan demikian password
harus dimasukkan untuk mengaktifkan role.
2. Users tidak secara langsung diberikan application roles.
MS-SQL Server Fundamental
Database 4 - 1

BAB

DataBase

Tujuan :
Pada Bab ini mahasiswa akan mempelajari cara :
• Membuat Database
• Membuat Properties dari Database
MS-SQL Server Fundamental
Database 4 - 2

4.1. DATABASE
Secara default (setiap instalasi), setiap instance dari SQL Server mempunyai empat
database sistem (digunakan oleh sistem) yaitu master, model, tempdb, dan msdb.
Database lainnya tergolong database user (dibuat dan digunakan oleh user) adalah
and one or more user databases.

Gambar 4.1. SQL Server Database


Database Sistem dan Database User
Sesuai dengan konsep database, SQL server mendukung abstraksi data mulai dari
level view, logical sampai physical. Seperti telihat pada gambar berikut, database
XYZ secara logik (bagi user), mempunyai beberapa tabel (istilah tabel mengacu
pada istilah file) yaitu tabel abc, tabel def dan tabel ghi. Implementasi secara fisik,
ketiga file tersebut disimpan pada satu file (data1.mdf). Sebagai bantuan, terdapat
dua file tambahan pada setiap database yaitu file indeks (data2.ndf) dan file log
(data1.log).

Gambar 4.2. SQL Server Tabel

Membuat database mencakup menyediakan karakteristik fisik dari database, seperti


misalnya ukuran, tingkat kenaikan, nama, identifikasi pemiliknya, serta identifikasi
grup.
MS-SQL Server Fundamental
Database 4 - 3

Ada tiga file yang membentuk sebuah database, yaitu : file primer, file sekunder, dan
file log.
1. File primer adalah file yang mengandung informasi yang dibutuhkan untuk menu
shortcut-load dan menginisialisasi database serta untuk menyimpan data. Ini
adalah file default untuk setiap database yang dibuat.
2. File sekunder adalah file yang hanya ada apabila file primer tidak cukup besar
untuk memelihara semua file data. Bergantung pada ukuran dari database,
mungkin diperlukan beberapa file sekunder ini.
3. File log digunakan untuk memulihkan database. Setidaknya ada satu file log
dalam setiap database dan file log yang kedua selalu bisa dibuat. Ukuran
minimal file log adalah 512 KB.

4.2. Pembuatan Database


Database bisa dibuat secara manual dengan Enterprise Manager, dengan
menggunakan Create Database Wizard atau dengan bahasa Transact-SQL. Bagian
berikutnya hanya membahas dua cara pertama.

4.2.1. dengan Enterprise Manager


Pembuatan database dengan Enterprise Manager diperlihatkan seperti gambar 4.3.

Gambar 4.3 Pembuatan Database dengan Enterprise Manager

Database primer dan file-file log transaksi akan dibuat menggunakan nama yang
telah dipilih sebagai awalannya. Tab Options mengizinkan user menentukan jenis
akses yang dimiliki oleh database. Pilihan Single User mengizinkan hanya satu user
yang mengakses database, jadi mencegah penggunaan bersama.
MS-SQL Server Fundamental
Database 4 - 4

4.2.2. Pembuatan Database dengan Wizard


Wizard bisa diaktifkan dengan perintah Tools - Wizards. Perintah ini membuka
jendela di mana dimana bisa mengklik Database dan mengklik ganda Create
Database Wizard. Mengaktifkan wizard bisa pula dengan mengklik kanan pada
folder Databases pada panel kiri dan memilih Tools - Wizard pada menu.

Gambar 4.4. Pemilihan Item pada Pembuatan Database dengan Wizard


MS-SQL Server Fundamental
Database 4 - 5

Gambar 4.5. Tampilan Pembuka Pembuatan Database dengan Wizard

Layar pertama dari Wizard hanya mengandung informasi. Tekan Next untuk
melanjutkan. Pada layar kedua, ketikkanlah nama dan terima atau tentukan lokasi
lain untuk database sebelum menekan Next.
Pada langkah berikutnya, kita bisa menerima nilai yang diberikan untuk nama file
database dan ukurannya atau ketikkan ukuran awal untuk file database.
Setelah menekan Next, kita harus mengetikkan data mengenai pertumbuhan file
database. Secara default, database secara otomatis akan tumbuh dalam kenaikan
10 persen ukuran awalnya. Kita bisa mengubah ini agar database tumbuh dalam
ukuran megabyte dan bukan persen dengan memilih pilihan Grow the Files in
Megabyte. Nilai defaultnya adalah 1 megabyte.
Ukuran maksimal dari database tidak akan dibatasi kecuali untuk ruang fisik yang
tersedia. Untuk menentukan ukuran maksimal kita harus memilih Restrict File Grow
dan menentukan ukuran akhir yang bisa dicapai oleh database. Tekan Next.
Pada langkah berikutnya kita perlu menetukan ukuran file log transaksi. Wizard
menawarkan nilai default 1 MB. Tekan Next dan ulangi operasi ini dengan file log.
Sebuah layar akan meminta kita memastikan jenis pertumbuhan dan ukuran file
maksimal. Ketikkan data sesuai keinginan kita. Tekan Next dan sebuah jendela akan
muncul dengan rangkuman dari karakteristik database yang akan dibuat.
Tekan Finish untuk membuat database. Wizard lalu menanyakan apakah kita ingin
membuat rencana pemeliharaan untuk database saat ini. Jika dijawab Yes,
Database Maintenance Plan Wizard akan dijalankan.

4.3. Menghapus Database.


Untuk menghapus database dan isinya aktifkan menu dengan klik kanan pada nama
database lalu pilih delete.
MS-SQL Server Fundamental
Database 4 - 6

Gambar 4.6. Penghapusan Database


MS-SQL Server Fundamental
Tabel 5 - 1

BAB

Tabel

Tujuan :

Pada Bab Ini diharapkan mahasiswa :


• Membuat Tabel
• Membuat Properties dari Tabel
MS-SQL Server Fundamental
Tabel 5 - 2

5.1. Karakteristik Tabel


Dengan MS SQL Server kita bisa membuat tabel permanen dan tabel sementara.
Tabel sementara adalah tabel yang dibuat di dalam memory, sedangkan tabel
permanen adalah tabel yang ditulis dalam disk.
Tabel MS SQL Server bisa mengandung hingga 1024 buah kolom. Masing-masing
kolom harus dibuat dengan menentukan informasi dasarnya seperti nama, tipe data
yang akan disimpan, spesifikasi tambahan dari nilai-nilai default, serta batasan-
batasan yang diterapkan dalam isinya.
Nama dari kolom haruslah eksklusif di dalam database. Jadi tidak boleh ada dua
kolom yang bernama sama dalam tabel yang sama. Tetapi tabel-tabel yang berbeda
di dalam database bisa mengandung kolom-kolom yang sama.
Apabila tabel dibuat, secara otomatis ia akan diletakkan ke dalam filegroup default.
Tetapi jika file berisi field bertipe Text, Ntext, atau Image maka akan diletakkan pada
filegroup yang berbeda dari tabel-tabel lainnya.
Setiap kolom dalam tabel harus memiliki tipe data tertentu. Data yang disimpan
dalam tabel MS SQL Server bisa memiliki tipe-tipe seperti di bawah ini :
Bit Timestamp
Int Uniqueidentifier
SmallInt Char
Tinyint Varchar
Decimal atau Numeric Text
Money Nchar
SmallMoney Nvarchar
Float Ntext
Real Binary
Datetime Varbinary
SmallDateTime Image
Cursor
Constraint adalah cara untuk memastikan integritas dari database melalui
penyaringan informasi yang dimasukkan ke dalam kolom tabel. Constraint memiliki
prioritas di atas trigger, aturan, dan nilai default. Ada lima batasan, yaitu :
1. NOT NULL menetukan kolom tidak bisa menerima nilai null.
2. CHECK membatasi nilai yang bisa diletakkan ke dalam kolom dengan menguji
suatu kondisi.
3. UNIQUE memaksa kolom-kolom memiliki nilai yang eksklusif. Dengan kata lain
pada suatu kolom yang diberikan batasan UNIQUE tidak boleh ada dua record
dengan isi yang sama.
4. PRIMARY KEY membuat kuci primer atau kunci utama dari tabel, kolom atau
kombinasi dari kolom dengan nilai yang harus bersifat eksklusif.
5. FOREIGN KEY menentukan hubungan antara tabel-tabel. Ini adalah field dalam
tabel yang aktif yang menunjuk pada field kunci pada tabel lain.

5.2. Pembuatan Tabel


Perbesarlah folder Databases dan database di mana kita ingin membuat tabel. Lalu
klik kanan pada folder Tables dan pilih New Table.
MS-SQL Server Fundamental
Tabel 5 - 3

Gambar 5.1. Pembuatan Tabel


Sebuah kotak dialog akan meminta nama dari tabel. Jika sudah, klik OK. Berikutnya
akan muncul jendela dimana kita bisa mendefinisikan karakteristik kolom-kolom.
Karakteristik Kolom
Dari gambar di atas terlihat karakteristik kolom, yakni :

Item Keterangan
Column Name Menunjukkan nama untuk kolom atau field
Datatype Menunjukkan tipe data yang disimpan oleh kolom
Length Menunjukkan ukuran dari field
Precision Menunjukkan jumlah digit dalam angka
Scale Menunjukkan jumlah dari angka pecahan
Allow Nulls Apabila kolom ini dipilih, SQL Sever akan mengizinkan nilai
Null dalam field.
Default Name Digunakan untuk menentukan nilai default untuk kolom
Identify Kolom ini apabila dipilih menunjukkan bahwa field akan
memiliki angka identitas yang secara otomatis dihasilkan
Identify Seed Menunjukkan nilai awal untuk record pertama
Identify Increment Menunjukkan nilai kenaikan untuk record baru
Is RowGuid Membuat isi eksklusif untuk kolom pada tingkat global. Sebuah
tabel hanya bisa dibuat dengan tipe data Uniqueidentifier.
MS-SQL Server Fundamental
Tabel 5 - 4

Sebuah tabel bisa mengandung satu kolom pengenal. Kolom jenis ii hanya
mengandung satu nilai yang mengenali satu baris dari tabel. Kolom jenis ini ideal
untuk pembuatan kode record otomatis.

5.3. Menggunakan Tabel


5.3.1. Menghapus Tabel
Klik kanan nama tabel yang akan dihapus, pilih Delete, kemudian kotak dialog Drop
Objects akan muncul. Untuk menghapus tabel, tekan Drop All.

Gambar 5.2. Penghapusan Tabel

5.3.2. Mengganti Nama Tabel


Klik kanan nama tabel yang akan diganti namanya. Ketikkan nama baru dari tabel
lalu klik di luar daerah pengetikan.

5.3.3. Melihat Data Tabel


Pada panel detail, klik kanan nama tabel yang ingin dilihat. pilih Open Tabel, pilih
Return All Rows untuk melihat semua baris dari tabel atau Return Top untuk
menentukan berapa banyak baris yang ingin dilihat.
MS-SQL Server Fundamental
Tabel 5 - 5

Gambar 5.3. Melihat Data pada Tabel

5.3.4. Editing Data dalam Tabel


Untuk mengubah data dalam field tabel, mengikuti prosedur yang sama untuk
melihat isi tabel. Setelah record yang ingin diedit ditampilkan, klik pada field yang
ingn diedit lalu ketikkan isi barunya. Ingat bahwa batasan yang dibuat untuk field
tersebut harus dihargai apabila kita mengedit record.

5.3.5. Menambahkan Kolom Baru ke Dalam Tabel


Klik kanan pada tabel yang ingin diubah, pilih Design Table, kemudian pilih kolom
yang terletak di sebelah kanan dari kolom baru. Klik kanan pada nama kolom
tersebut, pilih Insert Column. Setelah memasukkan data, tekan Save. Untuk
membatalkan penghapusan baris saat mengetik tekan Esc.

5.3.6. Menghapus Kolom dari Tabel


Klik kanan pada tabel yang ingin diubah, pilih Design Table. Pilih kolom yang akan
dihapus, kemudian pilih Delete Column. Setelah kolom dihapus tekan Save. Kita
tidak bisa menghapus kolom yang digunakan oleh indeks, batasan CHECK atau
UNIQUE, atau kunci primer dan kunci asing.

5.3.7. Melihat Properti dari Tabel


Klik kanan nama tabel yang ingin dilihat. Pilih pilihan Properties.
MS-SQL Server Fundamental
Diagram Database 6 - 1

BAB

Diagram Database

Tujuan :
Pada Bab ini mahasiswa akan mempelajari cara :
• Mendesain suatu Diagram Database
• Menambah Tabel pada diagram database
MS-SQL Server Fundamental
Diagram Database 6 - 2

6.1. Diagram Database

Diagram Database adalah representasi garafik dari sebuah database. Dengan diagram
database anda bisa mengelola objek-objek database dengan menggunakan antarmuka
grafis serta mengeser mouse untuk melakukan tugas-tugas yang biasanya dilakukan
dengan perintah bahasa SQL.

Tugas-tugas ini diantaranya meliputi menambah atau menghapus table, trigger,


berikut ini adalah contoh diagram database dari Northwind :

Gambar 6.1 Diagram database

Anda bisa melihat table-tabel database dan hubungan anta mereka. Setiap table yang
ditunjukkan disini hanyalah referensi ke table yang secara fisik disimpan dalam
database. Beberapa diagram bisa dibuat untuk database yang sama. Ini adalah
beberapa tuga yang bisa dilalkukan dalam diagram :
• Melihat struktur table dan hubungannya
• Menghasilkan beberapa view dari bagian-bagian dariu database yabg
kompleks
• Bereksperimen dengan struktur database tanpa mengubah database
• Mengubah struktur database dan table
MS-SQL Server Fundamental
Diagram Database 6 - 3

6.2. Membuat Diagram

Untuk membuat diagram, perbesarlah database yang diinginkan.Lalu klik dengan


tombol mouse kana pada Database Diagrams dan Pilih New Database Diagram, ini
akan mengaktifkan Create Diagram Wizard.

Gambar 6.2 Membuat Diagram Database

Sekarang kita buat diagram database untuk database Nortwind.Setelah mengikuti


langkah tersebut diatas akan muncul wizard pertama, klik pada layer tersebut dan
lanjutkan . Pilihlah table yang anda inginkan pada kotak dialog berikutnya lalu
tekan ADD, seperti yang ditunjukkan dibawah ini:
MS-SQL Server Fundamental
Diagram Database 6 - 4

Gambar 6.3 Memilih Tabel

Tekan next. Pada Layar berikutnya akan wizard akan menampilkan table-tabel
yang akan ditambahkan lalu tekan finish. Setelah menekan next maka tampil sebagai
berikut

Gambar 6.4 Finish Create Database Daigram


MS-SQL Server Fundamental
Diagram Database 6 - 5

Tekan Finish untuk membuat diagram database. Diagram lalu ditampilkan pada
daerah kerja seperti ditunjukkan pada gambar berikut, untuk menyimpan diagram klik
pada tombol save (icon disket) dan ketikkan nama untuk diagram tersebut misal untuk
diagram contoh pada modul ini kita gunakan nama diagrampiksi sebagai nama
diagram.

Gambar 6.5 Hasil Pembuatan Diagram Database

6.3. Membuka Diagram Database

Untuk membuka diagram yang sudah ada, pertama-tama perbesar folder server dan
Database. Klik pada folder Database Diagrams. Diagram yang sudah ada akan muncul
pada panel kanan. Klik ganda pada diagram yang ingin dibuka atau klik dengan
tombol mouse kanan dan pilih Design Diagram pada menu yang muncul.

6.4. Mencetak Diagram

Kita dapat mencetak diagram Database dengan cara , klik pada tombol Print atau
pilihan print pada menu shortcut. Sebelum mencetak kita tentukan terlebih dahulu
dimana pemenggalan halaman akan terjadi, karena diagram biasanya banyak
mengandung banyak table . Untuk melihat pemenggalan baris, aktifkan menu shortcut
MS-SQL Server Fundamental
Diagram Database 6 - 6

dengan mengklik tombol mouse kanan pada ruang kosong pada diagram, lalu pilih
View Page Breaks.
Melihat Properti Tabel

Untuk melihat property dari sebuah table dan melakukan sebagian besar operasi yang
berhubungan dengan tabelk tersebut . Anda harus mengklik dengan tombol mouse
kanan pada baris judulnya. Menu shortcut akan dibuka dengan semua pilihan yang
berlaku pada table tersebut :

Gambar 6.6 Melihat properties pada Diagram Database


Untuk melihat keterangan lebih jelas dari suatu table kita dapat mengklik Properties.
Didalam properties akan ditampilkan keterangan tentang Tables, Columns,
Relationship, Indexes/keys, Check costrains sesuai gambar berikut :
MS-SQL Server Fundamental
Diagram Database 6 - 7

Gambar 6.8 Isi Properties Tabel

6.5. Menambah Tabel kedalam Diagram

Bila kita ingin menambahkan table dalam Diagram Database, dengan cara klik kana
pada daerah kosong lalu pilih Add Table , maka akan keluar menu pilihan seperti
berikut :
MS-SQL Server Fundamental
Diagram Database 6 - 8

Gambar 6.9 Menambah Tabel

6.6. Menghapus Tabel dari Diagram Database

Apabila kita ingin menghapus table dari diagram database, kita pilih table mana yang
mau dihapus lalu klik kanan serta pilih menu Remove tables from diagram. Maka
table yang kita pilih akan dihapus dari Diagram Database.

6.7. Membuat Hubungan Antar Tabel

Operasi ini cukup mudah ,pilihlah baris yang mendefinisikan kolom dengan kunci
primer pada table yang baru, lalu geserlah ke nama dari kolom yang berhubungan
dengan table lain.
MS-SQL Server Fundamental
Diagram Database 6 - 9

Gambar 6.10 Hubungan antar table yang baru

Dalam hal ini kita hubungkan table dtProperties dengan table suppliers.
Selain itu kita dapat juga membuat hubungan antar table dengan cara pilih table yang
akan kita hubungan lalu pada menu kita pilih relationship, pilih new dengan memilih
table yang ingin kita buat hubungan relationship antar table.
MS-SQL Server Fundamental
Query Analyzer 7 - 1

BAB

Query Analyzer

Tujuan :

Pada Bab Ini diharapkan mahasiswa :


• Mengenal Tools Query Analyzer
• Memahami lingkungan Kerja Query Analyzer
MS-SQL Server Fundamental
Query Analyzer 7 - 2

Salah satu sarana dalam MS SQL server adalah Query Analayzer. Query Analyzer
adalah sebuah sarana yang memiliki antarmuka grafis yang berfungsi untuk
melakukan serangkaian aktivitas yang berhubungan dengan pemulihan dan
pengoptimalan query-query didalam database.

Aktivitas – aktivitas dalam Query analyzer antara lain :


• Melakukan query pada database SQL server dengan menggunakan perintah-
perintah SQL untuk melihat teks atau grid
• Melihat representasi grafik dari langkah-langkah untuk menjalankan query.
• Menjalankan analissa kerja indeks.
• Menjalankan skrip Transact-SQL dari prosedur tersimpan.
• Mengakses Help Online untuk bahasa Transact-SQL dari prosedur tersimpan.

Setelah menjalankan Query Analyzer maka akan tampil kotak dialog dimana kita
harus menentukan server mana yang harus dihubungkan beserta user yang kita
gunakan. Kotak dialog ini juga dapat digunakan melalui menu File|Connect :

Gambar 7.1 Connect Database

Berikut ini adalah layer kerja dari Query analyzer :


MS-SQL Server Fundamental
Query Analyzer 7 - 3

Panel Hasil Query


Panel Query
Menu
Drop down Database
Gambar 7.2 Daerah kerja Query Analyzer

7.1. Menjalankan Query

Kita dapat mengetikan query kita pada Query panel , misak kita ketikkan select * from orders;
maka hasil query analyzer adalah sebagai berikut :

Gambar 7.3 Contoh hasil query


MS-SQL Server Fundamental
Query Analyzer 7 - 4

7.2. Melihat Query Execution Plan

Salah satu tugas dari Qury Analyzer adalah menganalisa dari suatu query. Melalui
tombol query analyzer plan, kita dapat melihat semua langkah dan prosedur untuk
menjalankan query. Beberapa perintah membutuhkan beberapa operasi logic dan fisik
yang membutuhkan waktu dan perangkat keras CPU. Untuk melihat langkah –
langkah eksekusi query secara grafis , anda harus menekan tombol Query|Show
Execution Plan atau Ctrl+K.

Sebagai Contoh kita gunakan Query sebagai berikut :

select * from customers where contacttitle = 'owner' order by companyname;

Maka hasil dari qury tersebut dalam Query Execution Plan adalah :

Gambar 7.4 Query Execution Plan

7.3. Menganalisa Query

Setelah menjalankan Query, Result Panel bisa digunakan untuk mengambil informasi
mengenai setiap operasi yang ditampilkan. Posisikan kursor diatas sebuah icon untuk
melihat keterangan mengenai karakteristik dari operasi yang dilakukan .
MS-SQL Server Fundamental
Query Analyzer 7 - 5

Pada gambar diatas keterangan yang berhubungan dengan kalkulasi scalar yang
dilakukan oleh operasi matematik internal dari query akan ditampilkan. Bila sebuah
operasi membutuhkan lebih banyak perhatian judulnya akan berwarna merah.

7.4. Menyimpan dan Membuka Query

Teks atau skrip dari query dapat ditulis dalam diskuntuk dijalankan atau dibuka dilain
waktu. Jika anda sering menjalankan query yang sama ,cara ini bisa menghemat
waktu.

Untuk menyimpan query klik File | Save ,pilihlah dimana anda ingi8n menyimpan
query tersebut serta ketikkan nama dari query tersebut pada field File Name. Pada
Field File Format pilihlah format file yang kita inginkan untuk menyimpan query
tersebut.

Sedang untuk membuka Query yang telah ada , klik File | Open. Pilihlah lokasi
dimana Query yang telah kita simpan untuk di eksekusi.

7.5. Menyimpan Result Panel

Anda bisa menyimpan isi dari result panel bila berada dalam format grid, lalu
mengekspor data dalam program lain. Untuk melakukan klik pada result panel lalu
klik File|Save As , ketikkan nama file pada field File Name. Pada Field Column
MS-SQL Server Fundamental
Query Analyzer 7 - 6

Delimeter, pilihlah Comma Separated (CSV) untuk memisahkan field-field dengan


koma atau pilihlah Tab Delimeted untuk menggunakan tanda Tabulasi klik pada
tombol Save sesuai dengan gambar berikut :

Gambar 7.5 Save Grid hasil Query

7.6. Mencetak Query dan Hasilnya

Kita dapat mencetak teks dari query (skrip) atau isi dari result panel dengan cara
aktifkan panel yang ingin kita cetak, lalu klik pada perintah Print dalam menu File.

7.7. Menampilkan Help Online

Apabila kita tidak hafal atau belum mengetahui sintaks dari perintah SQL,
pilihlah kata kunci yang diinginkan lalu tekan Shift+F1. Operasi ini akan
mengaktifkan bantuan online dan menampilkan keterangan tentang kata yang telah
kita pilih seperti pada gambar berikut :
MS-SQL Server Fundamental
Query Analyzer 7 - 7

Gambar 7.6 Help Online Query Analyzer


MS-SQL Server Fundamental
Dasar-dasar SQL 8 - 1

BAB

Dasar – Dasar SQL


Tujuan :
Pada Bab ini mahasiswa akan mempelajari cara :
• Mengetahui Dasar SQL
• Mengerti bahasa SQL
MS-SQL Server Fundamental
Dasar-Dasar SQL 8 - 2

8.1. Dasar – Dasar SQL

Bahasa SQL adalah sarana dasar yang dibutuhkan untuk mengakses data di dalam
database relasional . Menguasai bahasa SQL adalah langkah pertama dan terpenting di
dalam memahami database relasional. Pada beberapa tahun terakhir, bahasa SQL
telah meninggalkan domain mainframe dan turun ke tingkat desktop. Perpindahan ini
disebabkan karena database relasional telah mengembangkan platform mereka dan
saat ini telah memiliki versi-versi yang berjalan baik pada PC maupun mainframe.
Selain itu, internet telah merubah menjadi alat yang mempopulerkan bahasa ini.
Karena bahasa memiliki struktur yang cocok untuk arsitektur client – server semakin
banyak aplikasi atau halaman yang mengakses database relasional yang dibuat dengan
menggunakan bahasa SQL.

Bahasa SQL merupakan bahasa standar database yang telah menjadi standar
bersama oleh semua pengembang perangkat lunak database. Bahasa ini, seperti
pemrograman lainnya, merupakan kumpulan perintah-perintah khusus yang
berhubungan dengan record-record yang terdapat pada database, seperti perintah
untuk menampilkan, menyisipkan, menghapus atau mengubah record.

8.2. Macam Query SQL

SQL berdasarkan fungsinya dibedakan menjadi dua yaitu DDL ( Data Definition
Language ) serta DML (Data Manipulation Language ).

DDL atau data definition language adalah bagian dari SQL yang digunakan untuk
mendefinisikan data dan objek database. Apabila perintah ini digunakan entri akan
dibuat kedalam kamus data dari MS SQL server database. Perintah – perintahyang
termasuk dalam DDL adalah :

Perintah Keterangan
Create Table Membuat Tabel
Create Index Membuat Indeks
Alter Table Mengubah atau menyisipkan kolom ke dalam tabel
Drop Table Menghapus Tabel
Drop Indeks Menghapus Indeks
Grant Memberikan izin akses kepada user

DML atau data manipulatin language adalah bagian dari SQL yang digunakan untuk
memulihkan atau memanipulasi data. Perintah-perintah ini bertanggung jawab untuk
melakukan query dan perubahan yang dilakukan di dalam table. Perintah – perintah
yang termasuk DML adalah sebagai berikut :

Perintah Keterangan
SELECT Perintah utama dari SQL digunakan untuk memilih data dari table
atau view
INSERT Menyisipkan baris dari tabel
DELETE Menghapus baris dari tabel
MS-SQL Server Fundamental
Dasar-Dasar SQL 8 - 3
UPDATE Mengubah isi dari kolom(field) dari tabel
COMMIT Menuliskan perintah dalam disk
ROLLBACK Membatalkan perubahan yang dilakukan setelah perintah commit
yang terakhir

8.3. Tipe – Tipe Data

Tipe-tipe data yang ada pada MS SQL server sebagai tipe data dari iap field adalah
sebagai berikut :

Integer
Bit Integer dengan nilai 0 atau 1
Int Nilai Integer antara -2.147.486.648 sampai 2.147.483.647
SmallInt Nilai Integer antara -32.768 sampai 32.767
TinyInt Nilai Integer antara 0 sampai 255
Decimal atau Angka dengan akurasi tetap antara -10 38-1 sampai 10 38-1 .
numeric
Money Nilai data moneter dari -2 63 sampai 2 63-1 hingga tingkat akurasi
sepersepuluhribu unit dari moneter.
SmallMoney -214.748,3648 sampai 214.748,3647 dengan tingkat akurasi
sepersepuluhribu unit dari moneter.
Float -1.79E+308 sampai 1.79E+308
Real -3.40E+38 sampai 3.40E+38
DateTime 1 januari 1753 sampai 31 desember 9999 dengan akurasi sampai
3.33 milidetik
SmallDateTime 1 januari 1900 sampai 6 juni 2079 dengan ketelitian hingga 1 menit
Rupa - rupa
Cursor Referensi ke kursor
TimeStamp Angka Eksklusif yang dikenali database
Uniqueidentifier Pengenalan global eksklusif
String
Char Field tetap dengan ukuran maksimal 8000 byte
VarChar Field tetap dengan ukuran maksimal 8000 byte
Text Variabel dengan ukuran hingga 2 31-1 byte
Unicode teks
Nchar Karakter Unicode dengan ukuran tetap hingga 4000 byte
NVarChar Karakter Unicode dengan ukuran bervariasi hingga 4000 byte
Ntext Variabel dengan ukuran sampai 2 30-1 byte
Binary String
Binary Ukuran tetap hingga 8000 byte
VarBinary Ukuran variasi hingga 8000 byte
Image Ukuran tetap hingga 2 31-1 byte

8.4. Ekspresi dan Operator

MS SQL server mendukung semua operator yang ditemukan pada sebagian besar
bahasa pemrograman. Operator bertindak berdasarkan operand yaitu elemen yang
MS-SQL Server Fundamental
Dasar-Dasar SQL 8 - 4
dianalisa oleh operator . Ada dua jenis operator yaitu operatot unary yang bertindak
berdasarkan satu operand saja dan operator binary yang bertindak berdasarkan dua
atau lebih operand.

Apabila ada lebih dari satu jenis operator pada sebuah ekspresi , operator – operator
tersebut akan dieavluasi berdasarkan urutan sebagai berikut :
• + (positif),- (negative), ~ (bitwise NOT)
• * (perkalian), / (pembagian), % (modulus)
• + (penjumlahan), + (penggabungan), - (pengurangan)
• =,>,<,>=, <=, <>, !=, !>, !< (perbandingan)
• ^ (bitwise Exclusive OR) & (bitwise And) , | (bitwise OR)
• NOT
• AND
• ALL, ANY, BETWEEN, IN, LIKE, OR, SOME
• = (penugasan)
MS-SQL Server Fundamental
Data Definition Language 9 - 1

BAB

Data Definition Language (DDL)


Tujuan :

Pada Bab Ini diharapkan mahasiswa :


• Mengenal Konsep DDL
• Memahami dan bisa menjalankan macam DDL
MS-SQL Server Fundamental
Data Definition Language 9 - 2

9.1. DATA DEFINITION LANGUAGE

DDL atau data definition language adalah bagian dari SQL yang digunakan untuk
mendefinisikan data dan objek database. Apabila perintah ini digunakan entri akan
dibuat kedalam kamus data dari MS SQL server database.

Perintah – perintahyang termasuk dalam DDL adalah :

Perintah Keterangan
Create Table Membuat Tabel
Create Index Membuat Indeks
Alter Table Mengubah atau menyisipkan kolom ke dalam tabel
Drop Table Menghapus Tabel
Drop Indeks Menghapus Indeks
Grant Memberikan izin akses kepada user

9.2. Create Table

Perintah Create table berfungsi membuat table baru dalam database. Dalam MS SQL
server mengizinkan hingga 2 milyar table dalam satu database dengan 1024 kolom
pada tiap table. Tidak ada batasan jumlah baris dalam table kecuali ruang fisik yang
tersedia. Ukuran maksimal byte perbaris adalah 8092. Tabel akan dibuat didalam
database yang sedang aktif kecuali anda menentukan nama database lain.
Berikut ini contoh dari perintah create table :
CREATE TABLE tabelpiksi
( nomer int,
nama char(30),
alamat char(50),
status char(30)
);
Command Query tersebut sebaiknya kita jalankan pada query analyzer,
sehingga hasil dari query SQL tersebut adalah terbentuknya table baru dengan nama
tabelpiksi dengan filed nomer (int), nama (char(30)), alamat (char(50)), status
(char(30)).

9.3. Create Index

Perintah Create Indeks berfungsi membuat indeks sebagai file pelengkap yang
berhubungan dengan table yang berfungsi mempercepat waktu akses ke dalam baris-
baris table. Indeks di bentuk oleh kunci-kunci brdasarkan kepada isi dari satu atau
lebih kolom pada table.
Berikut ini contoh dari perintah create index :

CREATE INDEX no_indeks


MS-SQL Server Fundamental
Data Definition Language 9 - 3

ON tabelpiksi (nomer);

Hasil dari query diatas adalah terbentuksnya indeks no-indeks pada tabelpiksi
berdasar field nomer.

9.4. Alter Table

Perintah Alter table digunakan sebagai pengubah atau menambahkan kolom atau field
dalam suatu table sehingga strukutur dari table berubah.

Berikut ini contoh dari perintah Alter table :

ALTER TABLE tabelpiksi ADD email CHAR(20);

Sehingga hasil dari query SQL tersebut adalah terbentuknya table tabelpiksi dengan
modifikasi baru dengan belpiksi dengan filed nomer (int), nama (char(30)), alamat
(char(50)), status (char(30)) serta email (char(20)).

ALTER TABLE tabelpiksi DROP COLUMN status;

Sehingga hasil dari query SQL tersebut adalah terbentuknya table tabelpiksi dengan
modifikasi baru dengan belpiksi dengan filed nomer (int), nama (char(30)), alamat
(char(50)) serta email (char(20)).

9.5. Drop Table

Perintah Drop Table digunakan untuk menghapus table yang telah ada.

Berikut ini contoh dari perintah Drop Table :


DROP TABLE tabelpiksi;

Hasil dari query diatas adalah dihapusnya table tabelpiksi dari database kita .

9.6. Drop Index

Perintah Drop Indeks digunakan untuk menghapus indeks pada table yang telah ada.

Berikut ini contoh dari perintah Drop Index :

DROP INDEX tabelpiksi.no_indeks;

Hasil dari query diatas adalah dihapusnya index no_indeks pada table tabelpiksi .

9.7. Grant
MS-SQL Server Fundamental
Data Definition Language 9 - 4

Perintah Grant digunakan untuk memberikan izin akses kepada user .

Berikut ini contoh dari perintah Grant :

GRANT INSERT, UPDATE, DELETE, SELECT


ON tabelpiksi
TO Agus,yusuf,johar,susetyo
GO

Hasil dari query diatas adalah user agus,yusuf,johar dan susetyo dapat akses
UPDATE, INSERT, DELETE, SELECT pada table tabelpiksi.
MS-SQL Server Fundamental
Data Manipulation Language 10 - 1

BAB

10

Data Manipulation Language (DML)

Tujuan :
Pada Bab ini mahasiswa akan mempelajari cara :
• Memahami konsep DML
• Membuah contoh dari DML

10.1 Data Manipulation Language

DML atau data manipulatin language adalah bagian dari SQL yang digunakan
untuk memulihkan atau memanipulasi data. Perintah-perintah ini bertanggung jawab
untuk melakukan query dan perubahan yang dilakukan di dalam table. Perintah –
perintah yang termasuk DML adalah sebagai berikut :
MS-SQL Server Fundamental
Data Manipulation Language 10 - 2

Perintah Keterangan
SELECT Perintah utama dari SQL digunakan untuk memilih data dari table
atau view
INSERT Menyisipkan baris dari tabel
DELETE Menghapus baris dari tabel
UPDATE Mengubah isi dari kolom(field) dari tabel
COMMIT Menuliskan perintah dalam disk
ROLLBACK Membatalkan perubahan yang dilakukan setelah perintah commit
yang terakhir

10.2. SELECT

Perintah select ini sangat dikenali. Walaupun anda belum menggunakaanya,


perintah ini adalah dasar dari semua bahasa SQL. Dalam pelaksanaanya agar lebih
mudah kita gunakan Query Analyzer dan kita gunakan database yang ada dalam MS –
SQL yaitu : NORTHWIND.

Contoh dari perintah select adalah :

select productid,productname,supplierid,categoryid from products where


supplierid = 1;

Hasil dari query tersebut adalah

productid productname supplierid categoryid


----------- ---------------------------------------- ----------- -----------
1 Chai 1 1
2 Chang 1 1
3 Aniseed Syrup 1 2

10.3. INSERT

Perintah insert digunakan untuk menyisipkan sebuah baris baru kedalam table
dan mengisi kolom-kolom yang memiliki nilai tertentu. Anda tidak perlu mengetikkan
isi ke dalam semua field.

Contoh dari perintah insert adalah :

Isi table region sebelum insert :


Select * from region;
RegionID RegionDescription
----------- --------------------------------------------------
MS-SQL Server Fundamental
Data Manipulation Language 10 - 3

1 Eastern
2 Western
3 Northern
4 Southern

Insert region values (5,’south asia’);

Isi table region setelah insert :


Select * from region;

RegionID RegionDescription
----------- --------------------------------------------------
1 Eastern
2 Western
3 Northern
4 Southern
5 South asia

10.4. DELETE

Perintah delete digunakan untuk menghapus baris dari table atau view yang
memenuhi criteria tertentu.

Contoh penggunaan perintah delete :

Isi table region sebelum delete :


Select * from region;

RegionID RegionDescription
----------- --------------------------------------------------
1 Eastern
2 Western
3 Northern
4 Southern
5 South asia

Delete from region where regionid = 5;

Isi table region sebelum insert :


Select * from region;
RegionID RegionDescription
----------- --------------------------------------------------
1 Eastern
2 Western
3 Northern
4 Southern
MS-SQL Server Fundamental
Data Manipulation Language 10 - 4

10.5. UPDATE

Perintah Update berfungsi untuk memperbarui atau mengupdate satu atau


lebih field dari satu baris atau sekelompok baris dalam table atau view. Isi dari
masing-masing field bisa diatur dengan klausa SET. Apabil ada lebih dari satu kolom
yang di-update, pasangan column=value harus dipisahkan dengan tanda koma.
Kolom-kolom identitas tidak bisa di-update.

Contoh Perintah dari Update

Isi table region sebelum Update :


Select * from region;

RegionID RegionDescription
----------- --------------------------------------------------
1 Eastern
2 Western
3 Northern
4 Southern
5 South asia

Update region set regiondescription =’indonesia’ where regionid = 5;

Isi table region setelah Update :


Select * from region;

RegionID RegionDescription
----------- --------------------------------------------------
1 Eastern
2 Western
3 Northern
4 Southern
5 Indonesia
MS-SQL Server Fundamental
Data Manipulation Language II 11 - 1

BAB

11

Data Manipulation Language (DML) II


Tujuan :

Pada Bab Ini diharapkan mahasiswa :


• Memahami modifikasi dari DML
• Memahami DML lanjut
MS-SQL Server Fundamental
Data Manipulation Language II 11 - 2

Pada bab sebelumnya kita pelajari dasar SQL pada bagian Data Manipulation
Language yaitu Select, Insert, Update dan Delete. Pada Bab ini akan kita pelajari
bahasa SQL yan lainnya serta modifikasinya dengan bahasa SQL sebelumnya.

11.1. Menampilkan Field-Field Tertentu

Untuk menampilkan field-field tertentu, dapat menuliskan daftar nama field tersebut .
Banyak tujuan dari menampilkan field-field tertentu ini, diantaranya untuk mencegah
kerumitan hasil tampilan, selain itu digunakan untuk mencegah user untuk melihat isi
field yang tidak menjadi haknya, perhatikan contoh berikut ini :
SELECT nip,nama from employee

Pada contoh diatas, ditampilkan dua field (nip dan nama) dari beberapa field-field
yang dimiliki tabel employee. Contoh lainnya adalah :
Tampilkan nama customer yang di awali dengan A
select * from t_customer where ct_nama like 'A%'
Tampilkan nama customer yang di awali dengan B
select * from t_customer where ct_nama like 'B%'
Tampilkan nama customer yang huruf awalnya 'E' atau 'F'
select * from t_customer where left(ct_nama,1) in ('E','F')
Tampilkan nama customer yang di awali dengan A,B atau C
select * from t_customer where ct_nama like '[A-C]%'
Tampilkan nama customer yang tidak di awali dengan A,B atau
select * from t_customer where ct_nama not like '[A-C]%'
atau
select * from t_customer where ct_nama like '[^A-C]%'

Tampilkan nama customer yang di awali dengan AB tepat 4 karakter. where line 'AB
dan underscore 2 kali maka akan tampil ABCD tetapi apabila ditambah uderscore 3
kali maka tidak akan tampil
select * from t_customer where ct_nama like 'AB__'
Tampil fax customer sama dengan null
select * from t_customer where ct_fax is null
Tampil fax customer yang tidak null
select * from t_customer where ct_fax is not null
Tampilkan barang dan urutkan (oder) berdasarkan nama dari A ke Z
select * from t_barang order by br_nama
Tampilkan barang dan urutkan (oder) berdasarkan nama dari Z ke A
select * from t_barang order by br_nama DESC

Tampilkan 3 record pertama dari table barang


Select top 3 * from t_barang
Tampilkan stock barang terbanyak
Select top 1 * from t_barang order by br_stock_skrg DESC
atau
Select max( br_stock_skrg ) from t_barang
atau dengan label JUMLAH STOCK
Select max( br_stock_skrg ) as 'JUMLAH STOCK' from t_barang
Tampilkan Kode Barang, Nama Barang dan Jumlah Stock
select br_kode,br_nama,br_stock_skrg from t_barang
MS-SQL Server Fundamental
Data Manipulation Language II 11 - 3

Tampilkan semua barang yang jumlah stocknya lebih besar dari 10


select * from t_barang where br_stock_skrg > 10
Tampilkan kode dan nama barang yang huruf awal nama lebih besar atau sama
dengan N
select br_kode,br_nama from t_barang where left(br_nama,1) >=
'N'
Tampilkan satu kali (distinct) kode supplier dalam tabel t_beli
select distinct(sp_kode)from t_beli
tampilkan dalam periode tertentu
select distinct(sp_kode)from t_beli where bl_tgl >=
'10/01/2001' and bl_tgl <= '10/31/2001'
atau dengan between
select distinct(sp_kode)from t_beli where bl_tgl between
'10/01/2001' and '10/31/2001'

11.2. Membuat Judul Field

Jika tidak dispesifikasikan lain, maka judul field yang ditampilkan digunakan adalah
nama field yang tersebut sesuai dengan pengaturan ketika membuat tabel. Untuk
mengubah nama field ini sebagai alias dengan menggunakan pernyataan as.
Pengubahan ini sesuai jika judul record tersebut tidak informatif bagi user, dan tidak
menginginkan untuk mengubah struktur yang telah ada, karena akan menyebabkan
pengubahan pada seluruh program yang telah menggunakan judul field tersebut.
Sebagai contoh perhatikan SQL berikut :
SELECT NIP as NOMOR_PEGAWAI, NAMA as NAMA_PEGAWAI from
employee

11.3. Melakukan Perhitungan

Bahasa SQL dapat digunakan untuk melakukan perhitungan. Sebagai contoh dapat
mengalikan sebuah field dengan field lainnya pada tabel yang sama. Hasil
perhitungan ini akan ditempatkan pada field baru.
SELECT qty, price, qty*price from PO

11.4. Melakukan Seleksi Informasi

Untuk mempermudah pencarian data dapat melakukan penyaringan informasi.


Sebagai contoh hanya untuk menampilkan semua employee yang memiliki gol IIIB
atau semua yang telah berkeluarga. Selain itu juga dapat dilakukan penyaringan
informasi hanya untuk employee yang memiliki nama berawalan A.
Pernyataan WHERE digunakan untuk tujuan ini setelah pernyataan ini diletakkan
kriteria penyaringan yang diinginkan. Sintaks pemakaian pernyataan ini adalah :
SELECT …
FROM…
WHERE…

Untuk pencarian data yang lebih rumit, yang merupakan kombinasi dari beberapa
field yang ada dapat menggunakan operator And dan Or.
Seperti nama file pada sistem operasi DOS bahasa SQL, juga dapat menggunakan
Wild Char untuk ini digunakan ‘%’ . Tujuan dari pemakain karakter ini adalah untuk
mengabaikan satu atau beberapa karakter dalam pencarian data. Pemakainan cara
MS-SQL Server Fundamental
Data Manipulation Language II 11 - 4

ini sangat tepat jika tidak mengikat padanan karakter yang ada secara tepat yang
akan dicari. Dengan menggunakan karakter-karakter ini adalah dapat mengabaikan
beberapa karakter yang tidak ingat. Untuk tujuan ini dapat menggunakan pernyataan
LIKE.
SELECT * from emloyee where nama like ‘A%’

11.5. Melakukan Sortir

Salah satu cara untuk mempermudah pencarian data adalah melakukan sortir
terhadap record-record yang terdapat pada tabel yang ditampilkan. Dapat melakukan
sortir berdasarkan abjad atau berdasarkan nilai baik secara menurun atau menaik
untuk menyortir ini digunakan pernyataan order by. Contoh berikut ini adalah untuk
menampilkan semua record dengan sortir berdasarkan field nama .
Select * from employee where nama is not null order by nama

11.6. Mengelompokkan Record

Seringkali informasi yang diinginkan dikelompok berdasarkan kolom-kolom terntu


seperti untuk mengetahui frekuensi transaksi supplier dan customer per bulan. Untuk
pengelompokan data dengan parameter GROUP BY dan HAVING sebagai
parameter kondisi pengelompokan data.
select kode,nama,count(qty) from PO group by kode
Contoh lainnya adalah :
Tampilkan Supplier dari Pembelian, error karena pada parameter group by tidak
diikutsertakan semua kolom yang ditampilkan
select sp_kode,bl_no from t_beli group by sp_kode
penulisan yang benar adalah
select sp_kode,bl_no from t_beli group by sp_kode,bl_no
Tampilkan berapa kali suatu Supplier malakukan transaksi
select sp_kode,count(sp_kode)as frekuensi from t_beli group by
sp_kode
Group by dan having (having = where)
akan error karena group by berlawanan degan having
select sp_kode,count(sp_kode) as frekuensi
from t_beli group by sp_kode where sp_kode = '00001'
seharusnya
select sp_kode,count(sp_kode) as frekuensi
from t_beli group by sp_kode having sp_kode = '00001'

11.7. Menggabungkan Query dengan pernyataan UNION

Union adalah operator untuk untuk menggabungkan hasil select dari dua buah table
atau lebih yang mempunyai isi kolom yang sama meskipun nama kolom berbeda ke
dalam satu hasil.
select * from t_supplier
union
select * from t_customer
Nama-nama kolom dari hasil union di atas adalah sesuai dengan nama kolom pada
table t_supplier. Tentunya akan memberikan informasi yang salah. Oleh karena itu
anda dapat menyamakan antara kolom supplier dengan kolom customer; kolom
MS-SQL Server Fundamental
Data Manipulation Language II 11 - 5

sp_kode dan ct_kode dinamakan kolom KODE , kolom sp_nama dan ct_nama
dinamakan kolom NAMA dan seterusnya seperti di bawah ini:
select sp_kode as KODE,
sp_nama as NAMA,
sp_alamat1 as ALAMAT,
sp_alamat2 as JALAN,
sp_alamat3 as KOTA,
sp_fax as FAX,
sp_email as EMAIL
from t_supplier
union
select
ct_kode,ct_nama,ct_alamat1,ct_alamat2,ct_alamat3,ct_fax,ct_emai
l from t_customer

11.8. Penggabungan Tabel melalui Operasi Join

Inner Joint

Adalah operator untuk menggabungkan dua buah table yang mempunyai nilai yang
sama melihat dari 2 sisi, sisi kiri sama dengan sisi kanan.
select t_barang.br_kode,br_nama,bd_jumlah,bd_harga,( bd_jumlah
* bd_harga ) as 'JML HARGA'
from t_barang
inner join t_beli_detil on t_barang.br_kode =
t_beli_detil.br_kode

Penulisan t_barang.br_kode dimaksudkan untuk menentukan kode barang pada


table mana yang akan ditampilkan karena terdapat dua buah kode barang yaitu pada
table t_barang dan t_beli_detil. Anda dapat menampilkan salah satu dari kode
barang ini.

Anda dapat menggunakan alias untuk memperpendek penulisan nama table


sehingga baris perintah di atas dapat ditulis seperti di bawah ini:
select a.br_kode,br_nama,bd_jumlah,bd_harga,(bd_jumlah *
bd_harga) as 'JML HARGA'
from t_barang a
inner join t_beli_detil b on a.br_kode = b.br_kode

Penggunaan kata inner joint dapat anda ganti dengan operator sama dengan (=)
sehingga baris perintah di atas dapat anda tulis seperti di bawah ini:
select a.br_kode,br_nama,bd_jumlah,bd_harga,( bd_jumlah *
bd_harga) as 'JML HARGA'
from t_barang a, t_beli_detil b where a.br_kode = b.br_kode

Tampilkan data pembelian dengan kode supplier 00002 (joint 3 tabel)


select a.sp_kode,b.br_kode,br_nama,bd_jumlah,bd_harga,(
bd_jumlah *bd_harga) as 'JML HARGA'
from t_beli a,t_beli_detil b,t_barang c
where a.bl_no = b.bl_no and b.br_kode = c.br_kode and
a.sp_kode = '00002'
Menampilkan jumlah transaksi yang dilakukan oleh supplier
MS-SQL Server Fundamental
Data Manipulation Language II 11 - 6

select a.sp_kode,sp_nama,sp_alamat1,count(a.sp_kode) as
Frekunsi
from t_beli a inner join t_supplier b on a.sp_kode = b.sp_kode
group by a.sp_kode,sp_nama,sp_alamat1

Outer Joint

Adalah operator untuk menggabungkan data dengan melihat satu sisi saja, kiri (left
joint) atau kanan (right joint) saja.
Left joint adalah operator untuk menampilkan semua data pada table pertama
(left) meskipun pada table kedua (right) tidak dipenuhi kondisinya. Sebagai contoh
ada tiga supplier dalam tabel t_supplier, pada transaksi pembeli hanya dua supplier
melakukan transaksi. Apabila anda melakukan left joint t_supplier dengan table t_beli
maka akan ditampilkan data semua supplier hanya saja satu supplier tidak ada
transaksi.
select a.sp_kode,bl_no
from t_supplier a left outer join t_beli b on a.sp_kode =
b.sp_kode
atau
select a.sp_kode,bl_no
from t_supplier a,t_beli b
where a.sp_kode *= b.sp_kode

Misalkan hasil dari perintah di atas adalah sebagai berikut:


sp_kode bl_no
------- -----
00001 Fak01
00001 Fak05
00002 Fak02
00002 Fak03
00002 Fak04
00003 NULL

(6 row(s) affected)

Apabila anda tidak melakukan tidak melakukan left joint seperti di bawah ini, maka
hasilnya adalah 5 row(s) affected, karena kode supplier 00003 tidak ada pada table
t_beli.
select a.sp_kode,bl_no
from t_supplier a,t_beli b
where a.sp_kode = b.sp_kode

sp_kode bl_no
------- -----
00001 Fak01
00001 Fak05
00002 Fak02
00002 Fak03
00002 Fak04

(5 row(s) affected)
MS-SQL Server Fundamental
Data Manipulation Language II 11 - 7

Right Joint

Right joint adalah operator untuk menampilkan semua data pada table kedua (right)
meskipun pada table pertama (left) tidak dipenuhi kondisinya. Right joint adalah
kebalikan dari Left Joint.

Full Joint

Adalah operator untuk menggabungkan dua buah table dan menampilkan semua
baris pada table pertama dan table kedua.
select a.sp_kode,bl_no
from t_supplier a full join t_beli b on a.sp_kode = b.sp_kode

Cross Joint

Adalah operator untuk mengalikan setiap baris table pertama dengan baris table
kedua. Sebagai contoh table t_supplier berisi 3 baris dan table t_beli berisi 5 baris
maka hasil dari cross joint akan menghasilkan 15 ( 3 x 5 ) baris.
select a.sp_kode,bl_no from t_supplier a cross join t_beli b

11.9. Sub Query

Sub Query adalah sebuah query terdapat dalam suatu query (nested query). Suatu
subquery harus di di awali dengan kurung buka dan di akhiri dengan kurung tutup
yang menandakan bahwa subquery adalah sama dengan satu kolom. Dalam satu
subquery hanya boleh mengembalikan 1 (satu) baris data, jika lebih dari 1 baris (row)
maka akan terjadi error.
Tampilkan supplier yang telah telah melakukan transaksi dengan operator in
select sp_kode,sp_nama
from t_supplier
where sp_kode in ( select sp_kode from t_beli )

Tampilkan supplier yang telah telah melakukan transaksi dengan operator exists
select sp_kode,sp_nama
from t_supplier
where exists ( select sp_kode from t_beli where
t_supplier.sp_kode = t_beli.sp_kode )

Untuk satu supplier


select sp_kode,sp_nama
from t_supplier
where sp_kode in ( select sp_kode from t_beli where
t_beli.sp_kode = '00001' )

Tampilkan no faktur, kode barang, jumlah, harga dan nama barang dan jumlah harga
select a.bl_no,a.br_kode,
(
MS-SQL Server Fundamental
Data Manipulation Language II 11 - 8

select t_barang.br_nama
from t_barang
where t_barang.br_kode = a.br_kode
),a.bd_jumlah,a.bd_harga, (a.bd_jumlah*a.bd_harga) as
'JML HARGA'
from t_beli_detil a
group by a.bl_no,a.br_kode,a.bd_jumlah,a.bd_harga

Tampilkan no faktur, kode barang, nama supplier 15 karakter pertama, jumlah, harga
dan nama barang dan jumlah harga
select a.bl_no,a.br_kode,
(
select left(t_supplier.sp_nama,15)
from t_supplier
where t_supplier.sp_kode in (select t_beli.sp_kode from
t_beli where t_beli.bl_no = a.bl_no )
),
(
select t_barang.br_nama
from t_barang
where t_barang.br_kode = a.br_kode
),
a.bd_jumlah,a.bd_harga,(a.bd_jumlah * a.bd_harga) as
'JML HARGA'
from t_beli_detil a
group by a.bl_no,a.br_kode,a.bd_jumlah,a.bd_harga
MS-SQL Server Fundamental
Fungsi-Fungsi dalam SQL 12 - 1

BAB

12

Fungsi-Fungsi Dalam SQL


Tujuan :
Pada Bab ini mahasiswa akan mempelajari cara :
• Mengetahui fungsi-fungsi dalm SQL.
• Menjalankan fungsi-fungsi dalam SQL dalam kombinasi query.
MS-SQL Server Fundamental
Fungsi-Fungsi dalam SQL 12 - 2

12.1. Macam Fungsi-Fungsi SQL

Dalam SQL terdapat beberapa macam fungsi yaitu fungsi agregat, fungsi waktu,
fungsi string , fungsi arimetika serta fungsi konversi. Pada bagian ini akan kita bahas
fungsi Agregat serta fungsi Aritmetika.

12.2. Fungsi Agregat

Fungsi Agregat adalah fungsi yang digunakan dalam suatu group. Yang termasuk
fungsi Agregat adalah sum, count, avg, min dan max.

Fungsi Sum

Fungsi sum digunakan untuk menjumlahkan sutu kolom tertentu yang telah
kita definisikan dengan select.
Contoh perintah sum
Select sum(unitprice) from products;

Fungsi Count

Fungsi count digunakan untuk mengetahui jumlah record / baris data tertentu
yang telah kita definisikan dalam perintah select.
Contoh perintah count
Select merk, count(merk) from penjual;an group by merk;

Fungsi AVG

Fungsi AVG digunakan untuk mencari rata-rata dari suatu kolom tertentu yang
telah didefinisikan dalam perintah select.
Contoh perintah AVG
Select nama, avg(komisi) from penjualan group by nama;

Fungsi Min dan Max

Fungsi min digunakan untuk mengetahui jumlah paling kecil dari record
sedang max untuk jumlah maksimal dari record / baris data tertentu yang telah
didefinisikan dalam select.
Contoh perintah min dan max
Select nama,min(komisi),max(komisi) from penjualan

12.3. Fungsi Aritmetika

Fungsi aritmetika digunakan bila kita memerlukan perhitungan matematika


dalam menampilkan data.
MS-SQL Server Fundamental
Fungsi-Fungsi dalam SQL 12 - 3

Fungsi ABS
Fungsi ini digunakan untuk mengetahui nilai absolute dari suatu angka yang
ada dalam kolom tertentu.
Contoh perintah ABS adalah
Select a, abs(a) from angka;

Fungsi Ceilling dan Floor

Fungsi Ceiling digunakan untuk pembulatan keatas dari angka-angka decimal.


Sedang fungsi floor digunakan untuk pembulatan kebawah angka-angka decimal.
Contoh perintah Ceilling dan Flor
Select b, Ceilling(b) , Flor(b) from angka;

Fungsi Cos, Sin, Tan

Fungsi Cos, Sin , Tan digunakan untuk menghitung nilai cosinus, sinus dan
tangent dari suatu angka dalam kolom tertentu.
Contoh perintah Cos,Sin,Tan adalah
Select a, sin(a) , cos (a), tan(a) from angka;

Fungsi Sign

Fungsi Sign digunakan untuk menghasilkan nilai -1 jika angka dalam suatu
kolom kurang dari 0 bila nilai dari kolom 0 dan bernilai 1 jika nilai dalam kolom lebih
besar dari 0.
Contoh perintah sign
Select a, sign(a), b, sing(b) from angka;

Fungsi Square

Fungsi Square digunakan untuk menghasilkan kuadrat dari nilai angka dalam
kolom tertentu.
Contoh perintah Square
Select a, square(a) from angka;
MS-SQL Server Fundamental
Fungsi-Fungsi dalam SQL Lanjutan 13 - 1

BAB

13

Fungsi – Fungsi SQL lanjutan


Tujuan :

Pada Bab Ini diharapkan mahasiswa :


• Mengetahui Fungsi-fungsi dalam SQL yang lainnya
• Memahami modofikasi fungsi-fungsi dalam SQL
MS-SQL Server Fundamental
Fungsi-Fungsi dalam SQL Lanjutan 13 - 2

Pada bab ini akan kita pelajari fungsi-fungsi setelah fungsi agregat dan
aritmetika yaitu fungsi string serta fungsi konversi.

13.1. Fungsi String

Fungsi Len

Fungsi Len digunakan untuk menghitung panjang dari suatu character atau
string yang ada pada kolom yang kita select.
Contoh perintah len
Select kata, len(kata) from datakata;

Fungsi Lower dan Upper

Fungsi lower digunakan untuk menjadika semua huruf dalam kolom yang kita
select menjadi huruf kecil sedang pada upper menjadi huruf besar.
Contoh perintah Lower dan Upper adalah :
Select kata, lower(kata) , upper(kata) from datakata;

Fungsi LTRIM dan RTRIM

Fungsi LTRIM dan RTRIM berfungsi menghilangkan blank karakter dari data
serta dapat pula menghilangkan karakter tertentu dari kata dalam kolom yang kita
pilih.
Contoh perintah LTRIM dan RTRIM
Select kata , LTRIM(kata, ‘A’) , RTRIM (kata, ‘K’) from datakata;

Fungsi Replace

Fungsi Replace digunakan untuk mengganti karakter tertentu yang ada dalam
suatu kolom .
Contoh perintah Replace
Select kata, replace(kata ,’a’,’i’) from datakata;

Fungsi Substr

Fungsi Substr digunakan untuk menampilkan sejumlah karakter tertentu yang


ada dalam kolom.
Contoh perintah substr :
Select kata, substr(kata,2,6) from datakata;

Fungsi Replicate

Fungsi Replicate digunakan untuk menduplikasi dari string yang ada dalam
kolom sebanyak yang kita inginkan.
Contoh perintah Replicate :
Select kata, replicate(kata,3) from datakata;
MS-SQL Server Fundamental
Fungsi-Fungsi dalam SQL Lanjutan 13 - 3

Fungsi Reverse

Fungsi reverse digunakan untuk membalikkan kata yang ada dalam kolom
yang kita inginkan
Contoh perintah reverse
Select kata, reverse(kata) from datakata;

13.2. Fungsi Konversi

Fungsi konversi digunakan untuk mengkonversi suatu tipe data tertentu dalam
table ke tipe data yang kita inginkan.

Fungsi Cast

Fungsi Cast digunakan untuk merubah suatu nilai decimal / integer menjadi
char/ variable string yang kita inginkan.
Contoh fungsi cast
SELECT SUBSTRING(title, 1, 30) AS Title, ytd_sales
FROM titles
WHERE CAST(ytd_sales AS char(20)) LIKE '3%'
GO

Fungsi Convert

Fungsi Convert digunakan untuk merubah char/ variable string menjadi nilai
decimal atau integer.
Contoh fungsi Convert
SELECT SUBSTRING(title, 1, 30) AS Title, ytd_sales
FROM titles
WHERE CONVERT(char(20), ytd_sales) LIKE '3%'
GO
MS-SQL Server Fundamental
Indeks 14 - 1

BAB

14
Indeks
Tujuan :
Pada Bab ini mahasiswa akan mempelajari cara :
• Mendesain suatu aplikasi
• Menambah control pada form dan menset properties
• Menambah kode pada control
• Menjalankan aplikasi
MS-SQL Server Fundamental
Indeks 14 - 2

14.1. Jenis-jenis indeks


SQL Server menggunakan dua jenis indeks: clustered dan nonclustered.
Clustered: indeks clustered mengorganisir baris-baris pada table ke dalam urutan
tertentu, seperti misalnya secara alfabetis atau angka.
Non-clustered: indeks non-clustered memiliki struktur yang terpisah dari table. Urutan
fisik dari table tidak mengikuti urutan dari file indeks. Indeks non-clustered serupa
dengan indeks yang ditemukan di akhir sebuah buku.

Indeks juga bisa dikonfigurasikan sebagi unique, yaitu tidak boleh ada lebih dari satu
baris yang memiliki isi yang sama. Jika indeks tidak dibuat dengan pilihan ini, field
kunci dari table bisa memiliki isi yang sama lebih dari satu. Sebagai contoh, kolom
Iname dari table Authors bisa memiliki lebih dari satu record dengan nama belakang
penulis sama.

14.2. Membuat Indeks

Indeks dibuat dalam kelompok file yang sama dari table. Sebagai pilihan, Anda bisa
membuat indeks non-clustered di dalam kelompok file yang berbeda untuk
mendapatkan peningkatan kinerja, karena penggunaan media akses fisik yang
berbeda.

14.3. Membuat Indeks pada Saat Pembuatan Tabel

Perbesar folder databases dan folder dari database di mana Anda ingin membuat
table/indeks.
Klik dengan tombol mouse kanan pada folder Tables, lalu pilih New Table.
Ketikkan nama untuk table ini pada kotak dialog Choose Name yang muncul.

gambar 14.1 Nama table baru

Isi field-field yang sesuai dengan kolom table.


Klik kanan pada kolom mana saja lalu pilih Properties.
Pada tab Indexes/Keys pada kotak dialog Properties, klik pada tombol New.
Pada field Column Name, polihlah kolom yang akan membentuk indeks.
Nama dari indeks bisa diubah. Ketikkan nama lain pada field Index Name.
Pada field Index File Group, Anda bisa memilih kelompok file yang berbeda untuk
membuat indeks.
MS-SQL Server Fundamental
Indeks 14 - 3

Jika Anda ingin membuat indeks dengan tipe unique, pilih field Create Unique lalu
pilih apakah field tersebut akan dibatasi oleh indeks atau oleh batasan tertentu. Jika
Anda ingin membuat indeks bertipe clustered, pilih kotak Create as CLUSTERED
lalu pilih salah satu dari pilihan-pilihannya.
Untuk menyelesaikan membuat indeks, tutuplah kotak dialog tersebut.

gambar 14.2 Membuat indeks pada properties tabel

14.4. Membuat Indeks pada Tabel yang Sudah Ada

Kini kita akan membuat indeks lain untuk table test1 yang baru saja kita buat.
Untuk membuat indeks baru pada table yang sudah ada, perbesarlah database lalu
perbesarlah folder Tables.
Klik kanan nama table, pilih Design Table.
Klik kanan kolom mana saja, pilih Properties. Kotak dialog Properties akan muncul.
Pada tab Indexes/Keys, klik pada New.
Pada field Column Name, pilih kolom yang akan menjadi bagian indeks.
MS-SQL Server Fundamental
Indeks 14 - 4

gambar 14.3 Indeks Tabel

14.5. Membuat Indeks dengan Wizard

Untuk membuat indeks dengan wizard, klik kanan folder database lalu pilih Tools.
Perbesar item database, lalu klik ganda pada Create Indez Wizard. Ikuti langkah-
langkah pada wizard, seperti dijelaskan di bawah ini.

Pada layar pertama, pilih database dan table di mana indeks akan dibuat.Klik Next.
Pada langkah berikutnya, wizard menampilkan indeks-indeks yang sudah ada. Klik
Next. Pada kotak dialog berikutnya, pilih kolom yang akan membuat indeks.

Pada langkah ini, Anda bisa menentukan nilai tetap untuk pilihan Fill Factor, atau
mengubah tipe indeks menjadi unique. Anda juga bisa menentukan pembuatan indeks
clustered. Klik Next.

Pada langkah terakhir, Anda bisa mengubah nama dari indeks dan memeriksa kolom-
kolom yang menjadi bagian dari indeks. Jika ada lebih dari satu kolom, Anda bisa
mengubah urutan kolom dengan menggunakan tombol Move Up dan Move Down.
Untuk membuat indeks, klik tombol Finish.
MS-SQL Server Fundamental
Indeks 14 - 5

14.6. Merekonstruksi Indeks

Indeks secara fisik ditulis di dalam database pada sebuah halaman indeks. Halaman-
halaman indeks dibuat berurutan melalui pointer-pointer yang menunjukkan letak
pada halaman berikutnya. Apabila field kunci dan indeks berubah, halaman indeks
menjadi terfragmentasi. Kami menyarankan aagar Anda merekonstruksi indeks
dengan menggunakan perintah CREATE INDEX dan WITH DROP_EXISTING yang
menggunakan urutan data yang sudah ada untuk mempercepat prosesnya.

14.7. Melihat Indeks


Untuk melihat indeks yang sudah ada di dalam table, gunakan prosedur sp_helpindex
<table_name>.

14.8. Menghapus Indeks


Setelah membuat indeks, Anda bisa menghapusnya jika Anda tidak menggunakannya
lagi. Indeks sementara atau yang tidak diperlukan bisa dihapus dengan langkah-
langkah berikut ini:
Perbesar database dan folder tables.
Pada panel detail, klik tombol mouse kanan pada tombol di mana Anda ingin
menghapus indeks, lalu pilih Design Table pada menu shortcut yang muncul.
Klik kanan kolom mana saja, lalu pilih Properties. Kotak dialog Properties akan
muncul.
Pada tab Indexes/Keys, pilih indeks yang ingin dihapus pada kotak selected Index,
lalu tekan tombol delete.
MS-SQL Server Fundamental
Indeks 14 - 6

gambar 14.4 Menghapus Indeks tabel


MS-SQL Server Fundamental
View 15 - 1

BAB

15
View

Tujuan :
Pada Bab ini mahasiswa akan mempelajari cara :
• Membuat View
• Menambah table pada View
• Mengerti View
MS-SQL Server Fundamental
View

View adalah table virtual yang isinya didefinisikan oleh query database. View
bukanlah sebuah table fisik, tetapi sekumpulan instruksi yang menghasilkan
sekumpulan data.

Penggunaan view sangat bermanfaat apabila Anda ingin memfokuskan diri pada
informasi tertentu yang terdapat di dalam database. Bayangkan sebuah database
perusahaan yang diakses oleh beberapa user pada departemen yang berbeda.
Informasi yang ditangani oleh timpenjualan sudah pasti berbeda ari yang digunakan
oleh departemen akunting dan pemasaran. Menggunakan view dapat menyediakan
informasi yang dibutuhkan saja, baik itu berasal dari satu atau lebih table di dalam
database.

15.1. Membuat View

View dapat dibuat dengan perintah transact-SQL yaitu CREATE View, atau dengan
menggunakan program penyunting view yaitu Enterprise Manager.
Sewaktu membuat view, ingatlah selalu pertimbangan berikut ini:
• View hanya bisa dibuat di dalam database yang sedang digunakan
• Anda tidak bisa menghubungkan trigger, aturan, dan default ke dalam view
• View bisa menggunakan data dari view lain
• View bisa dirujuk oleh prosedur terseimpan
• ANda tidak bisa membuat indeks uintuk view
• Jika ada lebih dari satu kolom view yang memiliki nama yang sama, kolom
tersebut harus diberikan alias dan diawali oleh nama dari table tempat kolom
tersebut berasal.
• Kolom-kolom di dalam view sama dengan kolom-kolom pada table asal.
MS-SQL Server Fundamental
View

gambar 15.1 membuat view

15.2. Menyimpan View

Untuk menyimpan view, klik Save, ketikkan nama view tersebut, klik OK. View yang
baru akan ditampilkan dengan view-view lain pada panel detail. Setelah view dibuat,
view tersebut bisa diperiksa, disunting, atau dihapus pada menu shortcut, yang bisa
diaktifkan dengan mengklik kanan nama view.

15.3. Memeriksa View

Pada sisi user, view hanyalah sebuah table yang mirip dengan table yang lain. Oleh
karena itu, untuk melihat isinya Anda hanya perlu memilih Open SQL Server View,
lalu pilih Return All Rows untuk melihat semua baris, atau pilih Return Top dan
tentukan berapa banyak baris yang ingin dilihat.

15.4. Menyunting View

Perintah Design SQL Server View berfungsi untuk membuka penyunting view. Di
sana Anda bisa membuat semua perubahan yang dibutuhkan. Di antara perubahan ini
secara permanent dapat menghapus kolom dan mengubah urutan tampilan dari kolom.
MS-SQL Server Fundamental
View
15.5. Mengubah Nama View

Anda hanya bisa mengubah nama view yang dibuat oleh user. Anda bisa mengubah
nama View dengan menggunakan menu shortcut yang muncul setelah Anda mengklik
kanan nama view, atau dengan menekan tombol F2 setelah view dipilih pada panel
detail.

15.6. Menghapus View

Apabila view dihapus, table asalnya tidak akan ikut terpengaruh. Hanya definisinya
saja yang dihapus. Untuk menghapus sebuah view, klik kanan nama view yang ingin
dihapus lalu tekan Del setelah view dipilih pada panel detail.
MS-SQL Server Fundamental
Prosedur 16 - 1

BAB

16

Prosedur
Tujuan :
Pada Bab ini mahasiswa akan mempelajari cara :
• Mendesain dan membuat prosedur
• Menjalankan prosedur
MS-SQL Server Fundamental
Prosedur 16 - 2

16.1. STORE PROCEDURE

Kumpulan (batch) perintah yang disimpan ke dalam database dengan suatu nama
disebut stored procedure (sp). Hampir semua kode Transact-SQL yang ditulis
sebagai batch untuk membuat stored procedure.
Contoh:
create proc sp_pengulangan
as
declare @nomor int
set @nomor = 0
while ( @nomor < 5 )
begin
set @nomor = @nomor + 1
print @nomor
end

menjalankan stored procedure


exec sp_pengulangan
atau
sp_pengulangan

stored procedure untuk menampilkan barang


create proc sp_barang
as
select * from t_barang

jalankan stored procedure sp_barang


sp_barang

stored procedure untuk carid kode barang


create proc sp_cariBarang
@kode varchar(5)
as
select * from t_barang
where br_kode = @kode
jalankan sp_cariBarang
sp_cariBarang '00001'

Mengubah store procedure dengan alter lalu lakukan perubahan misalnya kesalahan
mengetikkan nama field
alter proc sp_cariBarang
@kode varchar(5)
as
select * from t_barang
where br_kode = @kode

Memeriksa ada atau tidaknya data yang dicari dengan exist


alter proc sp_cariBarang
@kode varchar(5)
as
if exists (select br_kode from t_barang where br_kode = @kode )
menghasilkan nilai true ( >= 1 )
MS-SQL Server Fundamental
Prosedur 16 - 3

select * from t_barang where br_kode = @kode


else
print 'Barang yang anda cari tidak ada...!'

Cari yang tidak ada, maka akan ditampilkan pesan


sp_cariBarang '00000'
Store Procedure dengan lebih dari 1 parameter untuk input barangparameter antara
parameter dipisahkan dengan koma
create proc sp_inputBarang
@kode char(5),@Nama Varchar(30) ,@satuan char(15),
@harga numeric,@minstock int
as
insert into t_barang
(br_kode,br_nama,br_satuan,br_harga,br_min_stock)
values (@kode,@Nama,@satuan,@harga,@minstock)

Jalan sp_inputBarang
sp_inputBarang '00004','Keyboard','Buah',50000,10

case cara 2 (search case) untuk lebih dari 1 nilai


create proc sp_infoBarang
as
select br_kode,br_nama,
case br_stock_skrg
when > 10 then 'Masih ada'
else 'Hampir habis'
end
from t_barang

sp di atas error seharusnya seeprti di bawah ini


create proc sp_infoBarang
as
select br_kode,br_nama,
case
when br_stock_skrg > 10.00 then 'Masih ada'
when br_stock_skrg is null then 'NULL '
else 'Hampir habis'
end
from t_barang

Jalankan sp_infoBarang
sp_infoBarang

16.2. Pesan Error

Setelah sebuah database selesai dibuat, maka untuk melakukan aktivitas pada
database terebut bukan lagi pada lingkungan Query Analyzer akan tetapi pada
aplikasi yang dibuat dengan bahasa pemrogran seperti PowerBuilder, Delphi, Visual
Basic dan lain sebagainya.
Pada contoh-contoh yang telah dibahas, anda telah menampilkan pesan error
dengan perintah print. Perintah ini hanya akan menampilkan pesan pada lingkungan
Query Analyzer dan tidak akan sampai ke aplikasi yang menggunakan database
tersebut. MS SQL Server menyediakan function RAISERROR() untuk mengirimkan
pesan ke aplikasi.
MS-SQL Server Fundamental
Prosedur 16 - 4

MS SQL Server mengelompokkan pesan error menajdi dua level, yaitu level pertama
adalah pesan error yang digunakan oleh user bernilai 1 s/d 18 (yang umum
digunakan adalah 16) sedangkan level kedua adalah pesan error yang digunakan
oleh system bernilai 19 s/d 25. Apabila level kedua bernilai antara 20 s/d 25, maka
error yang terjadi adalah error fatal dan koneksi database harus diputus. Pada saat
menyampaikan pesan error ke aplikasi, juga diikuti status dan biasanya bernilai 1.
Contoh:
alter proc sp_cariBarang
@kode varchar(5)
as
if exists (select br_kode from t_barang where br_kode = @kode )
select * from t_barang where br_kode = @kode
else
raiserror( 'Barang yang anda cari tidak ada...!',16,1)

Anda mungkin juga menyukai