1
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
BAB 1
NORMALISASI DATA
Aturan-aturan normalisasi dinyatakan dalam istilah bentuk normal. Bentuk Normal adalah
suatu aturan yang dikenakan pada relasi-relasi dalam basis data dan harus dipenuhi oleh relasi
tersebut pada level-level normalisasi. Suatu relasi dikatakan dalam bentuk normal tertentu jika
memenuhi kondisi-kondisi tertentu.
Bentuk normal pertama (1NF) s/d normal ketiga (3NF), merupakan bentuk normal yang
umum dipakai. Artinya adalah pada kebanyakan relasi, bila ketiga bentuk normal tersebut
telah dipenuhi, maka persoalan anomali tidak akan muncul lagi didalam kita melakukan
perancangan database.
dapat diubah ke dalam bentuk normal pertama dengan cara membuat setiap baris
berisi kolom dengan jumlah yang sama dan setiap kolom hanya mengandung satu
nilai.
b. Contoh Normal Pertama (1NF)
Berikut ini adalah contoh data pada tabel pegawai yang telah memenuhi bentuk
normal pertama
NIP Nama Jabatan Keahlian Lama
107 Revan Analis Senior Access 6
107 Revan Analis Senior Oracle 1
109 Daffa Analis Yunior Access 2
109 Daffa Analis Yunior Clipper 2
112 Woko Pogrammer Access 1
112 Woko Pogrammer Clipper 1
112 Woko Pogrammer Visual Basic 1
Tabel 1.2. Relasi pegawai memenuhi 1NF
Berikut ini adalah contoh data pada tabel mahasiswa yang belum memenuhi
bentuk normal pertama.
Nim Nama Dosen Wali Kode_mk1 Kode_mk2 Kode_mk3
9820001 Nia Dela Didik 1234 1435
9810004 Andik P Primadina 1234 1435 1245
9810006 Rini Tukino 1324 1545 1245
9820008 Basuki Djuwadi 1324 1545
Tabel 1.3. Relasi Mahasiswa belum memenuhi 1NF
Tabel mahasiswa yang mempunyai NIM, nama dan Dosen Wali mengikuti 3
mata kuliah, tabel tersebut belum memenuhi normal pertama karena ada perulangan
Kode_mk 3 kali padahal hal tersebut bisa dijadikan 1 atribut saja. Jadi bentuk normal
pertama dari data di atas adalah :
Berikut ini adalah contoh data pada tabel matakuliah yang telah memenuhi bentuk
normal pertama.
Kode_mk Matakuliah Sks Pengasuh
1234 Sistem Basis Data 2 Didik Setiyadi,M.Kom
1435 Alghoritma 4 Tukino,S,Kom,MMSi
1545 Jaringan Komputer 2 Ir. Nafril Natsir
1245 Bahasa Inggris I 2 Dra. Siti Azizah
3
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Tabel matakuliah tersebut merupakan bentuk 1 NF, karena tidak ada atribut
yang bernilai ganda, dan tiap atribut satu pengertian yang bernilai tunggal.
NIM Kode_mk
9820001 1234
9820001 1435
9810004 1234
9810004 1435
9810004 1245
9810006 1324
9810006 1545
9810006 1245
9810006 1324
9820008 1324
9820008 1545
Tabel 1.7. Relasi Ambil Kuliah memenuhi 2 NF
Atribut No Pesanan dan No Urut merupakan kunci primer, baik kode item dan nama
item mempunyai dependensi fungsional terhadap kunci primer tersebut.
Pada tabel di atas, setiap kode item sama, maka nilai nama item juga sama,
sehingga menunjukkan adanya dependensi dua atribut tersebut, tapi manakah yang
menentukan, apakah kode item bergantung pada nama item, atau sebaliknya? Jadi
nama item memiliki dependensi fungsional terhadap Kode item.
Pada relasi ini menunjukkan bahwa nama item tidak memiliki dependensi secara
langsung terhadap kunci primer (No pesanan dan No Urut). Dengan kata lain Nama
Item memiliki dependensi transitif terhadap kunci primer.
Sehingga untuk memenuhi bentuk 3 NF, maka relasi di atas didekomposisi menjadi
dua buah relasi sebagai berikut :
5
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
BCNF merupakan bentuk normal sebagai perbaikan terhadap 3 NF. Suatu relasi
yang memenuhi BCNF selalu memenuhi 3 NF, tetapi tidak untuk sebaliknya. Suatu
relasi yang memenuhi 3 NF belum tentu memenuhi BCNF. Karena bentuk 3 NF
masih memungkinkan terjadi anomali.
Pada contoh berikut ini terdapat tabel SEMINAR, kunci primer adalah no_siswa +
seminar, dengan pengertian bahwa :
Siswa dapat mengambil satu atau dua seminar.
Setiap seminar membutuhkan 2 instruktur.
Setiap siswa dibimbing oleh salah satu dari 2 instruktur seminar.
Setiap instruktur boleh hanya mengambil satu seminar saja.
Berikut ini adalah contoh tabel relasi yang menunjukkan terjjadinya dependensi
transitif pada tabel relasi kuliah berikut ini :
6
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
PT REVANDA JAYA
Jl. Bekasi Timur No. 2
Bekasi Timur
PT REVANDA JAYA
Jl. Bekasi Timur No. 2
Bekasi Timur
Sehubungan dengan dokumen dasar tersebut, tahapan yang harus dilakukan untuk melakukan
7
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
1. Bentuk Unnormalisasi
Langkah pertama dalam melakukan normalisasi data adalah dengan membentuk contoh data tersebut
didtas dengan membentuk unnormalisasi data, dengan cara mencantumkan semua atribut data yang ada
apa adanya seperti terlihat berikut ini :
No Kode Nama Kode Nama Barang Tanggal Jatuh Qty Harga Jumlah Total
Fac Supp Supp Brg Tempo
779 S02 Hitachi R02 Rice Chocker C3 02/02/01 09/03/01 10 150000 1500000 1500000
998 G01 Gobel A01 AC Split PK 07/02/01 09/03.01 10 135000 13500000 33500000
Nustra A02 AC Split 1 PK 10 2000000 20000000
Tabel 1.15. Relasi faktur unnormalisasi
Pada tabel diatas adalah dengan menuliskan semua data yang ada yang akan direkam,
data yang double tidak perlu ditulis. Terlihat baris / record yang tidak lengkap. Sulit dibayangkan
bagaimana bentuk baris yang harus dibentuk untuk merekam data itu.
Pada normal pertama tersebut masih terjadi banyak kelemahan, terutama pada proses ANOMALI
insert, update dan delete berikut ini :
8
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
dekomposisi.
Dengan melihat normal pertama, kita dapat mendekomposisi menjadi tiga tabel berserta
kunci primer yang ada yaitu : Relasi Supplier (Kode Supplier) , Barang (Kode Barang), dan
Faktur (No Faktur + Kode_Barang). Dengan melihat ketergantungan fungsional atribut-atribut lain
terhadap atribut kunci, maka didapatkan 3 (tiga) relasi sebagai berikut:
Relasi Faktur
No_faktur Kode_barang Tanggal Jatuh_tempo Quantitas Kode_supplier
779 R01 02/02/2001 09/03/2001 10 S02
998 A01 07/02/2001 09/03/2001 10 G01
998 A02 07/02/2001 09/03/2001 10 G01
Dengan pemecahan relasi di atas, maka untuk pengujian bentuk normal kesatu (1 NF)
yaitu insert, update, dan delete akan terjawab. Kode dan nama supplier baru dapat masuk
kapanpun tanpa adanya transaksi pada relasi faktur. Demikian pula untuk proses update dan
delete untuk relasi Supplier dan Barang.
Pada bentuk normal kedua tersebut masih terjadi permasalahan yaitu pada relasi Faktur,
yaitu:
1). Atribut Quantitas padarelasi Faktur, tidak tergantung pada kunci utama, atribut tersebut
bergantung fungsi pada No_faktur + Kode_barang, hal ini dinamakan ketergatungan
transitif dan haruslah dipilah menjadi dua relasi. Sedangkan tanggal, jatuh_tempo dan
kode_supplier bergantung fungsional pada No_faktur
No_faktur tanggal,jatuh_tempo,kode_supplier
No_faktur, kode_barang quantitas
2). Masih terdapat pengulangan, yaitu setiap kali satu faktur yang terdiri dari 5 macam
barang maka 5 kali juga dituliskan no_faktur, tanggal, dan jatuh_tempo. Hal ini harus
dipisahkan bila terjadi penggandaan tulisan berulang-ulang.
9
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Relasi Faktur
No_faktur Kode_supplier Tanggal Jatuh _tempo
779 S02 02/02/2001 09/03/2001
998 G01 07/02/2001 09/03/2001
Relasi Transaksi_Barang
No_faktur Kode_barang Quantitas
779 R01 10
998 A01 10
998 A02 10
Faktur_Pembelian 1 NF
Faktur 2 NF
10
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
* Kode_supplier * No_faktur
1
nama_supplier tanggal
jatuh_tempo
** kode_supplier
* Kode_barang Terdiri
Barang nama_barang
harga
1 M
M Transaksi
Gunakan
Barang
* No_faktur **
Keterangan : * (Primary key), ** (foreign key) * Kode_barang **
Quantitas
Gambar 1.5. ERD sistem pembelian barang
Pengertian Hubungan (Relasi) antar relasi pada gambar ERD (entity relationship diagram)
pada gambar di atas adalah sebagai berikut:
1). Supplier ke Faktur relasinya adalah one to many, artinya adalah satu supplier mempunyai
satu atau banyak faktur. Faktur punya relasi terhadap supplier.
2). Faktur ke Transaksi_Barang relasinya adalah one to many, artinya adalah satu faktur
mempunyai satu atau beberapa transaksi barang (satu faktur terdiri dari satu atau lebih
transaksi barang).
3). Barang ke Transaksi_Barang relasinya adalah one to many, artinya adalah satu barang bisa
terjadi satu atau beberapa kali transaksi pembelian barang.
Implementasi ERD (entity relationship diagram) pada contoh diatas, bisa dituangkan kedalam
database MS SQL Server 2000, seperti terlihat pada gambar beikut ini :
Gambar 1.6. ERD (Diagram) sistem pembelian - Sql Server 2000 View Table by Column Names
11
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Gambar 1.7. ERD (Diagram) sistem pembelian - Sql Server 2000 View Table by Custom
Latihan 1.1.
Dari Contoh dokumen dasar Bon Pembelian pada Bengkel Motor Honda Jaya Raya
AHASS 06488 Jatimulya Bekasi Timur berikut ini :
Honda Jaya Raya
AHASS 06488 No Faktur : 05103214
Jatimulya - Bekasi Timur Tanggal : 25/10/05 16:00
Telp. 021-82432162
BON PEMBELIAN
No Polisi : B3117LB, Warna : Biru
Merek : Supra X, Tahun : 2005
Mekanik : DDE, Nama ; Djoko Dewanto
Kode Parts Nama Parts Kuantum Harga (*) Discount Jumlah Rp.
20W501000CC Oli Top 1 1000cc 1 27,000 0% 27,000
SERV001 Engine Tune Up 1 25,000 0% 25,000
12
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
BAB 2
PENGENALAN SQL SERVER 2000
1. Master
Master database ialah gabungan dari tabel-tabel sistem yang mencatat instalasi
server secara keseluruhan dan seluruh database yang dibuat secara subsekuen.
Database master sangat kritis pada sistem Anda, jadi pastikan untuk
membackup/mengkopinya. Operasi seperti pembuatan database lainnya, mengubah
konfigurasi dan memodifikasi account login akan mengubah database master, jadi
setelah melakukan aktivitas tersebut, Anda harus membackup database master.
2. Model
Model database ialah template database. Setiap kali Anda membuat database,
SQL server membuat sebuah kopi dari model untuk membentuk basis dari database
baru. Jika Anda menginginkan setiap database baru untuk memulai dengan obyek
tertentu atau ijin, Anda dapat meletakkannya di model, dan seluruh database baru akan
mengikutinya.
3. Tempdb
Tempdb ialah database tempat menampung data sementara untuk wadah kerja
kita. Database ini akan dibuat setiap SQL server di start ulang. Seluruh pengguna/user
mempunyai hak untuk membuat dan menggunakan tabel private dan global sementara
yang disimpan di database tempdb (tabel private dan global mempunyai awalan #
dan ##).
4. Pubs
Database ini ialah database contoh yang sering digunakan untuk panduan
belajar SQL server. Anda boleh menghapusnya jika Anda tidak menginginkannya. Anda
tidak perlu takut untuk membuat perubahan/modifikasi pada database pubs, karena
Anda dapat menginstall ulang database pubs dengan menjalankan scriptnya pada sub-
13
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
direktori install. Pada SQL Query Analyzer, buka file dengan nama Instpubs.sql dan
eksekusi file script tersebut. Pastikan bahwa tidak ada database pubs di server Anda
dengan men-drop database tersebut.
5. Northwind
Database Northwind ialah contoh database yang awalnya dibangun untuk
digunakan di Microsoft Access. Database Northwind dapat dibuat dengan cara yang
sama seperti database pubs, yaitu dengan menginstal instnwnd.sql di
subdirektori\install.
6. Msdb
Database MSDB digunakan oleh SQL Server Agent Service, yang membentuk
aktivitas terjadwal seperti backup dan tugas-tugas replikasi. Seluruh informasi di dalam
msdb dapat diakses dari SQL Server Enterprise Manager. Jadi, Anda biasanya tidak
harus mengakses data secara langsung.
14
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Secara default, kita tidak perlu memasukkan password, oleh karena itu cukup
menekan tombol OK dan akan tampil tampilan sebagai berikut :
Pada ruang yang tersedia, disitulah Anda mengetik script yang diinginkan.
Sebagai contoh, Anda ingin menampilkan semua data calon mahasiswa pada database
PMB dari tabel CalonMahasiswa, maka script yang Anda tulis dibagian atas seperti
Gambar 2.3. adalah sebagai berikut :
Select *
From CalonMahasiswa
15
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Pertama : Klik Start, klik Program, Klik Microsoft SQL Server, lalau klik Service
Manager.
Pada layar komputer anda muncul Kotak Dialog SQl Server
Manager.
Kedua : Pada gambar 2.4. terdapat beberapa kotak pilihan dan tombol pilihan.
a. Kotak Server : Untuk memilih nama server yang akan dikontrol.
b. Kotak Service : Untuk memilih spesifikasi service yang diinginkan
(SQL Server, Microsoft Distributed Transaction Coordinatar, atau SQl
Server Agent).
c. Tombol Start : Untuk Memulai SQL Service.
d. Tombol Stop : Untuk Menghentikan SQL Service.
16
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Folder
Server group
Icon Server
Group
2.4.1. Database
Database pada Microsoft SQL Server terdiri dari kumpulan tabel-tabel yang
berisi data dan obyek-obyek yang lain, seperti view, indexes, store procedure dan
triggers. SQL Server dapat men-support banyak database dan setiap data dapat
disimpan dalam suatu database yang dapat dihubungkan dengan database lainnya.
Kelebihan yang ada pada SQL Server 2000 di dalam pembuatan database adalah :
Mempunyai transaction log tersendiri dan mengatur transaksi dalam database
Data dapat berkisar antara MB sampai 1.048.516TB
Dapat menambah ukuran data secara manual atau otomatis
Dapat diset sesuai dengan keinginan (misalnya Anda dapat menetapkan database
Anda hanya dapat dibaca tetapi tidak dapat diedit)
Ada dua cara dalam membuat Database SQL Server 2000, dengan Enterprise Manager
dan dengan Pernyataan pada Query Analyzer.
2.4.2. Tabel
Tabel adalah suatu koleksi data yang serupa, terdiri atas kolom dan baris. Setiap
database dalam SQL Server dapat memuat hingga 2 milyar tabel, dan setiap tabel dapat
dibentuk maksimum 1024 kolom dan 8092 bytes per baris.
17
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
1. Character
Data karakter terdiri dari kombinasi hurup (a-z), angka (0-9) dan special karakter
(!,,@,#,$,%,^,& dan *)
2. Numeric
Data Numeric terdiri dari angka positif dan negatif, angka decimal dan seluruh
angka.
Ada tiga tipe data Numeric, yaitu :
- Integer Data
Interger terdiri dari bilangan negatif dan positif serta seluruh bilangan bulat. Ada
tiga tipe Data Integer, yaitu :
Int
Data Int dapat menyimpan nilai nilai bilangan bulat dari 2e-31
(2.147.483.647) sampai dengan 2e31 (+2.147.483.647)
Smallint
Dapat menyimpan bilangan antara 2e-15(--32768) sampai dengan 2e15
(+32768). Tipe data ini sangat berguna jika anda menyimpan data Numeric
yang kisaran nilainya ada dalam interval tertentu yang diketahui .
Tinyint
Tipe data tinyint dapat menyimpan bilangan bulat antara 0 sampai dengan
255. Tipe ini sangat bermanfaat jika nilai bilangan yang akan disimpan
memiliki kisaran yang terbatas.
- Exact numeric
Tipe data Exact numeric menyimpan angka decimal. Tipe data decimal dapat
digunakan untuk menyimpan bilangan presesi dan numeric pada kisaran 10e-37
sampai dengan 10e37. Jika menggunakan tipe data decimal , harus ditetapkan skala
serta presisinya. Skala adalah jumlah total digit decimal yang dapat ada di sebelah
kiri dan kanan tanda koma. Presisi jumlah digit angka yang ada di sebelah kanan
koma.
- Approximate Numeric
Data yang dapat dihitung secara akurat oleh binary numbering system. Pecahan
merupakan contoh dari approximate numeric data yang tidak dapat diwakili secara
akurat dengan menggunakan approximate desimal data. Oleh karena itu, nilai yang
SQL Server tampilkan untuk pecahan akan berbeda dengan nilai yang
18
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
sesungguhnya yang telah disimpan. Tipe data yang dapat digunakan untuk
menyimpan approximate numeric data adalah float dan real.
Money
Tipe data money dapat digunakan untuk menyimpan data monetary data.
Tipe ini dapat menampung data dari 922 milyar sampai dengan 922 milyar
dengan ketelitian sampai empat angka dibelakang koma.
Smallmoney
Tipe data ini dapat menampung data 214.748,3648 sampai 214.748,3648.
Datetime
Tipe data datetime digunakan untuk menyatakan tanggal dan waktu. Tipe
data ini dapat menyimpan tanggal dan waktu mulai dari 1 Januari 1763
sampai dengan 31 Desember 9999 dengan ketelitian 1 per tiga ratus detik
atau 3.33 mildetik.
Pada folder group, terdapat tanda + atau -, tanda + dalam keadaan tertutup sedangkan
tanda dalam keadaan terbuka. Untuk membuka atau menutup folder group cukup
dengan menekan salah satu tanda tersebut.
Folder group terdiri dari beberapa properti, misalnya database, management,
data transformation, dll.
Cara membuat database menggunakan Enterprise Manager adalah sebagai berikut :
a. Dari Enterprise Manager, klik Folder Databases
b. Klik kanan mouse pada Folder Databases
c. Pilih New Database, dilayar akan ditampilkan gambar sebagai berikut :
19
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
dan beri nama database pada tab Data Files, ketik NilaiMHS
d. Klik OK
Untuk memastikan database yang anda buat telah terbentuk, Klik tanda + pada
SQL Server Group, klik tanda + pada objek database.
Peringatan !
Dalam pembuatan suatu database baru penggunaan nama database harus Unik, dalam
SQL Server Group.
20
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Pada Gambar 2.9. telah terbentuk rancangan tabel mahasiswa yang telah dibuat
dengan menggunakan create table pada Enterprise Manager.
21
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Setelah menekan tombol design table, rancangan tabel akan aktif, seperti terlihat pada
gambar berikut ini.
Pada menu rancangan desain view table yang terlihat pada gambar 2.11 tersebut,
anda dapat melakukan pengapusan field, edit field dan menambah field.
Tambahkan field J_kelamin, type data char dan lenght = 6.
Jangan lupa anda simpan kembali setelah melakukan perubahan struktur tabel.
Lakukan pengisian datanya untuk data data mahasiswa yang tampak pada tabel 2.2.
berikut ini.
22
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Terusan record :
2.5. Latihan
Latihan 2.1
Setelah anda mampu membuat tabel Mahasiswa dan melakukan pengisian
datanya, sebagai latihan buatlah 3 (tiga) tabel lagi dari contoh data berikut ini, dengan
nama tabel Matakuliah, Dosen dan Nilai serta diletakkan pada database NilaiMHS.
1. Matakuliah
Desain struktur tabel Matakuliah adalah seperti tampak pada tabel 2.3. berikut ini.
Lakukan pengisian datanya untul tabel Matakuliah dengan data data berikut ini
melalui Enterprise Manager.
23
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
2. Dosen
Desain struktur tabel Dosen adalah seperti tampak pada tabel 2.5. berikut ini.
24
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Lakukan pengisian datanya untul tabel Nilai dengan data data berikut ini melalui
Enterprise Manager.
25
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
BAB 3
MODIFIKASI TABLE
Latihan 3.1
Tabel mahasiswa pada database NilaiMHS akan ditambahkan data untuk jenis
kelamin yang bertipe Char, dan panjang field adalah 10.
Langkah penyelesaian :
26
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Latihan 3.2
1. Merubah panjang field tpt_lhr_m, yang semula 25, rubah menjadi 26.
2. Menambahkan field gdr ( golongan darah ), type char, length = 2, boleh kosong.
3. Menambahkan field st ( status nikah), type char, length = 10, boleh kosong.
4. Menambahkan field kota_t ( kota alamat rumah), type varchar, length = 20,
boleh kosong.
Lalu :
5. Simpan struktur tabel mahasiswa yang telah modifikasi.
Sehingga hasil akhir dari perubahan desain tabel Mahasiswa akan tampak pada
gambar 3.3. berikut ini.
Sehingga hasil akhir dari perubahan desain tabel Mahasiswa akan tampak pada
gambar 3.4. berikut ini.
27
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Langkah penyelesaian :
Klik kanan pada table Mahasiswa, pilih rename, akan tampak gambar 2.5.
berikut ini :
2. Menghapus tabel
Tabel yang sudah tidak terpakai, sebaiknya dihapus dengan menggunakan
perintah Delete.
Misalkan kita buat table baru pada database NilaiMHS dengan nama table
Ruang, yang terdiri dari kode_r, Char, size 4 not null, dan nama_ruang,
Varchar, size 20 null.
Untuk melakukan penghapusan pada table Ruang yang belum ada isi
datanya, langkah penyelesaian adalah:
28
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Klik kanan pada tabel Ruang, pilih Delete, akan tampak gambar 2.6. berikut
ini :
Latihan 3.4.
Untuk latihan kali ini anda lakukan pembuatan database berikut ini, yang terdiri dari :
1. Membuat database Personalia
2. Membuat database Rumah_Sakit
3. Membuat database Gudang
29
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
BAB 4
INTEGRITAS DATA
Ada dua hal penting yang harus diketahui agar data tetap akurat, konsisten dan
handal. Untuk mewujudkan hal itu diperlukan suatu data Integrity. Sebagai contoh
apabila sebuah tabel Mahasiswa, pada field / kolom nim mempunyai isi data
01031043, maka database tidak memperbolehkan record pada tabel Mahasiswa lain
mempunyai nim yang sama.
30
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
UNIQUE Constraint, digunakan untuk menjamin bahwa data pada suatu kolom
atauy beberapa kolom tidak diijinkan sama.
CHECK Constraint, digunakan untuk membatasi suatu nilai pada kolom dengan nilai
tertentuyang diijinkan masuk.
DEFAULT Constraint, merupakan atribut opsionalyang digunakan untuk memberikan
suatu nilai tertentupada suatu kolom jika kolom tersebut tidak dimasukkan suatu
data.
Not Null, digunakan untuk menjamin tidak ada nilai null ( kosong) yang muncul pada
suatu kolom tertentu sehingga bila tidak mengisikan nilai pada kolom tersebut maka
akan muncul error.
Langkah Penyelesaian :
a. Aktifkan Enterprise Manager, pilih database NilaiMHS, lalu tabel yang akan
ditambahkan Primary Key (dalam hal ini tabel Mahasiswa)
b. Klik kanan mouse pada tabel mahasiswa,
maka dilayar ditampilkan gambar seperti
di bawah ini :
c. Pilih Menu Desaign Table, maka akan ditampilkan gambar Design tabel, seperti
tampak pada gambar 4.1.. berikut ini.
31
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Latihan 4.1.
Lakukan pembuatan primary key constraint untuk tabel tabel yang lainnya
pada database NilaiMHS tersebut, dengan ketentuan sebagai berikut.
a. Pada tabel Matakuliah terdiri dari beberapa field yang dapat diatur dalam
pengisian data, yaitu :
Field kdmk, sebagai primary key
b. Pada tabel Dosen terdiri dari beberapa field yang dapat diatur dalam pengisian
data, yaitu :
Field nid, sebagai primary key
c. Pada tabel Nilai terdiri dari beberapa field yang dapat diatur dalam pengisian
data, yaitu :
Field nim, kdmk dan smt sebagai primary key
Field nim, sebagi foreing key dan berelasi ke tabel Mahasiswa
Field kdmk sebagi foreing key dan berelasi ke tabel Matakuliah
Field nid, sebagai foreing key dan berelasi ke tabel Dosen.
Latihan 4.2.
Lakukan pembuatan table dengan nama tabel Jurusan yang terdiri dari struktur
field sebagai berikut :
Nama field Kode_jur, type char, length = 2, sebagai primary key
Nama field nama_jur, type Varchar, length = 16, tidak boleh kosong
Nama field nama_kajur, type Varchar, length = 35, tidak boleh kosong.
Setelah selesai, maka hasil dari design table jurusan akan nampak pada gambar
4.2. berikut ini.
32
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Latihan 4.3.
Untuk latihan berikut ini, anda tambahkan beberapa field berikut ini pada table
Nilai pada database NilaiMHS.
Setelah itu lakukan penghapusan terhadap field nilai_m pada table Nilai,
sehingga hasil design table akhir Nilai akan tampak pada gambar berikut
ini.
33
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
..
34
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
BAB 5
MEMBUAT DATABASE DAN TABEL
DENGAN QUERY ANALYZER
Setelah anda menekan tombol OK pada gambar 5.2, dilayar akan menampilkan
jendela query analyzer.
35
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Area pengetikan
perintah SQL
Area untuk
menampilkan
pesan
Sintaks :
CREATE DATABASE database_name
[ ON
{[PRIMARY] (NAME=logical_file_name, FILENAME =os_file_name,
[,SIZE =size]
[,MAXSIZE=max_size]
[ FILEGROWTH=growth_increment] ) } [,n]
[ LOG ON
( NAME=logical_file_name,
FILENAME=os_file_name,
[,SIZE = max_size]
[, FILEGROWTH=growth_increment]) } [ ,n]
Keterangan :
Database_name
Merupakan nama database baru. Nama database harus unik pada sebuah server.
ON
Menspesifikasikan bahwa file-file disk yang digunakan untuk menyimpan porsi data dari
database yang didefinisikan secara eksplisit.
PRIMARY
Menspesifikasikan hubungan <filespec> list yang mendefinisikan primary file. Sebuah
database hanya dapat mempunyai satu primary file.
LOG ON
Menspesifikasikan file-file disk yang digunakan untuk menyimpan database log (log files)
yang didefinisikan secara eksplisit.
NAME=logical_file_name
Menspesifikasikan logical_name untuk file yang dispesifikasikan oleh <filespec>
FILENAME=os_file_name
Menspesifikasikan nama os_file_name (operating system file)
36
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Contoh :
CREATE DATABASE PMB ON
( NAME=PMB_dat,
FILENAME = "C:\SQL\PMB.mdf",
SIZE=12,
MAXSIZE=100,
FILEGROWTH=2 )
LOG ON
( NAME="CPMB_log",
FILENAME ="C:\SQL\PMB.ldf ",
SIZE=4 MB,
MAXSIZE=50 MB,
FILEGROWTH=2 MB )
Pernyataan ini akan membuat sebuah database bernama PMB dengan satu data
file dan satu <log file>. Untuk melihat berbagai database dan properti pada program
Anda, cukup ketik sp_helpdb dan klik Run, sedangkan untuk informasi umum gunakan
sp_help.
Langkah yang harus dilakukan dalam membuat database PMB dengan query
analyzer adalah sebagai berikut :
1. Ketik perintah dibawah ini pada jendela query analyzer
37
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
LOG ON
( NAME="CPMB_log",
FILENAME ="C:\SQL\PMB.ldf ",
SIZE=4 MB,
MAXSIZE=50 MB,
FILEGROWTH=2 MB )
Sintaks :
Sp_renamedb old_name , new_name
Gambar berikut ini adalah, tampilan database apa saja yang telah dibuat baik
yang menggunakan enterprise manager atau query analyser, untuk menampilkan klik
simbol (database), kemudian klik <Details...>, maka akan tampak gambar berikut
ini. Terlihat bahwa banyak database yang telah terbentuk, diantaranya adalah
Rumah_Sakit yang telah anda buat sebelumnya. Dalam hal ini kita belum melakukan
perubahan nama terhadap database Rumah_Sakit tersebut., seelah dilakukan
perubahan maka nama database Rumah_Sakit akan berubah menjadi RS.
38
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
39
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Langkah pertama, anda buat dahulu database baru dengan nama Bengkel,
dengan menggunakan enterprise manager, kemudian lakukan penghapusan dengan
menggunakan query analyzer.
Ketik perintah berikut ini :
Anda tidak dapat menghapus database Bengkel (seperti terlihat pada gambar
5.10. tersebut diatas), dikarenakan database tersebut masih dalam kondisi aktif.
Untuk bisa menghapus anda harus melakukan non aktif terhadap database
Bengkel tersebut atau lakukan non aktif terhadap enterprise manager
Bila sukses melakukan penghapusan akan tampak seperti gambar 4.11. berikut
ini.
40
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Sintaks :
Create Tabel nama_tabel
(
nama_kolom_Tipe_data [ Null | Not Null ]
[Identity (Seed, Increment)]
[ Default ekspresi_konstan]
)
Misalnya kita akan membuat tabel CalonMahasiswa pada database PMB, maka
langkah langkahnya adalah sebagai beriku.
Langkah Penyelesaian :
1. Pada jendela query analyzer, Pilih database PMB, pada combobox
(database), Ketik Pernyataan sql berikut ini :
41
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Rubah nama directory (ata simpan pada folder anda msing amasing), pada
kotak save in Ketik nama query. Misal Create Tabel CalonMHS
klik tombol OK
Setelah anda berhasil membuat tabel CalonMahasiswa, anda buat tabel berikut ini :
a. Buat tabel Jurusan, dengan struktur table berikut ini :
Ketik Pernyataan sql berikut ini, dengan query analyzer, dengan setting
database tetap PMB.
Nama_Tabel adalah nama dari tabel yang akan dihapus, pada waktu mau melakukan
penghapusan terhadap tabel, maka database dimana tabel tersebut berada harus anda
aktifkan.
Anda telah sukses melakukan penghapusan Ruang1 pada database PMB yang
telah anda buat.
a. Menambahkan field.
Misalkan kita akan menambah field email, tipe data varchar, lebar 25 dan
null, pada tabel CalonMahasiswa.
Jalankan query analyzer, kemudian klik database PMB, lalu ketik perintah
berikut ini.
Gambar 5.22. Update tipe data dan lebar pada field email pada table CalonMahasiswa
Untuk memastikan apakah tipe data dan lebat field email telah berubah, anda
jalankan enterprise manager, kemudian klik Databases, PMB, table
CalonMahasiswa, lalu klik kanan design table.
b. Menghapus field
Misalkan kita akan menghapus field email pada tabel CalonMahasiswa.
Jalankan query analyzer, kemudian klik database PMB, lalu ketik perintah
berikut ini.
45
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Peringatan !
Kita tidak dapat menambahkan dan merubah field pada suatu table jika field tersebut
berisi Not Null (karena kita telah memasukkan data pada table CalonMahasiswa
sebelumnya). Kecuali pada saat menambahkan field kita belum melakukan insert
data pada table tersebut.
46
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
BAB 6
INSERT DAN DUPLIKASI TABLE
47
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Peringatan !
Penggunaan tanda petik (), dalam hal ini anda harus memperhatikan tipe
data dari table yang telah terbentuk, jika tipe datanya bukan merupakan kalkulasi
(decimal, int, money, dll), maka tidak perlu diberikan tanda petik ().
48
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Perhatikan apa yang terjadi bahwa pada record kedua untuk field lokasi dan
kapasitas, nilainya adalah null (kosong) karena datanya belum dimasukkan.
Untuk memasukkan data lokasi dan kapasitas pada record ke 2 (dua) pada
tabel ruang adalah anda ke enterprise manager, dan lakukan penambahan
datanya melalui enterprise manager.
49
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Gambar 6.8. Menampilan data dari table CalonMHSBaru dengan query analyzer
50
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Terlihat bahwa jumlah kolom yang tampil hanya 3(tiga), karena kita hanya
melakukan pengkopian dari tabel CalonMahasiswa ke tabel
CalonMHSBaru hanya 3 (tiga) field.
Anda juga bisa melihat isi datanya dengan menggunakan enterprise
manager, dengan cara klik Databases, klik PMB, lalu klik Table, Klik kanan
table CalonMHSBaru lalu Open Table, klik Return all rows, sehingga
hasilnya akan nampak berikut ini.
Gambar 6.9. Menampilan data dari table CalonMHSBaru dengan enterprise manager
6.2.2. Menduplikasi table dan isi data untuk seluruh field (1 table)
Kita juga bisa melakukan copy pada suatu tabel ke dalam tabel yang baru, dimana
yang dicopy adalah struktur table beserta isi datanya.
Misalkan kita akan mengcopy tabel lama Jurusan pada database PMB
kedal tabel baru dengan nama JurusanBaru.
Ketik perintah query berikut ini dengan query analyzer.
Gambar 6.10. Menduplikasi table Jurusan ke table JurusanBaru dengan query analyzer
6.2.3. Menduplikasi table dan isi data untuk seluruh field (2 table)
Kita juga bisa melakukan copy pada suatu tabel ke dalam tabel yang baru, dimana
yang dicopy adalah struktur table beserta isi datanya untuk 2 (dua) atau lebih table
dalam suatu database.
Misalkan kita akan mengcopy tabel lama Mahasiswa dan Jurusan pada
database PMB kedal tabel baru dengan nama MahasiswaJurusan.
Ketik perintah query berikut ini dengan query analyzer.
51
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Latihan 6.1.
Setelah anda berhasil memasukkan data ruang untuk record 1 dan 2 untuk data
pada tabel 6.1. dengan query analyzer dan enterprise manager, lakukan pengisian
datanya pada tabel 6.1. tersebut untuk data yang lainnya dengan query analyzer,
sehingga hasil akhir setelah anda lakukan perintah SQL akan nampak pada gambar
6.12. berikut ini.
52
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Latihan 6.2.
Setelah anda berhasil memasukkan data ruang untuk 13 (tigabelas) record
seperti yang tampak pada gambar 6.12. tersebut diatas. Lakukan pengisian data
kembali untuk data jurusan (disimpan pada table Jurusan) pada database PMB, dengan
data - data berikut ini dengan menggunakan query analyzer.
Latihan 6.3.
Lakukan duplikasi table baru untuk database NilaiMHS berikut ini.
1. Buat duplikasi table baru dengan nama NilaiMahasiswa, dengan menggunakan 3
(tiga) tabel (nim,nama_m dari table Mahasiswa), (nilai_absen, nilai_tugas,
nilai_uts, nilai_uas dari table Nilai), (nama_mk dan sks dari table Nilai). Apabila
sukses setelah dilakukan query, maka hasilnya seperti berikut ini.
53
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
54
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
BAB 7
MEMBUAT CONSTRAINT
7.1. Latihan
Latihan 7.1.
Setelah anda berhasil memasukkan data ruang dan Jurusan pada Bab 6.
Lakukan pengisian data kembali untuk data calon mahasiswa (disimpan pada table
CalonMahasiswa) pada dabatase PMB dengan data - data berikut ini dengan
menggunakan enterprise manager.
55
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Latihan 7.2.
Misalkan kita akan membuat primary key pada tabel Ruang pada database PMB
yang telah kita buat pada bab 5 sebelummnya, dengan primary keynya adalah id_ruang
dengan nama constraint PkRuang.
Langkah Penyelesaian :
Definisikan nama constraint yang akan dibuat (dalam hal ini PkRuang)
Aktifkan Query Analyzer dan database PMB
Pada Query Analyzer ketik perintah berikut :
Pada tampilan gambar 7.2. diatas anda gagal membuat primary key, karena
sebelumnya anda telah membuat primary key melalui enterprise manager. Untuk
itu anda harus menghilangkan dulu primary key nya dengan menggunakan
enterprise manager. Caranya klik table Ruang, lalu klik design table. Untuk
menghilangkan primary key pada tabel Ruang melalui enterprise manager
dengan melakukan klik icon key pada field id_ruang, kemudian simpan kembali
table tersebut.
Kemudian anda kembali ke query analyzer, dari perintah sebelumnya tekan F5,
maka hasilnya akan nampak pada gambar 4.4. berikut ini.
56
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Latihan 7.3.
Lakukan hal yang sama untuk membuat primary key pada tabel Jurusan dan tabel
CalonMahasiswa, dengan ketentuan sebagai berikut :
Definisikan nama constraint yang akan dibuat untuk tabel Jurusan adalah
PkJurusan dan tabel CalonMahasiswa adalah PkCalonMahasiswa
dengan menggunakan alter table.
Latihan 7.4.
Lakukan pembuatan tabel Test dengan struktur tabel sebagai berikut.
57
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Latihan 7.5.
Berikut ini anda akan mempelajari bagaimana membuat foreign key constraint
pada tabel CalonMahasiswa.
Nama tabel : CalonMahasiswa
Nama primary key : id_calon
Nama foreign key : id_jurusan
Dalam table CalonMahasiswa yang menjadi primary key adalah id_calon (unik)
dan yang menjadi foreign key adalah (id_jurusan), dimana pada tabel calonMahasiswa
membutuhkan data yang ada pada abel Jurusan. Artinya, bila seorang melakukan
pendaftaran maka dia harus memilih jurusannya apa.
Pada dasarnya foreign key constraint adalah untuk merelasikan antara tabel
Jurusan dengan tabel CalonMahasiswa (hubungan relasi one to many).
Aktifkan Query Analyzer dan database PMB
Pada Query Analyzer ketik perintah berikut :
Gambar 7.9. Merelasikan table calon Mahasiswa dengan table Jurusan (foreign key constraint)
Isikan data-data berikut ini dengan perintah insert into dan disimpan pada
table Test.
58
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Latihan 7.6
Pada latihan ini anda akan membuat database dan tablel yang dilengkapi
dengan beberapa contraint :
Buat Database baru dengan nama Personal
Buat tabel dengan nama Karyawan, dengan menggunakan query analyzer
dengan struktur tabel seperti terlihat pada gambar 6.10.
Buat Constraint dengan ketentuan :
Kolom NIP harus unik dan tidak boleh Null dan sebagai primary key.
Membatasi kolom golongan dengan nilai A s/d I
Membatasi kolom kode divisi dengan nilai A s/d F
Membatasi kolom sex dengan nilai 1 s/d 4
Default anak adalah 0.
Langkah Penyelesaian :
Definisikan semua nama constraint yang akan dibuat
Pada Query Analyzer di bawah ini ketik perintah berikut ini :
Cobalah masukkan data berikut ini pada tabel karyawan dengan Enterprise
Manager, datanya sebagai berikut :
60
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Latihan 7.7
Aktifkan database Personal dan buat tabel baru dengan nama Gaji dengan
struktur tabel Gaji sebagai berikut :
Golongan Char(1)
Gaji Float
Pada tabel tersebut buat aturan-aturan (constraint) dengan ketentuan sebagai
berikut :
Kolom golongan harus unik tidak boleh ada yang sama (Primary Constraint)
Langkah Penyelesaian :
Pada Query Analyzer ketik perintah berikut :
Isikan data pada tabel gaji yang telah terbentuk dengan perintah insert into,
datanya sebagai berikut :
61
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Golongan Gaji
A 260.000
B 325.000
C 400.000
D 500.000
E 800.000
F 1.200.000
G 1.750.000
H 2.500.000
I 5.000.000
Tabel 7.4. Data data table Gaji
Latihan 7.8.
Lakukan pembuatan tabel baru lagi pada database Personal dengan nama table
Divisi dengan perintah Create Table.
Langkah Penyelesaian :
Pada Query Analyzer ketik perintah berikut :
Lalu Tekan F5
Setelah tabel terbentuk buat constraint primary key pada tabel tersebut dengan
ketentuan kolom kodedivisi harus unik dan tidak boleh null.
Langkah Penyelesaian :
Karena tabel telah terbentuk, maka perintah yang digunakan Alter Table, pada
Query Analyzer ketik perintah berikut :
Isikan data pada tabel Divisi yang telah terbentuk dengan perintah Insert Into.
Datanya sebagai berikut :
62
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Kodedivisi Namadivisi
A Personalia
B Pemasaran
C Umum
D Produksi
E Keuangan
F Pengembangan
Latihan 7.9
Buatlah Constraint Foreign Key untuk ketiga tabel tersebut pada Database
Personal yang meliputi table Karyawan, table Gaji dan table Divisi.
Langkah Penyelesaian :
Karena ketiga tabel telah terbentuk maka perintah yang digunakan adalah :
ALTER TABLE.
Sintaks :
ALTER TABLE nama_tabel
Add Constraint nama_constraint Foreign Key (nama_kolom)
References nama_tabel(Nama_kolom)
Gambar 7.18. Membuat Constraint Foreign Key table Karyawan dengan Divisi
Latihan 7.10
Hubungkan (relasikan) antara kolom golongan yang ada pada tabel Karyawan
dengan kolom Golongan yang ada pada tabel Gaji
63
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Gambar 7.19. Membuat Constraint Foreign Key table Karyawan dengan Gaji (error)
Perhatikan apa yang terjadi, anda tidak dapat merelasikan antara table
Karyawan dengan Gaji, dikarenakan lebar tipe data golongan pada table
Karyawan tidak sama dengan tipe data golongan pada table Gaji.
Lakukan perubahan lebar field golongan pada table Karyawan dengan
enterprise manager dengan length menjadi 1, lalu lakukan Save.
Anda jalankan query analyzer pada query yang telah anda buat sebelumnya,
maka hasilnya adalah sebagai berikut :
Gambar 7.20. Membuat Constraint Foreign Key table Karyawan dengan Gaji (succes)
Anda telah sukses merelasikan antara table Karyawan dengan table Gaji.
Keterangan :
Nama_tabel : Nama tabel dimana constraint berada
Nama_constraint : Nama constraint yang akan dihapus
Contoh :
Kita akan melakukan pengahapusan dihapus constraint yang telah dibuat pada
tabel karyawan dengan nama constraint Fkdivisi
Langkah penyelesaian :
Aktifkan Query analyzer
Ketik perintah berikut ini :
Latihan 7.11.
Buatlah tabel Bayar dan JenisBayar pada database PMB yang telah dibentuk
sebelumnya dengan perintah Create Table, dengan struktur table masing masing
sebagai berikut.
64
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Langkah penyelesaian :
Aktifkan Query Analyzer
Ketik perintah berikut ini :
65
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Isi tabel (bisa dengan Query atau enterprise) table JenisBayar dan Bayar dengan
data data sebagai berikut :
66
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
BAB 8
MEMBUAT DIAGRAM DAN VIEW
8.1. Latihan
Latihan 8.1.
Setelah anda berhasil memasukkan data JenisBayar dan Bayar pada Bab 7.
Buat table Kelas dan Mahasiswa, dengan struktur table berikut ini dengan menggunakan
enterprise manager.
Kemudian lakukan pengisian data pada table Kelas dan Mahasiswa, dengan
data data berikut ini, dengan menggunakan enterprise manager.
67
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Dari gambar 8.1. terlihat bahwa table yang ada pada database PMB terdiri dari 8
(delapan) table yaitu CalonMahasiswa, Jurusan, Test, Ruang, Kelas, JenisBayar, Bayar
dan Mahasiswa. Terlihat bahwa table table yang baru berhubungan (berelasi) adalah :
Jurusan dengan Calon Mahasiswa (one to many),
CalonMahasiswa dengan Bayar (one to many),
JenisBayar dengan Bayar (one to many)
Sedangkan table Mahasiswa, Test, Ruang dan Kelas belum terjadi relasi, karena anda
belum pernah melakukan relasi (foreign key integritas) pada masing masing table
yang berhubungan. Anda bisa melakukan relasi dengan enterprise manager dengan
cara berikut ini.
Anda harus masih kondisi aktif seperti terlihat pada gambar 8.1, lakukan relasi
antara CalonMahasiswa dengan Test (one to many), Ruang dengan Test (one to
many), CalonMahasiswa dengan Mahasiswa (one to many), Kelas dengan
Mahasiswa (one to many).
Caranya, tekan klik field id_calon (terlihat key) pada table CalonMahasiswa
kemudian tarik ke table Test, tempatkan pada field id_calon pada table Test,
sehingga hasilnya terlihat berikut ini.
68
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Perhatian !
Anda tidak dapat merelasikan table Ruang dengan Test (one to many) jika :
Nama field, tipe data dan lebar pada table Ruang dimana sebagai primary key
(id_ruang) tidak sesuai pada table Test (id_ruang) sebagai foreign key.
Anda melakukan pengisian data pada field id_ruang pada table Test, tetapi data
yang ada pada field (id_ruang) pada table Ruang tidak ada.
Latihan 8.2.
Lakukan relasi antar table dengan menggunakan Query Analyzer seperti pada
Gambar 7.19 Bab 7, antara table Ruang dengan Test (one to many), CalonMahasiswa
dengan Mahasiswa (one to many), Kelas dengan Mahasiswa (one to many). Sehingga
hasilnya akan nampak pada gambar berikut ini.
69
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
70
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Latihan 8.3.
Silahkan anda membuat diagram lagi pada database PMB yang telah anda buat
sebelumnya, kemudian simpan nama diagram tersebut dengan nama lain (bukan
Diagram PMB). Dalam membuat diagram anda tidak perlu menampilkan seluruh table
yang ada pada database PMB tersebut.
Perhatian !
Anda tidak dapat melakukan view (menampilkan data) dari enterprise manager atau
query (dari query analyzer) untuk melakukan manipulasi penelurusan data jika Diagram
yang anda buat belum berhasil !
Latihan 8.5.
Buatlah diagram pada database Personal yang terdiri dari tabel Karyawan,
Divisi, dan Golongan. Jika Anda berhasil membuatnya maka diagram tersebut akan
ditampilkan seperti gambar di bawah ini.
71
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Latihan 8.6.
1. Lakukan relasi antar table (Foreign Key Constraint) dengan menggunakan Query
Analyzer seperti pada Gambar 7.19 Bab 7, antara table:
Jurusan dengan Mahasiswa (one to many), dengan nama foreign key
constraint : FKJurusan.
Matakuliah dengan Nilai (one to many), dengan nama foreign key constraint :
FKMatakuliah.
Jurusan Mahasiswa dengan Nilai (one to many), dengan nama foreign key
constraint : FKMahasiswa
Dosen dengan Nilai (one to many), dengan nama foreign key constraint :
FKDosen.
2. Buatlah diagram pada database NilaiMHS yang terdiri dari tabel Mahasiswa,
Jurusan, Matakuliah, Nilai, dan Dosen. Jika Anda berhasil membuatnya maka
diagram tersebut akan ditampilkan seperti gambar di bawah ini.
72
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Table List
Untuk menampilkan table klik kanan pada keterangan Table List, kemudian klik
kanan lalu Add Table, lalu pilih table yang akan ditampilkan datanya misalkan
kita pilih Karyawan lalu Add, lalu colse, maka akan tampak seperti gambar 8.12.
73
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Kemudian pada baris Sort type pada Column Nip dan Table Karyawan, pilih
Ascending.
Pengertian dari gambar 8.13. diatas, adalah menampilkan data dari table
Karyawan, dimana data yang ditampilkan hanya kolom (field), nip, nama dan tgl_lahir,
dimana diurutkan berdasarkan kolom (field) nip dan diurutkan secara Ascending.
Kemudian kita pilih field yang akan ditampilkan datanya (misal field nip,
nama dari table Karyawan), field namadivisi dari table Divisi dan field gaji
dari table Gaji.
Pada Criteria, ketik Pemasaran pada Column namadivisi dan Table Divisi.
Pada Column Sort Type klik Descending pada Column Nama.
Untuk menjalankan, maka klik tombol Run
Maka hasilnya akan nampak pada gambar 8.13. berikut ini.
Untuk menyimpan hasil View simpan dengan menkan tombol Save
kemudian beri nama View : Daftar Gaji Karyawan.
74
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Pengertian dari gambar 8.14. diatas, adalah menampilkan data dari 3 (tiga) table
yaitu table Karyawan (field nip dan nama), table Divisi (field namadivisi), table Gaji (field
gaji), dimana data diurutkan berdasarkan kolom (field) nama pada table Karyawan
secara Descending, dan pada column namadivisi pada table Divisi pada Criteria yang
ditampilkan hanya karyawan yang ada pada divisi Pemasaran saja. Hasil akhir data
yang tampil adalah 4 (kolom) dan 2 (dua) record, seperti terlihat pada gambar 8.13
diatas.
75
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
BAB 9
INSERTS, UPDATE, DELETE DATA
Sintaks :
INSERT [INTO] nama_tabel [ Daftar_kolom ]
VALUES { DEFAULT VALUE | Daftar_kolom }
Contoh :
Tampilkan data - data tentang Ruang pada database PMB dengan View (seluruh
field yang ditampilkan), hasilnya akan tampak pada gambar 9.1. berikut ini.
Langkah penyelesaian :
Ketik perintah berikut pada query analyzer.
76
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Baris - baris dan kolom pada tabel RuangBaru yang terbentuk sama dengan
tabel Ruang pada database PMB. Cobalah Anda tampilkan tabel RuangBaru dengan
perintah :
Kita juga dapat membuat tabel baru dengan mengambil beberapa kolom atau
mengambil beberapa baris dari tabel lain dengan kondisi tertentu. Misalnya kita mau
membuat tabel dengan nama Karyawanbaru dari database Personal dan diisi dengan
tabel Karyawan yang berisi hanya baris-baris(record) dimana sex nya = 1.
Aktifkan Query Analyzer, klik database Personal, lalu ketik perintah query berikut
ini, lalu jalankan (f5 / Run).
77
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Anda telah berhasil membuat table baru dengan nama KaryawanBaru pada
database Personal dimana record data yang dicopy hanya dengan kriteria
sex=1.
Latihan 9.1
Buat tabel baru dengan nama PegawaiNew, dan isi tabel PegawaiNew dari
tabel Karyawan pada database Personal, dengan kriteria kodedivisi = D dan
golongan = A.
Buat tabel baru dengan nama KaryawanKeuangan dan isi tabel
KaryawanKeuangan dengan tabel Pegawai dengan baris baris yang
kodedivisinya =E, kodestatus = 2 dan sex=2
Tampilkan seluruh data pada table PegawaiNew dan KaryawanKeuangan.
Hapus table PegawaiNew dari database Personal
Latihan 9.2.
Kita akan mencoba melakukan perubahan data pada table Divisi dimana
kodedivisi=A yang memiliki namadivisi = Umum akan dirubah menjadi golongan
Umum Perubahan.
Jalankan query analyzer dan aktifkan database Personal, kemudian ketik
perintah query berikut ini, lalu tekan F5 (Execute Query).
78
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Latihan 9.3.
Lakukan penambahan data pada table Divisi di database Personal dengan
data berikut ini dengan query analyzer.
79
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Kodedivisi namadivisi
G Marketing
H Teknologi Informasi
Tabel 9.2. Data data table Divisi
Apabila kita ketik query berikut ini, maka pada table Divisi akan bertambah 2
(dua) record.
Peringatan !
Anda harus mempertimbangkan betul, apakah benar-benar data tidak dipakai
kembali dan dilakukan penghapusan, seandainya akan dihapus lebih baik membuat
table backup dahulu.
81
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
BAB 10
MANIPULASI DATA DENGAN SELECT
Keterangan :
Pilih_daftar_kolom : Menyatakan pilihan terhadap kolom atau atribut dari data yang
dipilih
Nama_tabel : Tabel yang akan diambil datanya.
Latihan 10.1.
Menampilkan semua data pada tabel Jurusan dari database PMB dengan
menggunakan query analyzer.
Pada Query Analyzer ketik perintah berikut ini : Select * From Jurusan
Lalu tekan F5
Gambar 10.1. Perintah Query menampilkan semua data Jurusan dari table Jurusan
Sintaks :
Select nama_kolom,[nama_kolom,.]
From Nama_tabel
Latihan 10.2.
Menampilkan data dalam kolom Id_calon, nama_c, alamat, kota dan telpon dari
table CalonMahasiswa.
82
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Sintaks:
Select nama_kolom kolom alias ,[nama_kolom kolom alias]
From nama_tabel
Keterangan :
Kolom alias merupakan judul kolom yang diinginkan user
Contoh :
83
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
84
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Latihan 10.4.
Tampilkan daftar calon mahasiswa dimana id_jurusan nya adalah = MI dimana
kolom yang ditampilkan hanya id_calon, nama_calon dan id_jurusan
Ketik perintah berikut pada Query Analyzer :
Select id_calon,nama_c,id_jurusan
From CalonMahasiswa
Where id_jurusan=MI
85
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
2. Tampilkan data pada tabel Gaji dari database Personal dimana hasil kali kolom gaji*2
<= 1000000
Ketik perintah berikut pada Query Analyzer :
Select golongan,gaji,gaji*2 'Gaji Kali 2'
From Gaji
Where Gaji*2 <=1000000
Lalu tekan F5 untuk mengeksekusinya
86
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Latihan 10.6.
a. Buka database Akademik, kemudian tampilkan nim, kdmk, smt, nilai_uts dari table
Nilai, dimana nilai uts nya antara 76 dan 80
Ketik perintah ini pada Query Analyzer :
Tekan F5 untuk mengeksekusi. Hasilnya akan terlihat pada gambar berikut.
Latihan 10.7
Buka database Akademik. Perintah berikut ini adalah menampilkan kolom nim,nama_m
dan tpt_lhr_m pada table Mahasiwa dimana yang ditampilkan adalah kota lahirnya
Bekasi dan Jakarta.
Latihan 10.8.
Buka database Akademik. Perintah berikut ini adalah menampilkan kolom
nim,nama_m,thn_lulus dari table Mahasiwa dimana pada kolom thn_lulus dan j_kelamin
nilai datanya null.
87
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Latihan 10.9.
Buka database Akademik. Perintah berikut ini adalah menampilkan kolom
nim,nama_m,thn_lulus dari table Mahasiwa dimana pada kolom thn_lulus dan j_kelamin
nilai datanya null.
88
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Latihan10.10.
Buka database Akademik. Perintah berikut ini adalah menampilkan kolom nim dari table
Nilai dimana pada kolom nim yang terjadi duplikasi tidak dimunculkan.
% Wildcard Deskripsi
% String Karakter
_ Garis Bawah Karakter Tunggal
[ ] Karakter tunggal dalam range tertentu
[ ^ ] Karakter tunggal yang tidak dalam range
tertentu
Latihan 10.11.
1. Buka database PMB, kemudian ketik perintah query berikut ini dengan
menggunakan Query Analyzer
89
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Perintah tersebut menampilkan baris dari tabel CalonMahasiswa dengan nama calojn
mahasiswa dimulai dengan dengan karakter pertama Huruf I dan huruf terakhir ni.
Latihan 10.12.
Buka database PMB, kemudian ketik perintah query berikut ini dengan menggunakan
Query Analyzer
Perintah di atas menampilkan semua data (all field/kolom) pada tabel CalonMahasiswa
yang namanya mengandung huruf t dan a.
Tugas 10.1
Anda aktifkan database PMB dengan Query Analyzer.
1. Tambahkan field agama_c, type Varchar, length = 10, null, pada tabel
CalonMahasiswa, setelah sukses, ketik perintah : Select * From CalonMahasiswa.
Perhatikan apa yang terjadi !.
2. Hapus field agama_c yang telah anda tambahkan sebelumnya pada table
CalonMahasiswa.
3. Tampilkan daftar semua calon mahasiswa yang jenis kelaminnya Pria dan tempat
lahirnya di Bekasi
4. Tampilkan daftar semua calon mahasiswa Wanita pada tabel CalonMahasiswa
dengan kolom yang ditampilkan id_c,nama_c,tgl_lahir,alamat,kota dan telpon.
5. Tampilkan daftar semua calon mahasiswa yang kota tinggalnya di Jakarta atau
Bekasi
6. Tampilkan daftar calon mahasiswa Wanita. yang kota tinggalnya di Bekasi Barat
90
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
7. Tampilkan daftar semua calon mahasiswa yang kota lahirnya di Bekasi Barat atau
Bekasi Timur, jenis kelaminnya Wanita dan tempat lahirnya di Bekasi
8. Tampilkan daftar semua calon mahasiswa yang tinggalnya di kota Bogor
9. Tampilkan daftar calon mahasiswa yang tidak mempunyai nomor telpon.
10. Tampilkan daftar calon mahasiswa tang tanggal lahirnya antara tanggal
15/01/1987 sampai 17/08/1988
11. Tampilkan daftar calon mahasiswa yang mengambil jurusan MI
12. Tampilkan daftar calon mahasiswa yang mengambil jurusan MI , TI dan SI
13. Tampilkan daftar calon mahasiswa yang melakukan pendaftaran pada tanggal
26/06/2005 dan jurusannya adalah MI atau TI.
Tugas 10.2.
Anda aktifkan database Personal dengan Query Analyzer.
1. Tampilkan karyawan bagian Keuangan (kodedivisi=E)
2. Tampilkan karyawan bagian Keuangan dan Personalia
3. Tampilkan karyawan wanita (sex=2) bagian Keuangan dan Personalia
4. Tampilkan karyawan laki-laki (sex=1) bagian Pemasaran (kodedivisi=B) yang belum
menikah (kodestatus=1)
5. Tampilkan karyawan wanita yang bergolongan B dan tinggal di Jakarta Selatan
6. Tampilkan karyawan wanita yang belum menikah (kodestatus=1) dari bagian
Pemasaran (kodedivisi=B) yang lahir dikota Semarang
7. Tampilkan karyawan laki-laki yang telah menikah (kodedivisi=D) dan bagian
Personalia (kodedivisi=A) yang tidak mempunyai anak.
8. Tampilkan karyawan yang statusnya Duda (kodestatus=3) dari bagian umum
(kodedivisi=C) yang kota lahirnya Jakarta dan anaknya >=3
9. Tampilkan semua karyawan dari bagian produksi (kodestatus=D) yang kota lahirnya
Semarang atau Jakarta yang tinggal di kota Jakarta Selatan
91
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
BAB 11
FUNGSI-FUNGSI SQL SERVER
92
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Contoh:
RTRIM ( Indo siar )
Hasilnya=Indosiar
Upper : Fungsi ini digunakan untuk mengubah huruf kecil menjadi besar
Sintaks :
Upper (String)
Contoh :
Upper ( revanda ghasaan)
Hasilnya=REVANDA GHASSAN
Contoh :
Buka Database PMB dengan query analyer, kemudian ketika perintah berikut ini pada
Query Analyzer :
93
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Perintah di atas menampilkan data pada tabel CalonMahasiswa yang ditampilkan kolom
nama_c, alamat dan telpon dimana pada kolom nama ditampilkan dengan huruf kecil
dan jumlah karakter pada kolom nama < 13.
Fungsi Penjelasan
AVG Mencari Nilai Rata rata
SUM Menjumlahkan Nilai
MIN Mencari nilai minimum
MAX Mencari Nilai Maximum
COUNT Menghitung jumlah data
Fungsi AVG, SUM, MIN, MAX dan COUNT meng Ignore nilai Null sedangkan
fungsi COUNT() menghitung nilai Null.
Contoh :
Ketik perintah berikut pada Query Analyzer :
94
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Perintah di atas menghitung kapasitas ruang dengan kriteria lokasi ruangnnya adalah
Kampus A
95
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Perintah di atas menghitung Jumlah rata-rata kapasitas ruang pada tabel Ruang.
96
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Contoh :
Kita akan mengurutkan tabel CalonMahasiswa dari database PMB dengan pengurutan
Ascending, berdasarkan nama_c
Ketik perintah di bawah ini pada Query Analyzer :
97
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Clausa Compute By menghasilkan baris-baris baru dari data ringkasan, mirip dengan
Clausa Group By, tetapi menghasilkan baris-baris sebagai sub group dengan nilai
ringkasannya. Jika Anda menggunakan Clausa Compute By harus disertai dengan
Order By.
Contoh :
Akan ditampilkan data karyawan untuk kolom nip, nama, alamat, Kota Lahir, anak
secara berurutan berdasarkan kota lahir dan menghitung banyak karyawan dan anak
Yang dilahirkan di kota tersebut.
Latihan 11.1
1. Buka database personal, tampilkan semua data pada tabel Karyawan dan hitung
jumlah anaknya.
Langkah Penyelesaian :
Ketik perintah berikut ini pada Query Analyzer, Lalu tekan F5
98
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Langkah penyelesaian :
Gunakan Clausa Group By (pengelompokan) berdasarkan bagian, lalu ketik perintah
berikut pada Query Analyzer.
Langkah Penyelesaian :
- Karena ingin diketahui jumlah karyawan
- Pergolongan (rekapitulasi berdasarkan Golongan) maka perintah yang
digunakan menggunakan clausa Group By dengan Where.
Aktifkan Query Analyzer dan ketik perintah berikut ini.
99
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
4. Ingin diketahui jumlah anak berdasarkan kota lahir dari karyawan bagian Umum
(kodedivisi=C) yang golongannya D dengan format :
Kota Lahir Jumlah Anak
Langkah penyelesaian :
- Gunakan clausa Group By dengan Where
- Ketik perintah berikut ini pada Query Analyzer
5. Tampilkan semua karyawan Golongan B untuk setiap bagian dan jumlah anak dan
karyawan pada bagian tersebut.
Langkah penyelesaian :
Ketik perintah berikut ini pada Query Analyzer :
100
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Tugas 11.1.
1. Ingin diketahui pada tabel karyawan jumlah seluruh karyawannya. (gunakan Fungsi
Agregate Count).
2. Ingin diketahui berapa jumlah karyawan bagian keuangan ?, dengan format :
Jumlah Karyawan Bagian Keuangan
3. Ingin ditampilkan jumlah anak pada karyawan pada bagian umum (kodedivisi=D)
Jumlah anak Bagian Umum
4. Ingin diketahui jumlah anak untuk setiap bagian yang kota tinggalnya di Jakarta
Selatan (gunakan statement where dengan clausa Group By dan Fungsi Agregate
Sum dengan format :
5. Ingin diketahui Jumlah anak karyawan dari setiap bagian yang bergolongan A atau
B yang kota lahir di Jakarta dan jumlah anak untuk tiap bagian >=5 (gunakan clausa
Group By dengan Having) format yang digunakan.
6. Tampilkan semua karyawan wanita dan hitung jumlahnya, hitung juga jumlah
anaknya untuk setiap Bagian (gunakan Clausa Compute By dengan Order By
dengan Fungsi Agregate)
7. Tampilkan semua karyawan perbagian yang statusnya menikah dan tidak punya
anak dan tampilkan jumlah karyawannya.
8. Tampilkan semua karyawan wanita pergolongan yang sudah janda, tetapi tidak
punya anak yang tinggalnya di Jakarta ada berapa jumlahnya ?
Sintaks :
Select Fungsi_tanggal (parameter)
October)
GetDate ( ) Tanggal dan Waktu sekarang
Contoh :
1. Pada Database PMB ditetapkan pelaksanaan perkuliahan ditetapkan 60 hari setelah
tanggal pendaftaran.
Langkah penyelesaian :
Karena pelaksanaan perkuliahan 30 hari setelah tanggal pendaftaran
=Tgl_daftar+60, maka fungsi yang digunakan adalah : DATEADD
(menambah data ke tanggal).
Sintaks :
DATEADD (Datepart,number,Date)
Datepart pada contoh ini adalah Day (tanggal)= dd
Lalu ketik perintah berikut ini pada Query Analyzer :
Lalu tekan F5 untuk mengeksekusi. Hasilnya terlihat seperti gambar di
bawah ini.
2. Pada tabel CalonMahasiswai ingin diketahui hari apa tanggal pendaftaran yang
dilakukan oleh calon mahasiswa.
102
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Langkah penyelesaian :
Karena ingin diketahui nama dari Tgl_daftar maka fungsi yang digunakan
adalah : DATENAME dengan Sintaks :
DATENAME ( Datepart,date )
Datepart pada contoh ini adalah Weekday (dw).
Ketik perintah dibawah ini pada Query Analyzer :
Lalu tekan F5. Hasilnya dapat dilihat pada gambar di bawah ini.
3. Ingin diketahui tanggal hari ini dan 15 hari setelah tanggal hari ini. Bentuk format
yang diinginkan adalah sebagai berikut :
Tanggal Hari Ini 15 Hari dari sekarang
Langkah penyelesaian :
Fungsi yang digunakan adalah Getdate() (fungsi untuk mengambil tgl
hari ini). Ketik perintah ini pada Query Analyzer :
Lalu tekan F5. Hasil seperti pada gambar di bawah ini.
103
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
BAB 12
MANIPULASI DATA DENGAN BEBERAPA TABEL
Keterangan :
Nama_kolom : menspesidikasikan nama kolom dari satu atau beberapa tabel
yang ditampilkan.
Nama_tabel : adalah nama tabel dari tabel yang diambil
Ref.nama_kolom : adalah nama_kolom yang digunakan menggabungkan dua tabel
dengan menggunakan kunci yang umum. Operator Join
menspesifikasikan operator yang digunakan untuk
menggabungkan tabel.
Perintah Select tersebut menghasilkan data yang mempunyai relasi antara tabel
CalonMahasiswa dan Jurusan, dimana yang ditampilkan kolomnya adalah
104
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
105
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Hasil pernyataan select yang memakai pernyataan Right Outer Join adalah
semua baris dari tabel di sebelah kanan dan dari tabel di sebelah kiri hanya yang
memenuhi kondisi join artinya adalah data yang tampil 8 record adalah calon mahasiswa
yang telah melakukan registrasi.
Latihan 12.1.
1. Aktifkan database Personal
2. Tampilkan semua karyawan dan urutkan berdasarkan kota lahir dengan kolom yang
ditampikan NIP,NAMA,GAJI,DIVISI,KOTA_LAHIR,ANAK.
Langkah penyelesaian :
Kita lihat bahwa kolom yang akan ditampilkan ada pada 3 buah tabel yaitu tabel
Karyawan, Gaji, dan Divisi. Kolom gaji berada pada tabel gaji, kolom divisi berada
106
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
pada tabel Divisi. Kedua tabel tersebut berhubungan dengan tabel karyawan
berdasarkan kolom golongan dengan tabel Gaji dan kolom Kodedivisi dengan Tabel
Divisi.
Aktifkan Query analyzer dan ketik perintah berikut ini.
3. Perhatikan hasil yang ditampilkan soal No.2. Jika yang ingin ditampilkan hanya
karyawan wanita yang belum menikah dan kota lahirnya Jakarta atau Semarang dan
diurutkan berdasarkan kota lahir.
Langkah penyelesaian :
Menggunakan clausa where dengan kondisi karyawan wanita
(sex=2) dan (kodestatus=1) and kota lahir Jakarta atau Semarang
Ketik perintah berikut ini pada Query Analyzer
4. Ingin diketahui jumlah,rata-rata, terbesar dan terkecil gaji karyawan untuk setiap
divisi. Format yang diinginkan adalah :
107
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
namadivisi Jumlah Gaji Rata Rata Gaji Gaji Terbesar Gaji Terkecil
Langkah penyelesaian :
Karena yang ingin ditampilkan rekapitulasi gaji berdasarkan divisi maka
perintah yang digunakan adalah select dengan clausa Group By dengan
fungsi agregate Sum, Avg, Max, Min
Aktifkan Query analyzer dan ketik perintah berikut ini :
5. Ingin ditampilkan jumlah gaji karyawan yang telah menikah berdasarkan divisi
Langkah Penyelesaian :
Karena yang ingin ditampilkan rekapitulasi gaji untuk karyawan menikah
berdasarkan divisi, maka digunakan Clausa Where dengan kondisi
kodestatus=2 (menikah)
Aktifkan Query analyzer dan ketik perintah berikut ini :
108
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
6. Ingin ditampilkan jumlah gaji karyawan menikah perdivisi, yang jumlah gaji
perdivisinya >500000 (rekapitulasi berdasarkan divisi).
Langkah Penyelesaian :
Gunakan clausa having
Ketik perintah berikut ini :
7. Tampilkan semua karyawan dan kelompokan berdasarkan kota lahir, tampilkan juga
jumlah karyawan , jumlah gaji, dan jumlah anak tiap-tiap kelompok.
Langkah penyelesaian :
Karena data akan dikelompokan, maka gunakan Clausa Group By
Ketik perintah berikut ini pada Query Analyzer :
109
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Ketik perintah berikut ini pada Query Analyzer seperti gambar di bawah ini.
Langkah penyelesaian :
Gunakan Clausa Compute dengan kondisi Karyawan wanita menikah
kodestatus=1, sex=1 kota_lahirnya Jakarta dan Semarang
Ketik perintah berikut pada Query Analyzer
110
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
10. Tampilkan semua karyawan yang kota tinggalnya di Jakarta Barat atau Jakarta
Selatan dan kelompokkan berdasarkan Divisi, tampilkan gaji dan rata-rata gaji
perdivisi.
Tugas 12.1.
1. Buat rekapitulasi gaji karyawan berdasarkan golongan dengan format sebagai
berikut :
Golongan Jumlah Gaji
111
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
2. Buat rekapitulasi gaji karyawan yang telah menikah berdasarkan golongan dengan
format sebagai berikut :
Golongan Jumlah Gaji
3. Tampilkan semua karyawan dan urutkan berdasarkan kota lahir dan tampilkan juga
jumlah seluruh gaji pada akhir baris
4. Tampilkan karyawan menikah dan urutkan berdasarkan kota lahir, tampilkan juga
jumlah seluruh gaji dan anak pada akhir baris
5. Tampilkan semua karyawan wanita yang telah menikah dan kelompokkan
berdasarkan divisi, tampilkan juga jumlah gaji perdivisi
Perintah di atas menampilkan nama produk dari tabel products yang harganya
sama dengan harga dari Outback Lager.
Cara kerja dari perintah tersebut adalah pertama dikerjakan sub query, yaitu :
Select UnitPrice From Products
Where ProductName=Outback Lager
Tidak boleh memakai sub query pada kolom-kolom yang berisi tipe data Teks
dan Image.
Sub query dapat dibagi dalam tiga kategori yang bergantung pada nilai pengembalian.
- Where <ekspresi> [ Not] In ( < Subquery>)
Hasil sub query yang memakai IN atau Not IN adalah daftar nilai yang berisi beberapa
nilai atau kosong, setelah sub query memberikan hasil, outer query akan memakainya.
Contoh berikut adalah sub query di dalam klausa where dan dipakai kata kunci IN, untuk
menampilkan Customer yang code posnya sama dengan salah satu suplier :
Select distinct CompanyName,Country
From Customers
Where Postalcode IN (Select Postalcode From Suppliers)
113
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
<>ANY Ada beberapa nilai yang tidak sama dengan yang terdapat dalam daftar
Ekspresi : nama_kolom ANY (5,10,15)
Contoh :
Select Title_Id,Title
From Titles
Where Price > ALL (Select Price From Titles
Where Pub_Id='0736')
Select Title_Id,Title
From Titles
Where Price > ANY (Select Price From Titles
Where Pub_Id=0736)
114
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
115
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
BAB 13
INDEKS DAN PEMROGRAMAN SQL SERVER 2000
13.1. Indeks
Indeks ialah struktur tabel internal yang disediakan SQL Server untuk
mengakses baris-baris dari tabel berdasarkan nilai dari satu lebih kolom. Untuk
mempercepat pengaksesan data kita mengunakan indeks. Indeks juga akan membuat
baris-baris menjadi unique. Indeks dalam database sama dengan indeks dalam buku,
suatu indeks digunakan untuk menemukan informasi dengan cepat tanpa membaca
seluruh buku. Dalam suatu database, sebuah indeks digunakan untuk mencari data
pada suatu tabel tanpa melihat seluruh tabel.
d. Jenis-Jenis Indeks
SQL Server menggunakan dua jenis indeks yaitu CLUSTER dan NON CLUSTER.
1. Clusterd
Indeks Clusterd mengorganisasikan baris-baris pada tabel ke dalam urutan
tertentu, seperti misalnya, secara alfabetis atau angka. Sebagai contoh, pada indeks
yang diurutkan secara alfabetis,record penulis bernama sondang akan berada dibawah
baris penulis manipul. Indeks jenis ini sempurna apabila anda tidak banyak melakukan
update data tabel, karena apabila isi dari field kunci diubah , tabel akan diorganisasikan
ulang. Hanya ada boleh satu indeks Clustered pertabel.
2. Non Clustered
Indeks non Clustered memiliki struktur yang terpisah dari tabel. Urutan fisik dari
baris tabel tidak mengikuti urutan file indeks. Indeks Non Clustered serupa dengan
indeks yang ditemukan pada akhir sebuah buku. Data diletakkan pada tempat lain.Data
file indeks disimpan dalam urutan yang berbeda yang tidak mengikuti urutan dari file
indeks Non Clustered. Setiap tabel bisa memiliki beberapa indeks ini.
Indeks juga bisa dikonfigurasikan sebagai unique, yaitu tidak boleh ada lebih dari
satu baris yang memiliki isi yang sama.
Keterangan :
Unique
Membuat sebuah indeks dimana tiap baris harus berisi nilai indeks yang berbeda.
Clustered
Menspesifikasikan sebuah Clustered indeks dimana data disortir pada atribute indeks.
NonClustered Indeks
Menentukan sebuah Non clustered indeks yang menspesifikasikan hanya logikal
ondering dari data, secara fisik data tidak disortir
Nama_indeks
Menspesifikasikan nama indeks
Nama_tabel
Menspesifikasikan tabel yang akan dibuat indeksnya
Nama_kolom
Menspesifikasikan nama kolom dimana indeks akan dibuat
Contoh :
Bentuk Index pada atribute Nip pada tabel Karaywan pada databse Personal. sekali
Nip ditambahkan data baru, maka akan secara otomatis terurut datanya secara
assending, setiap kali dilakukan update, delete atau insert data. Oleh karena itu Index
diperlukan .
Langkah penyelesaian :
Tentukan tabel yang indeksnya akan dibuat (contohKaryawan)
Tentukan atribute kolom yang akan dibuat indeksnya (Nip)
Tentukan nama indeksnya (KaryawanIdx)
Ketik perintah berikut pada query analyzer, lalu tekan F5 (Run)
117
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
13.2. Variabel
Semua bahasa pemrograman mengenal adanya variabel. Variabel ialah suatu
obyek untuk menyimpan data atau status. Anda menggunakan variabel untuk
menyimpan nilai sementara atau nilai yang dapat berubah pada saat program
dijalankan, sedangkan konstanta mempunyai nilai yang tetap.
Sintaks :
DECLARE @nama_variabel/tipe_data
View
View adalah tabel virtual yang disediakan oleh SQL Server yang berisi kolom
sebuah tabel atau lebih untuk mempermudah pengguna melihat atau mengakses data
yang sering dibutuhkan/penting.
Sintaks:
[CREATE VIEW nama_view
[(nama_kolom)]
AS pilih_pernyataan
Contoh:
Buka database PMB, lalu ketik query berikut ini.
118
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Suatu saat mungkin Anda menginginkan view yang Anda buat bisa lebih banyak
menampilkan kolom pada suatu tabel. Anda dapat memodifikasi view tanpa harus
menghapusnya dengan menggunakan pernyataan ALTER VIEW.
Menampilkan Pesan
Anda dapat menggunakan pernyataan PRINT untuk menampilkan pesan atau isi dari
variabel. Pesan tersebut bisanya digunakan untuk memberitahukan kepada pengguna
tentang suatu aktivitas yang telah terjadi.
Contoh:
DECLARE @ Nama_Saya char (40)
Select @ Nama_Saya = Setiyadi Mangunprodjo
PRINT @ Nama_Saya
119
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Pernyataan If Else
Anda dapat menggunakan IF..ELSE untuk mengeksekusi pernyataan SQL secara
bersyarat. Aksi tertentu akan dilakukan jika memenuhi syarat TRUE dan lainnya
dilakukan jika bernilai FALSE.
Sintaks:
IF pernyataan_ekspresi
{pernyataan_sql}
ELSE pernyataan_ekspresi
{pernyataan_sql}
SQL Server mendukung lima types stored procedure, yaitu system, user-defined,
temporary, remote dan extended.
120
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Contoh:
Contoh berikut membuat stored procedure pada database PMB dengan nama
calonMHS yang menampilkan seluruh buku yang terlambat dikembalikan dari tabel loan.
Latihan 13.1.
Membuat prosedur untuk menampilkan data jurusan dalam tabel Jurusan dari
database PMB.
Ketik perintah dibawah ini pada query analyzer
121
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Procedure tampilbuku telah anda ketik dalam query analyzer, dan selanjutnya
mengeksekusi dengan mengetik :
Menampilkan nama Karayawan yang jumlah naknya lebih besar dari =2 dari
table Karyawan pada database Personal, ketik prosedur tampilharga pada query
analyzer :
122
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
123
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Setelah pernyataan tersebut dieksekusi, coba Anda hapus sebuah baris dari
data yang telah Anda masukkan. Otomatis program akan menampilkan pesan He Mas
Di2x, Anda baru saja menghapus sebuah baris.
124
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
Sebagai contoh, Anda buka database PUBS, lalu buat sebuah transaksi bernama
Transaksi_Baru.
Pernyataan di atas akan membuat pengguna tidak dapat mengupdate data pada
tabel titles lebih dari 25.
125
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
DAFTAR PUSTAKA
126
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000
127
@ STMIK Eresha 2010 / www.didiksetiyadi.com