JARINGAN KOMPUTER
DAN
SISTEM INFORMASI
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
Daftar Isi
Kata Pengantar ...............................................................................................................ii
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
BAB
Tujuan :
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).
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
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).
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
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
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
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
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.
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
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.
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
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.
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
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.
pekerjaan, karena semua aktivitas yang anda lakukan dapat disimpan ke file dan
dapat dijadikan sebagai backup pekerjaan.
Saat Query Analyzer dijalankan akan muncul tampilan
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.
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
BAB
Tujuan :
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.
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:
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:
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.
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
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.
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.
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.
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
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.
BAB
Tabel
Tujuan :
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.
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
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.
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
Tekan next. Pada Layar berikutnya akan wizard akan menampilkan table-tabel
yang akan ditambahkan lalu tekan finish. Setelah menekan next maka tampil sebagai
berikut
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.
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.
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 :
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
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.
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
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 :
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.
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 :
Kita dapat mengetikan query kita pada Query panel , misak kita ketikkan select * from orders;
maka hasil query analyzer adalah sebagai berikut :
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.
Maka hasil dari qury tersebut dalam Query Execution Plan adalah :
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.
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.
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
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.
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
BAB
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.
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
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
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
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 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
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)).
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 :
ON tabelpiksi (nomer);
Hasil dari query diatas adalah terbentuksnya indeks no-indeks pada tabelpiksi
berdasar field nomer.
Perintah Alter table digunakan sebagai pengubah atau menambahkan kolom atau field
dalam suatu table sehingga strukutur dari table berubah.
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)).
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)).
Perintah Drop Table digunakan untuk menghapus table yang telah ada.
Hasil dari query diatas adalah dihapusnya table tabelpiksi dari database kita .
Perintah Drop Indeks digunakan untuk menghapus indeks pada table yang telah ada.
Hasil dari query diatas adalah dihapusnya index no_indeks pada table tabelpiksi .
9.7. Grant
MS-SQL Server Fundamental
Data Definition Language 9 - 4
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
Tujuan :
Pada Bab ini mahasiswa akan mempelajari cara :
• Memahami konsep DML
• Membuah contoh dari DML
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
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.
1 Eastern
2 Western
3 Northern
4 Southern
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.
RegionID RegionDescription
----------- --------------------------------------------------
1 Eastern
2 Western
3 Northern
4 Southern
5 South asia
10.5. UPDATE
RegionID RegionDescription
----------- --------------------------------------------------
1 Eastern
2 Western
3 Northern
4 Southern
5 South asia
RegionID RegionDescription
----------- --------------------------------------------------
1 Eastern
2 Western
3 Northern
4 Southern
5 Indonesia
MS-SQL Server Fundamental
Data Manipulation Language II 11 - 1
BAB
11
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.
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
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
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
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%’
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
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
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
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
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
(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
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 )
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
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.
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 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
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 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
Pada bab ini akan kita pelajari fungsi-fungsi setelah fungsi agregat dan
aritmetika yaitu fungsi string serta fungsi konversi.
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 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 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 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;
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
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.
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.
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.
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.
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
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
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.
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.
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
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.
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.
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.
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
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
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
Jalan sp_inputBarang
sp_inputBarang '00004','Keyboard','Buah',50000,10
Jalankan sp_infoBarang
sp_infoBarang
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)