pendidikan jaringan komputer dan sistem · pdf filen-tier architecture ... 8.2. macam query...

95
©Copyright PIKSI-ITS 2002 PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM INFORMASI Ruang C.203 Jurusan Teknik Elektro ITS Keputih Sukolilo - Surabaya Telp: (031)5929871 Fax: (031)5929870 : [email protected]

Upload: lekien

Post on 01-Feb-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

©Copyright PIKSI-ITS 2002

PENDIDIKAN JARINGAN KOMPUTER

DAN SISTEM INFORMASI

Ruang C.203 Jurusan Teknik Elektro ITS Keputih Sukolilo - Surabaya Telp: (031)5929871 Fax: (031)5929870

: [email protected]

Page 2: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 3: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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 : [email protected]. Ketua PIKSI-ITS I Ketut Edi Purnama, MT

Page 4: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 5: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 6: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 7: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

MS – SQL Server Fundamental vi

Page 8: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

MS-SQL Server Fundamental Pengenalan Client-Server Database Computing 1 - 1

Pengenalan Client /Server Database Computing

Tujuan : Pada Bab Ini diharapkan mahasiswa : • Mengenal Konsep Client / Server Database • Memahami lingkungan Client / Server Database Computing

BAB

1

Page 9: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 10: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 11: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 12: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 13: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

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

BAB

2

Page 14: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 15: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

diagram Secara grafis menampilkan objek database sehingga dapat 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 Procedure

Program-program Transact-SQL yang disimpan di dalam server 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 Indexes

Indeks khusus yang membuat pencarian menjadi lebih mudah di 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.

Page 16: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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)

Business & DataService

Database

User Service

Client

Server

3-Tier Architecture

Data Service

Database

UserService

Client Server(s)

BusinessService

Page 17: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

N-Tier Architecture

Data Service

Database

UserService

Tersebar disejumlahServer(s)

BusinessService

UserService

Client

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

Page 18: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 19: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 20: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

MS-SQL Server Fundamental SQL – Server Login dan Security 3 - 1

SQL Server Login dan User Security

Tujuan : Pada Bab Ini diharapkan mahasiswa : • Mengenal Konsep SQL Server Login • Memahami Konsep User Security

BAB

3

Page 21: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 22: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 23: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 24: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 25: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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 TRANSACTION

Mam-backup transaction log

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

Page 26: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 27: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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 Database Role

Description

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.

Page 28: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

MS-SQL Server Fundamental SQL – Server Login dan Security 3 - 9

Predefine Database Role

Description

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.

Page 29: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

MS-SQL Server Fundamental Database 4 - 1

DataBase

Tujuan : Pada Bab ini mahasiswa akan mempelajari cara : • Membuat Database • Membuat Properties dari Database

BAB

4

Page 30: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 31: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 32: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 33: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 34: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

MS-SQL Server Fundamental Database 4 - 6

Gambar 4.6. Penghapusan Database

Page 35: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

MS-SQL Server Fundamental Tabel 5 - 1

Tabel

Tujuan : Pada Bab Ini diharapkan mahasiswa : • Membuat Tabel • Membuat Properties dari Tabel

BAB

5

Page 36: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 37: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 38: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 39: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 40: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

MS-SQL Server Fundamental Diagram Database 6 - 1

Diagram Database

Tujuan : Pada Bab ini mahasiswa akan mempelajari cara : • Mendesain suatu Diagram Database • Menambah Tabel pada diagram database

BAB

6

Page 41: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 42: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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:

Page 43: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 44: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 45: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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 :

Page 46: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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 :

Page 47: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 48: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 49: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

MS-SQL Server Fundamental Query Analyzer 7 - 1

Query Analyzer

Tujuan : Pada Bab Ini diharapkan mahasiswa : • Mengenal Tools Query Analyzer • Memahami lingkungan Kerja Query Analyzer

BAB

7

Page 50: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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 :

Page 51: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 52: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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 .

Page 53: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 54: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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 :

Page 55: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

MS-SQL Server Fundamental Query Analyzer 7 - 7

Gambar 7.6 Help Online Query Analyzer

Page 56: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Dasar – Dasar SQL

Tujuan : Pada Bab ini mahasiswa akan mempelajari cara : • Mengetahui Dasar SQL • Mengerti bahasa SQL

BAB

8

Page 57: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 58: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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 numeric

Angka dengan akurasi tetap antara -10 38-1 sampai 10 38-1 .

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

Page 59: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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)

Page 60: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

MS-SQL Server Fundamental Data Definition Language 9 - 1

Data Definition Language (DDL)

Tujuan : Pada Bab Ini diharapkan mahasiswa : • Mengenal Konsep DDL • Memahami dan bisa menjalankan macam DDL

BAB

9

Page 61: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 62: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 63: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 64: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

MS-SQL Server Fundamental Data Manipulation Language 10 - 1

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 :

BAB

10

Page 65: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 66: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 67: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 68: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

MS-SQL Server Fundamental Data Manipulation Language II 11 - 1

Data Manipulation Language (DML) II

Tujuan : Pada Bab Ini diharapkan mahasiswa : • Memahami modifikasi dari DML • Memahami DML lanjut

BAB

11

Page 69: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 70: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 71: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 72: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 73: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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)

Page 74: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 75: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 76: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

MS-SQL Server Fundamental Fungsi-Fungsi dalam SQL 12 - 1

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.

BAB

12

Page 77: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 78: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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;

Page 79: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

MS-SQL Server Fundamental Fungsi-Fungsi dalam SQL Lanjutan 13 - 1

Fungsi – Fungsi SQL lanjutan

Tujuan : Pada Bab Ini diharapkan mahasiswa : • Mengetahui Fungsi-fungsi dalam SQL yang lainnya • Memahami modofikasi fungsi-fungsi dalam SQL

BAB

13

Page 80: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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;

Page 81: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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

Page 82: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

MS-SQL Server Fundamental Indeks 14 - 1

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

BAB

14

Page 83: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 84: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 85: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 86: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 87: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

MS-SQL Server Fundamental Indeks 14 - 6

gambar 14.4 Menghapus Indeks tabel

Page 88: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

MS-SQL Server Fundamental View 15 - 1

View

Tujuan : Pada Bab ini mahasiswa akan mempelajari cara : • Membuat View • Menambah table pada View • Mengerti View

BAB

15

Page 89: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 90: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 91: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 92: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

MS-SQL Server Fundamental Prosedur 16 - 1

Prosedur

Tujuan : Pada Bab ini mahasiswa akan mempelajari cara : • Mendesain dan membuat prosedur • Menjalankan prosedur

BAB

16

Page 93: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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 )

Page 94: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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.

Page 95: PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM  · PDF fileN-Tier Architecture ... 8.2. Macam Query SQL ... Kelemahan mysql dibanding yang lain adalah mysql DBMS bukan RDBMS. POSTGRESQL

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)